Mediation applications are specified as a set of interacting mediation components. The ADL is a language used to describe and configure software. The ADL allows mediation components, their interfaces and properties to be specified, as well as all typed connections between them. This overall description is used during the whole application life-cycle to provide a complete and consistent view of what is the distributed application. It is thus possible to exploit this formal representation to pilot the deployment process, to monitor the application components and, later on, to reconfigure the application in order to adapt it to evolving user requirements or to changes of the run-time environment.
In the ScalAgent Mediation Suite, the ADL is not directly manipulated by the developer. The ADL is behind the tools that are part of the Software Development Kit. Those tools provide a user-friendly interface to manipulate a configuration of the mediation chain.
The Asynchronous messaging system is used to implement the communication channels between distributed mediation components. It is recognized today that message-oriented middlewares are better suited to loosely-coupled distributed systems where multiple kinds of devices are connected to business applications over unreliable network connections. In addition, the messaging middleware is compliant with the ’de-facto’ standard JMS1.1 so that integration with external applications is greatly eased.
The design of mediation components follows a distributed programming model, based on a combination of agent-based, object-oriented and component-based paradigms. This approach differs strongly from existing products in the area of messaging middleware where application components interact with the communication infrastructure through an application programming interface (API). A programming model is a key feature as it removes the burden of managing very complicated issues such as distribution, failure handling and recovery, remote deployment and management. You simply implement the desired mediation logic following the ScalAgent SDK and programming model .
Those features are closely tied together within an environment for the design, implementation, deployment, execution and management of complex distributed Mediation Solutions.