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