OMG's Internet Inter-ORB Protocol (IIOP) has developed quite a career in a short space of time. Its specification was released in late 1994 as part of OMG's CORBA2.0 specification. Only a few months later, the first ORBs implemented the protocol and interoperability between various ORBs was demonstrated to the world during Object World West in mid-1995. In mid-1996, Netscape declared its support for IIOP as the Internet protocol for distributed applications. Now, everyone seems to be jumping on the IIOP bandwagon. This popularity demonstrates the need for a standardised protocol for remote operation invocation.
As OMG produces only paper-based specifications and not implementations, there was a certain skepticism among analysts and ORB users that IIOP would provide ORB interoperability. To prove that interoperability, the CORBAnet initiative was launched by Lydia Bennett (OMG VP for Member Initiatives) in March 1995 with strong support from ORB vendors and end-users. CORBAnet is a permanent showcase demonstrating IIOP-based interoperability. CORBAnet is designed, implemented and maintained by the Distributed Systems Technology Centre (DSTC), a vendor-neutral research organization based in Brisbane, Australia.
CORBAnet can be accessed from any web browser at http://www.corba.net.
In demonstrating ORB interoperability, CORBAnet focuses on these major issues:
The Internet Inter-ORB Protocol is demonstrated from both a technical and an application viewpoint.
Users can select a client from any ORB provider and use that client to access a server on any other vendor's ORB. This demonstrates interoperability in all possible combinations.
All Major ORB Products
CORBAnet is supported by all major ORB vendors and their products will be integrated in the showcase as soon as they conform to the CORBA2.0 specification.
The CORBAnet interoperability architecture is illustrated in Figure 1. It shows two ways of interacting with objects: using conventional native-code clients invoked through the CGI, and executing applet clients, developed using Java ORBs, in the Java Virtual Machine of a WWW Browser.
The CORBAnet application is accessed via HTTP through the Common Gateway Interface. At the HTTP server a program is invoked which is a client to the CORBAnet application. This client communicates via IIOP with different CORBA servers.
CORBA clients implemented as Java applets are down-loaded to the CORBAnet user. These Java ORB clients communicate with the CORBA servers at the CORBAnet site via IIOP.
The CORBAnet application is a room booking system. Although its functionality is simplified for the ease of understanding, the system's IDL specification provides a variety of simple and complex data types, attributes and operations defined in multiple interfaces. There are room objects which provide operations to book, cancel and view meetings. Meetings are also objects. created in a meeting factory. Clients use a room information server to obtain object references to room objects. The room objects register themselves with the room information server so that clients can find out about them.
Each participating ORB is used to implement one room object and one meeting factory. The ORB also has a Web page that provides access to a client. Figure 2 shows a screen shot of the CORBAnet applications when viewing rooms using the CGI and approach.
To create the table shown, the following operations are invoked:
Where Does CORBAnet Stand Today?
- Query room information service about existing rooms
- Invoke the view operation on each of the rooms
- Obtain details from the meeting objects (this is only done in the Java version once the button is pressed).
After just one year, CORBAnet has met its goals:
The Future of CORBAnet
- It shows that IIOP-based ORB interworking is reality.
- It is fully operational (since August 1996).
The following ORBs are currently up and running:
- Visigenic's Visibroker
- Iona's Orbix
- Expersoft's Powerbroker CORBAplus
- Sun's NEO
- DNS' SmalltalkBroker
- IBM's DSOM
- Siemens' SORBET
CORBAnet will be completed by the products of the remaining ORB vendors.
There are plans to extend the scope of CORBAnet, demonstrating the interoperability of various CORBAservices. The hot candidates are:
- Security Service/Secure IIOP
- Naming Service
- Event Service
- Trading Service
OMG's Lydia Bennett is the CORBAnet Program Director. Andreas Vogel (now with Visigenic Software) was the Technical Director during CORBAnet's first year; this role has been taken over by DSTC's Keith Duddy. CORBAnet's principal engineer is Douglas Kosovic (DSTC).
About the Author
Andreas Vogel is a Senior Consultant with Visigenic Software. He holds a MSc and Phd from Humboldt university, Berlin. After holding research positions at the Universityof Montreal and the Distributed Technology Centre (DSTC) in Brisbane, Australia, he joined Visigenic. Andreas has worked on distributed systems for more than six years and published over thirty papers in international conferences and journals. He wrote the recent book, "Java Programming with CORBA," with Keith Duddy. Andreas can be reached at [email protected]