- Asked 3/15
- 2074 Chaitra · 6 marks
- 2074 Asoj · 2+4 marks
- 2070 Asar · 2+4 marks
CORBA invocation methods and services
Short answer
Static invocation uses IDL-generated stubs and skeletons with compile-time type checking; dynamic invocation (DII) builds requests at runtime via the Interface Repository, needing no stub. Both are supported by naming, trading, event, transaction, and security services. The ORB delivers requests, and the server cannot distinguish which method was used.
Explain the CORBA invocation methods (dynamic and static invocation) with its services.
CORBA (Common Object Request Broker Architecture) of the OMG lets objects written in different languages on different machines call each other through an Object Request Broker (ORB). A client can invoke an operation in two ways.
1. Static invocation (stub based)
The interface is described in IDL and the IDL compiler generates a client stub and a server skeleton. The client links with the stub and calls it like a local method; the stub marshals the arguments, the ORB sends the request (via IIOP), and the skeleton unmarshals and calls the object implementation through the object adapter.
- Interface known at compile time, type checked, fast, simple.
- Less flexible: a new interface needs regenerated stubs.
2. Dynamic invocation (DII)
The client builds the request at run time without a stub. It finds the interface from the Interface Repository, creates a Request object with operation name and arguments through the Dynamic Invocation Interface and sends it. On the server side the Dynamic Skeleton Interface (DSI) lets a server accept calls for interfaces unknown at compile time.
- Flexible: suited to browsers, gateways, tools and bridges.
- Slower and not type checked at compile time.
Client Server
+--------+ static +-------+ +----------+ +--------+
| Client |--stub--->| |-->| Skeleton |->| |
| code | DII --->| ORB |-->| DSI |->| Object |
+--------+ +-------+ +----------+ +--------+
(Interface Repository used by DII)
CORBA services supporting invocation
- Naming service: gets object references by name.
- Trading service: finds objects by property.
- Event/notification service: asynchronous, decoupled communication between suppliers and consumers.
- Transaction service: groups calls into atomic units.
- Security service: authentication and access control of invocations.
- Life cycle, persistence, concurrency control services for managing the objects invoked.
Invocation modes: synchronous (the client blocks for the reply) and one-way (no reply) work with both methods; deferred synchronous (send now, collect the reply later) is available through the DII.
Both methods give the same result; the server cannot tell which one the client used.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Object adapter and CORBA invocation · Distributed System, chapter 4
- JINI goals, CORBA services, OS support · Distributed System, chapter 3
- Short note: CORBA services · Distributed System, chapter 4
- CORBA services; object adapter functions · Distributed System, chapter 4
- IDL and CORBA RMI with services · Distributed System, chapter 4
- Middleware role; CORBA and services · Distributed System, chapter 4
- Static vs dynamic mathematical model · Simulation and Modeling, chapter 2 · asked 3×
- Static vs dynamic implementation of list · Data Structure and Algorithm, chapter 3 · asked 2×
- Static and dynamic hazards and their elimination · Digital Logic, chapter 3 · asked 2×
- Static versus dynamic binding trade-offs · Object Oriented Programming, chapter 7