Communication Model
General information and activity requests are specified in a request object. Push-technology, in the form of events and event-handlers, ensures that all environment components are informed of changes in the database.
Request
General information and activity requests are specified in a request object. A general request may consist of a sequence of basic requests, where each basic request concerns exactly one (named) service.
A request object is served at the nearest service center, where each component is submitted to the appropriate service, in the specified order. If a service is unavailable or the available service cannot serve the particular request, the request is forwarded to the applications service center (if not already there).
Result
A basic request may only concern an action, or may result in information to be returned to the requester (or designated adressee). In the latter case, the resulting information is attached to the request and the request is flagged as successful. This resulting information can also be made available to the immediately subsequent request component in the sequence, for further action.
Exception
If any problem occurs while attempting to serve a request, the request is flagged as unsuccessful, a short message describing the problem attached to the request, and the request is immediately returned to the requester (or designated adressee), even if subsequent request components existed.
Event
Certain actions may be of interest to other users or delegates, e.g., the modification of a document. Such actions will result in an event that is posted (pushed) to all interested parties. The information that is sent with the event depends on the particular event.
Five different types of events are distinguished: user events (users logging on or off), delegate events (delegates connecting or disconnecting), document events (altered documents), partner events (altered partner information), and project events (altered project information). Users and delegates can specify the types of events they are interested in when they log on or connect to the mediator.
Package
All information sent across the network between users and delegates must be packaged. The package information minimally includes adressee and sender information. Additionally, a return address may be specified that is different from the sender. If a result or response is forwarded in this way, the package information also includes the original sender.
Mandate
A mandate provides a delegate the means to represent itself within the client interface of a user. This mandate may contain a script (HTML and Javascript, or a URL) to be displayed in a specified window, as well as data. The script presents the delegate's functionality to the user and can rely on the data provided as well as other data accessible in the client interface. Such a mandate is commonly sent to the user in response to a query invoked by clicking on the delegate's icon in the client interface.
|