For years , software developers have struggled to write distributed applications that take advantage of computing resources independent of their physical location in a network. Unlike client-server applications connecting a single server and a single client, truly distributed applications may utilize dozens of servers spread across a network to deliver a business computing function to a client desktop. Traditionally, writing distributed applications in a heterogeneous environment meant hand coding all the required inter-process communications interfaces, server start up routines, naming services, and other required support facilities. Couple these difficulties with the object-oriented paradigm usually used for distributed applications and you have yourself a very difficult problem indeed.
Luckily for developers, the need for standardized distributed object-oriented application development models drove the development of standards. The Object Management Group (OMG), a consortium of over 800 companies representing the entire spectrum of the computer industry, is today the leading standards body in the distributed objects arena. The Common Object Request Broker Architecture (CORBA) standard developed by the Object Management Group is perhaps one of the most important and all-encompassing standards in the industry for distributed objects. Of course no area in the software industry has a single standard and the distributed object area is no exception. The primary competing object model is Microsoft's Distributed Component Object Model (DCOM). While this chapter will focus on introducing the reader to developing distributed applications with CORBA, it does include a section comparing CORBA with DCOM.
While CORBA is a relatively new and rapidly evolving technology, its origins date back to the early 1990s and predates newer computing models such as the World-Wide Web. Rather than replace CORBA, however, the web has served as a catalyst to spread the adoption of enterprise wide applications utilizing both web and CORBA technologies. Many software developers believe that the day is not far away when users will, by pointing and clicking on their web browser, be able to complete complicated business functions distributed across a corporation or even the Internet on CORBA compliant application servers. Such a scenario is already possible using the Internet Inter-ORB Protocol (IIOP) which is part of the CORBA 2.0 specification. In doing so, CORBA thus has the potential to subsume every other form of existing client/server middleware.