2.6. Applying Standards to Application Systems

In the adoption of object-oriented architectures and technologies, many common questions are raised which must be resolved in order to fully understand the implications. We have already discussed questions of defining object orientation and the component technologies which comprise object technologies. We have also touched on how object technologies compare with others, such as procedural technology.

Many other questions and requirements are crucial to certain categories of applications. Questions about performance, reliability, security on the Internet and how these technologies integrate with vendors that have significant market share are all important considerations in the adoption of these technologies. In the next few chapters we explain some of the fundamental concepts that describe the commercial and application sides of object-oriented architecture. We further make the case of the application of open systems technologies in object-oriented software development practice. We also address application development issues on applying object technology, integration of legacy systems, and the impact of these technologies on procurement and development processes.

It is important to understand that commercial technologies based upon open systems evolve according to certain underlying principles. These principles are clearly defined through a model developed by Carl Cargill that describes the five stages of standardization (Figure 2.13). To initiate an open systems standards process it is necessary to define a reference model. A reference model defines the common principles, concepts, and terminology that are applied across families of standards. These reference models also apply to object-oriented architectures and the integration of application systems. Reference models are an element often missing in software engineering processes that are addressing complex issues. Developing a formal reference model through a formal open systems process takes a considerable amount of effort from numerous people.

Figure 2.13. The Five Stages of Standardization


A typical reference model from the international standards organization may take up to ten years to formulate. Based upon a reference model, a number of industry standards can be initiated and adopted on a somewhat shorter time scale for formal standardization; this ranges up to seven years. Both reference models and industry standards are usually the intellectual product of groups of technology vendors. The standards represent the most general common denominator of technologies across the largest consumer base. In order to apply these technologies, it is necessary to define a number of profiles which serve the role of reducing the complexity of applying the standard within a particular domain or set of application systems (Figure 2.13).

There are two different kinds of profiles. Functional profiles define the application in general terms of a standard for a specific domain. Typical domains might include mortgage lending or automobile manufacturing. The functional profiles define the common usage conventions across multiple companies within the same industry. Functional profiles can be the product of information technology vendors but usually are a joint product between the users of technology and the vendors.

The next level of profiles is called system profiles. System profiles define how a particular family of systems will use a particular standard or set of standards. The family of systems is usually associated with a certain enterprise or virtual enterprise. For example, a set of electronic data interchange standards for the Ford Motor Company define how the company and its suppliers for the manufacturing process can provide just-in-time inventory control so that Ford's assembly lines can proceed in an organized fashion without interruptions.

Above system profiles there are application systems, which are specific implementations. Even though the concept of profiles is new to many software engineers, profiles are implemented, perhaps implicitly, in all systems. Whenever a general-purpose standard or a commercial technology is applied, decisions are made regarding the conventions of how that technology is used, and those decisions comprise a profile. Unfortunately, many of the important profiles are buried in the implementation details of information systems. Notice that, in Figure 2.13, the time scales for developing each of the types of specifications is decreasing. The intention is that the reference models provide a stable architecture framework for all of the standards, profiles, and systems that are developed over a longer term. The industry standards provide the next level of stability and continuity, the profiles provide stability and consensus across domains and application families, and all of these mechanisms support the rapid creation of application systems on the order of half a year to a year and a half.

Figure 2.14 shows the breakout of reference models and profiles from the perspective of a particular vendor of information technology. In general, a vendor is working from a single reference model that spans a number of industry standards. The vendor implements technologies conformant with these standards and then works with various application developers and vertical markets to define the usage of the technology for valuable business systems. There is a multiplying factor for vendors in this approach in that for a small group of vendors there are potentially numerous customers that are enabled by the technologies that they supply.

Figure 2.14. Standards from the Vendor's Perspective


Figure 2.15 portrays the concept from the perspective of the end-user application developer. We find this diagram somewhat amusing in a dark sense, but very representative of the kind of challenges that object-oriented architects in all kinds of information technology are facing today. For a given application system numerous standards and reference models are potentially applicable to the development of that system. A smaller number of functional profiles and system profiles can be obtained off the shelf to guide application system development. In general there is a gap between the application implementations and the industry standards in the area of profiling. Because profiling is primarily the responsibility of users, it's appropriate to say the users are to blame for this gap in guidance.

Figure 2.15. Standards from the User and Application Developer's Perspective


When profiles are not agreed to between application system projects, the likelihood is that the systems will not be interoperable, even though they are using identical industry standards and even products from the same vendors. This can be a confusing and frustrating situation for application architects. It is necessary to understand these principles in order to resolve these kinds of issues for future system developments.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.56.18