



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The design issues related to Remote Procedure Call (RPC) interfaces in distributed systems. It explains the advantages of using interfaces in distributed systems and how they support software evolution. It also discusses the impact of the distributed architecture on how service interfaces are defined, including the inability to access variables in a module running in another process and the limitations of parameter-passing techniques used in local procedure calls.
Typology: Lecture notes
1 / 5
This page cannot be seen from the preview
Don't miss anything!




Interfaces in distributed systems The modules of a distributed program might function as independent processes. Particularly under the client-server architecture, each server makes a set of operations accessible to clients. A file server, for instance, might include instructions for reading and writing files. The specification of the procedures provided by a server, which specifies the kinds of arguments used in each operation, is referred to as a service interface. Programming using interfaces in distributed systems has a variety of advantages because of the crucial distinction between interface and implementation:
However many essential services already in existence are written in C++ and other languages. It would be advantageous to allow Java-based apps, among others, to access them remotely. Procedures written in various languages can call each other by using interface definition languages (IDLs), which are created for this purpose. In addition to having its type stated, an IDL provides a notation for designing interfaces in which each parameter of an operation may be characterized as for input or output. A straightforward CORBA IDL sample is shown in Figure 5.8. The Person structure is the same as the one that was used before to show marshalling. The RMI methods offered by a remote object that implements the PersonList interface are specified in that interface. For instance, the method getPerson, which gets a Person instance by name, provides its second argument as out, which denotes that it is an output argument. The method addPerson specifies its argument as in, denoting that it is an input parameter.
Although the IDL idea was primarily created for RPC systems, it also works for RMI and web services. Among our case studies are: