Since 1989, the Object Management Group (OMG) has been defining and refining a standard called the Common Object Request Broker Architecture (or CORBA). CORBA is a specification for distributed object-based computing that enables clients and servers to communicate. CORBA is explicitly platform- and language-independent and is quite heavily used in enterprise computing. In this chapter, I’ll introduce CORBA, compare CORBA to RMI, and then discuss RMI/IIOP, which is a compromise that allows Java developers to take advantage of some of RMI’s features while still writing CORBA applications. By the end of this chapter, you’ll have an elementary understanding of CORBA and a clear understanding of when to use CORBA and when to use RMI.
At some point in the mid-1980s, a number of industry leaders began to realize that every large corporation has a fairly similar computing environment, consisting of the following five components:
Many large and midsize companies have a incredibly diverse hardware base. Many servers are still on mainframes and likely will be for the foreseeable future, while many smaller applications are hosted on whatever hardware was handy at the time (and the applications are often too brittle to migrate to new platforms gracefully). Client machines are even more varied.
From operating systems to programming languages to libraries to network infrastructure choices ...