Project X is the base framework for a new generation of redesigned integration products by Adroitlogic. Project-X consists of all the API definitions, core implementations of those APIs, messaging engine, message format definitions and implementations, metrics engine etc to be used by those integration products. These core functionalities and capabilities provided by Project-X framework can be enriched by using it in combination with transports, connectors and processing elements. The core Project-X framework and these sub components in tandem makes it quick and effortless to build reliable and fully featured integration products.
A Message is an instance of
org.adroitlogic.x.api.XMessage created using the data received for a particular transport
of Project-X such as HTTP or JMS. Such a Message instance will have a unique identifier, a message payload, a set of
transport headers, a set of message properties and optionally few attachments.
Message Formats are the various kinds of message payloads or attachments supported and handled by Project-X. As of now, the following types of Message Formats are supported.
Message File Format
DOM Message Format
Message Context is a wrapper object that includes an actual Message object inside. Each message context has a unique identifier and contains all the contextual properties related to the processing of the message such as transactional information, resource handlers, scope information, context properties and also provides means to manipulate contextual data such as scope variables.
In a simple integration flow which does not clone or split the message, the same message context is being used throughout the flow. Even in a request-response scenario, the same message context will be used in both request path and response path, even though the request message and response message are entirely different.
Integration Platform is the main messaging engine of Project-X. Each request message and response message will be dispatched into the Project-X framework through this Integration Platform. Therefore it is responsible of maintaining a worker thread pool (which is of type Scale-First Executor Service) and allocating them for message processing.
Please refer the documentation for more detailed information about various aspects of Project-X and how they can be used effectively for development purposes.