Skip to content

Runtime management architecture

mkalam-alami edited this page Mar 8, 2012 · 19 revisions

Needs

Functionality

EasySOA needs to allow for the deployment and startup of web services on various application servers, in order to:

  • Allow to use FraSCAti Studio as an EasySOA Light runtime, and as the proxy provider for EasySOA ;
  • Ease the deployment of web services for application servers, mainly simple, configuration-based systems (such as SoapUI, Bonita...).

It should allow for users to easily deploy one or several artifacts to the corresponding server, then provide start/stop control over the server in question. An additional requirement is to be able to get information about each deployables' dependencies, or even, if possible/relevant, automatically deploy and launch said dependencies on user request.

While we do not have the ambition to support major all major service stacks, the solution needs to be easily extensible by making the architecture pluggable.

Core technologies to support

  • Maven: Maven repositories are a major source of deployable artifacts ; supporting Maven would allow to deploy such artifacts on any compatible application server. A second aspect to handle is the support of POM artifacts as a source of information to retrieve dependencies.
  • FraSCAti/FraSCAti Studio: As a part of EasySOA itself, FraSCAti represents a first, major use case for artifact/runtime management, and as such must be a first-class supported stack.
  • EasySOA Core Model: By interacting with the EasySOA model, we should be able to retrieve information about deployables (e.g.: thanks to discovery by classpath analysis) and service dependencies, which should be useful for the management of runtimes.
  • EasySOA Artifact Repository: While it is not specified yet, it is planned to provide a form of technology-agnostic deployable repository within EasySOA (Nuxeo?), in order to make it easier to support non-Maven compatible servers(*)

(*) Some additional servers we could support are SoapUI and BPM engines (Bonita), whose "deployables" are simply configuration files that could easily be stored as documents within the service registry.

Specifications draft

TODO

Clone this wiki locally