What is Architecture?
Dr.Thomas J Mowbray
Chairman, iCMG

Have you ever been involved in a discussion of the question: "What is architecture?" The term "architecture" is perhaps one of the most abused words in object technology. Below, I describe one of the common mis-uses of architecture; then, I answer the question with a conceptual standard that is in widespread use today.

Anti-Pattern: Marketing Architecture

Too often, architectures are used as sales tools rather than technical blueprints. In a typical scenario, a fast-talking technical manager (the "architect") presents a few high-level viewgraphs to convince you of the greatness of his product or system. Marketing architectures are directed externally at customers and not at object-oriented (OO) system developers. Marketing architectures are fine for advertising the features of commercial products, but they only provide limited technical information for developers.

The problem with marketing architectures is that they are decoupled from the development process. The so-called architect is a manager who delegates most technical details to individual developers. Unless the architect manages the computational model (including subsystem interfaces), the architecture is unlikely to deliver any real benefits. Architectural benefits that are easily compromised include system adaptability (for new business needs) and system extensibility (for exploitation of new technologies).

What is architecture, really?

There is a useful standard that defines what "architecture" means, the Reference Model for Open Distributed Processing (RM-ODP). [1] RM-ODP is a recently completed international standard that defines how to model distributed OO 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.

Applications and Profiles of RM-ODP

Open systems standards (such as RM-ODP) are purposefully generic so that they apply to all domains. To make standards deliver their benefits, a profile is required. A profile is an implementation plan for how the standard is applied within a context.

There are several profiles of RM-ODP in use today.

The 4+1 View Model is a viewpoint-based architecture approach supported by OO tools such as Rational Rose.

The viewpoints include:

  • Use Case View
  • Logical View
  • Process View
  • Implementation View
  • Deployment View

The use case view models enterprise objects through a set of scenarios. The logical view includes object models of packages, classes, and relationships. The process view represents control flows and their inter-communications. The implementation view defines the modular structure of the software. The deployment view identifies the allocation of software onto hardware. An architecture defined as a 4+1 View Model covers aspects of all

RM-ODP viewpoints.

RM-ODP is being applied in several industries, including financial services and defense. For example, the United States Department of Defense (DoD) has a profile of RM-ODP, called the Command, Control, Communications, Computers, Intelligence, Surveillance, and Reconnaissance Architecture Framework (C4ISR-AF).

C4ISR-AF defines three viewpoints: operational architecture, system architecture, and technical architecture.

An information viewpoint is also specified. Before applying the framework, DOD services defined their architectures using disparate conventions. C4ISR-AF is currently used by all DOD services to describe their architectures. The framework is enabling technology exchanges across diverse system development programs. Reuse opportunities and common interoperability solutions are being identified and defined as a result.

Viewpoint Languages: Notations

Within each viewpoint, the RM-ODP approach uses formal notations (or specification languages) that support architecture description.

One of the most useful notations for specifying computational viewpoints is the ODP interface definition language (ODP IDL). ODP IDL is a related international standard that is identical to CORBA IDL. ODP IDL enables the specification of object encapsulations that can be implemented on multiple infrastructures, such as CORBA, Microsoft COM, and the Adaptive Communication Environment (ACE). Since ODP IDL is programming language independent, a single interface specification suffices to define interoperable interfaces for C, C++, Ada95, COBOL, Smalltalk, Java, and Microsoft IDL. These mappings are defined by open systems standards and supported by commercial products.

Another useful notation for describing architecture viewpoints is the Unified Modeling Language (UML). UML is an object-oriented notation that was recently adopted by the Object Management Group. UML is also supported by Microsoft in its repository technology. The relationship between UML and RM-ODP is defined in.

Concluding Remarks

Although it is not widely publicized, RM-ODP is providing architectural benefits in multiple industries. RM-ODP is a formal standard that defines how to describe distributed OO architectures. In practice, RM-ODP's viewpoints, models, and transparency properties are useful conceptual tools for object-oriented architects.

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