1.3. Taking Advantage of Your Platform

As software in general has become more complex, so too has the operating system software that powers computers. More and more services are provided by the operating system "out of the box," and those services are there for you to take advantage of. Operating systems provide simple services such as encryption, as well as potentially complex services such as LDAP directories, authorization systems, and even database systems. Every function, subsystem, or application provided by an operating system platform represents work that you don't have to do, and code you don't have to write or maintain. That can save time and money when building an application.

1.3.1. Design

Just as it behooves every developer to know all the features provided by his or her base class libraries, it behooves every architect to learn about all the services provided by each operating system. Before designing any new system, it's important to isolate those features that you can rely on an OS to provide and those that you will have to construct yourself, or buy from a third party.

As with any other buy-versus-build decision, the key to this process is understanding a sufficient percentage of your requirements early in the design process so that you can decide if the services provided by the platform are "good enough."

I recently hosted a discussion session that centered on Microsoft's Authorization Manager, which ships as a part of its Windows 2003 Server operating system. ...

Get Code Leader: Using People, Tools, and Processes to Build Successful Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.