Distributed Systems Architecture: A Middleware Approach

Invocation adapters form the connection between a caller (of a method) and an ORB similar to the way in which object adapters establish a connection between an ORB and object implementations. Invocation adapters in a microkernel ORB are separate services from the ORB core. Similar to object adapters, they conceal different types of callers from the ORB, thereby making it possible for the ORB kernel to be small and flexible.
This chapter will first introduce some of the fundamental concepts concerning invocation adapters. It will then look at two special adapters the Dynamic Invocation Interface (DII) and the Static Invocation Interface (SII) and how they are implemented in Mico.
Invocation adapters are components of the CORBA system that enable clients to execute method invocations. They are used by stub objects but can also be used directly by a user to invoke methods on objects for which no stubs exist.
To carry out a method invocation, invocation adapters require the object reference of the target object, the method name, and the values of the input parameters. A successful method invocation produces a result value and the values of the output parameters. If an error occurs, an exception is returned instead.
Invocation semantics Invocation adapters can support one of several CORBA invocation semantics (also see Section 3.1):
synchronous with at-most-once semantics
asynchronous with at-most-once semantics
one-way with best-effort semantics
Static versus dynamic invocation adapters CORBA differentiates between