Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Run-time/late binding.
  • Service run-time dynamics.
  • Implementation evolution.

The remainder of this document describes how this is realized in iPOJOresult is a flexible, yet easy-to-use service-oriented component model.

Structural Service Composition

iPOJO essentially provides a kind of Serviceservice-oriented architecture definition language (ADL). This service-ADL defines "composite"oriented ADL allows you to define composite components. The main difference with component composition is this composite is expressed in term of services instead of components/instancesdifferences between a traditional component-oriented composite and an iPOJO composite is that the iPOJO composite's constituent entities are described in terms of abstract service interfaces instead of specific component types/instances and bindings are inferred from dependency metadata data rather than explicitly declared. This approach means that composite components in iPOJO are not concrete component implementations; rather, they are abstract implementations whose precise implementation selection is deferred until run time.

Unlike a POJO component in iPOJO that has code associated with it, a composite component is completely described by its metadata. Similar to a POJO component, however, the metadata describes a component type for which iPOJO will registry a factory service that can be used to create instances of the composite component.

A composite can be represented as a service registry. Moreover, composite can be contained in other composite. The OSGi™ service registry is the root composite.

...