Etat de lart des Architectures Orientes Services (SOA) et cas dapplication
Rapport de stage
Logica Nantes 9 boulevard Ampre 44 481 Carquefou
16 mars 11 septembre 2009
Matre de stage : M. Philippe MERET Tuteur de stage : M. Serge TAHE
LE TEXIER Nicolas 2 Etat de lart de la SOA Remerciements
Avant tout dveloppement sur ce stage, je tiens adresser mes remerciements ceux qui mont accompagn durant ces six mois et qui ont rendu ce stage profitable.
Je tiens tout dabord remercier Philippe Meret pour mavoir guid durant toute la priode du stage. Ses formations ainsi que sa grande implication ont t bnfiques au bon droulement du stage.
Merci Vincent Ramona, David Courtin, Stphane Deschamps et Yohann Botquelen pour mavoir accueilli et qui ont particip lexprience intressante que jai vcue.
Je remercie Serge Tah de lISTIA pour son suivi durant toute la priode de stage.
Une dernire pense aux stagiaires de Logica. Venant parfois dhorizons diffrents, il tait enrichissant de dcouvrir leur projet. Merci eux pour les bons moments que nous avons passs ensemble. LE TEXIER Nicolas 3 Etat de lart de la SOA Sommaire
I Le stage Logica..............................................................................................................p.5
I.1 Prsentation de lentreprise...........................................................................p.6 I.1.A Les mtiers du groupe Logica.......................................................................p.6 I.1.B Logica en France...........................................................................................p.7 I.2 Le contexte du stage .........................................................................................p.9 I.2.A Les SI actuels dans les entreprises................................................................p.9 I.2.B O en est la SOA ? .......................................................................................p.10 I.2.C Les acteurs de la SOA...................................................................................p.11 I.3 Le droulement du stage .................................................................................p.12 I.3.A Les diffrentes tapes ...................................................................................p.12 I.3.B La mthodologie ...........................................................................................p.13 I.3.C Le planning ...................................................................................................p.14
II Le rle de la SOA dans lvolution des Systmes dinformation....p.15
II.1 La transversalit des systmes dinformation....................................p.17 II.1.A Le systme point point..............................................................................p.17 II.1.B Lmergence des plates-formes dchange..................................................p.19 II.2 Larchitecture oriente service...................................................................p.22 II.2.A Le service, au centre de la SOA..................................................................p.22 II.2.B - Le rle de lESB dans la SOA.....................................................................p.24 II.3 Les processus mtier des entreprises....................................................p.26 II.3.A Le Business Project Management (BPM) ...................................................p.26 II.3.B Les enjeux de la gestion des processus mtier.............................................p.28
III La SOA dans les projets de Logica...................................................................p.30
III.1 Les e-services dune collectivi locale.................................................p.31 III.1.A Le dialogue comptitif ...............................................................................p.31 III.1.B Le prototype pour la collectivit ................................................................p.31 III.1.C La gestion des messages.............................................................................p.32 III.2 Larchitecture du SI dune socit dassurance...............................p.34 III.2.A Analyse de lexistant ..................................................................................p.35 III.2.B La modernisation du SI ..............................................................................p.36 III.2.C La gestion du multicanal ............................................................................p.37 III.3 Les applications composites......................................................................p.39 III.3.A Le principe .................................................................................................p.39 III.3.B La mise en place dun prototype ................................................................p.41
LE TEXIER Nicolas 4 Etat de lart de la SOA Introduction
Ce stage de six mois clture ma formation de master IAIE (Ingnierie Automatique et Informatique dEntreprise) de lISTIA (Institut des Sciences et Techniques de lIngnieur dAngers).
Pour tre dispos commencer correctement mon projet professionnel dans linformatique de gestion, jai ralis ce stage au sein de Logica. Cette socit qui fait partie des leaders franais des SSII (Socit de Service en Ingnierie Informatique) tait lentreprise adquate pour comprendre le fonctionnement bien particulier de ces socits et le droulement des projets informatiques.
Le stage se droule en pleine crise conomique. Dans ce contexte conomique tendu, lensemble des clients souhaite rduire leur cot pour pallier labsence de croissance. Cette dcision se rpercute sur les socits de service. Une des consquences est la fragilit des SSII face au manque de visibilit du march.
Ds le dbut du stage, on ma rapproch des Architectures Orientes Services (SOA). Ce domaine est une rponse de fond aux volutions des Systmes dInformation (SI). Dans un monde o linformation et la donne ont pris une place prpondrante, le systme dinformation, outil utilis pour la collecte, lorganisation, le traitement et la transmission dinformations, est devenu la colonne vertbrale des entreprises. Ainsi, en mintroduisant la SOA, jai eu loccasion de comprendre quels taient aujourdhui les enjeux et les dfis des systmes dinformation pour les entreprises.
Le droulement de ce stage a t une succession de plusieurs activits : - Une comprhension de la SOA dans sa thorie avec des lectures de documents traitant de ce domaine, de multiples explications lors de runions avec mon matre de stage et des rflexions et remises en question qui ont parsem la dure du stage. - Lobservation de la mise en pratique de prototypes centrs sur la SOA pour des clients venant de domaines varis : secteur public et assurance. - La monte en comptence sur des outils techniques des diteurs Tibco et Sun, permettant la mise en application des principes de la SOA. La premire activit a sans doute t la plus importante : sagissant dun stage orient Recherche et Dveloppement (R&D), limprgnation de la SOA a t transverse lensemble des activits du stage et le temps disponible permettait de prendre du recul vis--vis de cette architecture pour en tirer une vision globale.
Ce rapport prsente le rsultat de cette imprgnation. Aprs avoir prsent le cadre du stage (1), nous dtaillerons les concepts de la SOA (2). Le chapitre suivant (3) exposera les cas dapplication de ce domaine, notamment deux prototypes concrets pour des clients et un cas dapplications typiques de la SOA.
LE TEXIER Nicolas 5 Etat de lart de la SOA
Chapitre I :
Le stage Logica
LE TEXIER Nicolas 6 Etat de lart de la SOA I.1 Prsentation de lentreprise
Logica, socit britannique cre en 1969, dirige par Andy Green, est un acteur europen majeur des services informatiques, en se positionnant la 8me place europenne dans le classement des SSII. Le groupe runit 39 000 personnes dans 36 pays travers le monde. Son activit englobe le conseil en management, lintgration de systmes, loutsourcing de processus mtier et IT, ainsi que linfrastructure.
Figure 1 : positionnement de Logica dans le Monde
Logica est partenaire des grandes entreprises nationales, europennes et internationales. Parmi elles : ING, Shell, EDF, Ford, Vodafone, Deutsche Telecom, EADS. Le groupe est galement fortement implant dans les administrations : Ministre de la Dfense au Royaume-Uni, Ministre de lintrieur des Pays-Bas, Ministre des Finances en France. Logica est cot la Bourse de Londres et d'Amsterdam (LSE : LOG ; Euronext : LOG). Le groupe a gnr un chiffre daffaire de 4,49 Milliards deuros en 2007. Logica bnficie dun rseau europen puissant et quilibr sur ses principaux marchs, en particulier dans les Pays Nordiques (27 % du CA 2007), au Royaume-Uni (22 % du CA 2007), en France (19 % du CA 2007), aux Pays-Bas (16 % du CA 2007), et l o il bnficie dune implantation historique.
I.1.A Les Mtiers du groupe Logica
Les principaux mtiers du groupe Logica sont au nombre de quatre.
Conseil Le mtier de conseil en management est dispens par une entit ddie du groupe Logica appele Logica Management Consulting.
Ce ple conseil dispose dun rseau de 2 500 consultants (dont 1000 en France) rpartis sur les principaux pays europens. Ils accompagnent leurs clients damont en aval, de la rflexion post-stratgique la ralisation de leurs projets. Ils se diffrencient par leur culture europenne, leur proximit avec tous les niveaux de lentreprise, associes une combinaison unique dexpertises sectorielles, fonctionnelles et technologiques.
Intgration de systmes Lintgration de systmes est le cur de mtier historique de Logica. Ce mtier requiert une excellente comprhension des processus mtiers des utilisateurs, une connaissance approfondie des solutions du march, un panel toujours plus tendu dexpertises LE TEXIER Nicolas 7 Etat de lart de la SOA technologiques, et la matrise de grands projets complexes. Les domaines de comptence des collaborateurs de Logica vont de lintgration au dveloppement de systmes dinformation, en passant par la conduite de projets et une expertise technique sur les sujets les plus pointus.
Outsourcing L'outsourcing, galement appel externalisation ou TMA (Tierce Maintenance Applicative), consiste confier ses prestations informatiques un tiers. Logica bnficie dune position de leader dans loutsourcing pour plusieurs raisons : - des prestations qui couvrent lensemble du cycle des projets depuis le conseil, lintgration de systmes, loutsourcing et la formation, - un rseau de centres de services industrialiss, - une complmentarit entre les centres de proximit et les centres offshore notamment en Inde et au Maroc, - la capacit grer des contrats internationaux de plusieurs millions deuros.
Infrastructure Linfrastructure possde elle aussi une entit ddie au sein du groupe Logica dont la mission est dintgrer, administrer et exploiter les systmes dinformation des clients.
I.1.B Logica en France
Logica France est la 4me socit de services informatiques en France avec plus de 9 000 collaborateurs rpartis dans un rseau de 20 agences et 6 centres de services. Le chiffre daffaire gnr en 2007 slve 858,6 millions deuros. Les quarante annes dexprience dans les services informatiques assurent Logica France une couverture sectorielle complte.
Historique
En 1968, la socit Informatique et Entreprise Unilog est cre.
En 1983, la socit regroupe sous le nom d'Unilog l'ensemble de ses filiales.
En 1987, Unilog cre son activit consulting qui deviendra en 2000 Logica Management Consulting.
En 1988, Unilog rentre au second march. En Juillet 1998, Unilog acquiert le groupe Integrata (800 personnes - top 20 en Allemagne).
En juillet 1999, Unilog est transfre au Rglement Mensuel. En juin, Unilog acquiert NSA (New Software Associates), socit de 270 personnes.
En janvier 2000, Unilog cre ESCAN (European Software Companies Allied Network), la premire alliance europenne en conseil et ingnierie informatique, ne de la coopration entre Engineering Ingegneria Informatica (Italie), Ibermtica (Espagne) et Unilog. Cette alliance, qui pse prs de 650 millions Euros de chiffre d'affaires et rassemble 7 250 professionnels entend rpondre aux nouvelles exigences du march europen.
LE TEXIER Nicolas 8 Etat de lart de la SOA Le 6 avril 2000, Unilog acquiert la socit allemande VSS : CA additionnel de 26 millions Euros et 250 collaborateurs. L'ensemble des entits allemandes de la Socit reprsente dsormais 1 150 collaborateurs et se place dans le top 10 du secteur.
Le 31 mai 2001, Unilog annonce l'acquisition de la division technology de la filiale anglaise de March First USA, spcialise dans le conseil technologique et l'intgration de systmes autour d'Internet. La nouvelle entit compte 150 collaborateurs.
Le 9 juillet 2004, Unilog et Avinci signent un protocole d'accord visant au rapprochement des deux entits et ainsi la constitution en Allemagne d'une socit de conseil et d'ingnierie, capable de rivaliser avec les meilleures.
Le 10 janvier 2006, LogicaCMG rachte Unilog. Ensemble, les deux socits donnent naissance un leader europen des services informatiques.
Le 27 fvrier 2008, Unilog devient Logica. Le groupe LogicaCMG, qui oprait depuis le 10 janvier 2006 sous la marque Unilog en France, annonce ladoption dune nouvelle marque lchelle internationale : Logica. Logica incarne dsormais la nationalit europenne du groupe de conseil et de service informatique.
Lorganisation de Logica France Sous la direction de Patrick Guimbal, Logica France possde une organisation matricielle suivant deux axes. Laxe LOB (Line Of Business) qui divise lactivit en Secteur dactivit (Industrie, Service Publique) et laxe HGA (High Gross Area) qui quand lui divise lactivit par domaine de comptence (Oracle, BI, SAP)
Logica France est scind en plusieurs entits qui se rpartissent sur tout le territoire. Pour ma part, mon stage sest droul dans la BD WST pour Business Division West. Cette entit couvre toute la partie Nord-Ouest du territoire franais.
Figure 2 : Couverture de la Business Division West
A linstar de lorganisation du groupe lchelle nationale et internationale, la BD WST possde une organisation matricielle visant couvrir la totalit du spectre sectorielle et technologique. Dans la BD WST, les HGA sont remplaces par des OBL (Offer business line). Parmi ces OBL, on peut citer les OBL BI, CRM ou encore ERP. De mme, ce niveau de granularit, la BD WST est divise de faon sectorielle en SBL (Sector Business Line). Cette rpartition provient la fois du secteur dactivit mais aussi de la localisation gographique. LE TEXIER Nicolas 9 Etat de lart de la SOA I.2 Le contexte du stage
Le sujet du stage concernait la SOA. Il sagissait dtablir son tat de lart, c'est--dire sinformer sur ce domaine et de lassimiler avant de pouvoir mettre en application ce concept. Avant de sengager dans une description dtaille de la SOA, il est ncessaire de la replacer dans le contexte technique et conomique dans lequel elle sinscrit. La SOA tant un concept darchitecture destin aux SI des entreprises, il est utile de dfinir ce quest un SI et ce quil met en jeu afin de voir en quoi la SOA rpond ces problmatiques.
I.2.A Les SI actuels dans les entreprises
Le SI dune entreprise est un ensemble dapplications informatiques, autonomes ou grant lintervention humaine, qui permet de collecter, organiser, traiter et restituer de linformation.
Le SI est avant tout un systme, ce qui signifie que les lments qui le composent doivent interagir entre eux : besoin exprim par le mtier de lentreprise qui est en partie transverse aux applications du SI : par exemple laccueil dun nouveau salari dans lentreprise met en jeu les applications des services RH, Paye, Direction des Systmes dinformation (DSI), Autre exemple, la gestion des commandes implique des applications dachat, de facturation, de comptabilit,
Or lheure actuelle, il nest pas impossible de trouver dans les grandes entreprises des services/dpartements qui utilisent leurs propres applications. Construites petit petit, de manire non concerte, chaque application rpond un besoin bien spcifique au service qui la dtient. Le constat que lon peut alors faire est que confront lparpillement et la non- interoprabilit des applications, les utilisateurs sont contraints de sadapter leur SI: ils le subissent. Dans notre premier exemple, lorsque le service RH a enregistr les informations sur lemploy depuis son application, il transmet manuellement ces donnes au service Paye pour quil les introduise dans sa propre base de donnes en les compltant avec des donnes bancaires. Le manager du salari demande au DSI de crer un compte informatique et une adresse courriel depuis son application. Dans le second exemple, le service achat envoie un double de lexemplaire papier de chaque commande au service facturation. Le service comptabilit rcupre priodiquement les donnes qui lintresse auprs du service facturation.
Le SI daujourdhui est confront deux problmatiques : comment rduire les cots lis son fonctionnement (maintenance, volution) et quelle architecture adopter pour amliorer la qualit, la cohrence et la circulation des informations quelle contient, afin daccompagner comme il se doit les utilisateurs des entreprises dans leurs tches quotidiennes. La SOA propose un modle pour structurer et organiser les SI. Il sagit dun nouveau concept darchitecture qui rpond deux objectifs :
La rduction des cots. Dans une optique doptimisation et de comptitivit, toutes les entreprises cherchent rduire leurs cots. Cela passe notamment par la rduction des cots IT : essayer de rduire les cots de maintenance et dvolution de SI. Pour cela, nous verrons quun des champs daction de la SOA est de matriser et de standardiser le SI. LE TEXIER Nicolas 10 Etat de lart de la SOA La SOA vise galement rduire les cots mtier : en accentuant lautomatisation de certaines tches faible valeur ajoute par exemple, elle accroit la productivit et la rapidit.
Lalignement du SI sur le mtier Le SI est galement mis contribution pour rendre lentreprise ractive : les utilisateurs sattendent pouvoir grer et trouver les informations dont ils ont besoin rapidement. Laxe majeur de la SOA est dadapter le SI la faon dont le mtier fonctionne : pour cela, elle rend flexible le SI pour une meilleure circulation des donnes entre les applications. Le SI, en accompagnant lentreprise dans son mtier, lui permet dtre plus comptitif.
I.2.B O en est la SOA ?
La SOA tire ses origines dans lEAI (Enterprise Application Integration). Apparu dans les annes 1990, lEAI mettait en place une plate-forme dchange fdrant et dcouplant les applications de lentreprise. Il rpondait au besoin de communication des applications back- office. Ne dans les annes 2000, la SOA intgre cette notion de plate-forme dchange dans un de ses outils et va plus loin, comme nous lavons vu en replaant le mtier de lentreprise lorsquelle faonne larchitecture du SI.
Selon le groupe Gartner, entreprise de conseil et de recherche dans les technologies, la SOA serait actuellement dans sa phase de maturation :
Selon ce groupe, la prsence dune technologie sur le march suit plusieurs tapes : - une premire tape lie lapparition de la technologie : elle profite de leffet de nouveaut et contient toutes les attentes. - une tape correspondant au pic de la technologie : les promesses ainsi que les attentes des utilisateurs sont suprieures au potentiel rel de la technologie. - une phase de dsillusion : les premiers projets sur cette technologie chouent, la technologie nest pas encore aboutie. Les clients et les intgrateurs qui cherchent mettre en uvre cette technologie ne sont pas assez mrs pour matriser cette technologie. - Une phase de maturation, la nouvelle technologie rgle ses imperfections, le public ladopte progressivement : les comptences commencent saffiner sur le produit, la mthodologie se renforce et des projets aboutissent, - La dernire phase : celle de la production : la technologie ainsi que les clients sont mrs. Son statut quitte le domaine de linnovation. Figure 3 : Le cycle de vie dune technologie selon le groupe Gartner LE TEXIER Nicolas 11 Etat de lart de la SOA La situation de la SOA diffre selon les experts : elle oscillerait entre la phase de dsillusion et de maturation. De leur ct les web services , technologie standardise permettant la communication entre les systmes, souvent prsents dans la SOA sont quant eux dans leur phase de production. La technologie utilise par la SOA est prte, mais la mthodologie de ce vaste domaine reste encore tre approfondie. Selon le groupe Gartner, en 2011, 60% des logiciels dentreprise vendus utiliseront la SOA, les Web-Services ou le Web 2.0.
I.2.C Les acteurs de la SOA
Trois protagonistes jouent un rle dans la mise en place dune architecture SOA : les diteurs, qui crent et vendent des solutions techniques, les intgrateurs, qui mettent en uvre les projets SOA et les clients qui souhaitent appliquer cette architecture dans leur SI.
Les diteurs Chez les diteurs de solution SOA, on retrouve deux catgories : les gnralistes comme IBM, Microsoft, Oracle ou SAP et les spcialistes comme Tibco ou webMethods.
Les intgrateurs Comme les diteurs, on retrouve chez les intgrateurs des spcialistes comme Vistali ou Devoteam, et des grands noms comme Logica notamment. Logica dispose dune position de leader en France dans la SOA depuis 2005 (source PAC). Elle possde son actif plus de 200 projets russis chez plus de 100 clients provenant de secteurs varis : finances, banques, assurances, secteur public, nergie, tlcom, industrie, distribution, transport. Cette position accroit la notorit de Logica dans ce domaine.
Figure 4 : Les diteurs majeurs de solutions SOA Figure 5 : Le positionnement de Logica vis--vis de la concurrence LE TEXIER Nicolas 12 Etat de lart de la SOA Les publications dans la presse ainsi que les ouvrages de rfrence traitant de la SOA renforcent limage de marque de Logica.
La position avantageuse de Logica sur le secteur de la SOA lui permet de saisir des opportunits uniques : la SOA a une croissance attendue de +10% (source PAC 2009). Dans un march des services informatiques prvu en rcession en 2009, Logica aspire tre le prestataire de rfrence.
Les clients A quel type de client la SOA peut-elle sadresser ? Trois grandes catgories se distinguent : - Les clients qui ont des SI de taille importante, les grands comptes notamment (ex : Total, Areva, Auchan) Ils possdent de nombreuses applications mettant en jeu des interactions complexes. - Les clients tant trs rpartis gographiquement. Les entreprises issues de rachats multiples (ex : Sanofi-Aventis, Alcatel-Lucent) par exemple peuvent possder plusieurs SI qui doivent communiquer entre eux. - Les clients dont le SI est au cur de leur mtier. Les SI des banques (ex : LCL, SG ,) sont de bons exemples car lenjeu dun SI performant est vital, une grande partie de leur mtier tant virtuelle et automatise. Les tlcoms (ex : SFR, Orange) sont galement concerns.
I.3 Le droulement du stage
I.3.A Les diffrentes tapes
Le stage sest droul en deux phases. La premire phase a t une initiation au domaine de la SOA. Ds mon arrive, on ma rapproch dune quipe de deux personnes travaillant sur un prototype pour une collectivit locale. Ce prototype portait sur la ralisation dune plate- forme de services administratifs en ligne (e-services), disponibles pour les internautes afin de simplifier leurs tches administratives (inscription aux listes lectorales, ) Logica avait charge dy appliquer certains concepts de la SOA pour rendre le SI flexible afin que les donnes mises en jeu puissent circuler facilement. Observer le fonctionnement du prototype a t une excellente introduction pour minitier la SOA.
En accompagnement des tutoriels sur loutil utilis pour le prototype, jai reu des formations de la part de mon matre de stage, Philippe Meret. De nature trs thorique, ces formations portaient sur la SOA et les domaines concerns tels que le rle des plates-formes dchanges pour rendre interoprables les applications des entreprises, la gestion des workflows, les IHM multi-applicatives et la gestion des donnes de rfrence partages entre de multiples applications.
On ma alors rapproch des outils de lditeur Tibco pour que je puisse monter en comptence. Tibco est un diteur qui propose des outils suivants trois axes : les services, les processus mtiers et la gestion, la supervision et loptimisation des services et workflows. Un consultant Tibco ma fourni une Machine Virtuelle (VM) contenant le ncessaire pour pouvoir my initier. En mme temps que je commenais manier les outils Tibco, un autre stagiaire se lanait sur loutil JBoss. Cette situation a permis une comparaison des outils pour le dveloppement de plates-formes dchanges. LE TEXIER Nicolas 13 Etat de lart de la SOA Jai ainsi eu loccasion de manipuler la plate-forme SOA de Tibco : de loffre BusinessWorks pour la gestion des services grce au logiciel Designer en passant par loffre iProcess mettant en place des workflows (les processus mtier des entreprises) grce au logiciel Business studio et en terminant pas la gestion des IHM grce General Interface, outil intgrant les appels de web services et les Rich Internet Application (RIA : application web offrant des caractristiques similaires au applications traditionnelles sur linteractivit et la vitesse dexcution).
La deuxime phase a port sur une mise en pratique des outils et des concepts thoriques intgrs prcdemment. Premirement, partir de la mi-juin, jai eu loccasion dassister un prototype pour une entreprise dans le domaine des assurances. Base Brest, cette entreprise propose des contrats dassurance vie. Le prototype consistait rendre flexible et moderniser une de leurs applications existantes sous Java/struts. Il sagissait dintgrer une plate-forme de mdiation et des workflows grant leurs processus mtier dans leur SI. Deuximement, mon matre de stage ma engag sur la ralisation de deux prototypes utilisant les produits Tibco qui me permettraient dexprimenter les problmatiques de la SOA. Ces prototypes taient senss tre des modles gnriques, qui pourraient ainsi reprsenter des projets dvolution du SI.
Sagissant dun stage orient R&D, faire ltat de lart de la SOA a t lactivit la plus dominante : transverse toutes les activits, il tait indispensable de sinformer, de collecter des informations, de prendre du recul et de se remettre en question pour acqurir un esprit critique sur la SOA.
I.3.B La mthodologie
Les interlocuteurs Philippe Meret : Responsable de loffre SOA chez Logica, il tait mon matre de stage durant ces six mois. Grce ses formations, jai eu lopportunit dassimiler les concepts lis la SOA. Interlocuteur privilgi, il dessinait le chemin suivre du stage. Thomelin Marot : stagiaire chez Logica de janvier juin, il a travaill sur le prototype pour la collectivit locale. Grce lui, jai eu loccasion de mintgrer plus facilement. Nous bnficiions ensemble des formations de M.MERET. Nous travaillions en parallle sur diffrents outils ESB. Eric Tardif et Nicolas Marzin: consultants Tibco. Le premier ma fourni les outils ncessaires pour minitier aux produits Tibco. Le second suivait de prs le prototype pour lentreprise dassurance et y apporter son exprience technique. Il ma par ailleurs donn une formation en juillet dune journe qui ma permis de consolider mes connaissances techniques et rpondre mes interrogations. Stphane Deschamps : senior manager IT chez Logica, il encadrait le prototype pour la socit dassurance. Yohann Botquelen : consultant ECM et BPM chez Logica, il se dplaait sur Brest pour travailler directement avec lquipe technique de la socit dassurance.
Les lieux du stage Lensemble du stage sest droul dans les locaux de Logica Carquefou. Jtais rattach la cellule architecture technique. Lensemble du projet pour la socit dassurance se droulait en revanche sur Brest. Cette distance rendait plus difficile lobservation de lavancement du projet. LE TEXIER Nicolas 14 Etat de lart de la SOA Les outils Loutil principal disposition tait un PC muni des outils de programmation ncessaires. Le PC possdait une connexion au rseau, ce qui permettait davoir accs aux ressources utiles pour travailler. Les reprsentants de chez Tibco mavaient fourni deux machines virtuelles, une sous Unix et une sous Windows 2003 serveur, contenant les outils ncessaires pour le dveloppement de projets. Il sagissait l dun gain de temps car linstallation et le paramtrage de lenvironnement de travail Tibco est complexe. Les autres outils que jai pu tre amen utiliser, comme OpenESB par exemple, taient souvent gratuits et disponibles sur le net.
I.3.C Le planning
La rpartition des activits ralises durant le stage Logica est le suivant :
La premire activit a t de prendre en main loutil OpenESB de Sun. Grce au prototype pour la collectivit locale, cela a t une porte dentre pour assimiler les concepts lis aux ESB. Les tapes de formation sur la SOA et de consultation de documents sur ce sujet prennent une faible proportion sur ce graphique, mais taient en ralit des points de dpart pour des comprhensions et des rflexions sur ce vaste domaine. Les trois tapes de prise en main des outils Tibco prennent eux trois une partie importante du stage. En effet, la monte en comptence sur loffre de cet diteur tait un des objectifs du stage. Lautonomie pour lapprentissage de ces outils a sans doute augment le temps pass sur ces tapes. Lactivit ralisation de prototypes se compose de modles gnriques que jai raliss en fin de stage pour mettre en vidence les problmatiques de la SOA et dexemples que jai t amen raliser et qui sont transverses aux activits de prise en main des outils. Lactivit Transfert dinformations reprsente le temps pass sur la rdaction de documents crits comme ce prsent rapport et sur les formations que jai pu raliser auprs de collaborateurs de Logica qui souhaitaient galement monter en comptence. Figure 6 : Rpartition du temps pass sur chaque tche majeure du stage LE TEXIER Nicolas 15 Etat de lart de la SOA
Chapitre II :
Le rle de la SOA dans lvolution des Systmes dInformation
LE TEXIER Nicolas 16 Etat de lart de la SOA On la dit dans le premier chapitre, pour qu'une entreprise soit comptitive, une des solutions est de rduire les cots lis au SI (maintenance et volution) tout en lutilisant comme levier pour la croissance de lentreprise. En effet, un SI performant permet lentreprise de se diffrencier. Un mauvais SI peut au contraire retarder son dveloppement. Tout au long de ce chapitre, nous allons prendre un cas dcole pour exposer les problmatiques dun SI et voir ce quapporte lapplication de certains concepts de la SOA. Intressons-nous la gestion des collaborateurs au sein dune entreprise, notamment sur laccueil dun nouveau collaborateur :
Le nouvel employ arrive. Un exemple de procdure suivre pourrait tre le suivant : le service RH collecte les donnes sur lemployes et les enregistre dans son application HR Access . La RH transmet ensuite un formulaire papier au service Paie linformant de larrive du nouveau salari et lui communiquant des informations lies au salaire. Cependant, le service paie doit attendre une journe pour quun batch mette jour sa base Employ depuis celle du service RH. Cest seulement le lendemain quil est possible de slectionner le salari depuis lapplication Sagaie du service Paie pour y ajouter des donnes lies la feuille de paie. Le manager, de son ct demande directement au service bureautique de crer une adresse courriel et de crer un compte informatique depuis le nom, prnom et identifiant du nouveau salari. Le service bureautique dispose pour cela dune application spcifique, dveloppe en .NET. Aprs avoir cr ladresse courriel, il le transmet au service RH qui met jour les donnes de lemploy Pourquoi la procdure nest pas optimale ? Dune part la saisie des donnes de lemploy est ralise deux fois, une fois par le service RH et lautre par le service bureautique. Dautre part, le service Paie doit attendre le lendemain de linscription dans la base RH pour pouvoir complter sa base de donnes. Enfin, les services ne disposent pas doutils adquats pour communiquer ensemble : formulaire papier, tlphone, courriel, Figure 7 : Laccueil dun salari dans une entreprise vu depuis le SI LE TEXIER Nicolas 17 Etat de lart de la SOA II.1 La transversalit des systmes dinformation
Pour mettre en avant les cots de maintenance et dvolution du systme dinformation, nous allons analyser quel type darchitecture il est possible de trouver dans les SI actuels des entreprises.
Intressons-nous larchitecture du SI de la figure 7. On se rend bien compte que lentreprise fonctionne par silo. Les diffrents services possdent leurs propres applications construites de faon dsorganise, adosse des technologies htrognes, rarement interoprables. Or les services ont parfois besoin des donnes contenues dans les applications dautres services. Le SI tant compos de silos indpendants, il devient difficile de les faire interagir. Dans notre cas dcole, certaines donnes du nouvel employ (nom, prnom, id) sont immuables et doivent tre partages entre les applications. Ce partage de donnes est lent et son support nest pas adquat. Il y a donc un manque de transversalit entre les applications. Cet exemple est une illustration des problmes que rencontrent la majorit des entreprises aujourdhui. Pour pallier ces problmes, il est ncessaire de trouver une solution qui garantisse la circulation des donnes entre les applications du SI.
II.1.A Le systme point point
La premire solution qui vient lesprit pour faire communiquer plusieurs applications entre elles consiste crer pour chaque fonction mtier dune application une interface ddie aux changes avec une autre application. Ces interfaces sont spcifiques aux applications ainsi quaux donnes mises en jeu dans la fonction mtier. Voyons ce que devient notre exemple si nous y appliquons des interfaces ddies sur chaque application :
Lapplication du service RH collecte les donnes sur lemploy : id, nom, prnom, date dentre, date de naissance, ainsi que des donnes lies sa formation, la gestion de sa carrire et sa rmunration. Nous construisons une interface sur les applications RH et Paie Figure 8 : Schma dune architecture point point LE TEXIER Nicolas 18 Etat de lart de la SOA pour quil y ai transfert des donnes (Id, nom, prnom et salaire) sur le nouvel employ de lun lautre. Lapplication RH est cense tre la rfrente pour les donnes de lemploy. Il aurait t cohrent que les donnes (id, nom, prnom) sur lemploy transitent entre lapplication RH et lapplication Bureautique via une interface. Cependant lapplication RH tant un systme complexe (par exemple), il tait moins coteux de construire une interface entre lapplication Paie et lapplication Bureautique. Enfin, aprs avoir cre une adresse courriel, lapplication Paie envoie grce une interface ladresse courriel lapplication RH pour quelle mette jour sa base.
On peut rajouter des interfaces sur les applications pour par exemple mettre jour ou supprimer un employ,
L'architecture de cette structure (architecture en point point) engendre le syndrome du plat de spaghetti. Caractrise par un couplage (adhrence) trs fort entre chaque application, cette architecture provoque une rigidification du SI : si lune des applications est modifie, il faudrait galement rpercuter cette modification sur lensemble des interfaces associes. Sur notre exemple, si nous venons remplacer lapplication Bureautique par une autre, loublie de la modification de linterface spcifique pour la mise jour de ladresse courriel du nouveau salari dans le service RH entranera labsence dfinitive de cette mise jour.
Cette situation complexifie la maintenance et lvolution du SI. Pour une entreprise ayant plus d'une centaine dapplications, les cots deviennent vite exorbitants :
Ce type darchitecture nest pas adapt pour les entreprises daujourdhui : dans un contexte conomique propice aux fusions-acquisitions ou lexternalisation dactivits, le SI doit souvrir aux clients, aux partenaires, aux fournisseurs, aux filiales, Les entreprises se rorganisant sans cesse et les mtiers tant en perptuelle volution, le SI doit suivre le rythme du changement. Il est donc ncessaire de rechercher un autre modle darchitecture plus souple.
Figure 9 : Rigidification du SI par une architecture point point LE TEXIER Nicolas 19 Etat de lart de la SOA II.1.B Lmergence des plates-formes dchange
Parce que le modle point point ne permettait pas de rpondre efficacement la problmatique de lentreprise, il est apparu la fin des annes 1990 le concept dEnterprise Application Integration (EAI), bas sur des plates-formes technologiques spcialement ddies la gestion des changes entre applications.
Dans ce modle, chaque application ne communique quavec lEAI par le biais de message. Concernant les messages, lEAI assure : - La connectivit : grce des connecteurs, la plate-forme sait communiquer avec tous types de technologies (base de donnes, fichier, MainFrame, ERP,), elle masque ainsi lhtrognit technologique et protocolaire, - Le transport : la plate-forme assure lacheminement des messages dun ou plusieurs metteurs un ou plusieurs destinataires en mode synchrone ou asynchrone. Le routage du transport peut tre statique ou dynamique : laiguillage du message se fait suivant le contenu du message ou non. LEAI ralise une communication au fil de leau , cest--dire que les messages arrivent au plus tt au(x) destinataire(s). - La transformation : passage du format des messages sources au format cibles : o Conversion de structure :
o Conversion de type : Passage dun format de date une autre par exemple. o Transcodification : Fonctionnant pas rfrence croise, il sagit dune table qui permet de faire la correspondance entre des donnes pour les diffrentes applications :
PARAM APP_ID VALUE KREF_KEY Code_Pays A France 1 Code_Pays B FR 1 Code_Pays C FRAN 1 Code_Pays A Etats-Unis 2 Code_Pays B US 2 Code_Pays C USA 2
Figure 10 : Schma dune architecture utilisant un EAI Figure 11 : Passage du format dune application A vers le format dune application B Figure 12 : Exemple dune table de transcodification LE TEXIER Nicolas 20 Etat de lart de la SOA Si lapplication A appelle un service en lui fournissant le paramtre France , le service utilisera cette table pour adapte ce paramtre celui utilis par les applications B ou C. Le service fait deux requtes : une pour rcuprer la valeur de KREF_KEY grce aux valeurs connus du nom du paramtre (Code_Pays), de lapplication source (A) et de la valeur contenu dans le message (France). La requte renvoie 1 . Lautre requte utilise ce chiffre ainsi que le nom du paramtre (Code-Pays) et le nom de lapplication cible (B par exemple) pour retrouver la valeur associ France . La requte renvoie ici FR . o Rgles lmentaires : comme la concatnation par exemple. Il nest cens sagir que de formatage, sans enrichir ni appauvrir les donnes.
Techniquement, lEAI se compose de trois lments : des connecteurs, un middleware orient message et un courtier de message (ou broker) :
Les connecteurs applicatifs offrent la possibilit de collecter et de transmettre de linformation depuis ou dans une application, quelle que soit la technologie sur laquelle cette application est btie. Ce sont eux qui gomment lhtrognit technologique du SI. Les connecteurs savent autant dialoguer avec une base de donnes quavec un progiciel, que produire ou lire des fichiers.
Le mapper est un composant ddi la phase de transformation des donnes et il est donc utilis au cours de lexcution des changes. Ce sont les connecteurs applicatifs qui communiquent au mapper linformation smantique sur les formats. Le mapper trace des correspondances entre le format source et le format cible. Des oprations de calcul, de gestion de dates, de transcodification peuvent y tre rattaches. Grce au format pivot, lchange est gr sous la forme de deux demi flux : si une application venait tre modifie techniquement, lintervention de maintenance ne se droulera que sur un des deux demi-flux.
Lutilisation dune messagerie permet de supprimer la gestion de la garantie de livraison de messages des applications. Les applications peuvent alors rallouer leurs ressources dautres oprations. Si les applications cibles ne sont pas disponibles, les messages sont conservs et ne seront distribus que lorsque les applications seront de nouveau prtes communiquer. Figure 13 : Larchitecture EAI simplifie LE TEXIER Nicolas 21 Etat de lart de la SOA Le courtier de message va disposer de lintelligence spcifique la gestion des changes : - Il va intgrer le mapper et assurer les transformations, - Il assure les fonctions de routage : routage statique sur la base de rgles fixes, mais galement routage dynamique bas sur le contenu du message par exemple, - Il peut incorporer des fonctionnalits lies la scurit des informations.
L o une multiplication des fluxs interapplicatifs du point point produit dans la dure une rigidification du SI, larrive des solutions EAI a apport une rationalisation dans la zone dchange grce une standardisation de ces changes. Elle a galement modifi la nature des transports de donnes, en passant du fichier, entit dominante, globalisante et conteneur dinformation au message, information unitaire, contenu autonome [1]. Le couplage lche permet une rduction des adhrences entre les applications, ce qui donne lEAI lavantage dorganiser (urbanisation) et dindustrialiser la communication inter- applicative :
Dans notre exemple de gestion des employs, lintgration dune plate-forme dchange type EAI permet de saffranchir de la barrire des diffrences technologiques des applications et de rationaliser les communications inter-applicatives (organisation mieux structure). Ds quun nouvel employ est enregistr dans lapplication RH, un message de mise jour des donnes des applications Paie et Bureautique est aussitt envoy travers lEAI. La communication au fil de leau permet de mettre jour le plus tt possible les donnes des employs. L o auparavant un batch mettait jour la nuit la base Paie et l o le manager devait renseigner oralement les donnes au service Bureautique, lEAI permet dtre plus rapide et plus adapt pour lentreprise. De manire gnrale, en apportant une gestion diffrente de la cadence et de la temporalit des changes, elle peut acclrer certains processus critiques, au profit de la performance de lentreprise.
En conservant les applications existantes, lEAI apporte une volution au SI et non une rvolution. Malgr tout, l'EAI ne peut intgrer tous les processus mtier : il subsiste toujours un problme dalignement entre le mtier de lentreprise et son systme dinformation. LEAI ne peut tre une rponse lui seul : sur la figure prcdente, on se rend bien compte que lEAI nest quun outil pour les communications inter-applicatives, le rle de lutilisateur ou de son mtier nest pas considr. Par ailleurs, l'EAI repose sur des technologies propritaires : les lments de loutil, notamment les connecteurs ne sont pas standardiss, ce qui complexifie la maintenance. Figure 14 : Intgration dune plate-forme dchange LE TEXIER Nicolas 22 Etat de lart de la SOA II.2 Larchitecture oriente service
Nous avons vu dans le premier chapitre que la SOA tait un style darchitecture en plein essor depuis quelques annes. Ce concept cherche replacer lutilisateur et son mtier au cur des proccupations du SI. Pour cela, la SOA propose un modle quatre couches : processus, fonctions, applications et technologies.
Lun des principes de la SOA est la remise en cause de la notion dapplication, autrefois indissociable du paysage informatique, et dont il est dsormais possible de saffranchir progressivement. Lapplication, bloc monolithique fourni cls en main, peut tre vue comme un ensemble de fonctions, de services, mais lis de manire indissociable, et difficilement accessibles de manire indpendante. De plus, lapplication, entit technologique, offre une granularit insuffisante pour reprsenter le mtier de lentreprise : une seule application ne suffit pas. Labsence de flexibilit des applications est lorigine des difficults de passage du mtier lIT. Cest ce quillustre la figure 15.
Nous allons voir dans cette partie ce quapporte le concept de service de larchitecture SOA et comment elle russit remettre en cause cette notion dapplication pour un meilleur alignement entre mtier et SI.
II.2.A Le service, au centre de la SOA
La figure 13 nous montrait quil nexiste pas de liaison simple du mtier lIT. Or la capacit voluer du modle la ralit est une condition indispensable dalignement rapide du SI. Le service rconcilie les deux visions : il est simultanment une fonction mtier et une application :
Figure 15 : De la fonction lapplication : une liaison loin dtre fluide [1] Figure 16 : Le service, articulation entre mtier et IT [1] LE TEXIER Nicolas 23 Etat de lart de la SOA Le service Un service est un lment fonctionnel qui dcrit une fonction de lentreprise. La cration dun client, la valorisation dun stock, un calcul de prt immobilier sont des services.
Il est caractris par son contrat de service, c'est--dire quil doit offrir lassurance du bon fonctionnement de lactivit quil est cens oprer. Le contrat de service comprend : - Un contrat dinterface qui dcrit les oprations contenues dans le service et les paramtres de chaque opration. Pour exemple, le service de gestion dun produit peut contenir les oprations : creerProduit, modifierProduit, supprimerProduit,... - Des lments de qualit et dutilisation : disponibilit, ractivit, scurit, volumtrie,
Les services peuvent tre comparables aux briques Lego. Chaque brique reprsentant un traitement mtier de lentreprise. Pris dans leur ensemble, ils assurent la logique mtier. Lavantage est que chaque brique est indpendante : cela assure la rutilisabilit de chaque brique pour une possible volution.
Ladministration des services est possible : une supervision rend compte de ltat du service, de son statut, des logs derreurs, Des options permettent galement le load balancing.
Le concept de granularit des services permet une souplesse au niveau de la conception. La granularit dfinit la finesse des services. Par exemple, le service GetPersonnes a une plus forte granularit que le service GetNom . Les services de forte granularit possde une valeur ajoute plus forte et sont gnralement utiliss par les couches suprieures comme les IHM. En revanche, les services de faible granularit qui ralisent des activits plus lmentaires, comme lapplication de simples rgles mtier, composent les services de plus grosses granularit.
Un peu de technique Les web services sont gnralement les plus utiliss pour raliser les services. Ils sont identifis par une URI et leur interface sont dcrites et appeles en XML. Voyons de quoi un service web est compos : Figure 17 : Dcomposition de la logique mtier en briques indpendantes LE TEXIER Nicolas 24 Etat de lart de la SOA Les fichiers WSDL (Web Services Description Language) est un fichier standardis qui dcrit le contrat dinterface du service, ainsi que le protocole de communication. Toutes les donnes sont au format XML. Cest un format simple et dj trs intgr dans les entreprises. SOAP est le protocole standard dencapsulation des messages XML. En plus des donnes structures en XML, il permet grce aux espaces de noms et la spcification XML schma de transmettre des donnes complexes en XML. Le protocole de communication le plus courant est le HTPP (Hypertext Transfer Protocol). Il est largement accept, tolrant aux fautes et adapt aux formats textes (XML).
Lannuaire (Registry) et le rfrentiel (Repository) Dans la figure 18, le consommateur fait appel un annuaire pour trouver la description dun service, notamment ladresse physique du fournisseur du service. La rponse de lannuaire permet ce consommateur dinvoquer le service ladresse indique. Lannuaire joue donc le rle dintermdiaire qui donne la description du service, notamment son adresse. Il cre un couplage lche entre le consommateur et le fournisseur. Comme un annuaire tlphonique, lannuaire montre son intrt par exemple si le fournisseur de service changeait dadresse : seule ladresse de lannuaire est modifier. En faire lconomie reviendrait modifier ladresse chez tous les consommateurs.
Le schma de fonctionnement dun change entre un consommateur et un fournisseur de service est le suivant :
Lannuaire standard pour les web services est lUDDI (Universal Description Discovery and Integration). Le rfrentiel de service est un outil qui permet de modliser et de rpertorier les services. Il vite la prolifration de service. Pour pouvoir assembler ces briques, il faut connatre la fois leur existence et leurs caractristiques. Il permet ainsi la gouvernance et la rutilisation rapide et facile des services.
II.2.B - Le rle de lESB dans la SOA.
Suite lapparition de ce concept de service, une nouvelle gnration de plate-forme dchange est ne : lESB (Enterprise Service Bus). LESB est un composant logiciel charg Figure 18 : Fonctionnement des web services [5] LE TEXIER Nicolas 25 Etat de lart de la SOA dassurer les changes dinformations entre services. Couche basse dune architecture oriente services, elle fournit des fonctionnalits comme le transport scuris de linformation, la transformation des donnes de routage bas sur le contenu. Mme si lutilisation des protocoles Web Services garantit linteroprabilit, tous les composants dune architecture SOA ne respectent pas nativement ces protocoles. A dfaut de pouvoir faire voluer ces composants rapidement, il faut savoir composer avec leur faon de communiquer : fichiers plats, XML, accs Base de Donnes, API propritaire, Cest lESB de grer ces aspects [1]. Il devient par consquent un lment essentiel de linteroprabilit de larchitecture, en assurant le passage dun protocole dchange un autre, en propageant les protocoles de scurit, en assurant les transformations de format. Partant dici, lESB devient une solution proche de ce que proposait lEAI. L o il tait plus naturel dutiliser des communications asynchrones avec lEAI (pas dacquittement), la notion de service semble plus adapte pour les communications synchrones : On sattend la rponse dun service lorsquon lui fait une requte.
Voyons ce que provoque lapparition dun bus ESB dans notre exemple de gestion demploys :
Les fonctions Mettre jour les donnes Employs qui taient prsentes dans trois applications diffrentes sont dornavant accessibles, grce la mise en place de service, depuis un seul point dentre. Il est ainsi possible de construire une IHM adapte qui fera appel ce service. Figure 19 : lESB dans le systme dinformation LE TEXIER Nicolas 26 Etat de lart de la SOA Grce sa flexibilit, lintgration de cette plate forme dchange permet de combler le foss quil y avait entre les utilisateurs et leurs applications. Toute la chane de transversalit est dornavant prise en charge par cette solution ddie. Ce gestionnaire de flux est le centre de ce que le Gartner Group nomme le systme nerveux dentreprise . Nous avons vu que la SOA mettait en uvre une architecture de mdiation, qui est un modle dinteraction applicative partir de services. La dcomposition des fonctionnalits mtiers en briques indpendantes permet daligner le SI sur le mtier de lentreprise.
II.3 Les processus mtier des entreprises
Le processus mtier est un enchanement logique dactivits bien dtermines, ayant un objectif mtier prcis. Toute activit peut se dcomposer en processus : il suffit pour cela de se reprsenter lactivit de faon dynamique, c'est--dire dans le temps et de lister toutes les actions ou tches ncessaires lactivit. Les processus mtier sont intressants car ils apportent de nombreuses rponses aux enjeux et aux problmes auxquels sont confrontes les entreprises. Ils permettent par exemple doptimiser le temps dactivation dun service client, facteur diffrenciateur dun fournisseur tlcom ; dassurer la traabilit des oprations engages dans une opration bancaire, ncessit rglementaire absolue des tablissements financiers ; de normaliser les pratiques et les procdures, problmatiques des grands groupes internationaux ; doptimiser la productivit ; etc Pour se reprsenter cette avance, on peut penser aux progrs enregistrs par la production industrielle au cours du sicle dernier lorsquelle a mis en place la chane de production, le cur du processus de production [1].
Sur lexemple de larrive du nouveau collaborateur dans son entreprise, on observe que le processus daccueil est un processus bien dfini, et quil met en jeu des organismess indpendants : RH, Paie, DSI, Cette situation demande beaucoup de dmarches : les acteurs se transmettent des formulaires manuellement appliquant une mthode empirique utilise depuis longtemps. Cette mthode montre une certaine lenteur pour le nouveau salari. De plus, le manager RH a peu de moyen de pilotage pour optimiser le processus daccueil. Nous allons voir dans cette partie comment mettre en pratique la gestion des processus mtier et quel bnfice on peut en tirer.
II.3.A Le Business Project Management (BPM)
Le BPM est une approche de gestion des processus mtier, centre sur la gestion de linformation qui y circule. Il repose sur les principes fondateurs suivants [1]: - Une stratgie damlioration continue selon un cycle de modlisation (dcrire), dautomatisation (excuter) et de supervision (mesurer) des processus mtier ; - Une organisation processus, dfinissant les rles, responsabilits et comptences ncessaires la mise en uvre, lexcution et au pilotage des processus. - Une mthodologie permettant doutiller la dmarche processus selon le cycle damlioration continue et lorganisation processus ; - Des outils logiciels confrant une couche processus mtier au SI. Le BPM constitue une dmarche qualit, une mthode de management et une veine technologique.
LE TEXIER Nicolas 27 Etat de lart de la SOA Si on reprend notre exemple daccueil du collaborateur, lide du BPM est dautomatiser le droulement du processus daccueil du collaborateur pour que lentreprise puisse le piloter, le matriser et lamliorer. Comme les processus mtier sont souvent transverses au SI, nous pourrons alors utiliser une plate-forme dchange pour lancer des fonctions mtiers. La prsence dun ESB peut tre utilise par les tches automatises par simple appel dun service pour effectuer des traitements sans intervention humaine : stockage de donnes, requte sur des tables, Concrtement, on dcrit le processus dans un workflow : on y place les activits mises en jeu, les donnes quelles schangent et la logique qui les rgit. Ces activits sont soit automatises et lappel un service mtier suffira, soit elles ncessitent lintervention humaine. Chaque utilisateur intervenant dans le workflow possde une corbeille de tches. Si le workflow ncessite lintervention dune personne, la tche lui est affecte. La personne ouvre la tche et traite la demande. Il est possible de crer une IHM adapte la tche. Le processus daccueil du collaborateur peut maintenant tre mis en place :
Dcryptons ce schma. A larrive dun nouveau salari, une personne du service RH lance le processus Process Accueil Collaborateur en ouvrant une IHM appropri. Pour cet exemple, considrons que lIHM consiste en un formulaire demandant les donnes sur le nouvel employ. Le processus est lanc. La deuxime tape est une activit automatise qui reoit en entre les donnes sur lemploy en sortie de la premire activit. Lactivit (applicative) fait appel un service de lESB. Ce service se chargera de mettre jour les Bases de Donnes des services RH, Paye et DSI. Lorsque le workflow arrive la troisime activit, une tche est mise en attente dans la corbeille de tche du service Paye. Un membre du service louvre et une IHM adapte cette activit saffiche. Cette IHM lui demande de mettre jour les donnes bancaires du nouveau salari. Sur lexemple, le formulaire Web Form Paie communique directement avec la Base Figure 20 : le BPM au service du mtier de lentreprise LE TEXIER Nicolas 28 Etat de lart de la SOA de Donnes Employ Data du service Paye : il se peut pour une raison de performance que les donnes de lIHM soient directement envoys un service web pour ne pas que les donnes transitent dans les workflow. Les donnes transitant entre les activits du workflow ntant plus que des donnes pour soit identifier ltat du processus, soit tre utilises dans sa logique denchanement. La communication entre lIHM et la BdD aurait pu galement se faire via un service web. Aprs la dernire tape, similaire la troisime, le processus daccueil du nouveau collaborateur est termin : il est correctement inscrit.
Le BPM prsente trois atouts essentiels [1]: - Une amlioration significative de lalignement entre mtier et IT ; - Une ouverture importante au changement continu ; - Une participation forte la globalisation du SI.
II.3.B Les enjeux de la gestion des processus mtier
Voyons quelle est la pertinence de la mise en place dune gestion des processus mtier [1]:
Efficacit et efficience Le premier terme dsigne un taux de russite : si un vendeur vend beaucoup. Le second terme reprsente son efficacit : si le vendeur vend rapidement. Du point de vue de la performance des processus mtier, lefficacit tmoigne de la valeur cre par le processus et lefficience du cot engendr. Pour amliorer ces indicateurs, il faut sassurer que le travail ralis tout au long du processus est optimal, c'est--dire quil ny a ni perte dnergies, ni perte de temps. Dans notre exemple, on amliore lefficience en portant attention aux tches sans valeur ajoute (saisie informatique), aux redondances de tches dues une mauvaise organisation (plusieurs MJ), un outillage inadapt (IHM), un manque de coordination (passage manuel de formulaire dun dpartement un autre), un manque de clart dans le processus. Pour lefficacit, une bonne matrise des processus mtier permet damliorer lorganisation, la collaboration et la qualit. Lefficacit rimant avec rigueur.
Productivit et performance La productivit est synonyme de croissance et de rsultat. La performance reprsente la rapidit de production. La productivit va souvent de pair avec la performance. Pour tre plus productif, il faut matriser les processus de production de bout en bout. Ainsi, une bonne gestion des processus mtier permet damliorer ces deux notions.
Contrle et visibilit Les processus tournent sur un moteur de workflow. Ainsi, ce moteur contient la situation de chaque processus en cours. Il est ainsi possible de superviser les processus mtier. Cest le domaine du Business Activity Monitoring (BAM). Lobjectif du BAM consiste sassurer de la performance des processus mtier en rassemblant les donnes techniques ncessaires, les compiler et les prsenter via une solution de reporting. Les donnes de performances peuvent tre le temps moyen dattente dans une corbeille de tche ou la dure moyenne de traitement dune tche. Dans lexemple prcdent, le manager qui souhaite voir o en est le processus daccueil du nouveau collaborateur disposera de loutil ncessaire pour voir si une activit est en attente ou sil se prsente un problme. Il pourra alors LE TEXIER Nicolas 29 Etat de lart de la SOA agir en consquence et avertir le service Paye par exemple quune tche est en attente depuis quelques temps. Les diteurs de solution BPM fournisse en gnral une solution standard BAM pour superviser et excuter les processus.
Conformit La mondialisation conomique saccompagne dune recrudescence de rglementations. Lapplication de rglementation pour respecter des directives europennes, amricaines, ou pour obtenir une norme passe par la mise en conformit des activits mtier, donc par la conformit de ses processus. La dcomposition du travail offerte par lapproche processus facilite la mise en conformit de toute lactivit.
Standardisation La standardisation vise uniformiser les pratiques au sein de lentreprise et de ses entits. Il est important pour le management de pouvoir se rfrer une base de travail commune toutes les entits qui sont sous sa responsabilit. Les processus sont alors des candidats idaux la standardisation, car ils dcrivent des modes opratoires, ils dfinissent comment travailler.
Lintroduction de BPM dans le SI de lentreprise permet un gain de temps certain : dune part les processus mtier de lentreprise sont modliss et peuvent tre excuts et dune autre part, la transmission des informations ncessaires entre les acteurs des processus est automatique. Le BPM est un excellent outil pour replacer le mtier de lentreprise au cur de son SI, il sagit donc dun excellent levier pour la croissance des entreprises. Le nouveau collaborateur dans lexemple prcdent peut donc dornavant tre accueilli facilement et rapidement car on donne chaque acteur de lentreprise la tche quil doit faire. La mise en place des processus mtier sur un support concret (linformatique) a permis de crer des outils adapts de supervision. Le suivi ainsi que lamlioration des performances des processus grce des indicateurs sont possibles.
LE TEXIER Nicolas 30 Etat de lart de la SOA
Chapitre III :
La SOA dans les projets de Logica
LE TEXIER Nicolas 31 Etat de lart de la SOA III.1 Les e-services dune collectivit locale
Cette collectivit locale est une communaut urbaine qui regroupe plusieurs communes centres sur une ville. Cette communaut gre notamment une partie du SI de cette ville. Dans loptique de simplifier certaines dmarches administratives pour les usagers et les agents administratifs, cette collectivit sest lanc dans la mise en place dune plate-forme de services administratifs en ligne ou e-services (inscription aux listes lectorales, inscription la piscine, la bibliothque municipale, au muse, ).
III.1.A Le dialogue comptitif
Ce projet doit permettre toute personne de raliser des dmarches administratives depuis son navigateur internet. Le systme actuel mis disposition des citoyens permet de remplir des formulaires web quils doivent imprimer et envoyer par voie postale ladministration. Lobjectif ici est donc la dmatrialisation complte du processus : les futures dmarches nobligeront plus les utilisateurs envoyer ou porter des documents papiers lagent administratif. Ce systme rend les dmarches plus rapides, plus fiables et moins chres pour lutilisateur et pour la collectivit. Afin de raliser cette plate-forme de-services, cette collectivit a lanc un appel doffre auquel Logica a rpondu. Dans ce cadre, un prototype de plateforme a t mis en uvre. Ce prototype devait rpondre des impratifs :
Grer les carts de disponibilits entre Front-Office et Middle-Office La plateforme e-service permet de raliser des dmarches administratives par Internet. Les utilisateurs sattendent donc un service disponible 24h/24 et 7j/7. Or, toute une partie du SI de la collectivit noffre pas cette disponibilit. Son exploitation est assure 7h par jour, 5j/7. Par consquent il est ncessaire que la partie frontale de la plateforme e-Services, ou Front- Office soit hautement disponible, tout en tant connecte avec une partie du ct de la collectivit (le Middle Office) qui nest pas hautement disponible. Pour satisfaire cette exigence, il est donc ncessaire que la communication entre Front-Office et Middle-Office soit asynchrone.
Lintgration avec les applications Back-Office Une fois que les messages sont passs du Front-Office (FO : lments physiques et logiciels mis en place entre lutilisateur et le systme de stockage des messages) au Middle- Office (MO : regroupe les lments entre lextrmit du systme de stockage de messages et lIHM de lagent), les messages, sils sont valids, transiteront du MO au Back-Office (BO : les applications mtier de traitement et de sauvegarde des donnes). Ces applications du BO peuvent avoir des technologies diffrentes. La plate-forme e-services doit pouvoir communiquer avec toutes ces technologies.
III.1.B Le prototype pour la collectivit
Sagissant dun prototype, le seul cas de traitement des inscriptions sur les listes lectorales en ligne tait raliser. Le processus est le suivant : un internaute se connecte au site de la collectivit et accde la page des services en ligne. Il slectionne linscription sur les listes lectorales. Il remplit les diffrents champs (nom, prnom, adresse, ) et accde une page lui permettant de choisir des documents informatiss joindre sa demande (certificat, passeport,) LE TEXIER Nicolas 32 Etat de lart de la SOA Aprs validation, la demande de linternaute est transmise un service administratif (MO) qui est charg de vrifier la validit de la demande. Lagent de contrle envoie un message destination de lusager pour lui faire connatre ltat (accepte ou refuse) de sa demande. Lorsque la demande est accepte, elle est traite par les applications mtier (BO).
Larchitecture recherche est la suivante :
La mise en uvre du prototype tait ralise par deux entreprises : - Gnigraph, base Toulouse, soccupait des parties portail (jaune) et e-services (bleu), - Logica connectait le FO avec le MO (framework mdiation en vert).
Les collaborateurs de Gnigraph ont mis en place ces frameworks sur un serveur JBoss. La partie portail est mise en place avec Jahia tandis que la partie services web est propose grce un produit interne appel e-Citiz. Les pices jointes aux demandes dinscription sont encodes en base64 dans le FO pour le transport et sont dcodes dans le MO.
III.1.C La gestion des messages
La solution technique pour pallier lindisponibilit du MO est la mise en place dun ESB contenant un bus de message entre le FO et le MO. Ce bus de message transportera toutes les Figure 21 : larchitecture cible du prototype [2] LE TEXIER Nicolas 33 Etat de lart de la SOA demandes entre le poste de lutilisateur et le poste de lagent administratif et sera en mesure de les stocker.
Le produit OpenESB de Sun fonctionnant avec lIDE NetBeans a t retenu pour raliser ce prototype. Bien quaucune comptence sur ce logiciel ntait prsente dans lentreprise au dbut du prototype, il a t choisi pour sa gratuit et pour offrir de nouvelles possibilits techniques la cellule SOA de Logica : cela permet dtre comptent sur plusieurs produits afin dtre en adquation avec les attentes des clients.
OpenESB est un outil qui propose de composer graphiquement les services : il sagit de dcrire par des objets graphiques le contenu du service. OpenESB attribue un fichier wsdl a chacun des connecteurs (fichiers, BdD, ) que le service utilise. Ces fichiers sont propres OpenESB car ces fichiers wsdl dcrivent habituellement les web services. Les lments les plus utiliss sont : receive, invoque et assign. Le premier permet de recevoir les donnes lorsque le processus du service est appel. Le second lance les wsdl propre OpenESB. Le dernier permet de faire un mapping entre les donnes gres par le processus : il est alors possible de faire des traitements sur les donnes. Il est galement possible de mettre en place des rgles de programmation sur les activits : conditions, boucles, gestion des erreurs, Les services sont ensuite dployables sur un serveur dapplication. Glassfish est le serveur standard pour lIDE NetBeans.
Lobjectif du prototype pour Logica tait de proposer une plate-forme de mdiation qui reoive des messages du FO et qui les transmette vers le MO. Le principe de fonctionnement de la plate-forme est le suivant :
Figure 22 : Dtail de la plate-forme de mdiation [2] LE TEXIER Nicolas 34 Etat de lart de la SOA 1 er demi-flux Ce premier demi-flux est lanc par appel dun service web qui transmet toutes les informations de lutilisateur vers une file dattente JMS. Cette file dattente (Java Message Service) permet denvoyer et de recevoir des messages de manire asynchrone, ce qui est tout fait adapt notre objectif. Des gestions derreurs encadre ce processus et informe lutilisateur dans le cas o un problme intervient.
2 me demi-flux. Le second demi-flux est gr par un scheduler qui lance de faon priodique (plusieurs dizaines de secondes) le service web. Ce service ralise dabord un ping sur le MO pour connatre son statut. Si le ping nobtient pas de rponse, le processus du service prend fin. En revanche, si le MO rpond, le service se poursuivra par lenvoi des messages vers le MO. Pour cela, il lancera une fonction qui lui retournera le nombre de message prsents sur la file dattente JMS. Une boucle est lance envoyant chaque itration un message cod en base64. La fin de la boucle quivaut labsence de message sur la file dattente. Les fonctions permettant le ping, lencodage et le comptage du nombre de messages sur la file sont raliss en JAVA.
Le prototype ma servi dappui pour minitier aux ESB. OpenESB est un logiciel libre qui possde une solide communaut de dveloppeurs. Grce aux tutoriels disponibles sur le net, on peut facilement dmarrer avec cet outil. Il sagissait ainsi dune porte dentre intressante pour lapprentissage de la SOA. Aprs mtre imprgn dOpenESB et aprs avoir consult ces tutoriels et les sources du prototype, jai eu loccasion de monter en comptence sur les produits de lditeur Tibco. Jai ainsi pu comparer avec lESB propos par ce spcialiste de la SOA. Disposant des sources du prototype dOpenESB, jai cr un exemple pratique en utilisant lESB de Tibco. Cela ma permis de mhabituer : - A lenvironnement de dveloppement de Tibco sur les ESB : designer, administrator, - Aux standards des web services : WSDL, schma XML, namespaces, - Aux transformations de schma XML vers un autre schma XML suivant un fichier XSL,
Par la suite, le stagiaire qui avait particip ce prototype est mont en comptence sur lESB de JBoss. Il a ainsi t possible de comparer les ESB de Sun, de Tibco et de JBoss. Une matrice sur les ESB sous forme dun fichier Excel a t remplie suivant plusieurs critres. Le rsultat facilitera dans lavenir le choix dun ESB suivant les types de projet.
III.2 Larchitecture du SI dune socit dassurance
Pour des raisons de confidentialits, lentreprise client de Logica sera appel par la suite dans ce rapport socit S . La socit S propose ses clients des contrats dassurance-vie et de prvoyance (assurances- dcs). Cette socit dispose dune application dans son systme dinformation pour la gestion des produits et de ses clients. Elle a pour projet de faire voluer cette application.
LE TEXIER Nicolas 35 Etat de lart de la SOA III.2.A Analyse de lexistant
La premire partie du projet consistait en un POC (Proof Of Concept). Il sagit de crer un prototype pilote permettant de faire la preuve du concept : cette version limite sera teste et son fonctionnement pourra alors tre entrin. La validation du prototype sera la cl pour poursuivre le projet. Lintroduction de workflow tait au cur du projet : Logica devait modliser, c'est--dire expliciter et structurer les mtiers de la socit S via les processus. La dfinition du mtier permettait la structuration des changes, la normalisation des pratiques ainsi que lexplicitation des modes opratoires. Le prototype tait charg dimplmenter le processus de souscription du contrat. Ce processus consiste actuellement en une application utilise par les courtiers : les CGPI (Conseiller en Gestion de Patrimoine Indpendant). Ladhsion un contrat se droule en plusieurs tapes : laccueil et la souscription du client, puis la saisie des informations gnrales sur les contrats et des bnficiaires :
Vient ensuite la saisie des supports du contrat ainsi que leur rpartition. Une synthse fait le rcapitulatif de toutes les saisies.
Lapplication est disponible pour tous les conseillers depuis leur navigateur internet. Du code Javascript permet le contrle de surface : validateur, vrification de rgles simples, Le client communique avec le serveur WEB grce au protocole de communication scuris standard : HTTPS. Le serveur est une application Java/struts. Il communique avec les MainFrame grce des Web services, des appels directs et des API. Larchitecture est base sur le modle MVC struts. Figure 23 : Capture dcran dun des formulaires de lapplication de la socit S [2] LE TEXIER Nicolas 36 Etat de lart de la SOA III.2.B La modernisation du SI
Lobjectif du projet pour cette entreprise tait daligner leur systme dinformation sur le processus mtier de lentreprise. Cet alignement passait par la rutilisation de lexistant. La mise en place dune architecture SOA permet justement de suivre ces processus mtier qui impliquent plusieurs organisations et applications. Les utilisateurs auraient alors leur disposition une interface adapte leurs activits. La rponse cet objectif passe par lintgration dun outil BPM et ESB dans le SI :
Les DSI sont attentifs aux technologies du march. Leur volont de suivre le march et de moderniser leur SI est comprhensible, vu les avantages dune veille technologique. Ladoption de cette architecture standard lavantage de dcoupler les briques entre elles.
Les outils utiliss taient ceux de Tibco. Les licences taient prtes par cet diteur pour ce prototype. Un consultant de Tibco conseillait dailleurs sur place sur la bonne utilisation des outils. Le travail pralable du prototype consistait prendre en compte lorganisation de lentreprise : comprendre la structure du Back-Office, identifier les quipes/acteurs et observer les modes de distribution des tches. Il sagit de la premire phase dans la mise en place dune solution BPM. Cela sera utile pour le paramtrage de loutil final.
Poste de travail orient traitement Dans cette tape, il sagissait doutiller les utilisateurs sur des situations de travail. Dans le prototype, cela passait par la reprise et ladaptation des IHM dj existantes. Les processus mtier taient modliss et intgrs dans un moteur de workflow. Business studio de loffre Tibco iProcess tait loutil utilis pour cette tape. Au final, cette tape offre une rationalisation et une dfinition claire des processus : il est possible de contrler les rgles de circulation et de traitement des dossiers, de dfinir les Figure 24 : Architecture cible du prototype pour [2] LE TEXIER Nicolas 37 Etat de lart de la SOA performances prvues dune procdure et les seuils dalerte et enfin de disposer dune meilleure qualit de dcision. Loutil BAM mis disposition pour superviser les processus mtier permet ladministration et la rpartition des charges : grer les horaires et les agendas et observer les files dattente pour ajuster les charges de travail. Cet outil offre une plus grande flexibilit.
Mise en place dun ESB Lintroduction dune plate-forme de mdiation permettait une rationalisation des communications avec les applications mtier de la socit S. Il sagissait de centraliser et de mutualiser des fonctions gnriques permettant lorchestration des processus tablis dans ltape prcdente. Cette rationalisation est la cl dentre pour le pilotage des processus transverses plusieurs applicatifs. La flexibilit offerte par la plate-forme permet galement de sadapter plus rapidement aux nouveauts du march avec lintroduction de produits ou services nouveaux. Elle facilite les reconfigurations occasionnes par lvolution du mtier, les contraintes rglementaires, les fusions, Il sagissait de rutiliser les web services, dj existants dans lapplication, utiliss pour les communications avec linfrastructure technique. Les API et les appels directs aux Mainframe ont t introduits dans des services grce au logiciel designer de loffre BusinessWorks de Tibco.
III.2.C La gestion du multicanal
Le multicanal est lensemble des moyens (des canaux) pour atteindre un client, par exemple. Utilis par les entreprises, il permet datteindre le plus de clients possible. On retrouve les canaux impersonnels comme la TV, la radio, laffichage qui dlivrent un message indiffrenci toute la population. Au contraire, certains canaux comme le contact direct ou le tlphone ont la capacit des fournir des messages personnaliss. Entre les deux, on retrouve les canaux comme les sites web ou le courrier destins des populations cibles. [3]
Lutilisation de tous ces canaux offre une plus grande interaction avec le client, ce qui permet daugmenter lefficacit des processus et ainsi rduire les cots. Le multicanal peut galement contribuer la croissance de lentreprise en tendant le march et la gamme des clients et en amliorant la capacit dadaptation et la souplesse de lentreprise [3].
Le multicanal dans le prototype pour la socit S Lintgration de la possibilit de faire du multicanal tait galement un des objectifs du projet. Lide partait de lhypothse que si un nouveau partenariat devait se crer entre la socit S et une autre entreprise, cette dernire devrait avoir la possibilit de rutiliser lapplication et les processus mtier sa manire : - En y apportant sa propre charte graphique, - En modifiant facilement lordre des tapes des processus mtier.
Le multicanal : domaine privilgi pour la SOA Le problme qui peut se poser lorsquune entreprise utilise le multicanal est similaire au problme rencontr dans le chapitre II par les entreprises ayant des services/dpartements qui possdent leurs propres applications adaptes leurs besoins : chaque canal sest construit petit petit, comme le SI et chaque canal peut avoir sa propre application avec sa propre Base de Donnes contenant les informations sur les clients. LE TEXIER Nicolas 38 Etat de lart de la SOA Or certains services de lentreprise, comme les commerciaux o les quipes marketing qui souhaitent faire du ciblage et sadapter leurs clients pour faire une communication personnalise se retrouvent confronts autant de Base de Donnes quil y a de canaux.
La solution consiste construire un rfrentiel Client associant de manire intelligente toutes les bases de donnes comportant des informations sur les clients. Coupl ce rfrentiel, la mise en place dune plate-forme dchange comme un ESB offre un ensemble de services qui permet lacquisition, le contrle et la diffusion des donnes entre application.
Le rfrentiel client permet de disposer de donnes client compltes et cohrentes. La gestion de ce rfrentiel est complexe et reprsente un domaine lui tout seul. Le Master Data Management (MDM) permet ainsi la mise en uvre de sources uniques de vrit des donnes de rfrence garantissant lunicit (pas de doublons), la qualit (compltude, Figure 25 : Le multicanal gr de manire dsordonne Figure 26 : Le multicanal, matris par lentreprise LE TEXIER Nicolas 39 Etat de lart de la SOA exactitude, conformit), la cohrence (pas dinformation conflictuelle) et lintgrit (pas de donne manquante) de chacune dentre elles. Lutilisation dune plate-forme de mdiation offre un ensemble de service pour restituer la bonne information aux bonnes personnes. Les IHM des utilisateurs sont des applications composites adaptes aux besoins de chacun : par exemple, lquipe marketing aura disposition un outil adapt lamlioration des campagnes marketing et le service gestion pourra facturer plus facilement les services et produits aux clients.
Le prototype pour cette entreprise est une bonne introduction pour voir ce que deviennent en pratique les problmatiques que cherchent rsoudre les architectures SOA. Les premiers pas du prototype mont permis de me donner un premier aperu de la dmarche suivre et des mthodes employes pour dmarrer un projet de cette envergure. Malheureusement, lquipe technique de la socit S tant bas Brest, la ralisation concrte du prototype sy droulait l-bas. Jtais cens pauler un collaborateur de Logica en dplacement dans leurs locaux. La distance ainsi que le bon droulement des actions sur le prototype ne mont pas permis dtre aussi impliqu que je laurais souhait.
III.3 Les applications composites
Tailler les IHM des utilisateurs sur mesure en fonction de leur mtier. Voila le principe des applications composites. Comme son nom lindique, le Composite Application Framework (CAF) offre la capacit de navoir que dans une IHM le regroupement de plusieurs applications environnantes par des services.
III.3.A Le principe
Le monde du logiciel regroupe quatre catgories : les IHM (portail, web), les ERP, les MainFrame et les NTI/J2EE/.NET. Nous nous sommes pour le moment intresss uniquement au dernier domaine. Les ERP et les MainFrame pouvant tre correctement intgrs au SI grce aux connecteurs dun ESB. La SOA, nous lavons vu modernise et urbanise le SI pour laligner sur le mtier de lentreprise : elle a boulevers les mthodes dintgration applicative (ESB) et les mthodes dintgration dtapes manuelles et applicatives dans un processus transverse automatis (BPM). La SOA, replaant lutilisateur final au cur du SI, bouleverse la premire catgorie : les IHM.
Les DSI ont tous les jours besoin de rpondre trs vite des demandes complmentaires qui contredisent ou compltent les applications achetes. Ces besoins sont souvent exprims par des utilisateurs finaux dont les besoins mtiers voluent rapidement. En effet, si pour un comptable, le processus d'enregistrement de facture est probablement assez stabilis, il n'en va pas de mme pour un responsable commercial qui doit adapter immdiatement son offre et son mode de commercialisation aux impratifs du march [4].
Dans le deuxime chapitre, nous avons vu que pour mettre jour les bases de donnes du service RH, Paie et DSI, il tait ncessaire dutiliser trois applications diffrentes. Les utilisateurs taient alors confronts aux problmes suivants [2]: - Obligation de saisir les mmes informations dans chaque application - Ncessit de sadapter aux diffrences des applications (syntaxe, processus et rgles de gestion, ergonomie) LE TEXIER Nicolas 40 Etat de lart de la SOA - Difficult voire impossibilit davoir une vision densemble de linformation rpartie entre les applications. La solution adopte tait de construire des services web interconnects avec les applications mtier concernes grce une plate-forme dchange (ESB). Il ne reste plus qu construire une IHM, parfaitement adaptes aux besoins des utilisateurs qui feront appels ces services web.
Leur utilit rside dans leur agilit : ils sont capables de mettre trs rapidement la disposition dun utilisateur une nouvelle fonctionnalit sans se lancer dans des dveloppements lourds. Le CAF est comparable aux portails. Le portail est une agrgation de portlets, trs isols : il sagit juste dun assemblage de prsentations. Le CAF en revanche agrge les donnes de chaque application et applique sa propre prsentation.
Deux problmes se posent aujourdhui lorsquil y a mise en place dune solution CAF : - Chaque application peut disposer de ses propres identifications utilisateur (identifiant et mot de passe) : lapplication composite est donc cens grer chaque identification, ce qui reprsente une lourdeur. Pour des raisons de scurit, il nest pas envisageable de regrouper tous les identifiants dans une seule base comme pourrais le faire une table de transcodification. De mme, la composition de service entrane souvent la propagation des donnes de scurit. - Tous les contextes des applications ne peuvent tre partags entre les applications, chaque contexte tant propre lapplication.
Figure 27 : 1 fonction = 1 IHM = n applications [2] LE TEXIER Nicolas 41 Etat de lart de la SOA III.3.B La mise en place dun prototype.
Pour avoir un aperu et mettre en pratique les possibilits dune application composite, jai dvelopp un prototype. Ce dernier est donc une IHM qui permet de grer plusieurs applications. Les outils utiliss sont ceux de lditeur Tibco. Les services ont t dvelopps grce leur offre BusinessWorks (BW) et linterface grce General Interface (GI). BW est un ensemble de logiciels qui permet de crer, dployer, grer et optimiser des services. GI est un outil permettant la cration dIHM. Conu dans lesprit SOA, il intgre naturellement les appels des services. Les fichiers quil cre sont au format XML. Loutil intgre facilement les feuilles de styles CSS, les codes Javascript,
Lobjectif du prototype tait la base de proposer une IHM qui fasse des appels de service. Un des services devant utiliser une table de transcodification. Le rsultat est le suivant :
Lcran rassemble quatre applications : une sur la gestion de personnes, une sur les mtiers et deux sur les monuments. La table de transcodification jouant son rle sur cette dernire application. Ce prototype a bien sr eu pour avantage dtre une application pratique des outils, mais surtout, il met en avant tout les avantages dune application composite : - La mise en place de cette solution est trs rapide : dans GI la majorit des actions du dveloppeur est graphique. Les assistants et lutilisation de glisser-dposer rendent loutil trs intuitif. - LIHM est construit en fonction du mtier de lutilisateur. Les exemples ici sont quelconques, mais on pourrait imaginer une IHM destin un magasinier qui intgrerait la liste des stocks de produits disponibles, le formulaire de commande des fournisseurs et un autre formulaire pour grer la distribution. Chaque partie tant relie une application. LIHM donne au magasinier loutil ergonomique ncessaire pour laider dans son mtier. Figure 28 : Capture dcran dune application composite LE TEXIER Nicolas 42 Etat de lart de la SOA - LIHM agrgeant des lments de donnes, il est tout fait possible de construire le design selon lentreprise, ses utilisateurs,
Dans lexemple sur la gestion des monuments, la saisie dun nouveau monument permet lenregistrement dans deux applications. Issu de la fusion de deux bases de donnes par exemple, il est ncessaire que la sauvegarde se fasse dans les deux applications. La cration dun service recevant les donnes de lIHM et les adaptant ces applications permet de gommer toute complexit. Ici, pour mettre en vidence linteroprabilit, ce sont une base SQL Server et une base MySQL qui ont t crs. La table de transcodification est ici une table :
Il aurait t possible galement dutiliser une table de transcodification propre Tibco qui le propose en plug-in pour son logiciel de conception de service. Un des avantages est que lon peut dfinir la valeur (France Etats-Unis) qui sera utilis par lIHM. Elle est indpendante des valeurs utilises dans les applications. Un autre avantage rside dans les possibilits dvolution : il suffit de rajouter une ligne la table ou de la modifier sans aller modifier des lignes de code. Figure 29 : Table de transcodification sous SQL Server LE TEXIER Nicolas 43 Etat de lart de la SOA Glossaire
Application Composite : IHM adapte aux besoins des utilisateurs, interconnecte avec des applications mtiers via des services web.
Composite Application Framework (CAF) : Outil de construction dapplications composites.
Entreprise Application Integration (EAI) : lment logiciel contrlant les communications inter- applications dans une entreprise.
Enterprise Service Bus (ESB) : bus de services au sein du systme dinformation de lentreprise.
Framework : Ensemble de bibliothques, d'outils et de conventions permettant le dveloppement d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et dont la maintenance est aise.
IHM : Interface Homme-Machine, ensemble de logiciels permettant un utilisateur de communiquer avec un systme dinformation.
Jahia : Serveur applicatif remplissant les fonctions de portail d'entreprise, de serveur de gestion de documents, de serveur de gestion d'activit, de moteur de recherche et de suite collaborative.
Master Data Management (MDM) : rfrentiel ddi la gestion cohrente des donnes de rfrence entre les applications dun systme dinformation.
Service Oriented Architecture (traduction : Architecture Oriente Service).
Service web : (web-service en anglais) Ensemble de fonctionnalits exposes sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps rel.
Systme dinformation (SI) : Ensemble de moyen pour la collecte, le traitement et la transmission dinformations.
WSDL : Web Service Description Language (langage de description de service web).
XML : langage balise extensible permettant de mettre en forme tous types de documents LE TEXIER Nicolas 44 Etat de lart de la SOA Conclusion
Ces six mois de stage ont t trs enrichissants. Jai en effet tir diffrents apports de cette exprience professionnelle. Ceux-ci peuvent tre regroups autour de deux ides principales : les comptences acquises et la connaissance du monde professionnel.
La dcouverte du domaine de la SOA ma permis davoir un aperu global des problmatiques des SI des entreprises. Grce la nature R&D de ce stage, jai eu lavantage de pouvoir prendre du recul pour pouvoir mieux apprhender ce domaine. La SOA est un pari pour rpondre aux enjeux des SI : il replace lutilisateur ainsi que son mtier au cur du SI en le rorganisant de manire rationnelle. Lassimilation de cette architecture fournit le bagage adquat pour commencer dans de bonnes conditions mon projet professionnel. Il a fallu un certain temps pour apprhender la SOA dans sa globalit car il sagit dun domaine trs vaste et quil semble que chaque acteur (diteur, intgrateur et client) conoive la SOA sa manire. Cest dailleurs une critique que lon peut faire la SOA : son objectif est trs (trop ?) ambitieux et ncessite une volont forte de tous les protagonistes de lentreprise de travailler ensemble. La mise en place de cette architecture demande une vision trs long terme. Dans ce monde effrn, o prime la rentabilit court terme, il y a un travail dinformation sur la SOA et de persuasion auprs des dcideurs raliser. Lintgration dans le SI des concepts de la SOA se fera peut-tre par petites touches. La propagation des technologies lies aux services web dans les projets permet dj lintroduction de la notion de service. La dcomposition dune fonctionnalit en un ensemble de fonctions basiques peut tre la porte dentre pour se diriger vers une dmarche SOA.
La monte en comptence sur les outils de Tibco reprsente un acquis technique intressant qui a t utilis pour mettre en pratique et exprimenter les problmatiques lies la SOA : - De leur offre BusinessWorks pour la cration et la gestion de services dans un ESB, - Jusqu leur offre iProcess pour la modlisation et le dploiement de workflows, - En passant par loffre General Interface pour la conception des IHM des utilisateurs. La difficult ce niveau a sans doute t lautoformation partir des seules documentations fournis avec les outils. La communaut Tibco sur le web souhaite pourtant tre trs active, mais elle nest pas aussi importante que celle dOpenESB de Sun sur lequel jai dbut.
Lenseignement thorique et pratique reu durant ces trois dernires annes lISTIA a t bnfique pour la comprhension du stage. Les cours dinformatique ont parfaitement prpar le terrain pour tre laise avec tout le jargon technique que jai t amen rencontrer. Les interventions de professionnels issus de SSII ont t une excellente introduction dune part dans les technologies quils utilisent et dune autre part dans lenvironnement de travail. Aprs avoir fait ce stage, le seul reproche que je pourrais faire vis--vis de la formation est peut-tre le manque de temps pour prendre du recul et pour acqurir un esprit critique envers tous les langages et toutes les technologies que lon a t amen tudier.
Dun point de vue personnel, ce stage ma permis daffiner mon projet professionnel court et moyen terme. Le stage reprsente une bonne introduction pour le commencer sereinement. Pourtant, la crise conomique a touch Logica qui a t dans limpossibilit de garder ses stagiaires. Durant mes entretiens, jai observ que les SSII taient trs attentistes envers le march : LE TEXIER Nicolas 45 Etat de lart de la SOA le recrutement sur mission sest substitu au recrutement sur profil, pratique courante durant les annes fastes. Cette absence davenir a provoqu une baisse de ma motivation durant le stage.
Ces six mois constituaient ma premire exprience dans une socit de service. Bien qutant souvent autonome, jai eu loccasion de comprendre le fonctionnement dune SSII, de distinguer quels sont ces enjeux et ces dfis. Le regret que je pourrais formuler rside dans labsence dune intgration 100% dune quipe pour une mise en pratique concrte des concepts de la SOA. Cependant, je me considre avantag davoir eu loccasion dobserver le droulement des prototypes pour une collectivit locale et pour une socit dassurance. Avoir des cas dapplication rels est profitable pour un stage orient R&D. LE TEXIER Nicolas 46 Etat de lart de la SOA Bibliographie
[1] Le systme dinformation transverse : nouvelles solutions du SI et performance mtier de Franois Rivard, Georges Abou Harb et Philippe Meret : ouvrage traitant de la SOA ainsi que du retour de projet
[2] Documents internes Logica : PowerPoints, PDF et rapports de stage
[3] http://dataminer.unblog.fr/2008/09/20/la-communication-multicanal/ : site traitant du multicanal
[4] http://www.guideinformatique.com/fiche-applications_composites-839.htm : Page traitant des applications composites.
Deux documents sur la SOA : http://www.valtech.fr/etc/medialib/pdf/itc/fr/livre_orange.Par.48685.File.tmp/Valtech_LivreOrange SOA_V1.2.pdf www.logica.fr/file/6145
Deux documents sur les ESB http://petals.ow2.org/docs/Livre-Blanc-ESB-fr.pdf http://www.xebia.fr/sites/default/files/les_esb_dans_la_soa.pdf
Deux documents sur les services web / www-adele.imag.fr/~donsez/ujf/easrr0304/webservices.ppt http://www.scribd.com/doc/7154631/Presentation-Web-Services
Quatre sites pour commencer efficacement avec OpenESB : http://www.javapassion.com/ http://www.netbeans.org/ : http://wikis.sun.com/display/OpenESBTutor/ http://wiki.open-esb.java.net/
http://www.developpez.com/ : le site de rfrence pour la programmation http://blog.xebia.fr/ : un blog riche sur les questions darchitecture
La source de deux des images utilises dans le rapport : http://www.critiscope.com/public/pages/fr/intro-03.cfm http://www.bpmbulletin.com/2008/03/10/projets-bpmworkflow-quelques-erreurs-a-eviter/
Etat de lart des Architectures Orientes Services (SOA) et de leurs applications
Rsum
Le stage de six mois sest droul au sein du service architecture technique de lentreprise Logica Nantes (44). Nouveau concept darchitecture pour les systmes dinformation (SI) des entreprises, la SOA a lambition de replacer lutilisateur et le mtier de lentreprise au cur de leur (SI). Pour cela, la SOA conoit le SI sous forme de couches de services, en passant des services offerts aux utilisateurs (en fonction de leurs besoins mtier) aux services fournis par les applications (en fonction de leurs possibilits).
Le rapport sintresse aux moyens ncessaires pour mettre en uvre cette architecture : de la plate-forme de mdiation pour fdrer les applications existantes jusquaux IHM conus en fonction du besoin des utilisateurs, en passant pas la modlisation des processus mtier des entreprises : les workflows. Il prsente galement les cas dapplication de la SOA : des prototypes thoriques dvelopps pour mettre en avant les problmatiques de la SOA jusquaux projets concrets raliss par Logica pour une collectivit locale et une entreprise dassurance.
Mots-cls : SOA, Architecture, ESB, BPM, CAF, SSII
Abstract
The six-month-training course took place within a technical architecture department of the company Logica in Nantes (44). New concept of architecture for the information systems (IS) of the companies, SOA has the ambition to replace the user and the work of the company in the central of their information system. In this goal, SOA conceives the IS in the form of layers of services, while passing from the services offered to the users (according to their needs) at the abundant services by the applications (according to their possibilities).
The report develops on the necessary means to implement this architecture : platform of mediation to federate the existing applications until the IHM conceived according to the user's needs, while not passing the modelling of the processes trade of the companies: workflows. It also presents the application cases of SOA: theoretical prototypes developed to put the problems of SOA forward until the concrete projects carried out by Logica for a local community and the insurance company.
Etude Et Mise en Place D'une Solution D'inventaire Et de Télé-Déploiement Des Applications Au Ministère Des Finances Et Du Budget Du Tchad (Centre Informatique)