Submarine server is handled by a class called EAISystem. This class
implements two interfaces Submiter and ConnectorControler and drives
the channels classes and handles the PoolingFunction, the ListeningFunction,
the Parser and Serializer, the WritingFunction and the Resource interface
PoolingFunction, ListeningFunction and WritingFunction are all connectors
to external systems. But the two first ones are connectors designed to get
documents from the system and to submit them to Submarine. WritingFunction
is the opposite. It is designed to take the result document of a channel
and send it to an underlying system.
The following chapter describes in more details what are those core components
but note that all these components except EAISystem have the ability to be
configured from an XML element.