 |
|
|
By:
Dr.Thomas
J Mowbray
Chairman,
iCMG
|
Among
the various architecture approaches,
there is a useful standard that defines
what information systems architecture
means, the Reference Model for Open
Distributed Processing (RM-ODP). [ISO
96] We will cover this reference model
as one way to think about software
architecture. This model is representative
of mature software architecture practice
today. RM-ODP is a recently completed
International standard that defines
how to model distributed component
object systems. RM-ODP defines five
essential viewpoints for modeling
systems architecture:
- Enterprise Viewpoint
- Information Viewpoint
- Computational Viewpoint
- Engineering Viewpoint
- Technology Viewpoint
The
five viewpoints provide a comprehensive
model of a single information system.
An enterprise viewpoint contains models
of business objects and policies.
Enterprise policies include permissions,
prohibitions, and obligations. An
information viewpoint includes the
definition of information schemas
as objects. Three kinds of RM-ODP
schemas include static, invariant,
and dynamic. A computational viewpoint
includes definitions of large-grained
object encapsulations, including subsystem
interfaces and their behaviors. The
above viewpoints define architecture
in a manner that makes distributed
computing transparent.
An
engineering viewpoint exposes the
distributed nature of the system.
The distribution transparencies supported
by infrastructure are declared explicitly.
The allocation of objects onto processing
nodes is also specified. RM-ODP defines
a reference model of distributed infrastructure
called a channel which is used to
model all forms of middleware connections.
RM-ODP defines eight distribution
transparency properties. It is interesting
to note that only a handful of these
properties are supported by major
commercial infrastructures (without
resorting to niche-market products).
For example, CORBA products provide
full support for access, location,
and transaction transparency, with
some support for failure and persistence
transparency. DCOM provides support
for persistence and transaction transparency,
with limited support for the other
properties.
Open
distributed processing and its reference
model are the result of ten years
of formal standardization work at
ISO. The reference model for open
distributed processing is object oriented.
It provides a referenced model that
was intended to address three fundamental
goals. The first goal was to provide
a standard framework for further work
and additional detailed standards
under the open distributed processing
initiative. The second goal was to
provide a set of common terminology
and concepts that could be applied
for the development of product and
application systems for open distributed
processing. The third purpose is to
provide a guideline for object oriented
architects to specify software systems.
This third purpose is the one that
is directly relevant to the day to
day practices of systems architects.
Open distributed processing includes
several other standards which are
significant.
In particular, the open distributed
processing initiative has adopted
the interface definition language
from CORBA as a notation for a specified
computational architecture. Open distributed
processing also has a standard for
the treasury service which is the
key directory service supporting the
discovery of application functions
in distributed systems. The trader
service has subsequently been adopted
as a commercial standard through the
OMG. The OMG's Object Management Architecture
(OMA) is a commercial specialization
of open distributed processing. All
together, the OMG's consensus standards
and the ISO open distributed processing
form a set of software architecture
standards that are useful intellectual
tools for most software architects
and developers.
RM-ODP has three completed standards
documents. All three parts of the
adopted standard are co-sponsored
by the ITU-T through their X.900 series.
The co-sponsorship of both ISO and
ITU-T represents a broad International
consensus on this guideline for OO
architecture. Part one of the standards
is a non-normative overview and summary
of the overall concepts and terminology.
Part two of the standard is the foundations
document. The foundations document
comprises a glossary of standard terminology
for object oriented distributed systems.
Part three of the standards is the
architecture document. In part three
of the standard, the various viewpoints
for object oriented architecture are
defined along with their structuring
rules and various open distributed
processing functions which enable
distributed computing.
|