Distributed Applications

JavaRMI - Remote Method Invocation

RMI provides a way for Java objects instantiated by different JVM's (Java Virtual Machines), possibly on different and remote hosts, to exchange data and use each others fields and methods. This allows Java applications to access services which may not be available on the machines that they are currently running on.

CORBA

Common Object Request Broker Architecture (CORBA) is an architecture and specification for creating, distributing, and managing distributed program objects in a network. It allows programs at different locations and developed by different vendors to communicate in a network through an "interface broker."

CORBA was developed by a consortium of vendors through the Object Management Group (OMG), which currently includes over 500 member companies. The International Organization for Standardization (ISO) have sanctioned CORBA as the standard architecture for distributed objects (which are also known as components). CORBA 3 is the latest level.

CORBA was designed to provide interoperability between different languages and distributed models by providing an Interface Definition Language (IDL) that each language, intending to be incorporated in a CORBA distributed system, must provide an implementation for. In other words CORBA allows remote objects written in C, Eiffel, Smalltalk, and even COBOL to communicate within a distributed system. Java objects can now be part of CORBA distributed systems allowing them to communicate with remote C objects, Eiffel objects, etc, by the inclusion of JavaIDL in the Enterprise APIs.

Distributed Component Object Model

DCOM (Distributed Component Object Model) is a set of Microsoft concepts and program interfaces in which client program objects can request services from server program objects on other computers in a network. While it is similar to CORBA, it only operates between Microsoft programs.

.NET

.Net is a business strategy from Microsoft that is aimed at a convergence of personal computing with the Web. The .NET technologies and architecture aim to make it possible for applications, devices, and services to work together. Many of the details for .Net are not yet fully worked out; however, Microsoft has released information about the strategy in general and various aspects of the platform. The .Net platform will include servers; building-block services, such as Web-based data storage; and device software. The .Net platform is expected to provide: