In this chapter, we begin the detailed investigation of requirements for successful network based application development by examining services that are common to all connection-oriented applications.
Because all application service elements are connection-oriented, there must be an association between initiator and responder processes. Association means establishing a context that provides meaning to the communication undertaken by other application components. The OSI Association Control Service Element (ACSE) establishes the association by means of the A-ASSOCIATE service, and releases the association by one of three services: A-RELEASE, A-ABORT, and A-P-ABORT.
A second common service element allows an application process to call for the execution of operations on remote systems. Issues that arise in remote operation include knowing where the needed data resides and how it will be interpreted, how the initiator knows when the operation is completed, whether or not it is safe to repeat an operation after a crash, and whether the initiator can continue with other work while waiting for a result. The mechanism for an application entity to cause an operation to be performed remotely is called Remote Operation Service Element (ROSE). ROSE provides four services relative to the operation: invoke it (RO-INVOKE), return a result (RO-RETURN-RESULT) or error (RO-RETURN-ERROR), and reject it (RO-REJECT-U, if rejection comes from the user service, and RO-REJECT-P, if rejection is from the provider service). ROSE services are unconfirmed. They use the ACSE context, in allowing user interaction with a different OSI system.
The third common service element is reliable transfer of long application protocol data units (APDUs). Transfer of bulk data requires continuing an interrupted transmission rather than retransmitting as in short messages. Using ACSE, the Reliable Transfer Service Element (RTSE) handles the association establishment (RT-OPEN), and association termination (RT-CLOSE, RT-U-ABORT, and RT-P-ABORT). RTSE invokes services of the Presentation and Session layers to accomplish reliable data transfer (RT-TRANSFER, RT-TURN-PLEASE, and RT-TURN-GIVE),
We consider the common service element of commitment, concurrency, and recovery (CCR). These tools handle infrequent, but important, problems such as conflicting concurrent accessing of a resource or one or more processors failing while others continue to operate.
Finally, we introduce some handy tools of the TCP/IP environment: PING, which allows a user to determine if a remote system is available and to discover the round trip time to that system; and traceroute, which allows a user to determine the route that messages travel in reaching a specific remote system.
These service elements have a common theme: each is meaningful in the context of some larger task. They provide tools to accomplish some final result. In the next chapter, we will consider application service elements that are useful in building other applications, but which also provide an end product in their own right. These specific application service elements include an electronic mail facility (MOTIS), remote file access and management (FTAM), and a directory service (X.500).