14
Chapitre II. Architecture orientée service
[1][3][6][11][15]
II.1. Introduction
L'informatique orientée services est un paradigme
informatique émergent qui utilise les services comme soubassement pour
soutenir le développement d'une composition rapide et peu coûteuse
d'applications distribuées. Les services sont des modules autonomes
déployés sur des plates-formes middleware standard qui peuvent
être décrits, publiés, localisés, orchestrés
et programmés à l'aide de technologies XML sur un réseau.
Tout morceau de code et tout composant d'application déployé sur
un système peuvent être transformés en un service
disponible sur le réseau. Les services reflètent une approche de
programmation «orientée services», basée sur
l'idée de décrire les ressources informatiques disponibles, par
exemple les programmes d'application et les composants du système
d'information, comme des services pouvant être fournis via une interface
standard et bien définie.
Les services exécutent des fonctions allant de la
réponse à de simples demandes à l'exécution de
processus métier nécessitant des relations d'égal à
égal entre les consommateurs et les fournisseurs de services. Les
services sont le plus souvent construits de manière indépendante
du contexte dans lequel ils sont utilisés. Cela signifie que le
fournisseur de services et les consommateurs sont faiblement couplés.
Les applications basées sur les services peuvent être
développées en découvrant, en appelant et en composant des
services disponibles sur le réseau plutôt qu'en créant de
nouvelles applications.
II.2. Définition
SOA, ou architecture orientée services,
définit un moyen de rendre les composants logiciels réutilisables
via des interfaces de service. Ces interfaces utilisent des normes de
communication communes de telle sorte qu'elles peuvent être rapidement
intégrées dans de nouvelles applications sans avoir à
effectuer une intégration profonde à chaque fois.
Chaque service d'une SOA incarne le code et les
intégrations de données nécessaires pour exécuter
un processus métier complet et discret (par exemple, vérifier le
crédit d'un client, calculer un paiement mensuel de prêt ou
traiter une demande de prêt hypothécaire). Les interfaces de
service fournissent un couplage lâche, ce qui signifie qu'elles peuvent
être appelées avec peu ou pas de connaissances sur la façon
dont l'intégration est mise en oeuvre en dessous. Les services sont
exposés à l'aide de protocoles réseau standard tels que
SOAP (protocole d'accès aux objets simples) / HTTP ou JSON / HTTP - pour
envoyer des
15
16
demandes de lecture ou de modification de données. Les
services sont publiés de manière à permettre aux
développeurs de les trouver rapidement et de les réutiliser pour
assembler de nouvelles applications.
L'objectif des processus métiers est de formaliser
l'exécution d'activités par des applications de manière
collaborative dans le but d'atteindre un objectif métier.
Formellement, un processus métier
peut être défini comme un enchaînement
d'activités. Dans un processus métier, on tient compte des
différents participants d'une opération, de leur rôle, de
l'objectif de cette opération et des moyens mis en oeuvre (messages,
documents). On peut agir sur ceux-ci en définissant des règles
métier, des règles de sécurité, des règles
de transactions. On peut ensuite lancer l'exécution du modèle
(automate à états finis) et vérifier le fonctionnement
théorique des différents processus. BPML est un standard
émergeant s'occupant de cela. Un processus métier est interne
à une entreprise et une seule. Il décrit les activités
nécessitant la collaboration de plusieurs entités
|