Back to the 2025 paper
Module III: Basics of Web Programming
20257m
What are Distributed Object Models? Compare CORBA, DCOM, and EJB.
Worked SolutionAI Assisted
Answer: Distributed Object Models — Comparison of CORBA, DCOM, and EJB
1. What is a Distributed Object Model?
A Distributed Object Model (DOM) is an architectural paradigm in distributed computing where software objects located on different physical machines across a network can communicate and invoke methods on one another as if they were residing in the same local memory space.
+-----------------------+ +-----------------------+
| Client System | | Server System |
| | | |
| [Client Program] | | [Remote Object] |
| | | | ^ |
| v | | | |
| [Stub/Proxy] | | [Skeleton/Adapter] |
| | | | ^ |
| v | | | |
| [ORB / Runtime] | === Network Communication => | [ORB / Runtime] |
+-----------------------+ (IIOP / RPC / RMI) +-----------------------+
Core Mechanisms:
- Stub (Client Proxy): Marshals method parameters and serializes calls across the network.
- Skeleton / Dispatcher: Unmarshals parameters on the remote server, invokes the actual method, and serializes the return value back.
2. Overview of CORBA, DCOM, and EJB
A. CORBA (Common Object Request Broker Architecture)
- Specification: Defined by the Object Management Group (OMG) as an open vendor-neutral standard.
- Key Feature: Truly platform-independent and language-independent. Interfaces are defined using OMG IDL (Interface Definition Language).
- Communication: Uses an ORB (Object Request Broker) and communication protocol IIOP (Internet Inter-ORB Protocol).
B. DCOM (Distributed Component Object Model)
- Specification: Developed by Microsoft as a network extension of COM (Component Object Model).
- Key Feature: Deeply integrated into Windows OS; uses Microsoft RPC (Object RPC).
- Limitation: Windows-centric and proprietary, with limited cross-platform interoperability.
C. EJB (Enterprise JavaBeans)
- Specification: Developed by Sun Microsystems / Oracle (now part of Jakarta EE).
- Key Feature: Pure Java-centric server-side component architecture for building transactional, secure, scalable enterprise business logic.
- Container Architecture: Runs inside an EJB Container that automatically handles transactions, security, concurrency, connection pooling, and lifecycle.
3. Detailed Comparison Matrix
| Parameter | CORBA | DCOM | EJB |
|---|---|---|---|
| Governing Body | Object Management Group (OMG) | Microsoft | Sun / Oracle / Jakarta EE |
| Platform Support | Platform Independent (Unix, Linux, Windows) | Windows Centric (Limited Unix support) | Cross-Platform (Any Java-supported OS) |
| Language Support | Multi-language (C++, Java, Python, Ada, COBOL) | Multi-language on Windows (C++, VB, C#) | Java Only |
| Interface Definition | OMG IDL (Interface Definition Language) | Microsoft IDL (MIDL) | Java Interfaces (Local / Remote) |
| Underlying Protocol | IIOP (Internet Inter-ORB Protocol) | ORPC (Object Remote Procedure Call) | RMI / IIOP |
| Enterprise Services | Basic CORBA services (Naming, Event, Security) | Microsoft MTS / COM+ | Full Container Services (JTA, JPA, Security, Pooling) |
| Architecture Model | Client-Server with ORB middleware | Binary COM components over network | Component-Container model |
| Primary Strength | Universal vendor & language interoperability | High performance on Windows enterprise environments | Rapid enterprise development with built-in declarative services |
| Weakness | Steep learning curve, complex configuration | Windows lock-in, poor firewall traversal | Restricted to Java ecosystem |
Conclusion
- CORBA is ideal for heterogeneous legacy integration across multiple programming languages and OS platforms.
- DCOM provided high performance in pure Microsoft Windows environments before modern Web APIs.
- EJB remains the enterprise standard for pure Java distributed systems, offering automated transactional and container-managed persistence capabilities.
Similar questions
Software EngineeringWrite short notes on the following: Unified modelling language20205mSoftware EngineeringWrite short notes on the following: (a) Unified modelling language [5] (b) Object-oriented analysis modelling [5] (c) Object-oriented design concepts and methods [4]202214mSoftware EngineeringWrite short notes on the following: Object-oriented analysis modelling20205mSoftware EngineeringDefine the COCOMO model. Also, explain the types of COCOMO model and their benefits.20257m