Skip to content
mkalam-alami edited this page Jul 28, 2011 · 4 revisions

Dependencies

In order to make EasySOA work, some servers must be launched in a specific order (see below). For now, the launch script uses hard-coded delays, which is not a real solution...

Requirements

  • A way to launch all EasySOA servers in an automated way, handling dependencies between them.
  • Ideally, the solution should be technology-independent. Since currently, most dependencies affect FraSCAti components, a way to manage dependencies between FraSCAti instances would do most of the job.

Possible solutions

  • S1: Group several FraSCAti composites into one

Could make things quite easily more simple between the numerous FraSCAti instances. Possible merges:

  • As part of EasySOA: Light services proxies + Esper together
  • As a whole demo: Travel demo + Backups + PAF (the latter currently doesn't use FraSCAti)
  • S2: Use OSGi dependencies

If we could embed servers in OSGi bundles, and somehow end the OSGi activators when each server each launched, the dependency management included in OSGi could solve the problem.

See also Frascati in Nuxeo Alternatives.

  • S3: HTTP polling

Since all servers have an HTTP endpoint, we could use polling to check if a service is launched. Already implemented on the discovery by browsing proxy/web page (show "Connecting..." until the service registry is launched).

Appendix: List of the component dependencies

Here is a list of components, and the dependency relations between them (as of July 28, 2011). By components we mean independant servers that need to be launched separately through command lines.

Components list

Demo components:

  • Pure Air Flowers services
  • Travel demo services
  • Travel demo external services backup

EasySOA:

  • Service registry
  • Esper-based monitoring server
  • Web server
  • Discovery by browsing web proxy
  • EasySOA Light web proxy
  • EasySOA Light service proxy for Pure Air Flowers
  • EasySOA Light service proxy for Travel demo

Dependencies

  • Travel demo services: depends on Travel demo external services backup and Esper-based monitoring server
  • EasySOA Light service proxy for Travel demo: depends on Travel demo services and Esper-based monitoring server
  • EasySOA Light service proxy for Pure Air Flowers: depends on Pure Air Flowers services (not on FraSCAti) and Esper-based monitoring server
  • Discovery by browsing web proxy: depends on Service registry (handled by polling on a REST service)
Clone this wiki locally