« Système d’Information », on nous a été demandé de réaliser un travail descriptif concernant un volet très important de la gestion et la conception des systèmes d’information au sein d’une entreprise : celui qui traite de l’architecture orientée service (SOA). Il est désormais acquis que le système d’information doit servir les ambitions de l’entreprise dans son ensemble. II doit être l’outil de synergie entre les métiers en leur permettant de collaborer efficacement, pour être ainsi au cœur de la chaîne de valeur.
En ffet, le SI va devoir faire « collaborer » les îlots applicatifs qu le composent de ma répondre aux enjeux L’architecture orienté comme un thème m d’entreprise. Plus qu’ 7 Swap next page seul objectif de reprise. osée aujourd’hui d’information e ou méthode, c’est la convergence de plusieurs approches existantes, et l’émergence d’un style d’architecture et de gouvernance de SI. 1 présentation du SOA (architecture orientée services Big data) a.
L’Apparition du concept SOA Avant l’arrivé des SOA, les services d’une entreprise étaient héritages deviennent hétérogènes et ont tendance à se pécialiser par métier au travers des services. On peut alors avoir une vision globale du système d’information d’une entreprise. Ainsi, une nouvelle conception est apparue utilisant les modèles distribués. Celle-ci, conceptualisée par le Gartner Group, le SOA tente de s’imposer en rendant les applications plus souple et réutilisable. Les SOA s’appuient sur des standards et peuvent fonctionner dans des environnements hétérogènes.
Le principal but des SOA est d’améliorer l’interopérabilité entre les systèmes sans créer de contraintes fortes. En effet, les différents ervices n’ont pas besoin de répondre aux mêmes contraintes structurelles tant qu’ils respectent un contrat. II existe une faible interdépendance entre les services. Les SOA sont utilisés pour le développement des applications à long termes. Ils induisent une bonne conception et donc une maintenance du code facilité ainsi que l’ajout de nouveaux services sans endommager l’application existante. . Définition d’un SOA Une architecture orienté service est une architecture logicielle s’appuyant sur un ensemble de services simples. Ils sont développés en s’inspirant des processus métier e l’entreprise. Un service est un composant fonctionnant de manière autonome et offrant des fonctionnalités métiers d’autres applications ou d’autres services. Ces services représentent les fonctions basiques des fonctionnalités des entreprises. Ils dialoguent entre eux au travers de bus ou par Internet, on parle alors de WebService (WSOA).
Les échanges peuvent se faire de manière synchrone ou asynchrone. L’entreprise s’enrichit de services mutua l,’ de et ils au manière synchrone ou asynchrone. L’entreprise s’enrichit services mutualisables permettant de répondre rapidement vec souplesse aux demandes du marché. En effet, correspondent à un processus métier mutualisable niveau de l’entreprise. Cela permet les changements au niveau informatique des décisions stratégiques et tactiques de l’entreprise. Il n’existe pas spécifications officielles pour l’architecture d’une SOA.
Il peut -être décrit par la notion, la description, la publication et l’invocation de services. La notion de service est une fonction encapsulée dans un composant que l’on peut interroger à l’aide d’une requête composée d’un ou plusieurs paramètres et fournissant une u plusieurs réponses. Idéalement chaque service doit être indépendant des autres afin de garantir sa réutilisabilité et son interopérabilité. La description de service est la manière de décrire les paramètres d’entrée du service, le format et le type des données retournées.
Cette architecture à la mode répond aux problèmes de réutilisation d’outils (ou produits) des entreprises. Pour mieux comprendre sa définition, il faut voir cette architecture comme une philosophie. Cest une approche permettant de réutiliser et d’organiser des ressources existantes, dans une olution autorisant une interopérabilité entre plateformes et environnements, une évolutivité des modules applicatifs et une flexibilité autorisant l’utilisation dynamique d’applications.
Cette solution permet donc d’intégrer divers systèmes : chaque ressource peut être accessible en tant que service possédant une interface. L’implémentation du fournisseur de service est donc libre de changer sans qu’il y ait un libre de changer sans qu’il y ait un impact sur son utilisation. On peut voir ce service comme une boîte noire : on sait qu’elle va rendre le service voulu sans savoir comment est faite la boite oire. On peut choisir de la remplacer par un autre service implémenté différemment mais répondant aussi à la même fonctionnalité. c.
Les concepts de SOA une architecture orientée service se conforme à divers principes de gestion des services influençant directement le comportement intrinsèque d’une solution logicielle et le style de sa conception • L’encapsulation des services. • Le faible couplage des services avec la maintenance dune relation réduisant les dépendances. • Le contrat de service adhérent à un accord de communication, collectivement défini avec un ou plusieurs documents de escription • L’abstraction des services dissimulant la logique du service l’extérieur. La réutilisation des services partageant la logique entre plusieurs services avec l’intention de promouvoir la réutilisation. • La composition des services. • L’autonomie des services. • L’optimisation des services. • La découverte des services depuis leur description extérieure. ‘architecture orientée service représente un moyen technique d’intégration des divers systèmes d’information de l’entreprise considérant chaque ressource informatique comme un service. La notion d’interface est importante dans l’approche orientée service.
En effet, elle représente le point d’entrée unique vers les fonctionnalités de la solution logicielle et assure la communication grâce à l’échange de messages. Chaque message est porteur de la sémantique particulière à la solution logicielle. De plus ce message est rédigé dans 4 OF sémantique particulière à la solution logicielle. De plus ce message est rédigé dans un langage compréhensible aux deux parties en présence. Les services proposés d’une architecture agile décrivent la structure des messages qu’ils attendent du client.
L’architecture orientée service est une solution logicielle distribuée. Elle propose un mécanisme d’échange de messages sécurisé entre les systèmes d’informations sous-jacents en employant des protocoles de communication standardisés. Cette approche offre à Parchitecture une opportunité d’ouverture sur un large éventail de solution logicielle existante. 2 fonctionnement opérationnel : une architecture orientée services (notée SOA pour Services Oriented Architecture) est une architecture logicielle s’appuyant sur un ensemble de services simples.
L’objectif dune architecture orientée services est donc de écomposer une fonctionnalité en un ensemble de fonctions basiques, appelées services, fournies par des composants et de décrire finement le schéma d’interaction entre ces services. L’idée sous-jacente est de cesser de construire la vie de l’entreprise autour d’applications pour faire en sorte de construire une architecture logicielle globale décomposées en services correspondant aux processus métiers de l’entreprise. (Lorsque l’architecture SOA s’appuie sur des web services, on parle alors de WSOA, pour Web Services Oriented Architecture). ) Fonctionnement SOA our mieux voir comment fonctionne une architecture SOA, il est important de savoir ce qu’est un service. Il assure une fonction bien définie et est autono ant d’aucun contexte ou les caractéristiques suivantes . • Couplage faible : les services sont exposés via des standards qui assurent la réduction des dépendances. Le terme « loosely- coupled » est souvent utilisé. • Grande Maille : les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large.
Un service contient des objets, des composants qu’il utilise pour répondre à sa fonction. Le terme récurrent est « coarse-grained • Interface : le contrat d’utilisation du service. • Synchrone ou asynchrone : attente de réponse après l’utilisation d’un service ou non. • Activable à distance et interopérable. une architecture orientée service consiste donc en une collection de services, indépendants les uns des autres, qui interagissent et communiquent entre eux.
L’architecture SOA permet à la couche de présentation de passer par des services pour manipuler les objets métier sans avoir besoin de les connaître explicitement. Les services agissent ainsi n tant que boites noires faisant abstraction de la complexité du modèle objet. Une des plus grandes fonctionnalités des SOA est la réutilisation des services pour plusieurs entreprises. En effet, en étudiant l’évolution des différentes architectures, on peut observer une réutilisation croissante. Ceci était impossible dans le modèle des composants.
En passant du procédural à l’orienté objet, on a la notion de réutilisation de classes d’objet. Celle-ci n’a cessé d’augmenter avec la vision orienté composant puis enfin service. Comme mentionné en avant, le service est le composant clé e l’architecture, il fournit une fonctionnalité bien définie. C’est aussi un composant autonome qui ne dépend d’aucun contexte ou service externe. Les services sont enregistrés par des compos 6 OF qui ne dépend d’aucun contexte ou service externe. Les services sont enregistrés par des composants dits fournisseurs dans un annuaire fourni par l’architecture.
Les services référencés sont alors mis à la disposition de consommateurs ou clients. La figure ci-dessous montre qu’un composant souhaitant mettre disposition un service (étiquette 1), l’enregistre dans l’annuaire (étiquette 2). Puis, les composants clients souhaitant utiliser ce service (étiquette 3), émettent une requête pour rechercher le service désiré dans l’annuaire (étiquette 4). Si la réponse est positive, une liaison (appelée aussi binding) est mise en place pour l’utilisation du service (étiquette 5).
Figure du Fonctionnement SOA Quelques caractéristiques SOA: • SOA n’est pas une technologie • SOA ne signifie pas Web Services • Web service ne signifie pas SOA cela veut dire même SI on expose tous des web services, tous les concepts SOA seront respectés • SOA ne résout pas les problèmes existent dans les mplémentations • SOA nécessite un langage métier commun (Contrat, grammaire xml ) • SOA est une affaire de compromis b) Déploiement des SOA Le déploiement des SOA peut-être effectué sur des serveurs d’intégrations, EAI (Enterprise Application Integration).
Ces serveurs organisent la circulation de l’information entre les applications et les rendent interopérables en développant des connecteurs, middleware, permettant d’interfacer ces applications utilisant des protocoles de communications différents généralement propriétaire donc la connexion aux application vers une autre. Le fonctionnement de l’EAl repose sur les composants suivants. Tour d’abord, un référentiel des objets métier de l’entreprises ou de Fensemble des processus.
Ensuite, un moteur de gestion de règles, des connecteurs applicatifs permettant l’interface avec les applications et les données de l’entreprise, et enfi un système de transport des informations. Il y a plusieurs possibilités pour le transport des informations. On peut utiliser un hub, un middleware (une couche logicielle qui s’intercale entre les applications et un système, un MOM (middleware orienté messages). Dans le dernier cas, les communications sont asynchrones.
L’EAI permet un accès universel et un partage de toutes les données et composants d’un système d’information, qu’ils soient normalisés, propriétaires ou incompatibles. Il nécessite peu ou pas de modifications des applications ou structures de données qu’il intègre. Une architecture EAI n’est pas figée. Elle constitue un socle évolutif, réutilisable et dynamique suivant l’évolution des besoins métier spécifiques comme les évolutions structurelles de l’entreprise. Cependant, les plateformes J2EE et .
Net répondent aussi aux esoins des systèmes informatiques distribuées et services Web. 3 Enjeux et apports de cette technologie : Tout d’abord, les SOA disposent de tous les avantages d’une architecture client-serveur. Cest à dire une plus grande modularité, on peut facile er un composant 8 OF très facile dans les SOA d’ajouter des nouveaux services sans venir perturber les existants ainsi que de les faire évaluer. Ces service sont réutilisables, il est donc possible de bâtir de nouvelles applications faisant appel à des services tiers.
Par exemple, un ERP d’entreprise peut-être créée en faisant appel ux services SAP- Les services sont utilisés selon les besoins des entreprises et la mise à jour de ces services est réalisée de manière totalement transparente pour les consommateurs. Les SOA ont une architecture n-tiers, c’est-à-dire la séparation de la présentation des données du traitement et de la base de données. Pour une architecture client/serveur, la présentation des données ainsi que le traitement sont réalisés par le client et le serveur utilisé pour la base de données. Par contre, en n-tiers, chaque serveur peut avoir une fonction unique. ar exemple, i on prend une architecture 3-tiers, on a les terminaux pour les requêtes http qui gèrent la partie présentation de l’interface homme-machine. On a un serveur d’application pour gérer les traitements et un dernier serveur de données qui gère les accès aux données. Une architecture n-tiers présente la première infrastructure informatique pour un travail coopératif. Les avantages sont une centralisation des traitements au niveau des serveurs. En effet les services sont stockés sur des serveurs. Elle permet également une gestion plus simple de la cohérence et de l’intégrité des données.
Un schéma illustrant une architecture 3-tiers SOA avec sa nature faiblement cou lée permet aux entreprises de : pour répondre aux nouveaux besoins • offrir la possibilité de rendre les services consommables travers différents canaux • exposer les applications existantes de l’entreprise comme des services, tout en préservant les investissements d’infrastructure informatique existante. De plus, SOA possède les caractéristiques suivantes: • Recomposition : La capacité de modifier les processus d’affaires existants ou d’autres applications basées sur l’agrégation des servlces. La capacité à progressivement changer le système : Commutation des prestataires de services.