Web Infrastructure  «Prev  Next»

Lesson 6Distributed object middleware
ObjectiveDescribe the function of distributed object middleware.

What is Distributed Object Middleware?

Distributed object middleware is middleware that provides a deployment, execution, and management framework for objects hosted on different computing environments. The chief difference between object-oriented and RPC-based middleware is that it's object-oriented, which provides for far greater design and deployment flexibility, and reuse.

How does Distributed Object Middleware Work?

The kernel of distributed object middleware is the object request broker (ORB).[1] This Slide Show illustrates how the ORB works.


The ORB facilitates the deployment and management of CORBA
1) The ORB facilitates the deployment and management of CORBA, COM+, and Java objects across different architectures.

Using ORBs, the developer of a multi-object application can easily partition those objects onto different networks nodes.
2) Using ORBs, the developer of a multi-object application can easily partition those objects onto different networks nodes. It is therefore like the RPC-based approach, except its object, not function, oriented. As such, it makes object methods available at run-time rather than at design-time.

So while remote objects are designed differently, they share a common language, which enables them to operate with one another.
3) So while remote objects are designed differently, they share a common language, which enables them to operate with one another. Sometimes this language is known as IDL (interface definition language).

The ORB world has a few major standards, most notably including the Object Management Group.
4) The ORB world has a few major standards, most notably including the Object Management Group. (CORBA) Common Object Request Broker Architecture, its internet implementation which is IIOP, as well as Microsoft's standard .NET Services.


ORB Function Corba
In sum, distributed object middleware allows objects from applications developed in different languages, running on different physical computing environments, to interoperate and share methods in a flexible and dependable fashion.

Distributed object middleware Considerations

Question: Is Corba difficult to develop?
Very few programmers are well-versed in the IDL (interface definition language) required for most ORB implementations. In addition,since this type of approach mediates different languages between different computing environments, this kind of middleware isconceptually difficult to design. Few corporate IT departments possess considerable ORB and IDL expertise, and therefore must dependon typically expensive third-party help.

Middleware Technologies which are Successors to OMG CORBA

OMG CORBA (Common Object Request Broker Architecture) was a middleware technology that was widely used in the 1990s and early 2000s for distributed computing. While CORBA is still in use today, several middleware technologies emerged as successors to CORBA, including:
  1. Web Services: Web services use a standardized set of protocols and technologies (such as SOAP, WSDL, and XML) to enable communication and data exchange between distributed applications. Web services are widely used today and have largely replaced CORBA for many applications.
  2. REST (Representational State Transfer): REST is a lightweight architectural style for building distributed applications that relies on HTTP and other web standards. REST has gained popularity in recent years as a simpler and more scalable alternative to CORBA and other middleware technologies.
  3. Message-Oriented Middleware (MOM): Message-oriented middleware is designed to support asynchronous messaging between distributed applications. MOM technologies such as JMS (Java Message Service) have become popular for building scalable, fault-tolerant applications.
  4. Enterprise Service Bus (ESB): ESB is a middleware technology that provides a platform for integrating disparate applications and services. ESB technologies such as MuleSoft and Apache ServiceMix have become popular for building integration solutions.
  5. Microservices: Microservices is an architectural approach to building distributed applications that emphasizes the use of small, independently deployable services that communicate using lightweight protocols such as REST. Microservices architectures have gained popularity in recent years as a more flexible and scalable alternative to monolithic architectures and middleware technologies such as CORBA.

In summary, while CORBA is still in use today, several middleware technologies have emerged as successors to CORBA, including web services, REST, message-oriented middleware, enterprise service bus, and microservices. These technologies offer simpler, more scalable, and more flexible alternatives to CORBA for building distributed applications.

Components and Standards

Consider using component and object architectures, such as Enterprise Java Beans[2] (EJBs) or ActiveX[3] that can be extended through distributed object standards like CORBA[4] and COM+[5]. Though relatively few eBusiness solutions actively use distributed objects at this time, plenty of eBusiness solutions take advantage of component and object standards.
The next lesson is about yet another kind of middleware, transaction processors.

Distributed Object Middleware - Quiz

Click the Quiz link below to review the peculiarities and functions of distributed object middleware.
Distributed Object Middleware - Quiz

[1] Object request broker: A program that controls communication between clients and objects on servers.
[2] Enterprise Java Beans (EJB): Component software architecture from Sun that is used to build Java applications that run in the server. It uses a "container" layer that provides common functions such as security and transaction support and delivers a consistent interface to the applications regardless of the type of server. CORBA is the infrastructure for EJBs, and at the wire level, EJBs look like CORBA components. EJBs are the backbone of Sun's J2EE platform, which provides a pure Java environment for developing and running Web-based applications.
[3] ActiveX: A set of rules for how applications should share information. This is Microsoft's version of Java applets.
[4] CORBA: Enables pieces of programs, called objects, to communicate with one another regardless of what operating system they are running on or what programming language they were written in.
[5] COM+: Microsoft's language independent component architecture intended to provide general purpose, object oriented means to encapsulate commonly used features and functions.