Versions Compared

Key

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

Introduction

iPOJO is an extensible, service-oriented component model implemented on the top of the OSGi™ framework that aims to simplify the development of OSGi™ applications. iPOJO follows a POJO-based component approach using external metadata to describe how POJO components should be managed by the iPOJO runtime. Some of the standard features of iPOJO include automatic service dependency management, service publication, and configuration property injection.

...

This document presents iPOJO's structural service composition concepts and a simple example to illustrate them.

Motivations

Component Composition is generally declined composition occurs in two trendsfashions:

  • Horizontal Composition : Instances can be bound by linking consistent provided interfaces and required interfaces
  • Vertical Composition : Instances can contain other instances
  • composition: A provided interface from one component instance is bound to corresponding required interface of another component instance.
  • Vertical composition: Component instances are contained inside of another component instance.

TypicallyHowever, at runtime, this a component composition is generally an un-modifiable set of instance. On the other side, service oriented computing (SOC) brings required flexibility to adapt application at runtime without modifying the overall application.unmodifiable set of connected component instances. The main motivation of iPOJO is to remove this limitation and introduce a more dynamic and flexible approach. iPOJO achieves its goals by applying service-oriented concepts to component orientation. Dynamic horizontal composition is supported by iPOJO's dependency injection mechanism described elsewhere link? and dynamic vertical composition is supported by iPOJO's structural composition mechanism described below.

iPOJO structural composition tries to merge structural component composition and dynamic So iPOJO composition tries to merge component composition and service flexibility to allow:

  • Runtime / Late BindingRun-time/late binding.
  • Service run-time dynamics.
  • Implementation evolution.

The remainder of this document describes how this is realized in iPOJO.

Structural Service Composition

...