• Aucun résultat trouvé

Rapport de veille technologique

N/A
N/A
Protected

Academic year: 2022

Partager "Rapport de veille technologique"

Copied!
25
0
0

Texte intégral

(1)

Centres de compétences TIC

Région wallonne, BE

___

Rapport de veille technologique

Architectures Orientées Services

SOA / ESB

___

(2)

[Page blanche pour impression recto-verso]

(3)

PROJECT IDENTIFICATION

CONTRACT NUMBER PROGRAM

Veille technologique N/A

CUSTOMER CONTRACTUAL

Centres de compétences TIC Yes

Name, Function Date Signature

Written by:

Pierre Halin IT Consultant R&D manager

23-Sep-05

Checked by:

Saïd Eloudrhiri IT Consultant Solution manager

21-Oct-05

Approved by:

Vivien Monti IT Consultant Executive Manager

04-Nov-05

SUMMARY: KEYWORDS:

SOA ESB

DOCUMENT CHARACTERISTICS

Number of pages Number of figures Language Recipient name

25 4 FR N/A

(4)

Versions

Ed. Rév. Date Description Action(*) Paragraphes

0 01 05.09.2005 Création du document I Tous

0 02 20.09.2005 Revue interne M Tous

0 03 23.09.2005 Soumise pour commentaires M 3-6

1 00 28.10.2005 Soumise pour approbation Q Tous

1 01 04.11.2005 Modification du formatage Q Tous

(*) Action: I = Insertion, R = Remplacement, M = Mise à jour, S = Suppression, Q = Revue Qualité

(5)

Table des matières

1 GLOSSAIRE 6

2 INTRODUCTION 7

3 ARCHITECTURES DE DEVELOPPEMENT 8

3.1ARCHITECTURE TRADITIONNELLE OU ORIENTEE SERVICES 8

3.2ARCHITECTURE ORIENTEE SERVICES ET BUS DES SERVICES DENTREPRISE (SOA/ESB) 10

4 ARCHITECTURE SOA/ESB 12

4.1GESTION DES PROCESSUS METIERS (BPM) 12

4.2ARCHITECTURE ORIENTEE SERVICES (SOA) 13

4.3SERVICES WEB 14

4.4BUS DES SERVICES DENTREPRISE (ESB) 15

4.4.1 DEFINITION 15

4.4.2 COUCHES 16

4.4.3 ARCHITECTURE 17

5 IMPACT METIER 19

5.1RESPONSABLES PROJET 19

5.2ARCHITECTES FONCTIONNELS 19

5.3ARCHITECTES TECHNIQUES 19

5.4DEVELOPPEURS 20

5.5ADMINISTRATEURS 20

6 PROJETS OPEN SOURCE 21

6.1MULE 21

6.2SERVICEMIX 22

6.3JBOSS GROUP 22

6.4OBJECTWEB 23

6.5CELTIX (IONA) 23

(6)

1 Glossaire

BPEL Business Process Execution Language B2B Business to Business

B2C Business to Consumer

BPM Business Process Management

CORBA Common Object Request Broker Architecture DCOM Distributed Component Object Model EAI Enterprise application integration

EPO European Patent Office

ERP Enterprise resource planning

ESB Enterprise Service Bus

FTP File Transfer Protocol

HTTP HyperText Transfer Protocol

J2EE Java 2 Enterprise Edition JBI Java Business Integration

JMS Java Message Service

MOM Message Oriented Middleware

OASIS Organization for the Advancement of Structured Information Standards

OSS Open Source Software

PME Petites et Moyennes Entreprises POJO Plain Old Java Object

QoS Quality of Service

RPC Remote Procedure Call

SMTP Simple Mail Transfer Protocol

SNMP Simple Network Management Protocol

SOA Service-Oriented Architecture

SOAP Simple Object Access Protocol

UDDI Universal Description, Discovery and Integration UML Unified Modelling Language

WS Web Service

WSDL Web Service Definition Language

XML Extensible Markup Language

XSL eXtensible Stylesheet Language

XSLT eXtensible Stylesheet Language Transformation

(7)

2 Introduction

Membres du réseau des Centres de Compétences de la Région Wallonne, les centres Technifutur (Liège - http://www.technifutur.be/), Technofutur3 (Charleroi - http://www.technofutur3.be/) et Technocité (Mons - http://www.technocite.be/) sont chargés de la mise en œuvre d’un projet de sensibilisation, d’information et de formation de haut niveau dans le domaine des Technologies de l’Information et des Télécommunications (TIC). Dans ce cadre, ils conduisent une activité de veille technologique ciblée sur l’évolution des métiers et des qualifications dans ce secteur.

Depuis 2002, ces trois centres fédèrent leurs moyens afin de mener cette démarche de veille de façon commune et en réseau. En particulier, ils ont demandé en juin 2005 à la société Vivansa (http://www.vivansa.com/) de participer, par l’intermédiaire de son unité recherche et développement, à l’animation continue de cette veille et à la rédaction d’un rapport bi-annuel. Afin d’utiliser les ressources disponibles de façon optimale, cette veille se concentre sur un thème choisi conjointement.

La période de veille pour le second rapport 2005 étant réduite par les circonstances, le thème a été choisi au cœur du métier de Vivansa : les architectures de développement orientées services.

En premier lieu, nous comparerons l’architecture de développement traditionnelle à celle orientée services (section 3). Ensuite, nous présenterons les briques technologiques sous-jacentes à l’architecture SOA/ESB (section 4). Ensuite, nous étudierons les qualifications-métiers nécessaires pour soutenir l’émergence de cette architecture (section 5). Enfin, nous présenterons les principaux projets Open Source actifs dans le domaine (section 6).

(8)

3 Architectures de développement

Tous les acteurs économiques sont confrontés à des besoins croissants en terme d’informatisation.

Qu’il s’agisse de soutenir et d’intégrer les processus métiers au sein de divers départements ou qu’il s’agisse d’ouvrir vers l’extérieur les systèmes d’information, les départements informatiques doivent analyser avec soin les besoins de leurs utilisateurs et leur offrir des solutions.

Pour être adoptées par les utilisateurs, ces solutions doivent répondre à de nombreuses contraintes : garantir la sécurité, la pertinence et l’intégrité des données, être efficaces et faciles d’emploi. De plus, quand ces solutions sont destinées à des tiers professionnels (B2B) ou au grand public (B2C), elles doivent offrir une interface intuitive et se baser sur des technologies accessibles par tous.

3.1 Architecture traditionnelle ou orientée services

Depuis de longues années, deux approches sous-tendent ces développements. La première, dite traditionnelle, part des technologies existantes et se rapproche autant que possible des besoins exprimés. La seconde, dite orientée services, part des besoins et sélectionne les technologies qui fonctionnent le mieux pour rencontrer ces besoins. Cette différence d’approche se répercute sur divers aspects :

Approche traditionnelle Architecture orientée services

Technologie Favorise la création d’applications centralisées, conçues en un seul bloc subdivisé en plusieurs modules fortement interconnectés.

Favorise la création de plusieurs applications distribuées qui

s’interconnectent de façon très souple.

Cycle de développement

Nécessite des cycles de

développement très longs et favorise peu la réutilisation du code existant dans les versions ultérieures.

Présente un cycle de développement plus court et plus itératif.

Durée de vie La modification d’applications

traditionnelles étant souvent complexe et coûteuse, elles doivent être conçues pour durer.

Apporte des applications conçues pour s’adapter continuellement aux

processus métiers.

Coûts Les coûts directs de développement dans l’approche traditionnelle sont souvent plus élevés. De plus, le manque d’adaptabilité et la moins bonne adéquation entre les systèmes d’informations et les processus métiers génère des coûts indirects trop

souvent cachés ou négligés (manque à gagner, pertes de productivité, etc.).

La réutilisation des composants est l’un des concepts clés de l’architecture SOA qui offre une réduction de coûts.

Environnement Nécessite des environnements homogènes et rendent l’entreprise plus dépendante de ses fournisseurs.

Permet de sélectionner

l’environnement le mieux adapté à chaque processus métier.

(9)

Comme illustration de ces différences, nous pouvons citer un article récent traitant de l’utilisation d’ERP dans les PME (Dries Van Damme, Data News, 16 septembre 2005, page 8-9). L’administrateur d’une PME y parle des modifications qu’ils apportent actuellement à l’ERP installé quatre ans auparavant :

Il y a quatre ans, nous ne pouvions pas prévoir où nous en serions aujourd’hui […] nous avons produit de nombreuses nouveautés pour lesquelles le système a besoin d’autres données […] adapter est loin d’être une sinécure […] l’objectif est de pouvoir repartir à nouveau quelques années.

Nous y retrouvons la nécessité pour tout système d’information de pouvoir s’adapter. Mais à cause des coûts énormes des modifications, l’architecture classique entraîne cette société à n’avoir un outil réellement adapté que tous les quatre ans.

Nous avons ainsi montré qu’en théorie, l’approche orientée services est supérieure à l’approche traditionnelle pour soutenir le développement des entreprises : partant des objectifs à atteindre et trouvant les moyens d’y arriver, elle est parfaitement adaptée au monde économique actuel, conçue pour évoluer et s’adapter rapidement aux mutations.

Elle a donc fait naître des espoirs importants dans les sociétés et de nombreux directeurs informatiques ont lancé d’ambitieux projets EAI (Enterprise Application Integration).

Malheureusement, 35% de ces projets (chiffre Forrester Research) ne se sont pas achevés en respectant les délais et les budgets. Plusieurs facteurs expliquent cet échec de l’EAI :

Solutions et protocoles propriétaires : la majorité des solutions EAI et des protocoles utilisés sont propriétaires, ce qui limite fortement les capacités d’interconnexion des différentes solutions, en B2B par exemple.

Manque d’intégration des applications propriétaires : les solutions étant propriétaires, les développeurs de solutions traditionnelles n’ont pas développé les passerelles nécessaires et le passage vers une solution EAI nécessite le remplacement des solutions existantes en une seule fois (effet big-bang).

Coûts : les principaux éditeurs, se basant sur les qualités potentielles des solutions EAI, appliquent des coûts de licence excessifs.

Le terme EAI est donc devenu un terme banni et à l’heure actuelle, la majorité des entreprises utilisent une solution unique, propriétaire, soutenue par un grand nom du marché (SAP, PeopleSoft, Microsoft, etc.), quitte à devoir adapter leurs processus métiers en fonction de ce que cette technologie est capable de faire.

Toutefois, de nombreux signes montrent que la tendance change et pourrait s’inverser très rapidement.

(10)

3.2 Architecture orientée services et bus des services d’entreprise (SOA/ESB)

Plusieurs facteurs expliquent ce changement de tendance :

Emergence de standards : confrontées aux énormes problèmes d’interopérabilité des standards propriétaires, le marché privilégie de plus en plus les standards ouverts et/ou multi- plateformes (JAVA, XML, HTTP, UML, etc.).

Mouvement Open Source : l’émergence de ces standards rend possible le développement de solutions Open Source qui rivalisent avec les solutions propriétaires en terme de stabilité, de souplesse et même de fonctionnalités. Par leur caractère ouvert, ces applications s’interconnectent beaucoup plus facilement et permettent une meilleure intégration.

Services Web : utilisant une interface XML, les services web offrent des services à valeur ajoutée tout en dispensant l’utilisateur de connaître les détails d’implémentation. Extrêmement souples, ils permettent à l‘infrastructure globale d’évoluer très facilement.

Bus des services d’entreprise : l’ESB (Enterprise Service Bus - section 4.4) offre une infrastructure ouverte de services permettant d’intégrer toutes les applications d’une entreprise, y compris les applications propriétaires. Ce bus ouvert étant accepté par tous les éditeurs d’applications traditionnelles sont ouverts à développer les passerelles nécessaires.

La combinaison de ces facteurs permet à l’approche orientée services (SOA) de revenir au premier plan. Elle ouvre la perspective d’un système d’information modulaire entièrement intégré :

• Chaque processus métier est servi par une application dédiée qui partage les informations et les services avec les autres processus au moyen du bus ESB.

• Les anciennes applications sont intégrées à ce bus au moyen de connecteurs dédicacés, évitant le big-bang qui accompagne trop souvent à l’heure actuelle les changements de technologies.

• Les nouvelles applications sont gérées par des services web. Par leur souplesse, ils offrent une très grande réactivité aux besoins du marché.

Ce retour au premier plan s’est d’abord traduit par l’apparition de plusieurs solutions propriétaires (CapeClear, IONA, TIBCO, SONIC, IBM et BEA), disponibles depuis quelques années.

Par-contre, dans le monde de l’Open Source, les projets sont plus récents. A l’heure actuelle, les projets Mule (section 6.1) et ServicesMix (section 6.2) sont très intéressants mais ils ne sont pas encore adoptées par les principaux acteurs du marché. En parallèle, de nouvelles initiatives venant de JBoss (section 6.3), ObjectWeb (section 6.4), Iona (section 6.5) et SUN (section 6.6) ont vu le jour et devraient offrir courant 2006 une alternative sérieuse aux solutions propriétaires.

En particulier, le planning interne pour JBoss est le suivant : JBoss Web services sera disponible en Q4-2005, JBoss ESB en Q2-2006, JEMS SOA en Q4-2006 et intégration complète des outils pour 2007 (présentation aux collaborateurs JBoss).

(11)

En outre, les informations se recoupent pour annoncer l’adoption rapide de cette approche par le marché :

D’ici 2008, SOA sera une pratique majeure dans le développement d’applications, mettant fin à 40 ans de domination des architectures monolithiques (probabilité 0.7) (Gartner Group). Il est à noter que cette prédiction du Gartner Group date de 2003 et que le mouvement s’accélère.

Aujourd’hui, plusieurs fournisseurs se disputent la domination du marché ESB et la lutte risque de durer encore deux bonnes années. A l’issue de cette confrontation, seuls resteront trois ou quatre lauréats. A ce moment, il y a fort à parier que l’ESB sera élevé au rang de

‘commodity’ comme ce fut le cas pour les serveurs d’applications. Il n’est pas exclu non plus que les ESB soient, à terme, fournis d’origine avec les systèmes d’exploitation. (Rick F. van der Lans, Data News, 9 septembre 2005, page 43)

De même, notre expérience de terrain montre que les mentalités évoluent très rapidement. Les instances de la Commission Européenne évaluent les nouveaux développements à l’aune de cette approche. Et l’office européen des brevets (EPO – Riswijk, NL) a récemment commandé au consortium Siemens/Vivansa une étude de prototypage d’une solution de reengineering de ses flux d’information en utilisant SOA/ESB avec une solution Open Source, considérant qu’il vaut mieux reculer l’implémentation de deux ans pour avoir une solution plus souple encore.

Aussi, nous pensons que les centres de compétence de la région wallonne doivent compléter leur offre de formation pour préparer les professionnels dont le marché aura besoin rapidement. La présentation des technologies sous-jacentes nous permettra de découvrir les axes de formation pertinents.

(12)

4 Architecture SOA/ESB

L’architecture SOA/ESB de développement se présente selon quatre couches (Figure 1) : la gestion des processus métiers (BPM), l’architecture orientée services (SOA), les services Web (WS) et le bus des services d’entreprise (ESB).

Figure 1 : Architecture

4.1 Gestion des processus métiers (BPM)

Dans l’exercice de son métier, toute entreprise met en place de nombreux processus visant à garantir la qualité et la reproductibilité de ses produits. Ces processus couvrent tous les départements et toutes les disciplines. Gérés par différentes personnes et modifiés de façon continue, il est généralement très difficile d’en avoir une vue exhaustive.

Parmi ces processus métiers, un grand nombre est soutenu par différentes applications informatiques, souvent incompatibles par le fait de leurs évolutions indépendantes l’une de l’autre.

Cette hétérogénéité amène les responsables à rechercher une standardisation des échanges entre ces applications pour éviter les redondances tout en maintenant les applications fonctionnelles.

C’est dans ce contexte que le BPM joue un rôle important. En interviewant les acteurs clés et en rassemblant tous les éléments disponibles, l’analyste se concentre en premier lieu sur la récolte des informations suivantes :

besoins : quel sont les différents processus métiers et quels sont leurs besoins pour fonctionner ?

services : quelles sont les applications qui couvrent ces différents besoins et quelles informations peuvent-elles fournir à l’extérieur ?

(13)

Sur base de ces informations, il est alors possible de modéliser, au moyen de langages de description formelle, les services existants, ceux à développer et le flux d’information entre eux.

Cette étape étant faite, il est alors possible de définir une architecture permettant l’orchestration de ces différents services.

4.2 Architecture orientée services (SOA)

SOA est un modèle visant à construire des systèmes distribués formés de composants indépendants (services) offrant des fonctionnalités, soit à des applications finales soit à d’autres services, au travers d’interfaces indépendantes des plateformes et des langages de programmation.

De cette façon, ces services ne forment plus des systèmes isolés mais s’intègrent dans une architecture formée de boîtes noires pouvant être réutilisées sans modification. Cette architecture est formée des rôles suivants (Figure 2) :

Fournisseur : le fournisseur de service publie un contrat exposant son comportement. Il décrit aussi l’interface de communication qu’il offre, les entrées et les sorties devenant des messages envoyés au travers du réseau.

Registre : le registre des services centralise les contrats disponibles sur le réseau

Client : le client consulte le registre des services pour sélectionner le service adéquat et pour connaître la localisation de son fournisseur sur le réseau

(14)

Un concept important dans cette architecture est celui d’orchestration des services. Il permet de définir la façon dont les services doivent s’agencer en fonction de leur durée d’exécution et de leur interaction avec d’autres services (exécution synchrone ou asynchrone).

La spécification utilisée pour décrire cette orchestration est le langage BPEL (Business Process Extraction Language). Basé sur XML, il apporte la puissance d’une description sémantique pour définir les processus, offrant ainsi la possibilité de réaliser des couplages souples entre les différents services et applications.

Bien entendu, ce concept de fournisseur et de client n’est pas neuf (présent par exemple dans CORBA, DCOM ou RPC). Mais la nouveauté provient vient du couplage lâche (« loosely coupled ») qui permet une meilleure interopérabilité et réutilisation des composants.

De plus, SOA permet une adaptation incrémentale des systèmes d’informations complexes. Au lieu du traditionnel big-bang, il intègre au fur et à mesure les applications existantes dans un cadre nouveau.

Bien que les Services Web ne soient pas indispensables à la création d’une architecture SOA, nous verrons dans la section suivante comment leur interface standard offre plus de puissance et de flexibilité à une telle architecture.

4.3 Services web

Un service web est un service offert à des utilisateurs web ou à d’autres services web au travers d’un serveur web.

Cette technologie constitue un maître-choix pour la mise en place d’une infrastructure SOA bâtie sur des standards et des protocoles qui soient ouverts et indépendants des plateformes :

XML est un langage sémantique devenu le standard pour la représentation de textes structurés sous format textuel.

• Les fournisseurs et les clients communiquent au moyen du protocole d’accès SOAP (Simple Object Access Protocol), basé sur XML et véhiculé par HTTP.

• Les services Web exposent leur interface au moyen du langage de définition WSDL (Web Service Definition Language), lui aussi basé sur XML.

• La localisation des services par le registre peut se faire au moyen du protocole UDDI (Universal Description, Discovery and Integration).

Sur base de cet ensemble de standards stables, plusieurs organisations (OASIS, W3C, etc.) et sociétés commerciales (IBM, BEA, Microsoft, etc.) ont défini un ensemble de spécifications pour tous les services d’entreprises.

Toutefois, la définition des processus métiers, d’une architecture orientée services et de services Web ne suffit pas à implémenter de façon effective un système d’information multi-organisationnel, multi- plateforme et multi-processus. Le lien manquant est fourni par le bus ESB présenté ci-dessous.

(15)

4.4 Bus des services d’entreprise (ESB)

4.4.1 Définition

Défini pour la première fois par le Gartner Group, l’ESB (Enterprise Service Bus) est une plateforme d’intégration située à l’intersection des architectures orientées services (SOA), de la modélisation des processus métiers (BPM) et de l’intégration des applications. Cette solution middleware fournit une colonne vertébrale à une architecture SOA événementielle et faiblement couplée.

Au travers de ce bus, les services échangent des messages leur permettant de fonctionner dans une architecture hautement distribuée. Ces échanges se font de façon synchrone (question/réponse) ou asynchrone (envoi/réception) en utilisant de multiples protocoles (SOAP, HTTP, HTTPS, SMTP, SNMP, FTP, etc.).

Les capacités d’une telle infrastructure peuvent être résumées comme suit :

Dorsale pour les messages : la taille du bus s’adapte en fonction du nombre d’applications et de services qu’il accueille et du volume de messages qu’il traite. Il est compatible avec la spécification JMS (Java Message Service) et est basé sur des plateformes OpenSource orientées messages (Message-Oriented Middleware - MOM) comme JBossMS, Joram ou ActiveMQ. Cette dorsale offre une haute disponibilité, une grande sécurité et flexibilité, est facile à déployer et supporte bien entendu les services web (transformation SOAP/HTTP vers SOAP/JMS et vice-versa).

Plateforme d’intégration : l’ESB est conçu pour connecter et enchaîner des applications, des données et des systèmes au travers du réseau au moyen d’un couplage souple. Pour ce faire, il intègre de nouveaux services créant des passerelles vers des applications propriétaires existantes.

Protocoles de communication : l’ESB n’est pas limité à SOAP sur HTTP mais permet d’autres protocoles d’échange comme SMTP ou JMS. Il permet même de recevoir des messages au travers d’autres protocoles comme FTP.

Services à valeur ajoutée : le but d’une infrastructure ESB est aussi de fournir des services à valeur ajoutée facilitant le développement et le déploiement d’applications. Ainsi, il est recommandé de lui confier certaines tâches comme la gestion de la sécurité, la validation de fichiers XML ou la transformation de messages entre applications.

Flexibilité : la souplesse et l’adaptabilité du bus ESB est intrinsèquement fournie par son caractère faiblement couplé et indépendant des plateformes.

(16)

4.4.2 Couches

L’ESB s’architecture en plusieurs couches (Figure 3) :

Figure 3 : Architecture en couches

Infrastructure : cette couche contient tous les composants existants dans l’entreprise (DB2, Oracle, SAP, applications, …). Ces composants doivent être adaptés pour offrir une interface de type service web avant de se connecter à l’ESB. De nombreux vendeurs développent actuellement une telle interface afin d’offrir plus de pérennité à leurs applications.

ESB : Le bus ESB offre un certain nombre de capacités communes (routage, registre de services, outils de transformation, orchestration, sécurité, enregistrement, gestion, etc.) et facilite leur association aux services web disponibles sur le bus multi-protocoles.

Services métiers : Un certain nombre de services placés au-dessus de l‘ESB permettent d’offrir une qualité de service (QoS) prédéfinie aux clients.

Applications tierces : un certain nombre d’applications externes peuvent aussi être présentes qui fournissent des informations par l’intermédiaire de connecteurs externes.

Processus métiers : la couche supérieure veille à la bonne orchestration des différentes composantes telles que définies par le BPM.

(17)

4.4.3 Architecture

La figure suivante présente une architecture typique de bus ESB :

Figure 4 : Architecture typique

Passerelle : l’ESB supporte plusieurs protocoles synchrones et asynchrones de transport (HTTP, HTTPS, SOAP, JMS, FTP, SMTP, …). La passerelle est le point de contact de cette infrastructure avec le réseau.

Routage: Ce service détermine la destination des messages sur le réseau. Ces décisions de routage peuvent être statiques mais peuvent aussi intégrer des informations de contexte

(18)

Adapteurs: Les adapteurs sont utilisés pour connecter les applications externes au bus d’entreprise. Certains connecteurs sont standards (J2EE Connector Architecture, SOAP, JMS, etc.) d’autres doivent être développés en utilisant les boîtes à outils. Les principaux vendeurs de solutions propriétaires (SAP, Peoplesoft, etc.) développent leurs propres connecteurs. Finalement, il est aussi possible de développer des connecteurs « fichiers plats » vis-à-vis de la quasi-totalité des applications existantes.

(19)

5 Impact métier

Nous avons vu à la section 3 que l’émergence de l’approche SOA/ESB était en grande partie due à l’adoption de standards communs par les différents acteurs. Cette convergence devrait entraîner les acteurs de la formation à préparer les professionnels de l’informatique à l’usage de ces standards. En particulier, il est nécessaire de compléter la formation des architectes, des développeurs et des administrateurs pour qu’ils soient prêts lorsque les infrastructures ESB Open Source commenceront à être déployées.

5.1 Responsables projet

Les responsables projet incluent aussi bien les directeurs informatiques que les chefs de projet.

Ces métiers doivent évoluer afin de saisir l’importance et les enjeux des architectures d’intégration d’applications de type SOA/ESB.

Bien que ces personnes soient pour la plupart déjà familiarisées avec les architectures EAI, une formation adéquate aura pour intérêt de montrer et de prouver aux décideurs de l’intérêt technique, stratégique et financier d’une approche SOA/ESB.

5.2 Architectes fonctionnels

L’introduction d’une architecture SOA/ESB a un impact très important sur le travail de l’architecte d’applications. Avec l’inversion du rapport hiérarchique entre processus métier et technologie, la part de modélisation du métier augmente. Son intervention dans un projet suit les étapes suivantes :

• Identification et modélisation des processus métiers.

• Identification des services nécessaires pour soutenir ces processus.

• Analyse des services existants en vue de leur (ré)utilisation.

• Analyse des services manquants en vue de leur développement.

• Ecriture/modification des scripts BPEL pour l’intégration de ces services sur le bus d’entreprise.

Pour soutenir ces étapes, il doit développer les compétences suivantes :

• Maîtrise des concepts sous-jacents aux quatre couches de l’approche SOA/ESB (section 4) : BPM, SOA, Services Web et ESB.

(20)

L’architecte technique a pour mission d’accompagner les clients dans leurs choix d’architecture, de qualifier le socle technique et d’assurer la conduite du changement.

Tour comme l’architecte fonctionnel (section 5.2), l’architecte technique doit remettre à niveau ses connaissances en privilégiant les domaines suivants :

• Connaissance des concepts sous-jacents aux quatre couches de l’approche SOA/ESB (section 4) : BPM, SOA, Services Web et ESB.

• Connaissance active des standards XML, XSLT, XPATH, SOAP, WSDL, UDDI.

• Connaissance active d’une plateforme de développement, J2EE par exemple.

5.4 Développeurs

L’introduction d’une architecture SOA/ESB valorise aussi le travail du développeur. Au lieu de développer un module perdu au milieu d’une application tentaculaire, il devient responsable d’une application complète offrant un service publié sur le bus d’entreprise. Pour ce faire, il doit développer les compétences suivantes :

• Connaissance active des standards XML, XSLT, XPATH, SOAP, WSDL, UDDI.

• Connaissance active d’une plateforme de développement, J2EE par exemple tel que JBoss.

• Connaissance active d’outils de tests unitaires OpenSource tels que JUnit, Cactus.

• Connaissance actives d’outils tels que Hibernate (persistance des données), JMX (Java Management eXtension), BPEL engine.

• Connaissance active d’environnement de développement Open Source : Eclipse, CVS, SubVersion.

5.5 Administrateurs

L’administrateur informatique garde un rôle crucial dans l’entreprise car son expertise sera très sollicitée en matière d’installation, de configuration, de déploiement et d’administration de l’infrastructure SOA/ESB. Les connaissances requises par notre administrateur doivent couvrir entre- autres les concepts suivants :

• Gestion des annuaires: UDDI, JDDI, LDAP.

• Administration de services via des consoles JMX.

• Maîtrise de plate-forme J2EE OpenSource tels que JBoss.

(21)

6 Projets Open Source

A l’heure actuelle, plusieurs produits commerciaux existent. Ils offrent des outils, généralement multi- plateformes et graphiques, pour concevoir, tester, déployer et monitorer de telles infrastructures. Mais dans le cadre de ce rapport de veille, nous nous concentrons sur les projets Open Source soutenant l’approche SOA/ESB, à savoir :

• Mule

• ServiceMix

• JBoss Group

• ObjectWeb

• Celtix (IONA)

• SUN Java ESB

6.1 Mule

Home page... Site principal : http://mule.codehaus.org

Le projet se trouve aussi sur http://sourceforge.net/projects/mule/ mais les informations y sont actuellement moins récentes que sur le site principal.

Version... Version stable 1.0 (18 avril 2005), version actuelle 1.1

Licence... Redistribution et utilisation des sources et des binaires permises, avec ou sans modification, en incluant le copyright suivant :

Copyright (c) 2003-2005 SymphonySoft Limited. All rights reserved.

http://www.symphonysoft.com

Description... Mule est le premier grand projet d'ESB en Open Source. Mule est une plate- forme de messaging ESB basée sur l'architecture SEDA (Staged Event- Driven Architecture). Mule peut envoyer et recevoir des messages en utilisant trois modèles : asynchrone, synchrone et requête/réponse.

Mule fournit un container de services qui peuvent être routés via différents transports tels que JMS, SMTP, JDBC, TCP, http, fichier, etc.

(22)

6.2 ServiceMix

Home page... http://www.servicemix.org

Version... Version stable 1.0.1 (18 août 2005)

Licence... Licence Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0) Copyright 2005 LogicBlaze, Inc.

Description... ServiceMix est un projet Open Source SOA/ESB. Il est construit à partir des de la spécification JSR 208 définissant le Java Business Integration (JBI).

6.3 JBoss Group

Home page... http://www.jboss.org

http://www.jboss.com/company/customers/aviva

Version... N/A Licence... N/A

Description... A ce jour, il n’y a pas encore d’annonce officielle de la part de JBoss Group concernant la sortie prochaine d’une infrastructure SOA/ESB Open Source.

Toutefois, nous pouvons estimer que cela ne saurait tarder car le numéro 1 des logiciels Open Source a pratiquement tous les ingrédients pour bâtir une architecture SOA/ESB robuste et standard. Ces solutions sont regroupées sous la bannière des produits JEMS (JBoss Entreprise Middleware System) : http://www.jboss.com/products/index.

Par exemple, la solution JBPM (JBoss Process Modelling) est prévu de supporter sous peu le standard d’orchestration de services BPEL. Ainsi, JBoss sera très bien positionné pour offrir une infrastructure ESB:

• JBossMQ: L’implémentation de l’API JMS pour le support des messages de type « queue » et « topic » (publish/subscribe).

• JBPM: Le moteur d’ orchestration de service qui supportera très prochainement le standard BPEL.

• Et bien-sûr, le support des standards “Web Services” et Java/J2EE.

(23)

6.4 ObjectWeb

Home page... http://www.objectweb.org https://wiki.objectweb.org/ESBi/

Version... Pas de planning pour la première version Licence... Inconnue

Description... En octobre 2004, le consortium ObjectWeb a lancé une initiative ESB visant à stimuler la réutilisation du middleware d’ObjectWeb en vue d’offrir une solution d’intégration d’application de type ESB.

Durant la première réunion du consortium

(http://www.objectweb.org/phorum/download.php/25,103/ESBKickOff-final- en.pdf), les composants ObjectWeb suivants ont été choisi comme base :

JonAS: Serveur d’application Java certifié compatible J2EE 1.4

MOBE (MidOffice BPEL Engine): outil d’orchestration BPEL

Bonita, Shark, JaWE: Moteurs de workflow et outils associés

JORAM: middleware de messagerie basée sur l’implémentation de l’API JMS

JOTM: Gestionnaire de transaction distribué

Xquark: outil d’intégration et de transformation XML/XQuery

ActiveXML: framework pour encapsuler des appels de services dans des documents XML

Enhydra Octopus: Un outil d’extraction et de transformation de données de type ETL (Extract/Transform/Load).

6.5 Celtix (IONA)

Home page... http://www.iona.com

https://wiki.objectweb.org/ESBi/

(24)

de lancer le projet Open Source Celtix qui sera hébergé par le consortium ObjectWeb (http://www.iona.com/pressroom/2005/20050620.htm).

Le code du projet Celtix sera entièrement neuf mais s’appuiera sur l’architecture de leur produit ESB commercial Artix ESB

(http://www.iona.com/products/artix/welcome.htm).

La première version de Celtix supportera :

• Standard WSDL pour la définition des contrats de service.

• Standards de transport WS-RM (WS-ReliableMessaging), JMS et HTTP.

• Outils d’administration et de configuration basés sur Eclipse.

• Support de base de la sécurité.

6.6 SUN Java ESB

Home page... http://www.sun.com/smi/Press/sunflash/2005-06/sunflash.20050627.1.html Version... Première version attendue dans les mois qui viennent.

Licence... Common Development and Distribution License (CDDL).

Description... Lors de la conférence « JavaOne Developer » du 27 juin 2005, SUN a annoncé son intention d’ouvrir les sources de son produit Sun Java

Enterprise Service Bus, conçu autour de la spécification JSR 208 définissant le Java Business Integration (JBI) et défini par le Java Community Process (JCP).

(25)

7 Conclusion

Nous avons vu que, dans le cadre du développement d’applications à l‘échelle d’une entreprise, l’approche orientée services (SOA) couplée à l’utilisation d’un bus de services (ESB) est en passe de devenir incontournable.

Partant des besoins de l’entreprise, elle permet l’adaptation rapide de l’architecture informatique, apportant un gain appréciable en réactivité et donc en compétitivité.

Basé sur des standards ouverts et largement acceptés tant par le monde propriétaire que par le monde OpenSource, le bus de services d’entreprise permet d’intégrer en douceur les applications existantes et/ou propriétaires avec des services Web par essence plus légers et dynamiques.

Cette nouvelle approche nécessite de compléter la formation de tous les intervenants dans la chaîne de développement, depuis les analystes fonctionnels jusqu’aux développeurs et testeurs. Aussi, nous conseillons aux centres TIC de la Région Wallonne d’enrichir leur offre de formation en couvrant mieux les aspects suivants :

• Approche SOA / ESB (BPM, SOA, Services Web et ESB)

• Standards ouverts (UML, BPEL, WSDL, UDDI, XML, XSLT, XPATH, SOAP, WSDL, UDDI)

• Java 2 Enterprise Edition (J2EE)

• Solutions JBoss

En outre, en parallèle aux rapports de veille semestriels, nous proposons l’utilisation d’un espace web dynamique permettant la publication de notes de recherches complémentaires sur les sujets traités dans les rapports précédents.

Références

Documents relatifs

La norme DALI, couvrant tous les constructeurs, est fixée par la norme pour ballasts électroniques CEI 60929.. L'association

- Dès le mois de mars 2015, en prévision du déménagement sur le nouveau dépôt et de l’internalisation de la maintenance de l’ensemble des véhicules du parc,

Ce code de conduite doit comprendre un encadrement ayant pour objectif d’éviter toute situation où pourraient coexister ces liens et relations lorsqu’une telle situation risque

Ce dispositif innovant a été créé par l’Institut des Hauts-de-Seine en partenariat avec la RATP et financé par les Départements des Hauts-de-Seine, des Yvelines et la

Si la case sur laquelle il se pose indique un signe plus, il ramasse le nombre de cartes passagers indiqué sur le dé blanc et les place sur son bus.. Si la case indique un signe

- CAN2.0B : trame plus longue avec identificateur sur 29 bits (CAN étendu).. Principe

Le 26 octobre 2020, la ministre de la Cohésion des territoires et des relations avec les collectivités territoriales, Jacqueline Gourault, et la ministre