which are too ad-hoc. For example the composition
of units is still not taken into account, the
programming language choice is very binding, and
communication is very dependent on the context. A
general weakness is the lack of abstraction allowing
a better re-use of components. For lack of a frame of
composition in the industrial models, it is the Glue
code which assures the communication between
components if they are distributed.
2.2 Academic Approaches
Model based systems such as D&C (OMG, 2006b),
UDCM (Hnetynka, 2005) provide expressive
abstractions to control deployment. These systems
enhance a technology transition based on models
and meta-models offering more generality and
elevating the level of abstraction. The key
capabilities are:
- Identification of the common services
separation of concerns with clear identifications
of the different models (applications, locations,
deployment planner and orchestration).
- Mapping based on MDA (OMG, 2005) a
transformational approach to the underlying
middleware.
- Automatic deployment and life cycle
management.
3 OUR APPROACH OVERVIEW
We know unquestionably that the concept of
architecture with components consists in creating
reusable entities and in developing personalized
software thanks to the appropriate assembly of these
components. In such a context, the roles of
components developers and applications composers
become clearly different. So, components developers
work out on generic components whereas the
applications composers concentrate on the
application domain in assembling and in configuring
generic components available in business. Thus, a
component adheres to a component model, which
establishes the standard for the implementation and
the interoperability of the component. In such an
environment, where the development of components
tends to be more and more independent from their
re-use, it is necessary to have a deployment machine
which will allow assembly and to distribute
applications correctly with components whatever
their implementation may be. Figure 1 below
represents the deployment process of components-
based software which is constituted by several
activities in correlation. Thus, deploying a
component based software consists in distributing
components in specific locations and in managing
the constraints of placement, dependencies and
configuration. Once deployed, a software system is
available for use.
We propose a generic deployment framework.
By generic we understand, the fact of being able to
deploy any application regardless of the
implementation technology.
(1) Application modeling, concerns the
description of software architecture. It allows to
model for every application, the various components
which constitute it. For every composite or primitive
component, we can specify its assembly, its
constraints of dependences as well as its software
and material needs.
(2) Network domain modeling, concerns the
description of the locations network. It allows to
model for every domain, the various locations it
contains. For every location, we can specify the
offered material and software resources.
(3) Enterprise thesaurus modeling, allows to
model the similarity between the concepts used in a
specific enterprise or in a business domain.
(4) Strategy modeling, allows defining the
strategy used to deploy applications.
(5) In deployment processes many concepts
(application, domain, enterprise thesaurus and
strategy) are manipulated. It processes components
placements. It generates and assures the
deployment plan consistency and supplies the
specific deployment descriptor. It executes the
plan following specifics strategies to the execution
environment.
Placement is the association of an application
component and a domain node. A placement (Ci, Nj)
is valid if and only if all component Ci constraints
are satisfied by node Nj resources.
Deployment Plan, for an application A
composed of component C1 to Ci where i> 1 and for
a domain D formed from locations L1 to Lj where j>
1, the deployment plan is all the valid placements
(Ci, Lj). The placements are fulfilled by the
deployment planner which contains all data and all
necessary strategies to make the mapping viable.
The deployment plan (PIM), will be instantiated
generating in the deployment descriptor specific to
the execution platform (PSM), for instance, in
compliance with the EJB platform.
ICEIS 2009 - International Conference on Enterprise Information Systems
404