Search
 
     
   
   
 
Innovative Software Architecture (Part II)
 
 

By
Dr.Thomas J Mowbray

Chairman - iCMG

   

The purpose of information technology is to establish new business processes. By separating concerns, we can focus on the business functionality which is the true purpose of the information system. Ideally, architects would like to separate the distributed system issues into categories of design where the majority of components are purchasable as commodity communication infrastructure. The second major need for object oriented architects is the ability to future proof the information systems that they are planning. It is important to accommodate commercial technology evolution which we know is accelerating and beginning to provide some substantial challenges for architects and developers.

The other area of future proofing is the ability to adapt to new user requirements. Since requirements do change frequently and account for a majority of system software cost over the life cycle. It is important to plan information systems to support the likely and inevitable changes that users will require in order to conduct business. The third need for object oriented architects is an increase in the likelihood of system success. Corporate developers to date have had a very poor track record of creating successful systems. The object oriented architect in their role is responsible for planning the systems with the maximum probability of success and key benefits for the business. Through proper information technology planning, we believe that it is possible to increase the likelihood of system delivery on time and on budget.

In answer to these three needs, authorities in software engineering and computer science tend to agree on one important point that architecture is the key to system success. Authorities ranging from academia to commercial industry are declaring that software architecture is essential to the success and management of information systems. There is a long and growing list of software authorities which have come to this same conclusion. Unfortunately, it is not always clear to everyone what software architecture truly is. In order to answer this questions, we need to take a look at some of the reference models which provide definitions of software and systems architecture.

The category of needs that we are discussing for object oriented architects have been thoroughly considered by many authorities. There are two leading meta-architecture frameworks that guide the development of software system architecture. One of the popular frameworks originated at IBM called the Zachman Framework. The Zachman Framework predated the popularity of object orientation and took the perspective that separated data for process. In the Zachman Framework there are six information systems, viewpoint as well as five levels of design abstraction. The original Zachman Framework published in 1987 contained viewpoints for the network the data and the process of the information system. [Zachman 87] A subsequent revision of the Zachman Framework introduced three additional viewpoints. The current framework resembles the set of traditional journalistic questions which include who what when why where and how. Each viewpoint in the Zachman Framework answers a chief set of questions which assure that a complete system engineering architecture is created.

The Zachman Framework formed a matrix of architecture descriptions which are also organized in terms of levels. There are five levels of description above the information system implementation. These levels range from architectural planning done by individual programmers at the finest grain to the overall enterprise requirements from the investors perspective of the information system. In total, the Zachman Framework identifies 30 architectural specifications which provide a complete description of the information system. In practice no real world project is capable of creating these 30 or more detailed plans in keeping them all in synchronization. When the Zachman Framework is applies, systems architects partition the viewpoint into various categories and create architectural specifications that cover all of the different Zachman descriptions without having to create a large number of specification documents that the Zachman Framework implies.

One example of the application of the Zachman Framework is a very successful architecture initiative by the United States Department of Defense called the C4ISR architecture framework where C4ISR stands for Command and Control, Computers, Communication Intelligence Surveillance and Reconnaissance. The C4ISR architecture framework is used to describe DoD information technology at the highest echelon levels of the organization. The primary benefit in this case is the ability for different service organizations and agencies to communicate their architectural plan through common viewpoint description.

Beyond the Zachman Framework object oriented architects have discovered that there are additional needs for defining computational architecture and other viewpoints which are not obvious applications of the Zachman principles. The international standards organization (ISO) has also considered these architectural issues. A recently completed reference model is the ISO reference model for open distributed processing called RM-ODP. This reference model belongs to a category iso standards called open distributed processing (ODP). ODP is an outgrowth of earlier work by ISO in open systems interoperability. The Open Systems. Interconnection (OSI) seven layer reference model identified an application layer which provided minimal structure and guidance for the development of application systems. In fact, the seventh layer for applications categorize remote procedure calls, directory services and all other forms of application level services within the same architectural category not defining any particular structure or guidance for this significant category of functionality.

 
     
Copyright © 2006 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy