Package pygar.communication

The component responsible for communication between entities in the distributed system.

The package provides specialized entry points that are implemented with standard Java and Internet utility libraries.

Currently, the communication is viewed as an exchange of "Pmessages" where we invent a term which stands for a limited variety of inter-application message. You can view the "p" as standing for either "protocol" or "Pygar". The Pmessage is described by ???

Notes from Original Version:

  • A Pmessage has a standardized set of fields plus an optional XML document attachment.
  • The Pmessage contains a handle for accessing the XML document rather than the document itself. A handle might be a file name or a Java stream.
  • Pmessages may be interpreted as events that change the state of the session.
  • One possible implementation would use a current standard for RPC, perhaps SOAP. Another possible implementation would write files directly to the recepient's server using sftp or an equivalent.
  • For preliminary testing on a single host, the Pmessages are sent between program threads via a shared data collection.

Notes on the Current Version:

  • The stream option was never implemented and the code for it has been commented out.
  • It was not possible to extend the Pmessage class directly for use with JMS. Therefore, we added a new base class PmessageBase that contains the fields of Pmessage that are useful for the JMS implementation. Pmessage now derives from PmessageBase.
  • A new class PmessageJMSv0 derives from Pmessage and works well with a simplified facade for the JMS facilities.

$Revision: 59 $

  • Interface Summary 
    Interface Description
    PmessageSystem
    The PmessageSystem abstract class contains virtual methods that send Pmessages and get them.
    PmessageSystemEE
    A specialization of the PmessageSystem interface that adds a constructor that require more configuration information and allows the proper initialization of a Java EE implementation.
  • Class Summary 
    Class Description
    ExternalPmessage
    The ExternalPmessage is a subtype of Pmessage that is used for message exchange beyond the confines of a single location.
    MessageAgent
    The MessageAgent class is the super class for all the active participants in the system: BAN and TeamMember.
    Pmessage
    The Pmessage class extends the PmessageBase class to provide a message type with various options for bod content.
    PmessageBase
    The PmessageBase class describes simple messages passed between applications to serve as protocol events.
    PmessageJMSv0
    The PmessageJMSv0 class extends the PmessageBase class to provide a message type with additional fields.
    SimpleMessageSystem
    The SimpleMessageSystem implements message passing between threads that share memory and file space.
  • Enum Summary 
    Enum Description
    PmessageBodyType
    Enumerate the types of content that might be carried by a Pmessage.
  • Exception Summary 
    Exception Description
    MessageSystemException
    This exception may be raised while sending or receiving Pmessage objects.