Information Technology Reference
In-Depth Information
The idempotent attribute: Indicates that the operation may safely be called more
than once as it does not modify any state and/or yields the same result on
each invocation.
The broadcast attribute: Specifies that the operation may be sent to multiple
servers, effectively concurrently. An operation with the broadcast attribute
is implicitly an idempotent operation.
The maybe attribute: Specifies that the operation's caller must not require and
must not receive a response or fault indication. An operation with the maybe
attribute must not contain any output parameters and is implicitly an idem-
potent operation.
The reflect_deletions attribute: Specifies that memory occupied by targets of
pointers on the client will be released when the corresponding targets of
pointers on the server are released. This is true only for targets that are
components of in-parameters of the operation.
Having a machine-neutral IDL allows multiple languages to use the RPC
system as the IDL compilers can generate the stubs and skeletons for each imple-
mentation language. This also has the advantage of allowing a remote procedure
developed in one language to communicate with a remote procedure developed in
another language.
While this greatly simplifies the development of distributed applications, the
language-neutral nature limits the kinds of data that can be exchanged between
processes to the basic data types that can be represented in all the target languages
[116].
While IDLs remove the complexity of network data representation from the
programmer, the programmer must still control the lifecycle management of the
data sent that typically require either complex conventions or reference counting.
These procedures are prone to programmer error that can lead to memory leaks
or referential integrity loss [116].
2.3.3
Data Representation
Due to the heterogeneous nature of computer networks, data transmitted between
machines require a data representation protocol, which defines the way data is
represented so that machines that store data in different internal formats are able
to communicate [26].
There are a number of data representation standards including Sun's XDR
standard [97] and DCE's NDR [109].
2.3.4
Calls Semantics
Due to their distributed nature, remote procedure calls can fail. According to
Soares [90], there are three causes of RPC failure:
Network failure: The network is unavailable and the caller and callee cannot send
or receive data.
Search WWH ::




Custom Search