Distributed Object Computing Technologies: DCOM, CORBA, Java EE, and .NET

DCOM

Runs on Object Remote Procedure Call (ORPC) protocol.

The Service Control Manager (SCM) locates object implementations based on Universally Unique Identifier (UUID) and Class ID (CLSID).

Client-side stub: Proxy.

Server-side stub: Stub.

CORBA

Relies on Internet Inter-ORB Protocol (IIOP).

Object Request Broker (ORB) and Dynamic Skeleton Interface (DSI) handle object location and client invocation.

Client-side stub: Proxy or stub.

Server-side stub: Skeleton.

Java EE

Developed by Oracle (formerly Sun Microsystems).

Industry standard, not a product.

Business Layer: Uses Enterprise JavaBeans (EJB) for business processing and data logic.

Business Partners: Connect via web services (SOAP, UDDI, WSDL).

Clients (Thick, Web, Wireless): Applets/applications connect to EJB via IIOP.

Java EE Process

Developers write code in Java.

Java code compiles to bytecode (cross-platform intermediary).

Java Runtime Environment (JRE) interprets and executes bytecode at runtime.

.NET

Developed by Microsoft for building enterprise web services.

Supports language independence and interoperability (C#, VB.NET, J#, etc.).

Code translates to Common Intermediate Language (CIL).

Common Language Runtime (CLR) interprets CIL and creates native executable.

Hosted in a container providing enterprise services (transactions, security, messaging).

Business Layer: Uses .NET components for business processing and data logic.

Connects to databases using Active Data Objects (ADO.NET).

External connections via web services (SOAP, UDDI, WSDL, BizTalk).

Clients (Thick, Web, Wireless): Connect to Active Server Pages (ASP.NET) for UI rendering (HTML/XHTML) or use Windows Forms.

Distributed Object Paradigms

  • DCOM
  • CORBA

Distributed Object Computing

Extends object-oriented programming across heterogeneous networks.

Objects interoperate as a unified whole, residing in separate address spaces but appearing local.