A framework for sharing data between network-connected applications and a remote procedure call mechanism. The normal configuration of the Presents system is client/server; generally with many clients connecting to a single server though a system exists to allow a network of peer servers to communicate with one another . All information transfer takes place through the server using the distributed object system documented below.

For libraries that are build on the distributed object services as well as most code in a system using the distributed object services, everything you need are in these packages:

- annotation - annotations used for dependency resolution, distributed object defintion and documentation purposes.
- dobj - the core of the distributed object system.
- tools - ant tasks for generating ditsributed object setter methods, invocation service and invocation receiver marshallers.
- util - various utilities that simplify life for users of the distributed object services.

Systems making use of the distributed object services will need to set up a client and server. The following packages contain those services and their implementation:

- client - the client side of the distributed object client/server framework.
- data - classes that are sent over the network (and hence shared by the client and server); constant definition interfaces.
- net - classes used to define and implement the Presents protocol.
- server - the server side of the distributed object client/server framework.

Systems that need to scale beyond a single server will need to make use of services in the peer package which provides a mechanism by which multiple servers can operate in concert.