Cette section présente des conseils sur la façon dont l' architecte logiciel ou concepteur peut identifier
des services. Ce processus d'identification et de classification des services en spécifications de service
et en fournisseurs de services peut être envisagé dans un certain nombre de perspectives ; les choix présentés
ci-dessous peuvent être utilisés de façon autonome ou, plus probablement, en association dans un projet spécifique.
L'identification de services est en général l'une des premières tâches de la modélisation d'une solution orientée
services. Les erreurs effectuées lors de cette phase d'identification sont donc susceptibles d'affecter les tâches
détaillées de conception et d'implémentation.
Le diagramme ci-dessous représente les différentes approches de l'identification de services. Elles ne s'excluent pas,
mais la sélection des approches les plus pertinentes devra se faire en prenant en considération les préoccupations plus
globales liées au processus et au projet. Chaque forme ovale colorée représente l'une des techniques décrites ci-après.
Deux formes correspondent à l'identification à base de collaborations, dans laquelle la collaboration peut être
identifiée au moyen d'une modélisation de processus métier ou de cas d'utilisation.
Cependant, l'une des premières décisions à prendre, indépendamment des approches évoquées ci-dessus, consiste à
déterminer si l'identification est uniquement basée sur la compréhension d'opérations qui seront plus tard agrégées en
services ou si un ensemble de services est déjà connu et que des opérations sont ajoutées aux services tels qu'ils sont
identifiés.
Axé service : cette technique est commune au développement orienté objet et au développement à base de
composants, dans lesquels les classes d'objets ou de composants sont identifiées en premier lieu, vraisemblablement via
une technique d'analyse permettant d'identifier les classes de "choses" dans un domaine métier ou technique. Ensuite,
lors de l'analyse des collaborations entre objets, les opérations (responsabilités de l'objet) sont identifiées et
ajoutées aux classes. De la même façon, des services peuvent être identifiés grâce à une analyse de domaine et étendus
par les opérations identifiées dans les approches présentées ci-dessous.
Axé opération : des critiques ont cependant été émises, soulignant que les services sont différents des classes
et des objets ou composants. Des services peuvent gérer un ensemble de ressources, mais la relation service/ressource
est fondamentalement différente de la relation classe/objet. Il convient donc d'avoir recours à des techniques
d'analyse différentes, qui tendent à privilégier l'identification tardive des services en agrégeant un ensemble
d'opérations identifiées pour en faire un regroupement logique.
Les exemples présentés dans cette activité illustrent l'utilisation d'une technique axée service car elle est plus
abordable pour les personnes ayant eu connaissance de conseils similaires dans RUP (Rational Unified Process).
|