Open platform for processing
multimedia documents
Home arrow Documentation arrow Architecture guidelines
 
Architecture guidelines Print E-mail
Regarding the scope of the WebLab platform, the chosen architecture is "Service Oriented" (SOA).

Each component that could be integrated into the platform shall implement one or several functionalities that are described by service interfaces. The function workflow needed to provide user applications will be done by putting together services able to communicate. Each component, implementing one or several services interfaces won't have any knowledge of the other services and their capabilities. They will provide to the other one or several processing capabilities which will be driven by the orchestrator to define the business processes.

As a consequence, the service definition and conception is a key step in the platform. The granularity of the services should one of the main concerns during the development of WebLab component.

In order to provide a flexible architecture, the service design should handle the following features:
  • Loosely-coupled: It means that services should be as autonomous as possible and that dependencies between components should be avoided. Communication between services should be done with standards,
  • Coarse-grained: A service should provide a coherent set of functions and should hide implementation complexity,
  • With well defined interfaces: A service should implement one or several interfaces giving access  to functions it is able to deal with,
  • Composable: A service can be easily integrated in a global application and can interact with other service.

Every service is provided by a "producer" to a "consumer". The interaction between producer and consumer is carried out by a software bus that responsible of the mediation and the communication between the services. As a consequence, a consumer invokes a service to carry out a function of which he is the producer. A directory of service is provided in the platform so as to allow the producers to publish their service offers and the consumers to know them. 

A service call is done by sending a message through the software bus from the consumer to the publisher either in an asynchronous or a synchronous way. 

In the architecture, we will consider:
  • Business services that provide business functions (such as video segmentation, text clustering),
  • Technical services part of the baseline provided by (such as security, data access layer etc.)
  • GUI "services" that will interact with users on one side and with the service bus on the other side to request process or data.

Business Application and use cases realization shall be implemented by combining business services and technical services within the same process thanks to orchestration tools.
 
 
Copyright © 2008 - EADS Defence and Security --- All right reserved.