
 
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