MIME-Version: 1.0 Server: CERN/3.0 Date: Sunday, 01-Dec-96 19:02:40 GMT Content-Type: text/html Content-Length: 14148 Last-Modified: Tuesday, 07-May-96 20:54:22 GMT CORBA: The Essentials

CORBA: The Essentials
An Annotated Bibliography

COM S 514 Final - Spring 1996

Alfred Hong
April 26, 1996


Table of Contents

This bibliography intends to provide an essentials reference guide to understanding CORBA from various perspectives. Bibliography entries are ranked in the order in the following categories:


The CORBA Standards Documentation

Soley, Richard and Stone, Christopher, eds. The Object Management Architecture Guide. Rev. 3.0. John Wiley & Sons and Object Management Group, Framingham, MA, 1995.

This is the definitive, overview guide to the terminology, objectives, and the specification of CORBA. It introduces the Object Management Group (OMG) Core Object Model, the OMG Reference Model, the standardization procedures, the proposal procedures, and specification guidelines of OMG. The OMG Reference Model consists of the four layers: the Object Request Broker (ORB), CORBAservices, CORBAfacilities, and Application Objects of which the first three are described in detail in their own specification texts.

Object Management Group. The Common Object Request Broker: Architecture and Specification. Rev. 2.0. Object Management Group, Framingham, MA, 1995.

The Object Request Broker (ORB) is the foundation of CORBA. ORBs are essentially agents that transparently service data requests/responses from CORBA objects and clients through object adaptors (OA) via an object-oriented version of an RPC mechanism. The interfacing between ORBs and CORBA objects via the Interface Definition Language (IDL) and the Dynamic Invocation Interface (DII) are also specified. Revision 2.0 also defines interoperability and portability guidelines for ORBs from different vendors.

Object Management Group. CORBAservices: Common Object Services Specifications. Object Management Group, Framingham, MA, 1995.

CORBAservices (better known as COSS for Common Object Services Specification in literature) is the layer directly above ORBs that provide a recognized set of essential services available to CORBA objects. This is a "growing" document in that not all envisioned services have been defined yet. Some of the specified ones include naming, events, transactions, and persistence.

Object Management Group. CORBAfacilities: Common Facilities. Object Management Group, Framingham, MA, 1995.

CORBAfacilities is the layer above CORBAservices that defines higher- level services and functions for the fourth layer -- end-user applications -- of the OMG Reference Model. It includes both horizontal and vertical CORBAfacilities which are mostly introduced but have yet to be specified as of this writing. This is a "growing" document as well.

-->Table of Contents


Tutorials

Minton, Gabriel. "Programming with CORBA." Unix Review 14, 4 (April 1996), 29-39.

This is an up-to-date and easy-to-read tutorial on CORBA. It provides background history on OMG, summarizes the information in the defining specifications on CORBA (first four entries of this bibliography), and presents an Interface Definition Language (IDL) and C++ coding example using SunSoft's NEO CORBA environment.

Vinoski, Steve. "Distributed Object Computing with CORBA." C++ Report 5, 6 (July/Aug. 1993), 32-38.

This technical overview of the CORBA foundations explains how CORBA makes sense from the perspective of distributed object-oriented application development with C++. It describes the CORBA components -- the Object Request Broker (ORB) Core, the Interface Definition Language (IDL), the Dynamic Inovation Interface (DII), the Interface Repository (IR), and the Object Adapter (OA) -- individually as well as how they work together.

Betz, Mark. "Building a CORBA Object Server." Software Development 3, 10 (Oct. 1995), 53-61.

It is straightforward for proficient C++ programmers to develop a CORBA object server using C++ and Orbix -- IONA Technologies' CORBA implementation. The process is demonstrated in a detailed step-by-step manner, from IDL interface specification to compilation of the example.

Mowbray, Thomas J. and Zahavi, R. The Essential CORBA: Systems Integration Using Distributed Objects. John Wiley & Sons and Object Management Group, Framingham, MA, 1995.

This book is geared towards systems integrators who are building systems based on CORBA. The book examines overall integration issues and techniques; includes a good tutorial on the CORBA architecture; discusses security issues and implementations; and introduces example ORBs available on the market so that successful CORBA systems can be implemented.

-->Table of Contents


Shortfalls and Problems

Maffeis, Silvano. "Adding Group Communication and Fault-Tolerance to CORBA." In Proceedings of the 1995 USENIX Conference on Object-Oriented Technologies. (Monterey, CA, June 1995). USENIX Asso., Berkeley, CA, pp. 203, 135-146.

Although CORBA is meant for distributed systems, one shortfall is its lack of dealing with fault-tolerance, which could be implemented in software as groups of replicated objects that utilize reliable multicast communication. Recognizing this limitation, the author presents and discusses Electra -- "the best of both worlds," a generic object request broker (ORB) that adds the reliable group multicast capabilities of systems such as Horus and Isis to a CORBA implementation.

Schmidt, D. C., Harrison, T., and Al-Shaer, E. "Object-Oriented Components for High-speed Network Programming." In Proceedings of the USENIX Conference on Object-Oriented Technologies. (Monterey, CA, June 1995). USENIX Asso., Berkeley, CA, pp. 203, 21-38.

This paper presents another problem with CORBA. It evaluates performance problems of "communication middleware" on high-speed networks; CORBA-based mechanisms (like Orbix and ORBeline), which are considerably slower, are compared against C/C++-based sockets. The authors also devised a middleground Adaptive Communications Environment (ACE) object-oriented programming toolkit that improves the performance problems they have encountered.

Orfali, R., Harkey, D., and Edwards, J. "Client/Server Components: CORBA Meets OpenDoc." Object Magazine 5, 4 (May 1995), 55-59.

CORBAfacilities specifies higher-level services and functions for the Application Objects layer of the OMG Reference Model; however, most of these have been introduced but have yet to be specified. OpenDoc, which essentially provides what CORBAfacilities requires, is mature and is anticipated to be merged into or adopted by the CORBAfacilities specification (this has occurred as of the writing of this bibliography and has been named Distributed Document Component Facility). OpenDoc enables the creation of multiple "live data," or live object, compound documents.

Tisaranni, John V. "IONA's Orbix: Object Request Broker." Object Magazine 5, 5 (July/Aug. 1995), 82+.

IONA Technologies' Orbix is one of the most popular, commercially available, full implementations of CORBA. The author reviews versions of Orbix that adheres to the CORBA 1.2 spec but focuses on Orbix extensions that are not defined in CORBA, such as object binding, smart proxies, IDL-C++ binding, and more; some of these have become part of the CORBA 2.0 spec. Work with other companies to further address shortfalls of CORBA are also briefly mentioned. For instance, Orbix+Isis provides fault-tolerance functionality.

-->Table of Contents


Different Perspectives, Comparison to Options

Bernstein, Philip A. "Middleware: A Model for Distributed System Services." Communications of the ACM 29, 2 (February 1996), 86-98.

CORBA is not the only mechanism/middleware that is intended to support distributed computing; various competing models exist. This paper provides an educational look at how the heterogeneity and distributed nature of industry needs and requirements gave birth to middleware; classifies middleware; and discusses services that middleware should provide. Middleware integration issues and its future are examined as well.

Schmidt, Douglas C. and Vinoski, Steve. "Modeling Distributed Object Applications." C++ Report 7, 2 (Feb. 1995), 64-68.

This is second in a series of columns on distributed object computing (DOC). It outlines an approach to DOC implementation by discussing the application environment and requirements (hardware, network, etc.) and examining key functionalities to look for in competing DOC frameworks (CORBA, Network OLE, and OODCE). For example, CORBA does not have security measures or multithreading capability; however, some of these have become part of the latest specification.

Brando, Thom. "Comparing CORBA & DCE." Object Magazine 6, 1 (March 1996), 52-57.

This is an informative guide to CORBA through comparison with DCE Because of their numerous similarities, the author dispels confusion by explaining CORBA through contrasting the differences between CORBA and DCE. The paper includes a clear diagram showing the OMG Reference Model and depicting specified and yet to be specified CORBA components.

Foody, Michael A. "OLE and COM vs. CORBA." Unix Review 14, 4 (April 1996), 43-45.

Microsoft's Component Object Model (COM) is the defining object model for the popular Object Linking and Embedding (OLE) for desktop applications. COM's object model is quite different from CORBA's, which makes interoperability between the two difficult. OMG has completed the COM-CORBA interoperability specification; however, distributed COM, contained in Network OLE (see next entry), is still being defined and may pose a greater challenge for interoperability specification between the two.

Halfhill, Tom R. and Salamone, Salvatore. "Components Everywhere." BYTE 21, 1 (Jan. 1996), 97+.

Network Object Linking and Embedding (Network OLE) from Microsoft and CORBA 2.0 from the Object Management Group are compared. CORBA 2.0 is already available with years of refinement; especially the new 2.0 specification has added additional portability and distributed computing enhancements. Although Network OLE is not available yet, Microsoft's strategies and OLE 2.0 availability make Network OLE a formidable opponent.

-->Table of Contents


Real-World CORBA Applications

Pompeii, John. "The Design and Construction of LISA." DBMS Magazine 8, 13 (Dec. 1995), 68-82.

This is a case study of a real-world property management system that is completely object-oriented. It was built with IBM's distributed systems object model (DSOM), a CORBA-compliant framework, and runs on a heterogeneous TCP/IP network with over 60 Oracle7 database servers. The fruits of OMG and the Object Database Management Group (ODMG) are impressively displayed by the variety of DSOM services (hence CORBAservices) utilized: naming service, persistence, event notification, concurrency control, and more.

Almasi, G., et al. Web* -- A Technology to Make Information Available on the Web." In Proceedings of the Fourth Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE '95) (Apr. 20-22, 1995, Berkeley Springs, West Virginia). IEEE Computer Society Press, Los Alamitos, CA, pp. 147-153.

Web* is an enhanced common gateway interface (CGI) script that includes a Tcl-based Orbix dynamic invocation interface (DII), allowing it to act as an Orbix client to CORBA-compliant servers. The authors briefly describe the use of the static interface definition language (IDL) versus DII in Web*. Although CORBA is not the major focus of the paper, nevertheless, Web* is a freely available working example of a CORBA client. The authors also mention a May 1995 trial of Web* for dynamic generation of medical patient records using an Orbix interface to Oracle databases.

-->Table of Contents