Section: New Results
Deployment of distributed and heterogeneous software systems
Deployment is one of the most difficult software lifecycle step, and the less standardized. First, in the Jérémy Dubus Ph.D. thesis  , we identify four challenges to solve to handle software systems deployment. The first challenge is about to initiate consensus for standard generic software deployment language. The second challenge consists in static verification of software deployment processes described using this language. These verifications are supposed to ensure the coherency of the described deployment process. Third challenge is about implementing a middleware platform able to interpret this language and perform deployment of any software system. Finally, fourth challenge is to transpose these deployment processes into open distributed environments which are fluctuating, such as ubiquitous and grid environments. Our contribution then consists to define a distributed systems deployment process divided in four roles to handle these challenges: the network expert, the software expert, system administrator and business architect. On the one hand, the DeployWare approach is defined by a multi-roles metamodel to describe deployment of the middleware layer of a system, and by the virtual machine able to automatically execute the described deployment, in conformance with the model driven engineering. Using a metamodeling language allows to implement static verification programs of the deployment models. On the other side, the DACAR approach proposes a generic architecture model to express and execute the deployment of a component-based application. The DeployWare and DACAR approaches allows to take into account during the deployment description the open distributed environments properties, in conformance with the autonomic computing approach. Our contribution is validated through many experiences in ubiquitous environments and in enterprise services world.
Deployment of distributed systems involves many heterogeneous technologies. The system administrator has to 1) master the deployment of each technology, 2) adapt it to machine properties and 3) execute it in respect with its order dependencies. These tasks are strongly prone to errors. In the article  , we present DeployWare, a model-based approach for complex distributed systems deployment. This approach relies on a metamodel split in two parts. The first allows us to describe properties, dependencies, and actions to perform to deploy software. The second allows us to compose many software instances. This metamodel allows some behavioural deployment verifications to be performed. DeployWare models can be projected onto a component-based execution platform which manages automatically machines heterogeneity and orchestration of dependencies.
In the paper  , we present DeployWare to address the deployment of distributed and heterogeneous software systems on large scale infrastructures, such as grids. Deployment of software systems on grids raises many challenges like 1) the complexity to take into account orchestration of all the deployment tasks and management of software dependencies, 2) the heterogeneity of both physical infrastructures and software composing the system to deploy, 3) the validation to early detect errors before concrete deployments and 4) scalability to tackle thousands of nodes. To address these challenges, DeployWare provides a metamodel that abstracts concepts of the deployment, a virtual machine that executes deployment processes on grids from DeployWare descriptions, and a graphical console that allows to manage deployed systems, at runtime. To validate our approach, we have experimented DeployWare with a lot of software technologies, such as CORBA and SOA-based systems, on one thousand of nodes of Grid 5000, the french experimental grid infrastructure dedicated to computer science research.
The DeployWare virtual machine is implemented by the open source FDF software (cf. section 5.3 ). At the Super Computing conference 2008, we show a demonstration of DeployWare/FDF for large-scale deployment on Grid'5000.