Xameleon

Xameleon is the server side message and sequence operation processor and transformation engine that binds all of the other pieces of the platform together. While the Nuxleus engine handles the overall sending, receiving, authentication, routing, distribution, and delivery of messages, Xameleon handles the actual processing of each of message which it gains access to via it's delegated Agent which registers for the types of messages it is capable of processing. Where Nuxleus is the external mechanism for message processing, Xameleon is the internal mechanism for processing the contents of each individual message.

The primary task of Xameleon is that of taking any given XML message, route each portion of that message through the appropriate processes, passing the result of each sub-process to the next sub-process based on the result of the preceding sub-process and continuing forward until the entire process has either completed successfully or failed completely.

However, because of the built-in logging system, if and when a sub-process (micro-process) in any given transaction process (macro-process) fails it's of no concern to Xameleon. In the event of a failed micro-process, the logging system will invoke a reporting process, writing the report to the output of the overall process. In this regard all the Xameleon process knows is that a request has been made to pass the result of one micro-process to another based on the content of that result, and reacts accordingly. In other words, Xameleon is a lazy-evaluation message router, processor, and transformation engine that drops off messages at one address for processing and then takes the result of that process and moves on to the next process as is defined by either the AtomicXML sequence file and/or the output of the previous process without concern for what actually takes place within each sub-process.

TODO: Provide an overview of how an AtomicXML sequence file is processed.