Veronica C. Lepore
Distributed Systems
Professor Getschmann
March 1998
ISO ODP (Open Distributed Processing)
Introduction
The computer networking, especially for the client/server environment has been developed and widely used across the world which allows computers to be interconnected. The trend of distributed systems started growing exponentially in the early 1990’s after the birth of the World Wide Web’s friendly interface; this eliminated the restriction access to the Internet for commercial purposes. The emerging technology of Open Distributed Processing (ODP) attempts to resolve the interaction in the software layer by proposing a common framework for distributed systems. ODP systems ease this problem with software compatibility and its heterogeneous environment. However, an international standard for ODP is needed.
Distributed Systems
Shifting from centralized to de-centralized architectures in business environments is prompting the new concept of distributed systems to surface. The term distributed system describes "a system designed to support the development of applications and services which can exploit a physical architecture consisting of multiple, autonomous processing elements that do not share primary memory but cooperate by sending asynchronous messages over a communications network" (Blair and Stefani, p. 4).
The distributed system within the company may perform without running into problems with industry standards, but if the company decides to move from the research laboratory to the global market-place, the company will confront many compatibility issues. Entering into the global market place would mean connecting to very large and complex networks, consisting of millions of interconnected machines, such as the Internet. It is critical that distributed system platforms be scaled to larger configurations. The management of distributed systems is inevitably a highly complex task involving many responsibilities.
The pressures of the convergence between distributed systems and telecommunications architectures will become tremendous. The telecommunication providers need to know what kind of technologies the distributed system provides to the services offered by the construction and management of large-scale telecommunications networks. Additionally, the telecommunication providers need to address the problems not only as they arise, but will also need to understand how the distributed system technologies work. An investment of time will be required in learning how these technologies work.
Lastly, the distributed systems are inevitably becoming more common in heterogeneous environments because of the range of different hardware (i.e. ATM and X.25 networks), platforms (i.e. Unix and Microsoft Windows environments), languages (i.e. C++ and Pascal) and management (i.e. confidentiality policy and configuration control). Therefore, the shift from an intranet — or local internet — to Internet would create a large problem if there are no international standards in place.
Emerge of ODP’s Goal
The work of open distributed processing (ODP) started in 1987 (Simon, p. 290) with the goal of enabling interaction with services from anywhere in the distributed environment without concern for the underlying environment. This level of openness requires that systems conform to well-defined interfaces. "An open system is one that can guarantee conformance to the interface definitions. The primary goal for open distributed processing standardization is then to develop interfaces against which conformance can be tested" (Joyner).
An important part of this process is the definition of conformance testing procedures to ensure that different implementations by different manufacturers comply with the standardized interfaces.
"A comprehensive conformance testing procedure should ensure three crucial benefits of open distributed processing:
An implementation of an open distributed processing platform developed by one manufacturer should be able to interwork with a different platform implemented by a potentially different manufacturer.
An application running on an open distributed platform developed by one manufacturer should be able to be ported directly to a different platform implemented by a potentially different manufacturer" (ISO).
The consequences of distribution on end-user will be hidden.
Open distributed processing has an additional goal of developing system architectures that are themselves open. The goal of open distributed processing is to standardize the highest level interfaces. Also, it is seen as crucial to have a complete architecture where the individual components are themselves open.
"This approach has a number of important advantages:
Potential Problems of ODP
The main problem in achieving the goal of an open distributed processing is the heterogeneity in the underlying environment. To solve this problem, it is necessary to provide a level of independence from the heterogeneous infrastructure.
Style of heterogeneity |
Solution |
Heterogeneous hardware |
Network and machine independence |
Heterogeneous platforms |
Platform independence |
Heterogeneous languages |
Language independence |
Heterogeneous management |
Management independence |
(The table information came from Blair and Stefani, p. 10.)
Hardware (i.e. network and computer) independence is achieved by providing abstractions over the characteristics of the underlying physical environment. To overcome the platform independence problem, it is necessary to have a set of agreed abstractions over system resources such as virtual memory, file storage and processing. To achieve language independence, it is necessary to provide abstractions over the interfaces offered by different languages so that they can inter-work. To overcome heterogeneous management policies, it is necessary to provide a "meta-architecture for management which can accommodate specific approaches and policies" (Simon, p.290). Software, which offers such various levels of abstraction, is often referred to as middleware.
Middleware
The term middleware is used to describe separate products or applications that serve as the "glue" between two applications. In other words, middleware is software that is invisible to the user, takes two or more different applications, and makes them work seamlessly together. Middleware is "sometimes called plumbing because it connects two sides of an application and passes data between them. In a three-tier architecture, middleware occupies the middle tier" (Newton, p.435).
In providing such levels of abstraction it is crucial to achieve neutrality. The abstractions should not define a particular implementation. This is important to cope with the variety of components that may need to be integrated into an open distributed processing environment. Such an approach will also help accommodate future hardware architectures, platforms and languages.
ODP Standard
Standards organizations have a particularly important role to play in achieving open distributed processing. To achieve this goal, it is necessary to have an international agreement on the abstractions. It is important that distributed systems manufacturers have a high level of confidence in the agreed abstractions to ensure compatibility. Standards organizations are supportive of both these processes by providing the necessary mechanisms and infrastructure for reaching international agreement and by having the necessary international status to ensure acceptance of the results. Two standards organizations that got involved in the joint effort to standardize ODP will be mentioned briefly.
Founded in 1946, the ISO, International Organization for Standardization, is an international organization composed of national standards bodies from over 75 countries. ISO has defined a number of important computer standards. The International Telecommunication Union-Telecommunications, ITU-T, is an intergovernmental organization through which public and private organizations develop telecommunications. The ITU-T was founded in 1865 and became a United Nations agency in 1947 with the responsibility for adopting international treaties, regulations, and standards governing telecommunications.
ODP is ISO’s standardization effort for distributed processing. ISO/ITU-T implemented the set of standards known as 10746 (under ISO) and X.900 (under ITU-T) in 1991 (Simon, p. 290). The standard — based on the concept of viewpoints together with a vocabulary and grammar for describing a distributed system from each viewpoint — provides an object-oriented system specification procedure.
There are five ODP viewpoints — enterprise, information, computational, engineering, and technical — which are a set of models that each aim at one facet of the design. Requirements and specifications of an ODP system can be made from any of these viewpoints.
The five viewpoints for ODP are as follow:
Each viewpoint has its own language that prompted to develop a specification for its viewpoint. The five viewpoints aren’t considered the defined layers like OSI reference model, which has seven layers. To establish a system specification, the viewpoints from ODP are necessary.
The fast growth of distributed processing creates a need for a framework as part of the standardization of ODP. ISO/ITU-T Reference Model for Open Distributed Processing (RM-ODP) is a joint standardization activity by both ISO and ITU-T that provides a framework. The support of distribution is created by an architecture, so that the inter-working and portability can be integrated. ODP describes systems that support heterogeneous distributed processing both within and between organizations through the use of a common interaction model.
"The reference model provides a ‘big picture’ that organizes the pieces of an ODP system into a coherent whole" (ISO). It does not attempt to standardize the components of the system or to influence the choice of available technology.
"The Reference Model of Open Distributed Processing, ITU-T Recommendations X.901 to X.904 | ISO/IEC (International Electrotechnical Commission) 10746, is based on precise concepts derived from current distributed processing developments and, as far as possible, on the use of formal description techniques for specification of the architecture.
ITU-T Recommendation X.901 | ISO/IEC 10746-1: Overview: contains a motivational overview of ODP, giving scoping, justification and explanation of key concepts, and an outline of the ODP architecture. It contains explanatory material on how the RM-ODP is to be interpreted and applied by its users, who may include standards writers and architects of ODP systems. It also contains a categorization of required areas of standardization expressed in terms of the reference points for conformance identified in ITU-T Recommendation X.903 | ISO/IEC 10746-3. This part is not normative.
ITU-T Recommendation X.902 | ISO/IEC 10746-2: Foundations: contains the definition of the concepts and analytical framework for normalized description of (arbitrary) distributed processing systems. It introduces the principles of conformance to ODP standards and the way in which they are applied This is only to a level of detail sufficient to support ITU-T Recommendation X.903 | ISO/IEC 10746-3 and to establish requirements for new specification techniques. This part is normative.
ITU-T Recommendation X.903 | ISO/IEC 10746-3: Architecture: contains the specification of the required characteristics that qualify distributed processing as open. These are the constraints to which ODP standards must conform. It uses the descriptive techniques from ITU-T Recommendation X.902 | ISO/IEC 10746-2. This part is normative.
ITU-T Recommendation X.904 | ISO/IEC 10746-4: Architectural semantics: contains a formalization of the ODP modeling concepts defined in ITU-T Recommendation X.902 | ISO/IEC 10746-2 clauses 8 and 9. The formalization is achieved by interpreting each concept in terms of the constructs of the different standardized formal description techniques. This part is normative." (ISO)
Conclusion
The rising of heterogeneous environments in distributed systems has prompted the creation of a standard, Open Distributed Processing. ODP is a relatively recent development in area of distributed systems. The idea of "openness" in the development of communication systems to the development of distributed applications helped to resolve the standard problem between heterogeneous software and hardware levels. In order to handle complexity in the task of building distributed systems, ISO and ITU-T created and defined, a framework of ODP to specify the systems. The five ODP viewpoints are part of the system specification. The ODP standard implementation helps to open up barriers such as the introduction and ease of usage of ODP into distributed system.
Citations
Blair, G., and Stefani, J. Open Distributed Processing and Multimedia. England: Addison Wesley Longman Limited,1998.
ISO. "Open Distributed Processing – Reference Model." ISO, http://www.iso.ch:8000/RM-ODP/. 1996.
Joyner, I., "Open Distributed Processing (ODP): Unplugged!", http://homepages.tig.com.au/~ijoyner/ODPUnplugged.html.
Newton, H. Newton’s Telecom Dictionary 13th Edition. New York: Telecom Books and Flatiron Publishing, 1998.
Simon, E. Distributed Information Systems. England: McGraw-Hill Publishing Company, 1996.