 |
|
|
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.
|