Remote Interface Layer

The Remote Interface Layer controls various aspects of client/server interaction. It deals with middleware concerns that are outside the focus of the application's business logic and effectively shields the business logic code from the knowledge that it is participating in a client/server environment. The functions of the Remote Interface Layer are:

Business Object Life-cycle Management
Creating/locating appropriate Business Objects to service client requests;
Authorization
Checking that a client is entitled to execute a particular server function;
Transaction Control
Starting, committing, and rolling back atomic transactions;
Argument marshaling
Translating between different data formats involved in client/server transmission;
Last-chance exception handling
Handling exceptions that are not properly handled by application code, and logging them to a central location, as well as performing uniform reporting to client applications.