![]()
Description
The basic flow of information is based on Sources, Sinks and Products. PIMs (in the getter package) retrieve information which they present to channels as a fully formed PAM Product. The product is a logical representation of information entities. It is an internal representation.Jugglers maintain a list of sources (classes that implement the Source interface). When all of a Juggler's Sources are done, the Juggler is instructed by the executive that its PIMs are done (Command.SOURCES_DONE). At that point the Juggler may get the product and make it available or may somehow merge and augment the information provided by the PIMs.
The Juggler is a Source to DIMs and sometimes other Jugglers. When a DIM is instructed by the executive to send its information ( Command.SEND_PRODUCT ) it gets a Product from the Sources it is connected to. The executive maintains all input and output connections as a service to all agents.
Responsibilities
PIM
In the source code PIM is an interface that represents the external view of the PIM to the executive and other "clients." Implementors of the PIM interface are responsible for getting data either over the network or locally.
DIM
In the source code DIM is an interface. DIMs take products and render them for presentation over various media. Classes that implement DIM are responsible for distributing products either over the network or locally. Network means might consist of:
- Back Web
- Electronic mail
- Castanet
- FTP (File Transfer Protocol)
Juggler
Juggler is also an interface in the Java source code. The Juggler's responsibilty is to use one or more Sources to request information and to build an aggregate product for eventual distribution. A juggler does not usually need to know who it's clients are. This is managed by the executive.
Interfaces
Product
Product is an internal representation of information and the essential relationships between information items. See Product Structure
Source
Source is an interface that delivers Product. Within PAM information is delivered by "pulling" or requesting data from a Source.
Sink
An interface that identifies the recipent of Product.
Object Model
Revised: 12 Mar 1998