[Up: Guided tour through MICO]
[Previous: Guided tour through MICO] [Next: State of development]

# Objects in distributed systems

Modern programming languages employ the object paradigm to structure computation within a single operating system process. The next logical step is to distribute a computation over multiple processes on one single or even on different machines. Because object orientation has proven to be an adequate means for developing and maintaining large scale applications, it seems reasonable to apply the object paradigm to distributed computation as well: objects are distributed over the machines within a networked environment and communicate with each other.

As a fact of life the computers within a networked environment differ in hardware architecture, operating system software, and the programming languages used to implement the objects. That is what we call a heterogenous distributed environment. To allow communication between objects in such an environment one needs a rather complex piece of software called a middleware platform. Figure 3.1 illustrates the role of a middleware platform within a heterogenous distributed environment.

Figure 3.1: Middleware support for objects in distributed systems.

The Common Object Request Broker Architecture (CORBA) is a specification of such a middleware platform by the Object Management Group (OMG) (see [5]). MICO provides a full CORBA 2.3 compliant implementation. CORBA addresses the following issues:

object orientation
  objects are the basic building blocks of CORBA applications.
distribution transparency
  a caller uses the same mechanisms to invoke an object whether it is located in the same address space, the same machine or on a remote machine.
hardware-, operating system-, and language independence
  CORBA components can be implemented using different programming languages on different hardware architectures running different operating systems.
vendor independence
  CORBA compliant implementations from different vendors interoperate.

CORBA is an open standard in the sense that anybody can obtain the specification and implement it like we did. Besides its technical features this is considered one of CORBA's main advantages over other proprietary solutions.

[Previous: Guided tour through MICO] [Next: State of development]
[Up: Guided tour through MICO]