ORBA, the acronym for Common Object Request Broker Architecture, is a widely used communications model for building distributed (multi-tier) applications that connect both cross-platform and cross-language clients to server-based services. Like J2EE, it's not easy to connect CORBA to the .NET world, where ASP.NET Web services and .NET Remoting are the generic ways to build distributed applications. Making that connection requires a way to describe .NET objects as CORBA objects so that J2EE can interact with them, and a way to describe CORBA objects as .NET objects, so that managed .NET code can interact with them. In other words, you need some mediating code that can translate objects and method calls from CORBA's representation to the .NET framework's representation. Borland's Janeva does exactly that: It simplifies the process of making that translation to connecting CORBA or J2EE objects to the .NET world.
To start, you need a CORBA server. Although some readers will have a server available and running, many won't, so the first part of this article shows you how to create a simple CORBA server in C++ that you can use for practice and testing. It's important to understand that the CORBA server could just as well be written using Java, Delphi, or any other language. The second part shows you how to connect to that server using Janeva.
The sample server that accompanies this article was built with Borland C++Builder 6 Enterprise. If you don't have access to Borland C++Builder, you can use the compiled sample server application in the downloadable code for this article. The server is based on an existing application that maintains a personal agenda with appointments, used to schedule meetings electronically. The scheduling implementation details aren't important for this article; it's more important to focus on how to build and distribute the CORBA server interface specification that you'll use at the client to experiment with Janeva's connectivity.