The IDL supports the declaration of only basic type arguments, which have
to be passed to a remote server. The connection between the stub and the
skeleton is established using the remote procedure call (RPC) mechanism.
The ORB supports location transparency, as it provides the client with a
reference to the server object regardless of its network location. The client-
side ORB dispatches service requests to the server-side ORB transparently.
Since CORBA can be implemented using different technologies, the Internet
Inter-ORB Protocol (IIOP) defines the standard communication protocol for
inter-vendor ORB compatibility.
The ORB supports the control of the threading policy used by the servers,
such as one-thread-per-request and one-thread-per-object. This threading
capability is at the basis of recent CORBA extensions towards a real-time
Microsoft.NET (Thai and Lam 2001) is a new technology for developing
distributed systems. It borrows many successful concepts from the Java
world and from CORBA in order to achieve interoperability of heterogeneous
applications. The following four aspects characterize the .NET framework:
The Common Type System (CTS) is an object model that extends the
previous COM and DCOM models with the goal of supporting multiple
language software development.
The Intermediate Language (IL) is an object-oriented language that con-
forms to the CTS. Various Microsoft and third-party language compilers
(for C!!, Java, etc.) generate code in the IL language (e.g. Microsoft
The Common Language Infrastructure (CLI) is a run time environment
(similar to the Java Virtual Machine) that executes code compiled in the
The .NET Software Development Kit (SDK) is an object-oriented collec-
tion of reusable components. It provides run time hosts for the CLI for a
variety of execution platforms. Internet Explorer is an example of a run
time host. It also supports the development of customer run time hosts.
The essence of the Microsoft proposal is the possibility of compiling exist-
ing code and new code written in the programmer's preferred language. The
resulting applications can interoperate with class libraries and components
written in different languages using the .NET run time environment. The
.NET Remoting service allows applications to interact over the internet using
binary encoding where performance is critical, or XML encoding where
interoperability with heterogeneous applications is essential. Similar to Java
RMI, it is based on the stub-skeleton model: the stub (called proxy) is
created at run time using the metadata published by the server.
The following features characterize the MMI framework:
Reusability : the framework offers a library of reusable components to