Distributed Objects (CORBA and OLE/ActiveX)
February 8, 1999
State of the Practice, the Market, and the Art
7.6 State of the Practice: Examples
At the time of this writing, CORBA, OLE, ActiveX, and OpenDoc are not widely state of the practice. The case studies published in literature mostly discuss small prototypes and experiments, although some real examples are beginning to appear. Here is a small sample of case studies:
l
Hubert [1996] describes how CORBA is being used in ABB corporation to build new applications and to integrate legacy applications. The lessons learned include advantages of distributed object technologies over conventional techniques.
l
Mowbray [1995] gives an in-depth example of how CORBA is used to build a U.S. government application, called DISCUS (Data Interchange and Synergistic Collateral Usage Study). A great deal of details including the OMG IDL and code fragments are discussed.
l
Koschel and Leibfried [1996] describe experiences of using IBMs DSOM in implementing distributed-object applications. Experiences include observations about writing and configuring applications, using metaclasses, stability and debugging issues, and documentation.
l
An example of integrating OLE and CORBA for Boeing Aerospace is described by Horn [1996]. This example, described in a presentation, showed how Boeing used OLE at client side and CORBA at the back end.
l
Konstantas [1996] describes a case study of how a legacy system is being migrated to CORBA. The objective of this project is to provide an interoperability layer between several heterogeneous legacy systems that include CAD-CAM and very large Fortran programs.
To gain some insights, a detailed CORBA development example of a simple inventory system is discussed at the end of this chapter (see Appendix 7A: Section 7.14).
7.7 State of the Market: Commercial Products
Current middleware products in the market to support distributed objects fall into two broad categories:
l
Individual products for CORBA, OLE, OpenDoc, and ActiveX
l
Interoperability products between CORBA, OLE, OpenDoc, and ActiveX
CORBA-based products are available from many vendors. Examples are the Distributed Systems Object Model (DSOM) from IBM, Distributed Objects Everywhere (DOE) from SUN. ObjectBroker from Digital, and ORBIX from Iona Corporation. CORBA support is available on Windows, Mac, OS/2, various UNIX versions, Tandem, IBM OS/400, and MVS. OLE products are, understandably, becoming available from Microsoft on Windows and Mac. OpenDoc products are still very sparse. Microsoft has gone beyond OLE and is posing ActiveX as the platform for distributed-object computing that combines Web technologies, desktop services, and distributed computing into an integrated environment.
Interoperability between OLE/ActiveX, OpenDoc and CORBA will be primarily achieved through gateways. An example of such a gateway is the Novell ComponentGlue that makes OLE look like OpenDoc, and vice versa. In addition, Digitals ObjectBroker, Ionas Orbix/OLE, and IBMs SOMobjects for Windows provide two-way gateways between CORBA and OLE (these gateways, in fact go between CORBA and COM/DCOMthe underlying infrastructure shared by OLE and ActiveX). These gateways are proprietary at present, but could become open because OMG, with Microsofts concurrence, has issued an RFP for a two-way CORBA/COM gateway. Details of interoperability issues between different distributed- object technologies can be found in Orfali [1996], and Rymer [1995].
7.8 State of the Art: ANSA and ISO ODP
Distributed objects is an area of active research and development. For example, [Adler April 1995, March 1995] examines various coordination models needed to support distributed objects and analyzes emerging standards for component software (OLE, CORBA, OpenDoc). Issues include service request management, process planning, server groupings, and server reliability. In recent years, research initiatives and standards organizations have focused on several issues that are based on the distributed object model. The two key players, described below, are the ANSA Consortium and the International Standards Organization.
7.8.1 ANSA Consortium
The ANSA Consortium is a Cambridge, England-based collaborative-industry laboratory to advance distributed-systems technology. In its initial phase (19851988), the ANSA project focused on developing a basic understanding of distributed architectures. In this phase, the ANSA team built a prototype DCE-like platform (called ANSAWARE) over MSDOS, VMS, and UNIX. During the second phase (19881993), ANSA shifted its focus to distributed objects and developed ANSAWARE as a full function ORB. Many ANSAWARE ideas were used in OMG CORBA. During this phase, ANSA gained several sponsors in Europe and U.S., coordinated by APM Ltd., the parent company founded to coordinate ANSA. Sponsors included companies such as Bellcore, Bell Northern Research (BNR) Europe, British Telecom, DEC, France Telecom, and HP. In the third phase (since 1993), ANSA has been conducting a jointly agreed program of research and development between sponsors with focus on international standards (e.g., ISO ODP) for architectural framework and strong ties with industry standards (OMG, OSF, X/Open) for technology. ANSA is paying special attention to telecommunications by providing strong architectural input into a TINA (Telecommunications Intelligent Network Architecture) Consortium and by participating in TINA auxiliary projects.
ANSA recommends a set of components, rules, recipes, and guidelines to help designers make design decisions. The key ANSA principles are shown in the sidebar "ANSA Principles." At present, the focus of ANSA is on:
l
Architecture for distributed applications
l
Vendor neutrality
l
Contribution to standards
l
Advanced technology prototypes
l
Technical resource (services)
l
Concentration on computer and telecommunications services integration
In particular, ANSA is concentrating on developing advanced prototypes which utilize the emerging distributed-object technologies. Examples of the recent prototypes include ANSAWEB (use of CORBA to develop Web applications), JADE (Java applets issuing CORBA calls), DIMMA (distributed-multimedia applications over CORBA), and QUARTZ (running workflow over Web). In addition to the prototypes developed at ANSA, many university research projects currently use the ANSAWARE platform to investigate distributed systems because the ANSAWARE platform is available at nominal cost to the academic institutions. Examples are extensions to ANSAWARE for advanced mobile applications [Friday 1996], translation of LOTUS specifications to ANSAWARE implementations [Rosa 1996], and implementation of models for evolution of distributed systems on ANSAWARE [Senivongse 1996].
We will review some of the ANSA work in the next chapters where appropriate. An overview of ANSA is given by Herbert [1994]. Additional information about ANSA can be found from the ANSA home page (http://www.ansa.co.uk).
ANSA Principles
l
Specify systems using application concepts (i.e., good abstractions)
l
Define a high level model for distributed programming (use objects)
l
Use tools to automatically generate the engineering detail (generalization of stub generator)
l
Define structures for integration
Object management and monitoring
Trading (directory and selection)
Transparency
7.8.2 ISO ODP (Open Distributed Processing)
International Standards Organization (ISO) and International Telecommunications Union (ITU), previously known as CCITT, initiated a joint effort known as Open Distributed Processing (ODP). ODP was approved as a New Work Item by ISO in 1987. The goal of ODP has been the creation of a Reference Model, known as ODP-RM, that will integrate a wide range of future distributed-systems standards and maintain consistency across such systems. The scope of the ISO ODP is quite different from the scope of the ISO OSI reference model. The focus of OSI is on interconnection that spans all seven layers while ODP primarily concentrates on the application issues (layers five to seven). An ODP system is intended to supply the mechanisms which mask the underlying component heterogeneity from users and applications. In particular, these mechanisms are intended to address a set of fundamental transparency properties. Examples of the key transparency properties include:
l
Location transparency, which masks the differences between local and remote invocations.
l
Migration transparency, which is an extension of location transparency masking dynamic relocation of objects, typically for load balancing.
l
Access transparency, which masks differences in access mechanisms.
l
Federation transparency, which makes boundaries between federated administration domains (see sidebar "TradersThe Matchmakers in Distributed Environments").
l
Failure transparency, which masks the failure and possible recovery of objects.
l
Transaction transparency, which masks coordination of transactional operations.
To achieve these, and other transparency goals, ODP-RM includes descriptive as well as prescriptive elements. The descriptive elements provide a common vocabulary while the prescriptive elements constrain what can be built as required by an open distributed system. In particular, the prescriptive elements are based on the following models shown in Figure 7.18 (known as viewpoints):
l
Enterprise viewpoint for system boundaries, policies, and purpose.
l
Information viewpoint to represent distributed information
l
Computational viewpoint for decomposition of system into distributable units
l
Engineering viewpoint for description of components needed
l
Technology viewpoint for describing the implementation details of components
Figure 7.18
ISO ODP Viewpoints
The prescriptive elements are subdivided into two parts: (a) a set of viewpoint languages that are used to specify the elements, and (b) and the definition of architectural components to populate the computational and engineering viewpoints. The architecture is based on object-oriented concepts. The ODP-RM includes concepts such as trading and federation.
How does ODP-RM interrelate with OMG CORBA and ANSA? Work has been initiated to coordinate the activities of OMG and ODP. In particular, a liaison has been established between ODP and OMG to avoid duplication of work. ANSA continues to provide input to ISO ODP (in fact, the five viewpoints that are at the heart of ODP-RM originated from ANSA and ANSA has input to OMG and tracks OMG status in this area).
The ODP-RM is documented in four parts. Part 1 contains an overview and guide to use ODP-RM, Part 2 (foundations) contains the descriptive model, Part 3 (architecture) specifies
TradersThe Matchmakers in Distributed Environments
A trader locates instances of a service in a network. It basically provides a selection mechanism, through directories, to find matching partners. Trading services are a core component of the ISO ODP Model. A service provider (exporter) nominates a trader service and describes the service it is offering in terms of a service specification and a reference to the interface that provides it. A service consumer (importer) makes a request to a trader, describing the service required, and the trader selects a matching partner.
Traders are being specified by OMG as part of the CORBA specifications. Visit the OMG site (http://www.omg.org) for developments.
the prescriptive model, and Part 4 contains architectural semantics (i.e., formal descriptions of ODP concepts). These four documents are available from ISO as documents ISO/IEC 10748-1 through ISO/IEC 10748-4, respectively. Overviews of ISO ODP can be found in Schurmann [1996, and Farooqi [1995].
REPORTS
Analyize In-Line NAC strategies and products.
ANALYTICS Plan and design your enterprise blade server deployments
InformationWeek U.S. IT Salary Survey 2008
Salaries for business technology professionals are falling. Here's what you need to know in order to make good hiring decisions and personal career choices. Download Today