Feuille de route: Transition d'IBM SOMA
L'objectif de cette feuille de route est d'orienter les consultants IBM Global Business familiarisés avec la méthode SOMA avant l'intégration avec RUP.
Description principale

La méthode SOMA (Service-Oriented Modeling and Architecture) chez IBM

La méthode SOMA a été développée en tant que modèle de mission au sein du groupe Global Business Services d'IBM et, alors que les documents et les descriptions publics étaient disponibles, il s'agissait initialement d'une méthode utilisée par les consultants spécialistes du domaine et qui n'était pas accessible aux clients IBM. RUP est une offre de produit commerciale, proposée par IBM, que les clients utilisent pour développer leurs propres processus de développement de logiciels. Cette offre de méthode intégrée, RUP/SOMA, a été développée afin d'apporter les aspects uniques de SOMA à la méthode commerciale RUP et rendre ces deux produits accessibles aux clients finaux.

Dans la conception de la solution SOA, il n'est pas surprenant de voir que de nombreux éléments similaires apparaissaient dans ces deux méthodes, principalement dans les trois domaines suivants.

Pour prendre en charge ces activités, SOMA a défini un ensemble de techniques et de produits de travail, comme illustré dans la figure ci-dessous, permettant de définir des modèles de solution intégrée. Les éléments de la méthode ci-dessous sont codés par couleur et représentent, de haut en bas, les éléments d'identification, de spécification et enfin de réalisation. Le processus de développement RUP a inclus le contenu de l'architecture SOA en 2004 et 2005 ce qui a fourni aux clients de nombreuses techniques similaires et un ensemble de produits de travail intégrés dans l'infrastructure préfabriquée RUP existante.

 

Méthode SOA intégrée

En associant le contenu SOA RUP et SOMA, nous avons combiné les méthodes, les techniques et les produits de travail en fonction de l'infrastructure préfabriquée ci-dessous. On peut constater que les activités de base et les produits de travail (à ce niveau supérieur de détail) restent les mêmes et nous décrivons ici les influences principales qui guident les différentes activités (bien que la plupart des activités tiennent compte de certains aspects d'une grande partie de ces influences). Notons également que cette méthode reste itérative, que les activités d'identification, de spécification et de réalisation ont souvent lieu lors d'itérations multiples et qui souvent se chevauchent ; ces itérations sont centrées sur différents services ou sur des services dans différents domaines.

 Présentation de la méthode

La méthode en cours ne concerne pas le déploiement, l'application des accès et la gestion des services actuellement.

Phase : Identification

Comme nous l'avons mentionné, l'approche de base de l'identification des services est commune à SOMA et RUP, toutefois des différences existent et certaines apparaissent dans la méthode intégrée obtenue. Le tableau suivant décrit comment les techniques provenant de SOMA sont réalisées dans la solution intégrée RUP/SOMA et où se trouvent les rubriques dans la méthode obtenue. Dans la mesure du possible, les noms SOMA d'origine ont été conservés sauf lorsque le matériel RUP existant avait la priorité.

Activité SOMA Tâche SOMA Contenu RUP/SOMA
Décomposition de domaine Analyse de domaine fonctionnel Cette tâche est documentée dans la Tâche : Analyse de domaine fonctionnel RUP/SOMA et prise en charge par les instructions suivantes : Concept : Analyse de domaine fonctionnel et Concept : Modélisation métier de composant
  Décomposition de processus

Cette tâche est documentée dans la Tâche : Détailler un cas d'utilisation métier RUP/SOMA et prise en charge par les instructions suivantes : Concept : Décomposition de processus métier et Tâche : Analyse de processus métier.

  Analyse orientée vers les écarts Cette tâche est documentée dans les Instructions : Analyse de variabilité RUP/SOMA.
Modélisation de services à partir d'objectifs Identifier les objectifs et les sous-objectifs

Cette tâche est documentée dans la Tâche : Identifier les objectifs métier et les indicateurs clés de performances RUP/SOMA et prise en charge par les instructions suivantes : Artefact : Objectif métierInstructions : Objectif métier et Liste de contrôle : Objectif métier.

  Identifier les services pour les sous-objectifs Cette tâche est documentée dans la Tâche : Identifier et associer les services aux objectifs RUP/SOMA.
  Identifier les indicateurs clés de performances et les unités de mesure pour les sous-objectifs et les services

Cette tâche est documentée dans la Tâche : Identifier les objectifs métier et les indicateurs clés de performances RUP/SOMA et prise en charge par les instructions suivantes : Artefact : Objectif métier,Instructions : Objectif métier et Liste de contrôle : Objectif métier.

Analyse des actifs existants Analyse des actifs existants Cette tâche est documentée dans la Tâche : Analyse des actifs existants RUP/SOMA.

Le résultat est une structure de phase pour l'identification, similaire à l'exemple suivant :

Le contenu de la méthode RUP inclut également les éléments suivants qui n'avaient aucune technique correspondante dans SOMA.

Phase : Spécification

La spécification de service a été développée de la même façon que l'identification et est décrite dans le tableau ci-dessous.

Activité SOMA Tâche SOMA Contenu RUP/SOMA
Spécification de service Appliquer les tests Litmus de services Cette tâche est documentée dans la Tâche : Appliquer les tests Litmus de services RUP/SOMA
  Dépendances de service de modèle

Cette tâche est documentée dans la Tâche : Spécification de service RUP/SOMA (étape Dépendances de service de modèle) et prise en charge par les instructions suivantes : Rapport : Dépendances de service.

  Composition et flux de service de modèle

Cette tâche est documentée dans la Tâche : Spécification de service RUP/SOMA (étape Composition et flux de service de modèle) et prise en charge par les instructions suivantes : Concept : Composition et chorégraphie des services et Instructions : Réalisation de services - services BPEL dans une application SOA.

  Exigences non fonctionnelles de service de document Cette tâche est documentée dans la Tâche : Spécification de service RUP/SOMA (étape Exigences non fonctionnelles de service de document)
  Indiquer les messages de service

Cette tâche est documentée dans la Tâche : Spécification de service RUP/SOMA ainsi que dans la Tâche : Conception des messages et les Instructions : Pièces jointes de message.

  Décisions de gestion des états de document

Cette tâche est documentée dans la Tâche : Spécification de service RUP/SOMA (étape Décisions de gestion des états de document) et prise en charge par les instructions suivantes : Instructions : Gestion des états pour les services.

Analyse de sous-système Identifier les dépendances de sous-système Cette tâche est documentée dans la Tâche : Conception de sous-système (architecture SOA) RUP/SOMA (étape Identifier les dépendances de sous-système).
Identifier le composant de service

Cette tâche est documentée dans la Tâche : Conception de sous-système (architecture SOA) RUP/SOMA (étape Identifier le composant de service) et prise en charge par les instructions suivantes : Instructions : Patterns de composant de service.

Identifier les composants fonctionnels

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Identifier les composants fonctionnels) et prise en charge par les instructions suivantes : Instructions : Patterns de composant de service.

Identifier les composants techniques

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA)  RUP/SOMA (étape Identifier les composants techniques) et prise en charge par les instructions suivantes : Instructions : Patterns de composant de service.

Spécification de composant Indiquer les attributs de composant

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Attributs de composant de modèle).

  Identifier les événements et les messages

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Evénements et messages de composant de modèle).

  Flux interne de composant de modèle

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Flux interne de composant de modèle).

  Créer un diagramme de classes de composant

Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA)RUP/SOMA (étape Structure interne de composant de modèle).

  Conception orientée vers les écarts Cette tâche est documentée dans les Instructions : Analyse de variabilité RUP/SOMA.

Le résultat est une structure de phase pour la spécification, similaire à l'exemple suivant :

 

Le contenu de la méthode RUP inclut également les éléments suivants qui n'avaient aucune technique correspondante dans SOMA.

Phase : Réalisation

La réalisation de services a été développée de la même façon que les deux activités citées plus haut et est décrite dans le tableau ci-dessous.

Activité SOMA Tâche SOMA Contenu RUP/SOMA
Décisions de réalisation  

Cette tâche est documentée dans la Tâche : Décisions de réalisation de services de document RUP/SOMA.

  Allocation de service Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Allouer des composants aux couches).
  Allouer des composants aux couches Cette tâche est documentée dans la Tâche : Spécification de composant (Architecture SOA) RUP/SOMA (étape Allouer des composants aux couches).
  Exploration de la faisabilité technique Cette tâche est documentée dans la Tâche : Construire le bien-fondé de la conception architecturale (architecture SOA) RUP/SOMA.

Le résultat est une structure de phase pour la réalisation, similaire à l'exemple suivant :

 

Le modèle de services

Dans l'architecture SOMA, le modèle de services est décrit à l'aide de l'illustration ci-dessous ; il s'agit d'un produit de travail, unique, basé sur des documents, qui englobe les différentes vues techniques et de cycle de vie des services identifiés et spécifiés pendant un projet. Les différentes sections du modèle de services sont répertoriées plus en détails dans la rubrique Artefact : Modèle de services dans RUP/SOMA.

 Illustration du modèle de services SOMA

L'Artefact : Modèle de services RUP est décrit au format document et au format UML (Canevas : Modèle de services sous Word et Canevas : Modèle de services en langage UML) bien qu'un projet utilisera vraisemblablement des éléments empruntés à ces deux formats pour la présentation des résultats du travail.