The system architecture is separated into parts:

* Abstract protocol handling *

package: o.a.v.xmpp.protocol

Protocol workflow, state machine changes during handshake, consistency checks
Delegation to concrete handling 
 
* Concrete protocol handling *

package: o.a.v.xmpp.applicationdomains

Stanza handlers and Response builders
Concrete processing of stanzas
 
* XML parsing into fragments XMPP

package: o.a.v.xmpp.xmldecoder 

Determines stanza boundaries in a sequence of characters and translates into (potential) XMPP stanzas
 
* Server runtime incl. session handling

server instance with all its properties and switches.

* Stanza infrastructure and tools

packages: o.a.v.xmpp.stanza, o.a.v.xmpp.xmlfragment

handles stanza objects freed from any representation (XML)

* TCP binding

package: o.a.v.mina

binding to TCP protocol endpoint, handling endpoint events, delivering data from/to XML parsing 

* SASL authorization mechanism logic

package: o.a.v.xmpp.authorization

* SEDA: staged event driven architecture

available stages:

reading from TCP/IP socket - XMLStreamTokenizer
handling inbound stanzas from client - QueuedStanzaProcessor
handling outbound stanzas to clients - DeliveringStanzaRelay

missing stages:

handling outbound stanzas to servers - RecordingStanzaRelay (provisorial implementation)
handling inbound stanzas issued by self or remote servers (to go to clients or not) - missing!
