Cover Image

Not for Sale

View/Hide Left Panel
Click for next page ( 72

The National Academies of Sciences, Engineering, and Medicine
500 Fifth St. N.W. | Washington, D.C. 20001

Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement

Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.

Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.

OCR for page 71
Architecture, Strategies, Technologies, and Contracts 71 There can be confusion between the terms open architecture and open source. Open source refers to the legal ownership of the programming language source code used to build the software. An open source system is one where the program source code is freely available to everyone and can be used and modified at will, provided that certain legal conditions are met. Open source systems are, by their very nature, open architecture, because the necessary transparency is more than adequately provided by the public availability of the source code. On the other hand, a system does not have to be open source to be open architecture. A com- pany can develop an open architecture system while still keeping the source code private. Follow- ing are some of the many benefits of using open architecture systems: It is easier to integrate between open systems. People can add features as they become necessary in the future. It is easier to find technical resources to maintain open systems. When procuring software systems, answer the following questions to ensure that the system is based on an open architecture: Are the data stored in a relational database, and is there documentation on the database schema? Are there documented APIs for integrating with this system? What industry standards does this system support? Are there any built-in mechanisms for customizing or enhancing this product? Do the mech- anisms use a proprietary programming language or a standardized scripting language? Are there other software systems that integrate with this system out of the box? What technolo- gies are used in that integration? Protocols A significant piece of most system architectures is the protocols the system uses. A protocol is a set of rules that allows multiple systems to exchange information. A protocol is like a diction- ary that helps you communicate in a foreign language when traveling. If you need to find a restaurant, you can use an English-French dictionary to find the French phrase to ask "Where is the nearest restaurant?" But just as these translation dictionaries are limited, most protocols do not allow for every conceivable piece of information to be communicated. As with system architectures, protocols can be open or closed. An open protocol is one that follows a published standard, such as TCP/IP, the set of communications protocols used by the Internet. Open protocols allow multiple vendors to build systems that interact with each other because they speak the same language. A closed protocol is a protocol that is specific to one ven- dor and is not published or standardized. Closed protocols allow multiple systems from the same vendor to communicate, but if you buy a new system from a different vendor, it will not support that protocol. Legacy Systems The term legacy system refers to an old computer system that is still in use well past its origi- nal life expectancy. Many legacy systems in use today were created before the popularity of open architecture computing. Some legacy systems might have been built on an open architecture that was valid when they were built, but the standards used then are so old that newer systems do not support them today. Any legacy system, whether open architecture or not, can hinder integra- tion because of the following: Lack of resources with knowledge of the system architecture, Hard to find or non-existent documentation on the system and/or standards, or Difficulty or impossibility of upgrading.