In Chapter 2 we examined the Remote Procedure Call paradigm in the
construction of distributed systems. OSI contains a similar concept in the
form of the Remote Operation Service Elements (ROSE). The objectives are
much the same - the provision of the invocation-response semantics that are
familiar from local function calls. However, there are two main differences
from the classic RPC model:
-
First, ROSE assumes a CO environment; you have first to establish an
association before a ROS.req can be issued.
-
Second, there are none of the language binding mechanisms normally
associated with RPC. Rather than ape the syntax of any particular
programming language for the operation's parameters and responses,
ROSE specifies these using OSI specification language ASN.1 (Abstract
Syntax Notation 1) which is described in the next section.
In addition to providing a disciplined way of handling the parameters and
responses associated with the normal execution of a remote operation, ROSE
deals with abnormal terminations. There are two ways in which abnormal
termination can occur; the remote application entity can reject the
operation on the grounds that the parameters are illegitimate, or it may
find that, although the parameters are OK, the operation cannot be
performed for some external reason.