Research on Distributed Systems and Architectures


Composed by Francis Chan


Interactive Community Software

Interactive Digital Solutions (IDS) is the joint venture company of AT&T, Silicon Graphics, and Time Warner. IDS develops system software for broadband interactive networks. It's core business is the ongoing development of the InterActive Community system software (ICS) for the delivery and management of multimedia information within distributed broadband networks. IDS does not plan to be in the application and content business but to promote and foster a viable third party market place for interactive services, applications, and content.

InterActive Community Software is designed to port to interactive TV set-tops, PC operating environments, workstations and other end-user devices. It supports today's first generation digital set-top terminals intended primary for near and full video-on-demand services coupled to a network architecture tailored for low-cost video delivery.

To achieve independence of hardware and operating system platforms, Interactive Digital Solutions has developed a communications layer called Object Communications Services (OCS). OCS can be ported to any hardware platform or operating system, including PCs. OCS allows software object modules with IDL-based interfaces to run and communicate on top of any hardware. OCS is available to any hardware and operating system vendor.

InterActive Community Software uses object-based software design as the underlying architecture where all software functions are defined as object modules. All object modules in the system, whether they're located on servers, end-user devices, or in the network, communicate with one another the same way. All object module interfaces are created using an industry-standard language for object-based software, called IDL, or Interface Design Language which conforms to the CORBA.


Object Management Group

The Object Management Group (OMG) is a non-profit consortium consisting of over 600 software vendors and members that is dedicated to promoting the theory and practice of object technology (OT) for the development of distributed computing systems. Their goal is to provide a common architectural framework for object-oriented applications based on widely available interface specifications.

The Object Management Architecture (OMA) is the architectural framework introduced by the Object Management Group with a view to drive the industry towards interoperable, reusable, portable software components based on open, standard object-oriented interfaces.

OMA segments

Application Oriented - the OMA characterizes Interfaces and Common Facilities as solution-specific components that rest closest to the end user.

System Oriented - Object Request Brokers and Object Services are concerned with the system or infrastructure aspects of distributed object computing and management.

Vertical Market Oriented - Domain Interfaces are vertical applications or domain-specific interfaces.

OMA Components

Object Request Broker - commercially known as CORBA. It provides an infrastructure allowing objects to converse, independent of the specific platforms and techniques used to implement the objects. Compliance with the Object Request Broker standard guarantees portability and interoperability of objects over a network of heterogeneous systems.

Object Services - these components standardize the life-cycle management of objects. Interfaces are provided to create objects, to control access to objects, to keep track of relocated objects, and to control the relationship between styles of objects (class management).

Common Facilities - Common Facilities provide a set of generic application functions that can be configured to the specific requirements of a particular configuration. These are facilities that sit closer to the user, such as printing, document management, database, and electronic mail facilities.

Domain Interfaces - Domain Interfaces represent vertical areas that provide functionality of direct interest to end-users in particular application domains. They are designed to perform particular tasks for users within a certain vertical market or industry.

Application Objects - The Application Interfaces represent component-based applications performing particular tasks for a user.


Common Object Request Broker Architecture

Common Object Request Broker Architecture (CORBA) is a system definition specification that allows applications to communicate with one another regardless of their location and developer. Together with the Interface Definition Language (IDL) and Application Programming Interfaces (API) that were defined by the Object Management Group, CORBA 2.0 enables client/server object interaction and true interoperability by specifying how ORBs from different vendors can interoperate.




Structure of the Object Request Broker Interfaces


The (ORB) is the middleware that establishes the client-server relationships between objects. Using an ORB, a client can transparently invoke a method on a server object, which can be on the same machine or across a network. The ORB intercepts the call and is responsible for finding an object that can implement the request, pass it the parameters, invoke its method, and return the results. The client does not have to be aware of where the object is located, its programming language, its operating system, or any other system aspects that are not part of an object's interface. In so doing, the ORB provides interoperability between applications on different machines in heterogeneous distributed environments and seamlessly interconnects multiple object systems. With an ORB, the protocol is defined through the application interfaces via a single implementation language-dependent specification, the IDL. In an ORB-based solution, developers simply model the legacy component using the same IDL they use for creating new objects, then write "wrapper" code that translates between the standardized bus and the legacy interfaces.




A request being sent through the Object Request Broker


Significance of CORBA

Since the release of CORBA 1.0 in 1991, the promise to provide out-of-the-box multi-vendor interoperability among ORB implementations was never realized. The CORBA 1.2 specifications had many vague areas to allow a wide range of implementations, but caused problems with interoperability. The problem was finally resolved by CORBA 2.0 with the definition of a single wire-format which specifies how detailed information representing a CORBA request is laid out on a network transport. The wire-format to be adopted was:

CORBA 2.0 implementations provides out-of-the-box interoperability by means of UNO GIOP (Universal Networked Object, General Inter-ORB Protocol) hosted on the TCP/IP networking transport, called IIOP (internet Inter-ORB Protocol).

CORBA 2.0 implementations will have the option of supporting an additional protocol, called the DCE CIOP (Distributed Computing Environment Common Inter-ORB Protocol) based on (Open Software Foundation) OSF's DCE protocol.

CORBA provides a distributed object-oriented approach to integrating new as well as legacy applications and enables the developers to write an object wrapper to encapsulate the system. With CORBA, the developer writes a description of the service provided by the system using IDL, then writes code which invokes the appropriate set of actions in the system when one of the object wrapper's method in invoked.

CORBA also standardizes:

IDL-to-C++ language mapping Naming service, event service, lifecycle service ORB initilaization service

While the interoperability issue has been tackled in CORBA 2.0, the security aspects have not been sufficiently addressed, and this falls on the shoulders of the OMG Object Security Service Specification. These have been the major obstacles to serious and mission-critical applications development, particularly those who still employ legacy systems.

As a technology, CORBA is maturing rapidly and its specifications has received broad industry support. However, OMG technology has had only slow acceptance as OMG/CORBA technology is object/oriented technology for distributed computing, an area where many users are not ready technically to apply and deploy in real environments. With the recent popularity of the Internet and the likes of Java, the future of CORBA lies greatly in its use in open distributed tools and and services. This depends on both the publicity efforts on the part of OMG in encouraging software and system vendors to use CORBA and on CORBA's technical merits in enabling true compatibility among different platforms and other internet programming languages and applications.

Interface Definition Language

Besides JYLU -- ILU for JAVA developed at Stanford Digital Library Testbed Development, Ernest Friedman-Hill at Sandia National Laboratories is also developing JIDL -- CORBA IDL compiler which promises to enable Java applets running in Java-enabled Web browsers to manipulate CORBA objects on remote servers as if they were local Java objects. A document stating the mapping of CORBA IDL to Java is accessable. However, a working prototype is not yet available for downloading.


Back to Index


Modified: February 8, 1996
Feedback: Francis Chan (fchan@ic.eecs.berkeley.edu)