A Standard For Architecture

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.


Back Next
Copyright 2005 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy