Skip to main content

Middleware role; CORBA and services

Short answer

Middleware in distributed systems masks hardware/OS/language differences, provides location and access transparency, and offers uniform RPC/RMI interfaces plus common services (naming, security, transactions). CORBA is an OMG middleware standard built on an Object Request Broker (ORB) with IDL-defined interfaces, generated stubs/skeletons, an Object Adapter (POA), and the IIOP protocol. Core services include Naming, Trading, Event, Transaction, Persistence, and Security.

What is the role of middleware in DS? Explain about CORBA and its services.

Role of middleware in a distributed system

Middleware is the software layer between applications and the local OS/network of each node. Its roles:

  1. Hides heterogeneity of hardware, OS, language and network.
  2. Gives transparency (location, access, replication, failure) and a single system view.
  3. Provides a uniform communication model (RPC, RMI, messaging) so programmers avoid socket coding.
  4. Supplies common services: naming, security, transactions, persistence, events.
  5. Enables interoperability, portability, scalability and openness through standard interfaces.

CORBA

CORBA (Common Object Request Broker Architecture) is the OMG's object-oriented middleware standard. The ORB receives a client's request for an object, locates it and returns the result, regardless of language or platform. Interfaces are written in IDL; the compiler gives a client stub and server skeleton. The Object Adapter registers and activates servants and dispatches calls; the Interface Repository and DII/DSI support dynamic calls; GIOP/IIOP carry requests between ORBs of different vendors.

 Client -> stub -> ORB ==IIOP== ORB -> Adapter -> skeleton -> Object

CORBA services

Standard object services defined in IDL:

  • Naming: name to object reference. Trading: find objects by properties.
  • Event and Notification: asynchronous, decoupled communication through channels.
  • Life cycle: create, copy, move and delete objects.
  • Persistent state: save and restore object state.
  • Transaction: atomic operations with two-phase commit.
  • Concurrency control: lock management.
  • Security: authentication, authorisation, auditing, encryption.
  • Query, Relationship, Time, Licensing, Property, Collection.

Hence middleware, here CORBA, is what turns separate machines into one programmable system.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 4 questions →