• Aucun résultat trouvé

Processus de développement des systèmes orientés services : phases, activités et

III. Processus de Développement Dirigé par les Modèles des Systèmes

III.2. Processus de développement des systèmes orientés services : phases, activités et

SOC se base principalement sur le service comme un élément fondamental pour le développement des systèmes d‟information d‟entreprise distribués et à large échelle. L‟élément service possède des caractéristiques héritées de ses prédécesseurs tels que l‟objet ou le composant mais il ajoute d‟autres caractéristiques telles que sa grosse granularité, son indépendance, son autonomie et son couplage faible. Ainsi, les approches traditionnelles pour le développement des systèmes logiciels orientés objet ou à base de composant sont inadéquates pour le développement des systèmes orientés services. Pour faire face à ce problème, plusieurs processus de développements ont été proposés dans la littérature (Papazoglou et al., 2006) (Arsanjani et al. 2005) (Erradi et al., 2006) (Chang et al., 2007b) (Maamar et al., 2008) (Kim et al., 2006). Globalement, ces processus définissent un ensemble de directives et de principes méthodologiques pour spécifier, construire et implémenter des systèmes orientés services en se basant sur l‟élément service et sur l‟architecture SOA tout en optimisant les coûts et le temps de leur développement.

Généralement, un processus de développement SOA, comme le montre la figure 75, repose sur un processus itératif et incrémental qui comporte six phases :

1- Planification : la phase planification détermine la faisabilité, la nature et l‟étendu d‟une solution SOA dans le contexte d‟une entreprise. L‟objectif principal de cette phase est de comprendre l‟environnement métier et de s‟assurer que tous les contrôles nécessaires sont incorporés dans la conception des solutions SOA. Les activités principales de cette phase concernent principalement l‟analyse des besoins métiers, l‟étude des technologies et des scénarios possibles pour transformer les exigences métiers vers des implémentations de service. Trois scénarios sont identifiés (i) le premier scénario concerne l‟utilisation des applications existantes en les encapsulant dans des services (ii) le deuxième scénario

concerne l‟utilisation des services d‟autres fournisseurs de services publiés dans un annuaire de services (iii) le troisième scénario concerne le développement de nouvelles implémentations de service.

Durant cette phase, on effectue aussi une analyse financière incluant les coûts et les bénéfices ainsi qu‟un plan de développement logiciel déterminant les tâches, les livrables ainsi qu‟un programme d‟action.

Figure 75–Phases du cycle de vie méthodologique (Papazoglou et al., 2006) 2- Analyse et conception des services et des processus : L‟analyse et conception des services et des processus a pour objectif principal l‟identification et la conception des processus métier en termes d‟un ensemble de services. Cette phase permet la modélisation des services en définissant leurs interfaces indépendamment des plateformes technologiques de développement. Elle est effectuée en deux étapes. La premiére étape permet l‟identification et la spécification des services. La spécification des services se fait principalement en réalisant quatre activités : la définition de l‟interface en utilisant le langage WSDL, la spécification des messages des opérations en entrée/sortie, la définition du protocole de transport et d‟échange de données en utilisant par exemple le protocole SOAP et la définition des opérations, des liaisons à un protocole concret ainsi que la définition de l‟emplacement du service à invoquer.

Plannification Construction et Test Approvisionnement Deploiement Exécution et monitoring Analyse et conception

La deuxiéme étape consiste à identifier et spécifier les processus. L‟identification du processus métier consiste en l‟identification des services à faire composer. La spécification du processus se base sur trois activités (i) la définition de l‟objectif et de la structure du processus qui spécifie l‟ordre d‟exécution des services, les participants impliqués ainsi que les informations échangées entre eux, (ii) la définition des rôles que jouent les participants dans une conversation et (iii) la définition des besoins non-fonctionnels comme la sécurité des processus.

3- Construction et test : Une fois la phase d‟analyse et conception des services et des processus est terminée, la phase de construction et test peut commencer. Elle comporte généralement trois activités principales. La premiére activité consiste au choix du style de programmation des services en distinguant principalement entre deux types notamment : RPC (Remote Procedure Call) et message/document. La deuxiéme activité consiste au développement des services en définissant leurs interfaces WSDL. La publication de la description WSDL est réalisée ensuite via l‟utilisation d‟un annuaire UDDI. L‟étape suivante consiste à générer le squelette du service à partir de l‟interface via l‟utilisation d‟un langage d‟implémentation donné (Java, C#). Enfin, les méthodes du service prédéfinies dans le squelette sont implémentées. La troisiéme activité est le développement des processus métier par la conception de leur logique métier à travers des spécifications exprimées par exemple en BPEL4WS.

4- Approvisionnement : Dans le cadre de cette phase, différentes activités ont été identifiées pour contrôler le comportement d‟un service lors de son utilisation (gouvernance et certification des services, facturation, etc.).

5- Déploiement : Dans le cadre de cette phase, trois activités ont été définies (i) la publication des interfaces de services dans un annuaire de services UDDI, (ii) le déploiement des services et des processus métiers en définissant les métadonnées necessaires pour leur execution et (iii) la publication des détails des implémentations des services en identifiant les informations y associées (e.g., liaisons aux protocoles concrets et au point d‟entrée du service) .

6- Exécution : Dans le cadre de cette phase, les services ainsi que les processus métier sont déployés et opérationnels. Un client de service peut alors invoquer les opérations du service en se référant à la définition de son interface WSDL.