Documente Academic
Documente Profesional
Documente Cultură
*-*-*-*-*
HAUT COMMISSARIAT AU PLAN
*-*-*-*-*-*-*-*
INSTITUT NATIONAL
DE STATISTIQUE ET D’ECONOMIE APPLIQUEE
Juin 2010
Dédicace :
A mes chers parents, merci pour tout. Vos sacrifices et votre
dévouement m’ont permis d’être ce que je suis. Papa, tu es mon idole. Tu
m’as inculqué la bonne éducation et les bonnes manières. Chère maman, tu
étais toujours là pour me soutenir et pour m’aider. Tu t’es toujours fatiguée
pour mon repos. Je vous le dis rarement : je vous aime. Que Dieu vous
préserve et vous garde.
A mon frère Oussama, mon compagnon de tous les temps. J’espère pour toi tout le
bonheur du monde. Que Dieu te permette de réussir dans tes études et d’atteindre tes
objectifs.
A ma sœur RAJAE, A ma princesse Sophia, je vous souhaite tout le bonheur du
monde.
A tous les amis que j’ai connus, à toute personne qui m’a soutenu, à toute personne
pour qui j’ai compté, je vous dis merci pour tout.
Jamal ALAMI.
2
Remerciement :
Je ne saurais commencer ce rapport sans remercier ALLAH le tout
puissant, le tout miséricordieux, qui m’a donné Grâce et bénédiction pour
mener à terme ce projet.
Au terme de ce travail, je tiens à exprimer mes profonds
remerciements à toutes les personnes qui ont contribué au bon déroulement
de ce projet de fin d’étude.
Pour cela, je tiens à remercier mon encadrant, M. Najib OURADI
pour ses directives précieuses et ses conseils pertinents qui m’a été d’un appui
considérable dans mes démarches.
Bien sûr, un grand merci à mon encadrant de stage M. Anas
LAAOUINAT, et mes responsable hiérarchiques M.Belghazi Jalal et Mr. Rachid
BALHCEN qui ont su me laisser une réelle autonomie, tout en me guidant et en
m’apportant l'aide et les moyens nécessaires au bon déroulement de mon stage.
Je tiens à exprimer ma gratitude à Mr. Jawad SEKKAT pour m’avoir
honoré en acceptant de juger mon travail. Veuillez trouver ici le témoignage de mon
respect le plus profond.
Je remercie chaleureusement tout le personnel de la société LOGICA et
spécialement les membres de l’équipe RHODIA : M.Bouchefra Hassan, M.Loukili
Merouane et M.Zouaoui Abdelaziz pour leur aide inconditionnelle et leur accueil
chaleureux et sympathique qui m’a permis de m’intégrer très rapidement.
Je ne saurais oublier dans mes remerciements tout le cadre
professoral de l’INSEA, pour la formation prodigieuse qu’il m’a prodiguée.
Que tout ceux qui m’a aidé, de près ou de loin, trouvent ici
l’expression de mes sentiments les meilleurs.
3
Résumé :
4
Liste des abréviations :
Abréviation Désignation
BAM Business Activity Monitoring
BPM Business Process Management
WM WebMethods
MWS My WebMethods Server
CMMI Capability Maturity Model Integration
AJAX Asynchronous JavaScript And XML
CS Centre de Services
CS Centre de Sevices Maroc
EJB Entreprise JavaBeans
GPL General Public License
GNU Gnu's Not Unix
HTML HyperText Markup Language
HTTP Hypertext Transfer Protocol
J2EE Java 2 Enterprise Edition
KPA Key Process Area
IHM IHM Interface Homme Machine
JSF Java Server Pages
MAJ Mise à Jour
MVC Model View Controller
SGBDR Systèmes de Gestion de Bases de Données Relationnelles
SMQ Système de Management de la Qualité
SOA Service Oriented Architecture
SQL Structured Query Language
SSII Société de Services et d’Ingénierie Informatique
SAP Systems, Applications, and Products for data processing
UML Unified Modelling Language
XML eXtensible Markup Language
5
Liste des figures :
Figure 1: Historique de Logica........................................................................................................... 16
Figure 2: Les secteurs d’activités de Logica...................................................................................... 16
Figure 3 : Centres de Logica dans le monde ..................................................................................... 17
Figure 4 : Partenaires stratégiques .................................................................................................... 17
Figure 5: Clients de LOGICA ............................................................................................................ 18
Figure 6 : Proportion des catégories des centres de services de Logica ......................................... 19
Figure 7 : Evolution de l’effectif du CSR .......................................................................................... 20
Figure 8 : Organigramme de Logica CSM........................................................................................ 20
Figure 9 : Organigramme du projet Rhodia EAI............................................................................. 24
Figure 10 : Adaptativité / Prédictivité des méthodes........................................................................ 26
Figure 11 : Décomposition de projet en sprints ................................................................................ 27
Figure 12 : Vue synthétique du processus Scrum............................................................................. 27
Figure 13 : Diagramme de gant.......................................................................................................... 28
Figure 14 : Architecture fonctionnelle............................................................................................... 31
Figure 15 : Architecture des composants métiers............................................................................. 32
Figure 16 : Architecture de déploiement sur Rhodia EAI ............................................................... 32
Figure 17 : Architecture BAM en WebMethods 8............................................................................ 33
Figure 18 : Architecture fonctionnelle exprimant le besoins ........................................................... 35
Figure 19 : Flux Elemica PurshaseOrder .......................................................................................... 40
Figure 20 : Flux Elemica Invoice ....................................................................................................... 41
Figure 21 : Flux Elemica OrderChange ............................................................................................ 42
Figure 22 : BuySide Raw Material..................................................................................................... 43
Figure 23 : BuySide Raw Material SubProcess ChemXML............................................................ 44
Figure 24 : Elemica Invoice ................................................................................................................ 45
Figure 25 : Elemica OrderChange ..................................................................................................... 45
Figure 26 : Diagramme d’utilisation : Business Process Management .......................................... 47
Figure 27 : Diagramme d’utilisation: Business Activity Monitoring.............................................. 48
Figure 28 : Diagramme de classe: Ebusiness .................................................................................... 51
Figure 29 : Diagramme de classe: Paquetage données permanents. .............................................. 52
Figure 30 : Diagramme de classe: Paquetage flux et transactions. ................................................. 53
Figure 31 : Diagramme de classe: Paquetage Incidents. .................................................................. 53
Figure 32 : Diagramme de classe: Documents Commerciaux. ........................................................ 54
Figure 33 : Architecture composants essentiels ................................................................................ 56
Figure 34 : Perspective Business Analyste : WebMethods Designer .............................................. 66
Figure 35 : WebMethods Developer .................................................................................................. 67
Figure 36 : Modèle Vue Contrôleur 2 ................................................................................................ 71
Figure 37 : Architecture générale. ..................................................................................................... 71
Figure 38 : Architecture logique de l’application Portlet CAF ....................................................... 72
Figure 39: Architecture de déploiement ............................................................................................ 73
Figure 40: Diagramme du Reste à faire en heures du premier Sprint ........................................... 74
Figure 41: Diagramme du Reste à faire en heures du deuxième Sprint ......................................... 75
Figure 42 : Premier Portlet Test ........................................................................................................ 75
Figure 43: Diagramme du Reste à faire en heures du troisième Sprint ......................................... 76
Figure 44 : Interface d’authentification ............................................................................................ 77
6
Figure 45 : Interface d’accueil............................................................................................................ 77
Figure 46 : JSF View : Volume de transactions................................................................................ 78
Figure 47 : JSF View : Volume de transactions par flux ................................................................. 79
Figure 48 : JSF View : Répartition des flux selon la requête temporelle ....................................... 80
Figure 49: Les KPA de Cortex ........................................................................................................... 85
Figure 50: L’approche Spaghetti Traditionnelle et L’approche EAI ........................................... 88
Figure 51: L’Approche Métier EAI ................................................................................................... 89
Figure 52: Echange d’informations entre entreprise et partenaires via un bus ESB ................... 96
Figure 53: Routage de données .......................................................................................................... 97
Figure 54: Transformation des données en XML............................................................................. 97
Figure 55: Processus Elemica ShipNotice ......................................................................................... 98
Figure 56: Processus EtapOnLine ..................................................................................................... 99
Figure 57: Processus Inventory actual usage .................................................................................. 100
Figure 58: Processus Carriers .......................................................................................................... 102
Figure 59: SellSide OrderChange .................................................................................................... 103
Figure 60: SellSide OrderCreate 2 ................................................................................................... 103
Figure 61: Elemica OrderCreate ..................................................................................................... 104
Figure 62: Elemica shipnotice .......................................................................................................... 104
7
Liste des tableaux :
Tableau 1 : identification des acteurs ................................................................................................ 37
Tableau 2: Portées de gestion de cycle de vie d’un JSF managed bean.......................................... 59
Tableau 3: Composants WebMethods ............................................................................................... 93
Tableau 4: Types de documents transitant dans les flux de Rhodia ............................................. 106
8
Sommaire :
9
Chapitre 3 : Modélisation métier et conception détaillée de Préliminaire ........................ 39
I. Cartographies d’exemples de flux de transactions ....................................................................... 39
II. Modélisation des processus métier : ............................................................................................ 43
II.2. Exemples de Modèles :.......................................................................................................... 43
III. Conception objet : ..................................................................................................................... 46
III.1. UML : ..................................................................................................................................... 46
III.2. Modélisation fonctionnelle, Cas d’utilisation : ...................................................................... 47
III.3. Description des cas d’utilisation : .......................................................................................... 48
III.4. Modélisation statique, Diagrammes de classes : .................................................................. 51
Chapitre 4 : Etude Technique .......................................................................................... 56
I. Introduction : ................................................................................................................................. 56
II. La plate forme Webmethods :....................................................................................................... 56
II.1. Architecture générale et composants essentiels : ................................................................ 56
II.2. Le portail : .............................................................................................................................. 56
II.3. Le portlet : ............................................................................................................................. 57
II.4. Le conteneur de portlet :....................................................................................................... 57
II.5. Les Concepts du Composite Application Framework sur Webmethods. ............................. 57
III. Les technologies exploitées : ..................................................................................................... 59
III.1. Frameworks Java/Jee : .......................................................................................................... 59
III.2. Oracle : .................................................................................................................................. 65
IV. Outils et environnements de développement : ........................................................................ 66
IV.1. WebMethods Designer.......................................................................................................... 66
IV.2. Webmethods Developer. ...................................................................................................... 67
IV.3. Conclusion : ........................................................................................................................... 68
Chapitre 5 : Mise en œuvre ......................................................................................................... 70
I. Introduction : ................................................................................................................................. 70
II. Modèle Vue Contrôleur 2: ............................................................................................................. 70
III. Architecture générale de l’application Composite:................................................................... 71
IV. Architecture logique de l’application composite: ..................................................................... 72
V. Architecture de déploiement : ...................................................................................................... 73
VI. Démarche de développement : ................................................................................................. 73
VI.1. Premier Sprint: Portlets présentant des données statiques : ............................................... 74
VI.2. Deuxième Sprint : Services récupérant des données du serveur d’intégration : .................. 74
VI.3. Troisième Sprint : Création d’une base de données intermédiaire réservée au BAM.......... 76
10
VII. Eléments de la réalisation : ....................................................................................................... 77
VIII. Conclusion : ............................................................................................................................... 81
Conclusion générale et perspectives:............................................................................... 82
Bibliographie : ............................................................................................................................ 83
Annexes : ................................................................................................................................... 84
11
Introduction générale :
Aujourd’hui plus que jamais, il est essentiel que les équipes informatiques et les lignes
métier des entreprises parlent un langage commun et soient alignées sur des objectifs
partagés. L’un des moyens d’y parvenir consiste à utiliser des indicateurs de performance ou
KPI (Key Performance Indicators).
Ces KPIs sont familiers pour les lignes métier. Toutefois, au sein des équipes
informatiques, gérer le progrès et les améliorations en utilisant des KPIs basés sur la
performance métier, commence seulement à faire son chemin, et constitue une opportunité
que les équipes Informatiques doivent saisir afin d’aider l’entreprise à surmonter la récession
au lieu de la subir.
Dans le monde de l'entreprise, on sait bien que les données mesurées sont celles qui
retiennent le plus l'attention. Par conséquent, les équipes informatiques doivent veiller à ce
que les métriques appropriées sont utilisées comme indicateurs clés de la performance, de
sorte que les mesures appropriées soient mises en œuvre par les responsables métier et les
équipes informatiques et que les objectifs fixés par ces indicateurs puissent être atteints. Pour
ce faire, il est essentiel de communiquer les objectifs métier à tous les acteurs de l’activité
informatique et de les inciter à comprendre les indicateurs clés de performances à la lumière
de ces objectifs.
12
Chapitre 1
13
Contexte général du projet
Logica est un acteur international majeur des services informatiques, spécialisé dans le
conseil, l'ingénierie informatique, notamment l'intégration de systèmes, l'outsourcing
applicatif, et la formation (training). Le groupe réunit environ 40 000 personnes dans plus de
36 pays à travers le monde, dont le Maroc avec deux centres de service CSR et CSC. Cette
capacité d’externalisation compétitive est mise au service de ses clients dans un objectif
d’optimisation de leurs investissements.
Logica travaille en étroite collaboration avec ses clients afin de les aider à libérer leur
potentiel pour devenir plus productifs, accélérer leur croissance et gérer les risques. Logica
s’appuie sur ses connaissances approfondies des secteurs, son excellence en matière de
technologie et de production ainsi que sur son expertise en matière de delivery pour aider ses
clients à se positionner en tête de leurs marchés respectifs.
Logica bénéficie d’un réseau européen puissant et équilibré sur ses principaux marchés
en particulier dans les Pays Nordiques, aux Pays-Bas, en France où elle figure parmi les 5
premiers acteurs du marché et au Royaume-Uni où il bénéficie d’une implantation historique.
14
Contexte général du projet
15
Contexte général du projet
I.3. Activités :
Logica est un acteur international de premier plan dans le domaine des services
informatiques et des télécommunications sans fil, qui intervient dans plusieurs secteurs. Son
activité englobe le conseil en management et technologies de l'information, l'intégration de
systèmes et l'externalisation, sur les marchés des télécommunications, des services financiers,
de l'énergie, de l'industrie, distribution & transports, et du secteur public (fig1).
Avec 3000 experts SAP, Logica est un des 12 «Global Strategic Partners»
5 000 Milliards $ sont transférés chaque jour grâce aux logiciels financiers LOGICA.
2 SMS sur 3 dans le monde transitent par des systèmes LOGICA.
16
Contexte général du projet
LOGICA, la SSII à laquelle les DSI (Direction du Service Informatique) font le plus
confiance (enquête DSI 2005).
Partenaires stratégiques
17
Contexte général du projet
Partenaires dédiés :
Clients :
Logica a un large éventail de clients de différents secteurs d’activités tel que le métier
d’assurances, télécommunications, automobile, I.T., et autres.
La diversité des collaborateurs et la présence de Logica dans 36 pays, sont les facteurs clés
qui lui offrent une forte puissance dans le marché international du service informatique.
Au Maroc, Logica gère 11 différents clients et 16 projets répartis sur deux sites Rabat
et Casablanca, avec des technologies diversifiées :
18
Contexte général du projet
Les centres On shore : situés à moins d’une heure de vol sur le territoire
national (Amiens par exemple).
Les centres Near shore : situés à plus d’une heure de vol dans des pays proches
(Maroc, Estonie, Pologne).
Les centres Off shore : situés dans des régions plus éloignées (Inde,
Philippines, Chine).
19
Contexte général du projet
Directeur
Général
Responsable
Projet
Collaborateur
Infogérance Applicative:
20
Contexte général du projet
Maintenance évolutive
Maintenance préventive
Support Applicatif:
Avec 114 unités de production et 38 centres de recherche répartis dans 150 pays,
Rhodia (6,6 milliards d'euros de chiffre d'affaires en 2002) a fait du e-business une de ses
priorités. En 2001, le groupe décide de rationaliser sa présence internationale sur le Web en
réduisant de moitié la quarantaine de sites lancés à l'initiative de ses diverses filiales ou
entités. «Notre souci majeur était d'endiguer la dérive web, d'éviter que ça parte dans tous les
sens», explique Santiago Tolosa, responsable "e-solutions, application integration et data
integration" du groupe.
21
Contexte général du projet
Après la création d'un centre de compétences et de ressources pour ses sites web, le
groupe chimique a déployé une plate-forme d'intégration pour gérer ses processus métier
internes et les échanges avec ses partenaires.
Le projet Rhodia est mis en place afin d’automatiser la gestion des transactions entre
Rhodia et ses partenaire, et ainsi ouvrir le système d’information de Rhodia à l’extérieur, en
mutualisant les échanges avec les partenaires de la place, et en améliorant le service aux
utilisateurs. Pour ce faire l’équipe projet Rhodia adopte l’approche EAI : Enterprise
Application Integration.
Selon les experts L’EAI s’avère être la seule solution permettant non seulement de
connecter des applications et des sources de données hétérogènes, mais aussi de capitaliser sur
l’avenir en offrant à la société une souplesse qui se traduit notamment par des gains en temps
de développement et en coûts de maintenance.
Rhodia EAI :
Ceci dit le responsable de projet coordonne entre ces différents éléments afin de mener
à bien l’ensemble du projet.
Support :
En effet assister les différents utilisateurs Rhodia qui rencontrent des problèmes avec
le progiciel est un évènement fréquent, cela nécessite alors une investigation et une recherche
avancée de l’origine du problème afin de trouver une solution et de la réaliser.
Les demandes de supports parviennent soit par mail soit directement par téléphone (ou
skype).
Maintenance Applicative :
La mise en place de nouveaux flux fait aussi partie de certaines tâches étant
consignées. Entre évolutions prévues, ou modifications des fonctionnalités existantes, la
maintenance se fait sur environnement de développement avant le lancement de la phase de
tests pour une livraison finale.
22
Contexte général du projet
Études préalables
23
Contexte général du projet
Belghazi Jalal
Bouchefra Hassan Loukili Merouane
TMA
Les missions qui m’étaient attribuées au sein de l’équipe Rhodia EAI portent sur trois
volets métiers : Le BPM : Business Process Management, Le BAM : Business Activity
Monitoring et la GED : Gestion Electronique de documents.
24
Contexte général du projet
Toutes les méthodes se situent concrètement à divers degrés sur une échelle les
positionnant de la plus "prédictive" à la plus "adaptative". Si l'on souhaite disposer d'une
vision relativement précise du champ d'application des diverses méthodes actuelles, il est
nécessaire de les répertorier en fonction de ces critères.
25
Contexte général du projet
Comme c’est le cas pour l’élaboration de tout projet, j’ai été amené à suivre une
démarche pour la conduite de mon projet. Et pour cela j’ai choisi la méthode SCRUM.
Scrum est une méthode agile pour la gestion de projets. Elle a été conçue pour
améliorer grandement la productivité dans les équipes auparavant paralysées par des
méthodologies plus lourdes. La méthode Scrum a été conçue pour la gestion de projets de
développement de logiciels. Elle peut aussi être utilisée par des équipes de maintenance. La
méthode SCRUM affirme sa différence dans des pratiques de courtes réunions quotidiennes.
Ces temps de travail commun ont pour objectifs d'améliorer la motivation des participants, de
synchroniser les tâches, de débloquer les situations difficiles et d'accroître le partage de la
connaissance.
26
Contexte général du projet
27
Contexte général du projet
IV.2. Planning:
Diagramme de gant
28
Chapitre 2
Etude Préliminaire
29
Etude Préliminaire
I. Introduction :
Afin de pouvoir dégager les spécifications fonctionnelles générales, il est nécessaire de
bien explorer l’existant, connaitre ses détails, sa problématique et ses enjeux.
Dans le cas de mon projet l’existant est la plate-forme phare d’intégration webmethods
suite, de software AG.
Pourquoi webmethods ?
Rhodia, en plein déploiement de l'ERP de SAP au niveau européen, avait besoin de
relier son back-office à l'ensemble de son écosystème: partenaires, sous-traitants (Logica,
Atos Origin), fournisseurs, transporteurs et clients. Pour mettre alors en œuvre la démarche
EAI elle se tourne vers la plate-forme d'intégration de software AG : Webmethods. «Nous
avons d'abord mené un projet de connexion entre les agents logistiques et les transporteurs,
avec message de confirmation de livraison», raconte Santiago Tolosa. L'application d’e-
logistique dialogue avec un AS400 et les différents protocoles de communications utilisées
par les transporteurs.
30
Etude Préliminaire
Webmethods au crible :
Avec webMethods, Software AG met l’accent sur l’intégration des systèmes mais
aussi sur l’automatisation et l’amélioration des processus. De plus, cette solution permet de
renforcer la relation avec les partenaires. C’est une plate-forme d'intégration globale capable
de fédérer l'ensemble des îlots applicatifs de l'entreprise (des mainframes aux applications
J2EE) et derrière laquelle s'effacent les distinctions techniques habituelles entre flux A to A
(internes) et B to B. Ces innovations veulent répondre aux besoins stratégiques évoqués par
les entreprises qui souhaitent réduire les délais de mise en application. Grâce à webMethods,
les entreprises peuvent désormais déployer des projets à grande échelle plus rapidement.
31
Etude Préliminaire
Après avoir mis en place Webmethods le projet rhodia a réussi d’atteindre les finalités
souhaitées au niveau BPM, mais il éprouve toujours le besoin des fonctions de BAM
(Business activity monitoring), qui permettent de suivre l’activité via des indicateurs
prédéfinis en temps réel. En effet, La version 7.1 de Webmethods, implantée par le groupe
32
Etude Préliminaire
Rhodia, malgré sa puissance et toutes les fonctionnalités qu’elle assure, manque d’un moteur
d’analyse (Analytical Engine) qui permet de définir des indicateurs clé de performances KPIs
et de faire l’analyse de l’activité à partir de l’entrepôt de données relatifs aux différents flux
gérés par Webmethods.
Un travail de recherche bien fondé m’a conduis à savoir que Software AG, leader
mondial des logiciels d’infrastructure métier et propriétaire de webmethods, a prévu ce besoin
et a lancé en décembre 2009 webMethods 8 avec un nouveau produit intitulé Optimize for
B2B (à base de l’Analytical Engine), Les tableaux de bord créés via webMethods Optimize
for B2B permettront aux collaborateurs de visualiser et de comprendre leurs opérations en
temps réel. Cet outil intuitif favorise la prise de décisions basée sur des faits via des
fonctionnalités comme l’analyse des causes premières et la prédiction.
33
Etude Préliminaire
Pour définir des indicateurs clés de performances liées à la prestation des services
métier, il est essentiel de déterminer si l’équipe informatique et les acteurs professionnels
voient cette prestation sous le même angle. Par exemple, on peut risquer de découvrir que
l’équipe informatique mesure la prestation de service à l'aide de métriques opérationnelles
axées sur l'interne, qui privilégient une perspective orientée vers la technologie et les
processus. En revanche, les utilisateurs métier auront vraisemblablement tendance à évaluer la
prestation de service sur la base d'une vision métier globale. Résultat : l’équipe informatique
et les utilisateurs métier voient la qualité de la prestation de service sous un angle différent.
D’une part l’application permettra aux partenaires et à l’équipe projet de bien suivre
l’activité EAI et évaluer la performance des processus métier déployés sur la plate-forme, tout
34
Etude Préliminaire
J’ai établi selon les objectifs du projet des fonctionnalités principales qui doivent être
assurées par l’application Composite :
35
Etude Préliminaire
affectent les indicateurs généraux, mais aussi les mesures à mettre en œuvre pour influer sur
ces facteurs. Il est donc très utile d'établir les indicateurs clés de performances de façon
progressive, en commençant par définir un seul indicateur métier général sur la base du
résultat qu’on désire obtenir.
Indicateurs de corrélation :
L’importance des indicateurs de corrélation réside dans le fait qu’ils permettent de
mesurer la corrélation entre différents facteurs qui interviennent dans l’activité, autrement dit
étudier l’intensité de la liaison qui peut exister entre ces facteurs.
Indicateurs personnalisés :
Une spécification intéressante de point de vu métier consiste à offrir à l’utilisateur
final la possibilité de définir de nouveaux KPIs selon les besoins et les perspectives métier.
36
Etude Préliminaire
IV. Conclusion :
L’étude approfondie du système existant, ainsi que l’analyse des besoins en BAM m’a
permis de concevoir les KPIs et métriques essentiels qui vont permettre par la suite à Rhodia
de modéliser le coût par transaction, et c’est à l’aide de ce modèle qu’elle va pouvoir calculer
ses pertes financières.
Certes la mise en place de la solution Webmethods 7.1 était d’un apport très important
pour Rhodia aussi bien au niveau métier qu’au niveau optimisation de production, cependant
le pilotage de l’activité EAI par la performance s’avère être nécessaire pour veiller à
l’amélioration de la production.
37
Chapitre 3
38
Modélisation métier et conception détaillée
Elemica est une place de marché neutre et mondiale permettant l’achat et la vente de
produits chimiques. Grâce à la plate-forme Elemica complètement intégrée, acheteurs comme
vendeurs peuvent rationaliser leurs processus commerciaux en matière de vente et optimiser
la gestion des contrats, la livraison des commandes et le règlement. Les transactions
commerciales sont ainsi rapides et efficaces. Rhodia utilise cette place de marché pour
automatiser ses processus de ventes/achats online.
Elemica PurshaseOrder
La transaction CidxOrderCreateV201facilite pour chaque partenaire la préparation des
ordres pour toutes les filiales de Rhodia à travers Elemica
Processus :
39
Modélisation métier et conception détaillée
Description:
Lorsque l’un des partenaires de Rhodia a besoin d’un produit de Rhodia Europe il peut
envoyer son PurshaseOrder via Elemica qui envoie à son tour le document en ChemXML
standard au serveur Webmethods, le document envoyé est un « CidxOrderCreateV201 » son
type et sa version sont le résultat d’une convention établie entre Rhodia, Elemica et les
partenaires.
Ensuite, la zone dématérialisée Webmethods envoie un ReceiptAcknowledgment (RA) (ou
ReceiptAcknowledgment Exception (RAE)) à Elemica tant qu’elle reçoit des commandes à
travers son reverse invokes, juste après le document “CidxOrderCreateV201” est transformé
par le hub en “HubOrderCreateV201ForSAP” qui va être transféré au système SAP RCS à
travers Webmethods SAP adaptor.
40
Modélisation métier et conception détaillée
Elemica Invoice
Rhodia envoie une facture au partenaire pour demander le payement.
Processus :
41
Modélisation métier et conception détaillée
Description :
Rhodia envoie les factures à ses partenaires à travers le webmethods xml hub utilisant
le document “HubInvoiceV300 invoice".
Le XML hub transforme la facture en «CidxInvoiceV300» et l’envoie à Elemica qui accuse sa
réception par un RA ou RAE.
Elemica OrderChange
Ce flux concerne une requête envoyée par les partenaires de Rhodia à travers Elemica
pour modifier un ordre qui n’est pas encore délivré.
Processus :
42
Modélisation métier et conception détaillée
Description :
Ce flux commence lorsque le partenaire envoie une requete à travers Elemica pour
modifier une commande qui n’est pas encore été délivrée.
Elemica adapte la requête au standard ChemXML en envoyant un CidxOrderChangeV202 au
hub WebMethods qui accuse sa réception par le renvoie d’un « RA » ou « RAE ».
S’il s’agit d’un RA alors l’OrderChange envoyé par Elemica est valide et une alerte SMTP est
envoyée après à une mailing liste particulière.
Le « process Engine » est mis en attente d’un « Orders03 », une fois l’ « Orders03 »
reçu le moteur de workflow initialise une instance process, juste après, il fait le routage du
document selon son protocole qui peut être ou bien xml ou bien xCBL35 ou bien ChemXML.
Ensuite le document enchaine sur le sous process adéquat.
43
Modélisation métier et conception détaillée
44
Modélisation métier et conception détaillée
45
Modélisation métier et conception détaillée
III.1. UML :
UML n'est pas à l'origine des concepts objet, mais il en donne une définition plus
formelle et apporte la dimension méthodologique qui faisait défaut à l'approche objet. UML
définit maints diagrammes pour donner à l’utilisateur les moyens de visualiser et manipuler
des éléments de modélisation.
Le choix d’UML
Le choix d’UML, comme outil de modélisation, n’été pas arbitraire, en effet le langage
UML offre une multitude de possibilités telles :
Une meilleure communication entre les intervenants dans un projet : il offre des
moyens de capture des connaissances sur un sujet à travers divers points de vue (ces
points de vue sont fournis par ses différents diagrammes).
A l'heure actuelle la notation UML s'impose comme un standard de fait sur le marché.
Il est adopté par les grands constructeurs de logiciel du marché.
Une bonne compréhension du problème : le système à étudier sera traité suivant
différents angles et suivant les différents cas d’utilisation de ce système.
MagicDraw UML :
MagicDraw est un outil graphique de modélisation UML disposant de fonctions de
travail collaboratif. Conçu pour les Consultants Métier, les analystes développeurs, les
développeurs, les ingénieurs qualité, et les rédacteurs de documentation, cet outil de
développement dynamique et polyvalent facilite l'analyse et la conception de systèmes
orientés objets(OO) et de bases de données.
46
Modélisation métier et conception détaillée
BPM :
47
Modélisation métier et conception détaillée
BAM :
BPM :
Description du cas d’utilisation Envoyer document persisté :
Sommaire d’identification :
48
Modélisation métier et conception détaillée
Pré conditions :
Scénario nominal :
Enchainement alternatif :
49
Modélisation métier et conception détaillée
BAM :
Description du cas d’utilisation Consulter métriques :
Sommaire d’identification :
Pré conditions :
Scénario nominal :
Enchainements d’erreur :
50
Modélisation métier et conception détaillée
Diagramme complet :
51
Modélisation métier et conception détaillée
52
Modélisation métier et conception détaillée
Paquetage Incidents :
53
Modélisation métier et conception détaillée
54
Chapitre 4
Etude Technique
55
Etude Technique
I. Introduction :
La solution choisie étant une application web composite (CAF) qui s’intègre à
Webmethods et se déploie sur le portail web My Webmethods. Elle est construite d’un
ensemble de portlets, qui doivent être conforment aux spécifications de Webmethods. D’où la
nécessité d’une étude technique bien approfondie pour repérer les approches techniques et les
architectures à adopter.
My WebMethods
WM Designer
Portal
Database for
MWS Integration server
Database
Integration Server
II.2. Le portail :
Un portail est une application web qui permet de faire du groupement de contenus.
Concrètement cela consiste à afficher du contenu provenant de différentes sources au sein
d’une seule page il affiche des portlets en les disposant selon des règles définies. Il permet
généralement de choisir différents styles de présentation (couleur, police, agencement des
outils). En fonction du rôle de l’utilisateur (administrateur, invité, utilisateur standard), Le
contenu et la présentation du portail peuvent varier.
56
Etude Technique
Chaque utilisateur peut personnaliser son portail selon ses goûts, il peut sélectionner
les portlets à afficher, les réorganiser, les redimensionner.
Un portail peut aussi proposer un système de single signe on (SSO) pour permettre à
l’utilisateur de ne s’authentifier qu’une seule fois pour utiliser tout l’ensemble des
applications disponibles.
II.3. Le portlet :
Un portlet est un composant web unitaire qui est affiché dans un portail, il gère un
contenu (html, xhtml,…) qui est appelé « fragment de balisage ». L’ensemble des contenus
crées par les portlets d’un portail est agrégé pour ne former plus qu’une seule page web
classique.
Un fragment pouvant être disposé n’importe où dans une page d’un portail doit
respecter certaines règles. C’est le portail qui génère le squelette de la page. Il va demander
aux portlets leur code source pour l’insérer au sein de la page.
WebMethods CAF permet de créer des applications web pour l’utilisation avec les
serveurs d’application et des applications portlets pour l’utilisation avec les serveurs de portail
My WebMethods. Une application web est composée d’un ou plusieurs vues destinées à être
afficher par un serveur d’application comme Apache Tomcat ou JBoss. Une application
57
Etude Technique
Portlet est composée d’un ou plusieurs portlets qui comportes une ou plusieurs vues destinées
à être afficher dans le portail My WebMethods.
Applications portlets :
Une application portlet est un conteneur de plusieurs portlets. Une application portlet
est publiée sur un serveur sous forme d’un fichier WAR (Web Archive). Un fichier WAR
construit une application web en java incluant des servlets java, des JSPs, et d’autres
ressources.
JSR168 :
Un portlet est une mini-application qui se déploie sur le serveur de portail My
WebMethods. Les portlets créés dans webMethods CAF sont compatibles avec Java
Specification Request (JSR) 168. Cette spécification permet l’interopérabilité entre portlets et
portails, définissant ainsi plusieurs APIs pour les portlets et standardisant les préférences, les
informations des utilisateurs, les requêtes et réponses des portlets, le déploiement des
packages et la sécurité.
Les portlets JSR 186 sont dépourvus d’états. JSR 168 utilise les préférences pour leurs
en apporter. Ces préférences sont ou bien des String ou bien des tableux de Strings qui sont
persistés pour le type de portlet pour chaque utilisateur.
Software AG ajoute des extensions aux préférences en ajoutant des types de données
simples comme les booleans et les entiers, et en ajoutant de nouvelles portées. Les portées
étendues sont valides seulement sur le serveur de portail My webMethods.
Les portlets WebMethods CAF sont composés de vues. Une vue est une page JSF qui
se compose de composants UI.
A chaque portlet dans une application portlet est associé un managed bean. Le
managed bean est un java bean c’est une classe JAVA avec certaines propriétés. Un managed
bean comporte les métadonnées qui définissent son nom unique avec une application portlet,
le type de bean et la portée (scope). La portée détermine le cycle de vie du bean dans
l’application.
58
Etude Technique
Les portées suivantes sont disponibles pour gérer le cycle de vie d’un JSF managed
bean :
Scope Description
Application Partagé par tous les portlets dans une
application portlet. Le managed bean est créé
une seule fois et n’expire jusqu’à l’arrêt du
serveur ou le redéploiement de l’application
portlet sur le serveur.
Session Réservée par session d’utilisateur. Les
données ne peuvent être partagées entre
portlets. Le managed bean expire lorsque la
session de l’utilisateur se termine.
Request Reservée pour une seule requête. Le
managed bean expire juste avant la requête
suivante.
None Le bean est créé une fois appelé.
Tableau 2: Portées de gestion de cycle de vie d’un JSF managed bean
Construite à la base de la plateforme Java Standard Edition (Java SE), Java EE ajoute
des fonctionnalités permettant d’avoir une plateforme Java complète, stable, sécurisée et
rapide. Elle focalise sur la facilitation du développement tout en gardant la richesse de la
plateforme J2EE 1.4. En offrant de nouvelles caractéristiques et d’autres mises à jour comme
la technologie Entreprise JavaBeans(EJB), la technologie JavaServer Faces(JSF) et les
derniers APIs des web services, Java EE5 rend le développement plus simple en maintenant la
richesse qui a rendu de Java EE la plateforme leader pour les web services et pour le
développement des applications pour les entreprises.
59
Etude Technique
Il existe trois états de fenêtrage : normal, minimisé et maximisé et il est possible d’en
définir d’autres, la façon exacte de représenter un portlet dans un état ou un autre et la
manière de changer d’état ou de mode est propre à chaque portail.
Le mode et l’état de fenêtrage sont accessibles de manière programmée dans toutes les
phases du cycle de traitement des requêtes du portlet.
Gestion de la session :
60
Etude Technique
Au même titre que l’objet HttpSession utilisé par les servlets, PortletSession permet au
portlet de stocker des objets pour la durée de la session du client. Ces informations sont
perdues lorsque l’utilisateur quitte le portail. Deux portées (scope) sont définies par cet objet :
Le contexte du portlet :
Le PortletContext est une présentation de l’environnement d’exécution du portlet. Le
portlet peut lire des propriétés, accéder à des ressources, obtenir des informations sur l’API,
écrire dans un log, stocker des informations en utilisant ce contexte.
Une bibliothèque de tag est aussi définie par la spécification. Elle propose des tags
pour construire des URL qui permettent au portlets de se référencer lui-même.
61
Etude Technique
La solution proposée pour intégrer ces technologies dans le monde des portlets
consiste à utiliser des composants appelés ponts. Plusieurs de ces ponts sont développés par
un groupe de la fondation Apache. Il en existe des compatibles avec les portails JSR-168 pour
plusieurs technologies telles que JSF.
L’API Jfreechart :
JFreeChart est une API Java permettant de créer des graphiques et des diagrammes de
très bonne qualité. Cette API est open source et sous licence LGPL. En revanche, la
documentation est payante.
JFreeChart est dans le monde Java, l'outil de génération de graphiques le plus connu et
le plus réputé, pour diverses raisons :
62
Etude Technique
une liaison simple entre les actions côté client de l’utilisateur (event listener) et le
code Java côté serveur
Création de nouveaux composants graphiques
JSF peut être utilisé pour générer autre chose que du HTML (XUL, XML, WML.)
Possibilité de créer de nouveaux composants
JSF permet de combiner plusieurs composants pour aboutir à un composant plus
complexe.
Supporte différentes technologies d’affichage.
JSF ne se limite pas à l’HTML (XUL, Flash, …)
Accès aux Beans par leurs noms en utilisant les Expressions Language.
Simplification des définitions des contrôleurs et des Beans.
Simplification du fichier de configuration.
L’orientation composants graphiques permet à JSF d’être utilisé de manière plus
simple dans les environnements de développement.
Les rédacteurs de la jsr168 et les experts jsf ont collaboré ensemble pour nous
permettre d’utiliser JSF non seulement dans des servlets mais aussi dans les portlets.
Les experts JSF ont introduis le concept d’un External Context qui permet
l’embarquement de jsf dans plusieurs technologies comme les portlets.
Le External Context donne l’accès à tous les composants définis par le portlet runtime
avec qui l’application web jsf est déployée. Cette classe doit être implémenter avec la classe
FacesContext et doit être accessible via la méthode getExternalContext() dans FacesContext.
Cette architecture propose un cadre pour créer des composants distribués (c'est-à-dire
déployé sur des serveurs distants) écrit en langage de programmation Java hébergés au sein
d'un serveur applicatif permettant de représenter des données (EJB dit entité), de proposer des
services avec ou sans conservation d'état entre les appels (EJB session), ou encore d'accomplir
des taches de manière asynchrone (EJB dit message).
63
Etude Technique
Ainsi parmi les points forts de la nouvelle spécification des EJB on distingue :
Ajax :
AJAX (Asynchronous JavaScript and XML) n'est pas une technologie en soi, mais un
terme désignant une « nouvelle » approche utilisant un ensemble de technologies existantes,
dont : HTML ou XHTML, les feuilles de styles CSS, JavaScript, le modèle objet de document
(DOM), XML, XSLT, et l'objet XMLHttpRequest. Lorsque ces technologies sont combinées
dans le modèle AJAX, les applications Web sont capables de réaliser des mises à jour rapides
et incrémentielles de l'interface utilisateur sans devoir recharger la page entière du navigateur.
Les applications fonctionnent plus rapidement et sont plus réactives aux actions de
l'utilisateur.
Plusieurs controles disponibles sur la palette de vues de webMethods CAF utilisent les
principles d’AJAX, pour permettre l’incorporation d’AJAX dans les applications portlets.
64
Etude Technique
Un Service encapsule une fonction réutilisable, il est défini explicitement par des
interfaces indépendantes de l’implantation et invoqué à travers des protocoles de
communication qui prônent la transparence de la location et l’interopérabilité.
Service web :
Les WebServices sont de bons candidats à la représentation technique des services de
l’entreprise. Basés sur SOAP, ils correspondent également à la notion de services métiers
auxquels fait référence la SOA, et sont également standardisés.
L’autre atout des services web est qu’ils s’accompagnent d’une multitude de standards
répondant aux exigences de sécurité, de transactions, d’authentification, etc. Ces normes,
rassemblées sous l’appellation générique WS-*, ne sont toutefois pas toutes adoptées
définitivement, certaines problématiques donnant parfois lieu à l’émergence de plusieurs
normes concurrentes (comme WS-Reliability et WS-Reliable Messaging, pour standardiser le
protocole fiable d’échange de messages, par exemple).
Axis :
Axis est un projet de Apache Software Foundation. C'est un package Java libre qui
fournit :
III.2. Oracle :
Oracle est un SGBD relationnel. Sa fonction première est de gérer d'une façon intégrée
l'ensemble de données d'une entreprise et de les rendre accessibles à un nombre important
d'utilisateurs et d'applications tout en garantissant leur sécurité, leur cohérence et leur
intégrité. Oracle dispose d'un langage permettant la définition et la manipulation des données:
le langage SQL (Structured Query Language), qui est le langage normalisé dans le domaine
des bases de données relationnelles. SQL*PLUS est l'interface utilisateur d'Oracle qui permet
d'utiliser interactivement le langage SQL sur une instance Oracle.
65
Etude Technique
66
Etude Technique
Et fournit :
67
Etude Technique
IV.3. Conclusion :
68
Chapitre 5
Mise en œuvre
69
Mise en œuvre
I. Introduction :
Le MVC, bien que très pratique, peut se révéler lourd à mettre en place. Ceci à cause
de la multitude de contrôleurs à implémenter. Afin de simplifier la réalisation d’un tel modèle,
une nouvelle version a été introduite : le MVC2.
C’est exactement le même modèle de conception à la différence qu’il n’y a plus qu’un
seul contrôleur qui se charge de rediriger la requête vers le bon traitement.
70
Mise en œuvre
71
Mise en œuvre
72
Mise en œuvre
V. Architecture de déploiement :
Portail My WebMethods
Base de Base de
données données
Pour JSF Portlets du serveur
MWS d’intégration
WS WS WS WS Base de
Serveur de portail
données
My WebMethods WS WS BAM
Serveur
d’intégration
Servlets, JSPs,
JAVA Beans. WS WS
Moteur
Workflow
WS WS WS WS
WM Designer WM Developer
73
Mise en œuvre
Pour être productif et aboutir rapidement à des résultats satisfaisants j’ai commencé
d’abord par développer des portlets déployant des métriques de KPIs des données statiques -
les KPIs étant définis-, Cette phase m’a permis de maitriser le développement des Portlet
CAF, et de me familiariser avec les outils de développement en l’occurrence l’outil
WebMethods Designer.
Après avoir déployé les portlets et mètriques sur le portail webMethods. J’ai enchainé
par l’apprentissage et le développement des services web permettant de récupérer des données
toujours statiques du serveur d’intégration et le déploiement des données récupérés en charts
selon les KPIs définis dans les classes métiers Java Beans. Cette phase m’a permis de
maitriser le language de flow de webMethods et le développement de services.
74
Mise en œuvre
75
Mise en œuvre
76
Mise en œuvre
Accueil :
KPIs et métriques:
Volume de transactions :
77
Mise en œuvre
Description :
Cette vue JSF permet de consulter les métriques relatives aux transactions des
différents flux elle donne ainsi un aperçu global sur l’évolution des transactions commerciales
de Rhodia depuis 2008.
78
Mise en œuvre
Cette vue JSF permet de consulter les métriques relatives aux transactions par flux.
Une liste déroulante récupérant les différent flux déployés sur le « Engine Process »
permet d’ajouter les flux dont l’utilisateur souhaite consulter les métriques comparatives.
Le champ de texte en dessous permets l’ajout de commentaires qui vont être exporté
par la suite à un Rapport sous forme d’un fichier PDF.
79
Mise en œuvre
Description :
Cette vue JSF permet de consulter des « Pies Charts » présentant la répartition des flux
selon une requête temporelle envoyée par l’utilisateur.
80
Mise en œuvre
VIII. Conclusion :
81
Conclusion générale et perspectives
Mon projet de fin d’études s’est effectué dans les meilleures conditions, le soutien de
mes collègues, les informations précieuses qu’ils m’ont généreusement fournies et la
documentation qu’ils ont mise à ma disposition ont facilité mon intégration dans l’équipe du
projet et m’ont aidé à contribuer à la réalisation de ce travail ayant pour objet la mise en place
d’une solution de Business Activity Monitoring.
Mon projet a été découpé en trois phases principales : une première phase
d’apprentissage a été dédiée au développement des portlets tests, à la conception des KPIs
nécessaires et à la montée en compétence dans les différentes technologies. Dans Une
deuxième phase j’ai attaqué le développement des services nécessaires et la modélisation de
quelques exemples de flux. Finalement la troisième phase je l’ai consacré à la conception
fonctionnelle et statique UML de l’activité, pour créer par la suite une base de données
intermédiaire et implanter ma solution finale de BAM.
Au terme de ce stage, j’ai abouti à satisfaire une grande partie des objectifs
fonctionnels et techniques attendus. Ainsi, j’ai mis en place une solution bâtie sur une
panoplie d’outils et structurée en une architecture Web 3-tiers à base de la plateforme JEE.
J’ai réussi le déploiement des processus métier, l’intégration des Métriques KPIs sous forme
de portlets dans WebMethods, et la génération des rapports relatifs aux différents KPIs.
Outre la richesse des connaissances techniques que j’ai acquise tout au long de mon
projet, j’ai touché à des volets connexes particulièrement intéressants, notamment, l’aspect
Business Process Management et Business Activity Monitoring. Ce projet a été également
pour moi l’occasion précieuse de découvrir le monde de l’entreprise, un monde ou la «
communication » est considérée comme carte maîtresse pour la survie de la société. Sur
l’aspect personnel, j’ai réussi à développer un sens relationnel bien raffiné.
Pour conclure, j’espère avoir répondu aux attentes de mon équipe projet et avoir été à
la hauteur de la confiance qu’ils m’ont témoignée.
82
Bibliographie :
83
Annexes
Annexes :
Annexe I :
Cortex : Système de management de la qualité de LOGICA
Annexe II :
EAI, Enterprise Application Integration.
Annexe III:
Composants essentiels de la plate-forme webMethods :
Annexe IV:
Architecture Orientée Services et ESB :
Annexe V :
Cartographie des Flux et Modèles mètier correspondants.
Annexe VI:
Types de Documents transitant dans les flux Rhodia.
84
Annexes
Annexe I :
Cortex : Système de management de la qualité de LOGICA
La certification CMMI level 3 (voir annexe1) de logica a été aboutie suite à la
satisfaction d’objectifs génériques et spécifiques. Ces objectifs on été atteint en appliquant les
exigences du système de management de la qualité de LOGICA : Cortex.
a) Introduction :
b) L’organisation de cortex :
Dans Cortex, on traite des KPAs (Key Process Area) ou chaque KPA regroupe
l’ensemble des pratiques et processus qui permettent d’accomplir une tâche donnée au sein de
LOGICA. Cortex est composé de 13 KPA :
Operational
Sales and Marketing
Delivery
85
Annexes
Sales and
Operational Marketing
KPAs
KPAs
Manage Manage
Win Business
Manage Market Relationships
Run Logica
People
Au niveau du CSM, les trois KPA qui sont les plus utilisés sont Manage Projects,
Manage Service et Do Work, ces KPAs vont être développés par la suite.
i. Manage Projects
Le MPJ (Manage Project) est le KPA Cortex qui défini comment un projet est géré au
niveau de Logica. Il est composé de quatre phases :
L’initialisation du projet
La définition du plan de projet
Le suivi du projet
La clôture du projet
Chaque phase se compose d’un certain nombre de processus qui eux aussi contiennent
des sous processus qui concourent à la réalisation d’un objectif donné.
Le service n’est pas géré de la même manière que le projet au sein de Logica.
D’ailleurs, le service, dans sa définition est différent d’un projet. Un service se caractérise par
la répétitivité dans le temps, alors que le projet est unique dans le temps. De ceci, la gestion
des deux sera aussi différente. Le KPA MSV (Manage Service) définit la façon avec laquelle
un service est géré au sein de Logica. Il est constitué de deux groupes de quatre processus
chacun. Les deux groupes sont :
La préparation du service
La livraison du service
iii. Do Work
86
Annexes
Les modèles de cycles de vies qui figurent dans le Do Work sont ceux acceptés par
l’utilisation interne de Logica pour les activités de développement/livraison/business change
management. La sélection du cycle de vie approprié doit être basée sur plusieurs critères :
Taille
Complexité
contraintes du projet (dates limites, niveau du service...)
etc. …
87
Annexes
Annexe II :
Applications ERP
ERP
spécifiques
Applications
spécifiques CRM Portail CRM
Bases de d’entreprise
Portail EAI
d’entreprise données Applications
Outil Financier légataires
Applications
Outil Financier légataires
SCM SCM Bases de données
Le nœud central, qui va gère les interactions entre les applications, apporte une notion
de découplage : grâce à l'utilisation d'un format intermédiaire de communication les liens
(connecteurs) tissés entre chaque application sont maintenant remplacés par une liaison
unique partant de l'application vers la solution d'EAI. Ainsi, pour cinq applications, il suffit de
disposer de cinq passerelles, contre vingt dans la version précédente. Ce nœud central assure
ensuite la communication avec les autres applications. L’EAI déporte et mutualise la
problématique d’interfaçage : La logique métier est bien traité par l’application dédiée qui la
concerne, mais toutes les traitements tels que : Ordonnancement, Extraction, Transformation,
Emission, Routage, Suivi, Réplication, Synchronisation, Remontée d’alertes …sont pris en
charge et ont leur interface déporté dans l’EAI.
88
Annexes
L’impact sur les coûts de mise en œuvre et de maintenance des connecteurs est rapide,
et croissant. Le Gartner Group estime dans son étude « Integration Brokers : Market, Vendors
and Trends 2001 » que les gains de développement atteignent 25 % pour les interfaces
simples et 43 % pour les applications complexes en utilisant simplement une solution d’EAI.
L'EAI offre aux entreprises le moyen de capitaliser sur les systèmes existants sans se
lancer dans de longues et coûteuses opérations de rénovation, tout en centralisant les échanges
de données, la supervision des systèmes, des processus et des flux et réponds simplement aux
problématiques d’évolution, de productivité, de volumétrie, de sécurité et de fluidité de
l’information.
Mais l’EAI doit être abordée comme une problématique moins technique que
métier et traitée sur le long terme, sa pertinence résidant dans sa capacité à récolter les
changements des objets métier de l’entreprise et à en restituer une image à jour aux différentes
applications.
En se lançant dans un projet d'EAI, une entreprise cherche avant tout à gagner en
souplesse et en réactivité. Et ce par :
89
Annexes
Annexe III :
90
Annexes
91
Annexes
92
Annexes
93
Annexes
Annexe IV :
Dans une architecture de services, chaque élément applicatif doit fournir tout ou partie
de ses fonctionnalités sous formes de services appelables par d’autres applications. Pour
fournir ses services, un élément applicatif peut utiliser des services proposés par d’autres
applications, pouvant être issues de technologies hétérogènes.
Dans une SOA, la notion de référentiel de services est fondamentale, car pour pouvoir
réutiliser les services, il faut connaître à la fois leur existence et leurs caractéristiques. Une
approche SOA permet de réaliser facilement l’orchestration d’un processus métier par
l’assemblage de différents services, en utilisant un outil de BPM. L’homogénéité des
interfaces des services assurent encore ici une intégration simple avec un outil de BPM et la
réalisation rapide de nouveaux processus.
Réutilisabilité :
C’est l’aptitude d’un service à être réutilisé à travers les applications. Ceci Permet de
réduire le couplage entre modules.
Maintenabilité :
94
Annexes
Testabilité :
Portabilité :
D’autre part elle permet de développer les business models, par l’aptitude à composer
rapidement de nouveaux services et processus métier à base des services existants et offre un
avantage distinct à une organisation qui se doit d’être agile pour répondre aux besoins. Faisant
fois de levier pour les composants existants et réduisant le temps nécessaire au développement
logiciel.
Ces produits peuvent être vus comme des supports à une implémentation concrète
d’une SOA, et sont basés principalement sur des standards comme XML et les WebServices.
Les ESB reprennent les grands principes de l’EAI, mais l’utilisation poussée de
standards rend leur coût de licence beaucoup plus abordable.
Définition :
Un « Enterprise Service Bus » est une solution d’intégration implémentant une
architecture totalement distribuée, et fournissant des services comme la transformation des
données ou le routage basé sur le contenu (CBR), ainsi qu’une interopérabilité accrue par
95
Annexes
l’utilisation systématique des standards comme XML, les Web Services et les normes WS-*1.
L’ESB est une solution packagée qui permet de mettre en œuvre la SOA.
Architecture :
Figure 52: Echange d’informations entre entreprise et partenaires via un bus ESB
Encore une fois, il n’est pas nécessaire de modifier les applications, la transformation
des données va se faire dans le bus. Un service de transformation s’intercale dans le processus
d’envoi des messages au siège. Ce service est configuré pour reconnaître la structure du
fichier généré par l’outil d’export et générer un autre fichier mieux structuré.
96
Annexes
Les données transitant dans le bus ne sont donc plus envoyées directement à leur
destinataire, mais vont suivre un circuit, transitant par différents points de l’ESB, jusqu’à
atteindre finalement le siège. Ce circuit est défini directement dans le message contenant les
données.
97
Annexes
Annexe V :
Processus :
98
Annexes
Description :
EtapOnLine
100% dédiée à la gestion des Déplacements Professionnels, ETAP-ON-LINE conçoit,
développe et édite des solutions logicielles pour toutes les entreprises PME-PMI, Grands
Comptes et Service public, souhaitant optimiser la préparation de voyage d'affaires et la
gestion de notes de frais de manière simple, rapide et économique. Disponible via internet ou
sous intranet.
Ainsi, pour le suivi des notes de frais de ses employés, Rhodia a opté pour un
partenariat avec ETAP-On-Line .
Processus :
99
Annexes
Description :
Une fois les fichiers (notes de frais, paiements, déplacements…) sont placés dans leurs
dossiers correspondants à EtapOnLine, ils sont automatiquement transférés au hub
Webmethods via FTP où la plate-forme Webmethods est installée pour la zone dématérialisée
(DMZ).
Selon le type du document il sera envoyé via CFT à SAP ou via SMTP aux destinataires
correspondants.
Processus :
100
Annexes
Description :
Carriers :
Schenker et Dentressangle sont deux entreprises de gestion de cargaisons. Ils offrent
un avantage important en termes de logistique notamment pour de nombreux secteurs
industriels à Rhodia.
Ce flux gère les demandes des messagers de livraison chez Rhodia auprès de Schenker
et Dentressangle. Dans ce cas Rhodia joue le rôle du consommateur alors que Schenker et
Dentressangle jouent le rôle des fournisseurs.
101
Annexes
Processus :
102
Annexes
Modèles Métier :
103
Annexes
104
Annexes
Annexe VI:
Type de documents
ORDERS03 Elemica
commandes reçues via Elemica, autant les commandes traditionnelles comme celles
du VMI et VMOI) – voir indicateur 2 lignes plus bas
ORDERS03 Crossgate
commandes reçues via Crossgate, pour des clients du secteur de l´automobile
ORDERS03 consolidés
Indicateur de qualité: combien sont tombés en erreur fonctionnelle dans SAP
(“statut 51”)
OrderResponseV201
Elemica réponses aux commandes, soit aux ORDERS03 issus de commandes reçues via
Ventes
Elemica
OrderChangeV202
Elemica
modification à commande, émise par le client de Rhodia
INVOIC01 Elemica facture commerciale amérique du Nord
INVOIC01 Crossgate
facture commerciale dématerialisée Europe
DELVRY01 Elemica livraison des produits
ASNCOA EMNS
livraison des produits et certificat d'analyse envoyé à Goodyear
ASNCOA_ACK EMNS
réponse reçue de Goodyear validant le contenu du ASNCOA
ORDERS03 Elemica
commandes de matières premières Europe et Amérique du Nord
XCBL OrderV35
direct
commandes pour d'autres achats Amérique du Nord
Achats
ORDCHG Elemica
modification à commande de matière première Europe, émise par Rhodia
PREQCR03 direct
demandes d'achat envoyées au sourcing d'achats "Mercado Eletrônico" au Brésil
105
Annexes
INVOIC02 direct
Facture Fournisseurs de service pour l’Amérique du Nord: IDOC-Ghost/Spot Pcard,
X12 810, IDOC-CASS), LOCKBOX, BAI)
fichiers en direct
Ulysse Europe (fichiers "CPT", "BTA", et "VIR") et Ulysse Amérique du Nord (fichiers
plats de MasterCard NA pour Ulysse)
LoadTenderMotor
direct demandes de transport route France à un pool de transporteurs composé par
Schenker et Dentressangle
LoadTenderOcean
Elemica
Logistique instructions d'acheminement maritime pour les agents logistiques qui plannifient
et exécutent le transport,via GT Nexus
106