L'architecture SOA : une réalité pour les grands groupes et les PME !
Le contexte :
De plus en plus, le succès des organisations repose sur leur infrastructure informatique. Or, dans un marché sans cesse plus concurrentiel, exploiter de nouvelles opportunités signifie évoluer rapidement. Trop souvent, pourtant, l’informatique ne peut pas évoluer assez vite ou avec suffisamment de souplesse pour être efficace et compétitive. Trop de lacunes organisationnelles font barrage : une prépondérance de processus manuels sources d’erreurs ; un partage des informations inefficace ; une incapacité à suivre les processus de bout en bout ; trop de temps passé à rechercher des informations requises pour appliquer les règlements gouvernementaux ; et, enfin, inefficacité du service client. Dans la mesure où ces secteurs posent problème, l'efficacité de l’utilisateur s’en trouve d’autant amoindrie, tandis que croissance et compétitivité sont compromises.
Au coeur de ces défis, les informations. Non pas un manque d’informations mais bien plutôt un manque d’informations pertinentes et facilement accessibles présentées aux différents acteurs de manière cohérente et unifiée. A l’origine du problème, le fait que, malgré leur richesse en fonctionnalités, les applications anciennes et métier ne peuvent pas aisément partager les informations et donner une vue efficace des processus métier recouvrant des secteurs de flux fonctionnels croisés. Pour assurer le transfert d’informations entre des systèmes disparates et souvent incompatibles, à l’intérieur comme à l’extérieur de l’entreprise, une intervention humaine s’impose.
Auparavant, cette intervention pouvait s’effectuer de deux manières, l’une consistant à réintroduire manuellement les données d’un système dans l’autre système incompatible; l’autre consistant à écrire du code pour une interface spécifiquement conçue pour autoriser le partage des informations entre deux applications incompatibles. Les deux solutions sont onéreuses et inefficaces –– la première, parce qu’elle implique un processus permanent de duplication et d’opérations sources d’erreurs ; la seconde, parce qu’elle implique un couplage étroit pour obtenir une interopérabilité, moyen non seulement difficile à créer mais encore plus à gérer : le moindre changement dans l’une ou l’autre des applications risque de rompre leur interface commune et, donc, de rendre la communication impossible
Deux moyens restent donc à trouver : l’un, reposant sur des standards, pour intégrer de multiples systèmes et applications au sein d’un ensemble hétérogène de plateformes et de protocoles de communication ; l’autre, à couplage lâche, pour réaliser une intégration où l’infrastructure sous-jacente va favoriser et non gêner les changements nécessaires à l’évolution des besoins métier.
Le monde SOA :
L’architecture orientée services fournit le cadre de conception permettant d’intégrer des applications mises en silo, de manière à rendre leurs fonctionnalités accessibles sous forme de services sur un réseau. Généralement mise en oeuvre via des services Web indépendants de la technologie et reposant sur des standards, l’architecture SOA décompose les applications monolithiques en une suite de services, avec implémentation modulaire des fonctionnalités.
Qu’est-ce qu’un service ? Un service est une partie autonome de fonctionnalité mise à disposition sur le réseau, et qui décrit à la fois ce qu’elle peut faire et comment elle peut interagir. Du point de vue métier, un service exécute une tâche spécifique, il est possible d’agréger le service dans une application composite et d’exécuter une tâche plus complexe du type « remplir une commande client », processus qui couvre de bout en bout plusieurs applications métier. L’approche orientée services permet de créer des services et des applications composites qui seront indépendantes des technologies sous-jacentes. Il n'est plus nécessaire que l’ensemble des données et de la logique réside sur un seul et même ordinateur, car le modèle de service facilite l’accès et la consommation des ressources informatiques sur le réseau. Les services étant conçus pour être autonomes et faiblement couplés, il est facile de les combiner et de les recombiner dans des applications composites en fonction de l’évolution des besoins de l’entreprise. Ce sont les applications composites (aussi dites « dynamiques ») qui permettent à l’entreprise d’améliorer et d’automatiser des tâches manuelles, d’apporter une vue cohérente des clients et partenaires commerciaux et enfin d’orchestrer les processus métier conformes à des conventions internes et à des règlements externes.
Résultat : les entreprises adoptant une orientation services peuvent créer et réutiliser services et applications à mesure que les besoins évoluent et, par conséquent, obtenir la souplesse voulue pour être compétitives sur le marché.
Services Web : Utiliser une approche de conception reposant sur l’architecture SOA ne nécessite pas de services Web; toutefois, comme indiqué plus haut, ces services restent le moyen le plus courant de déployer cette architecture. Les services Web sont des applications qui utilisent des transports, des encodages et des protocoles standards pour échanger des informations. Les services Web permettent aux systèmes informatiques de communiquer indifféremment quelle que soit leur plateforme, et ils servent dans de multiples scénarios d’intégration des applications, tant au sein de l’organisation que chez les partenaires commerciaux. Les services Web reposent sur un ensemble de standards de communication, notamment XML pour représenter des données, SOAP (Simple Object Access Protocol) pour l’échange de données et WSDL (Web Services Description Language) pour décrire les fonctionnalités d’un service Web. D’autres spécifications, désignées collectivement « architecture WS-* », définissent les fonctionnalités des services Web – découverte, événements, pièces jointes, sécurité, messagerie électronique fiable, transactions et gestion.
Cliquez pour lire la suite des Architectures SOA