Table des matièresIntroduction générale .....................................................................................
3.3    Branche fonctionnelle ................................................................................................
5.3.3        La phase d’intégration..........................................................................................
Liste des figuresFigure 1:Architecture de l’EAI .............................................................................
Figure 28 : diagramme de classe des utilisateurs et groupes ...................................................... 60Figur...
Figure 59 : Interface de gestion de mails ...................................................................................
Liste des tableauxTableau 1: Les fonctions d’un EAI .........................................................................
Introduction généraleDe nos jours, les informations sont de plus en plus dispersées, les systèmes pour les gérer deplus en...
Le présent rapport comporte quatre chapitres :Le premier est consacré à la présentation du cadre générale du projet, l’étu...
CHAPITRE 1Présentation générale1. Introduction2. Présentation de l’organisme d’accueil3. Problématique4. Solution proposée...
Chapitre.1 Présentation générale1.1     IntroductionDans le cadre de notre formation dingénieurs informaticiens à l’Ecole ...
   La planification et lorganisation du secteur de linformatique en Tunisie et la          préparation et le suivi des tr...
d’intégrer d’autres applications dans le futur. D’où nous avons pensé à une 2éme alternativequi comble les défaillances de...
CHAPITRE 2Etat de l’art1. Introduction2. Etude comparative3. Choix de méthodologie4. Conclusion                  Page 14
Chapitre.2 Etat de l’art2.1    IntroductionDans ce chapitre, nous allons présenter quelques notions et quelques technologi...
que rencontrent les entreprises en termes de réutilisabilité, dinteropérabilité et de réduction decouplage entre les diffé...
2.2.3.1 Une étude comparative entre l’EAI et l’ESB a-       L’EAILIntégration dapplications dentreprise ou IAE (en anglais...
 Les BO réfléchissent ainsi le modèle de donnée global des informations des différents       processus de lentreprise. Il...
Cette plate-forme dintégration assure les quatre types de fonctions suivants:                                 Tableau 1: L...
 Larchitecture "Hub and spoke"Cest le modèle centralisé de lIntégration. Dans ce cadre tout passe par un "hub" central.Au...
Nouvelle vision pour L’EAI : La prise en compte de systèmes hors de l’entreprise (partenaires, fournisseurs), il s’agit d...
D’après M. Roy Schulte de la société Gartner inc, "LESB est une nouvelle architecture quiexploite les services web, les sy...
Tableau 2 : Les fonctionnalités d’un ESBConnectivité                   Supporte de multiples protocoles de transport synch...
Figure 4: L’architecture d’un ESB c-    Comparaison entre l’EAI et l’ESBDans cette partie, nous allons nous attarder sur l...
et les standards quils exploitent, notamment XML, de plus en plus utilisé comme formatd’échange de données au sein des sol...
douverture. Les standards JMS, JCA, services web facilite énormément lintégration dun busapplicatif de type ESB avec un ex...
Tableau 4 : Evolution parallèle des ESB et des EAI     2.2.3.2 Choix de Middleware :Pour conclure, les éditeurs de L’EAI e...
Pour ce motif, les entreprises intègrent leurs applications en achetant les EAI des éditeurs delogiciels qui voient à leur...
2.2.4.2      Etude comparativeVu le grand nombre d’éditeurs de l’EAI sur le marché, nous allons cerner notre choix entre 3...
d’adaptateurs qui assurent la communication avec les composants hétérogènes, une interfaced’administration BAM qui facilit...
2.3     Choix de méthodologie :   2.3.1      Comparaison entre les différentes méthodologiesBeaucoup de gens pensent que l...
Tableau 7 : Comparaison entre les différentes méthodologiesMéthodologie   Description                 Points forts        ...
Cette figure nous montre l’étendue des différentes méthodologies sur le cycle de vie d’unlogiciel. En effet, le RUP traite...
contexte (le système est une boîte noire, les acteurs lentourent et sont reliés à lui, sur laxe quilie un acteur au systèm...
CHAPITRE 3   Spécifications etanalyse des besoins1. Introduction2. Etude préliminaire3. Branche fonctionnelle4. Branche te...
Chapitre.3 Spécifications et analyse des besoins3.1    IntroductionDans ce chapitre, nous allons entamer la phase de spéci...
3.2.1    Cahier des charges : 3.2.1.1 Présentation du projet:  Le CNI, centre national d’informatique, est un établissemen...
La figure suivante montre la disposition de notre environnement matériel et logiciel :                   Figure 10 : L’int...
collègues, et peut aussi superposer 2 calendriers pour pouvoir identifier le temps libre partagéentre les 2 employés.-Il p...
3.2.1.4 Identification des acteurs :Un acteur représente labstraction dun rôle joué par des entités externes (utilisateur,...
employé:employé12                                            date d’une activité            employé:employé11             ...
3.3.1.1 Identification des acteurs :Un acteur représente labstraction dun rôle joué par des entités externes (utilisateur,...
membresEnvoyer des SMS                                           Utilisateur                                              ...
Description de « gérer boite mail »IdentificationNom du cas: gérer sa boite mailBut : L’utilisateur peut gérer sa boite ma...
Description de «gérer le calendrier »IdentificationNom du cas: gérer le calendrierBut : L’utilisateur peut gérer son calen...
Description de envoyer un faxIdentificationNom du cas: envoyer un faxBut : L’utilisateur peut envoyer un fax à un destinat...
Description de « gérer ses contacts »IdentificationNom du cas: gérer ses contacts.But : L’utilisateur peut gérer sa liste ...
Description de « envoyer un SMS »IdentificationNom du cas: envoyer un SMSBut : L’utilisateur peut envoyer un SMS à un dest...
Description de « gérer disque virtuel »IdentificationNom du cas: gérer son disque virtuelBut : L’utilisateur peut créer so...
Description de « gérer les notes »IdentificationNom du cas: gérer les notesBut : L’utilisateur peut créer des notes où il ...
Description de « gérer les applications »IdentificationNom du cas: gérer les applications.But : L’utilisateur peut utilise...
Description de « utiliser forum »IdentificationNom du cas: utiliser forum.But : L’utilisateur peut utiliser un forum soit ...
Description de « gérer les documents »IdentificationNom du cas: gérer les documents.But : L’utilisateur peut effectuer plu...
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Bureau virtuel
Prochain SlideShare
Chargement dans…5
×

Bureau virtuel

1 441 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 441
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
106
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Bureau virtuel

  1. 1. Table des matièresIntroduction générale ...................................................................................................................... 8Chapitre.1 Présentation générale ............................................................................................. 11 1.1 Introduction ................................................................................................................... 11 1.2 Présentation de l’organisme d’accueil ........................................................................ 11 1.3 Problématique ............................................................................................................... 12 1.4 Solution proposée ......................................................................................................... 12 1.5 Conclusion .................................................................................................................... 13Chapitre.2 Etat de l’art ............................................................................................................. 15 2.1 Introduction ................................................................................................................... 15 2.2 Etude comparative ........................................................................................................ 15 2.2.1 Interopérabilité ....................................................................................................... 15 2.2.2 SOA ......................................................................................................................... 15 2.2.3 Deux vues d’intégration L’EAI et L’ESB ............................................................ 16 2.2.4 Comparaison entre Les EAI sur le marché ........................................................... 27 2.3 Choix de méthodologie : .............................................................................................. 31 2.3.1 Comparaison entre les différentes méthodologies ............................................... 31 2.3.2 Choix de méthodologie .......................................................................................... 33 2.3.3 2TUP ....................................................................................................................... 33 2.4 Conclusion .................................................................................................................... 34Chapitre.3 Spécifications et analyse des besoins .................................................................... 36 3.1 Introduction ................................................................................................................... 36 3.2 Etude préliminaire ........................................................................................................ 36 3.2.1 Cahier des charges : ............................................................................................... 37 Page 1
  2. 2. 3.3 Branche fonctionnelle .................................................................................................. 41 3.3.1 Capture des besoins fonctionnels .......................................................................... 41 3.3.2 Analyse ................................................................................................................... 58 3.4 Branche technique ........................................................................................................ 64 3.4.1 Capture des besoins techniques ............................................................................. 64 3.4.2 Conception générique ............................................................................................ 69 3.5 Conclusion .................................................................................................................... 84Chapitre.4 Conception .............................................................................................................. 86 4.1 Introduction ................................................................................................................... 86 4.2 Conception préliminaire ............................................................................................... 86 4.2.1 Vue dynamique du système ................................................................................... 86 4.2.2 Vue statique de système ......................................................................................... 90 4.3 Conception détaillée ..................................................................................................... 93 4.3.1 Les Design patterns ................................................................................................ 93 4.3.2 Vue dynamique de système ................................................................................... 95 4.3.3 Vue statique de système ....................................................................................... 104 4.4 Conclusion .................................................................................................................. 108Chapitre.5 Réalisation ............................................................................................................ 110 5.1 Introduction ................................................................................................................. 110 5.2 Environnement du travail ........................................................................................... 110 5.2.1 Environnement matériel ....................................................................................... 110 5.2.2 Environnement logiciel ........................................................................................ 110 5.2.3 Architecture de la solution ................................................................................... 111 5.3 Principales étapes de réalisation ................................................................................ 113 5.3.1 La phase de préparation ....................................................................................... 113 5.3.2 La phase de développement ................................................................................. 113 Page 2
  3. 3. 5.3.3 La phase d’intégration.......................................................................................... 118 5.4 Les problèmes rencontrés........................................................................................... 119 5.5 Quelques aperçus ........................................................................................................ 119 5.6 Chronogramme ........................................................................................................... 123Conclusion générale .................................................................................................................... 124 Page 3
  4. 4. Liste des figuresFigure 1:Architecture de l’EAI .................................................................................................... 18Figure 2: Les architecture d’un EAI ............................................................................................ 20Figure 3: L’ESB dans l’entreprise ............................................................................................... 21Figure 4: L’architecture d’un ESB ............................................................................................... 24Figure 5: Evolution des technologies d’intégration .................................................................... 24Figure 6 : Comparaison entre les différents produits sur le marché .......................................... 30Figure 7 : Projection d’XP et de 2TUP sur la matrice du RUP .................................................. 32Figure 8 : Les phases de processus 2TUP ................................................................................... 34Figure 9 : Situation de létude préliminaire dans 2TUP .............................................................. 36Figure 10 : L’interaction entre Biztalk et les différents composants ......................................... 38Figure 11 : Diagramme de contexte dynamique 1/2 ................................................................... 40Figure 12 : Diagramme de contexte dynamique 2/2 ................................................................... 41Figure 13: Diagramme de cas d’utilisations de gestion de mails ............................................... 43Figure 14 : Diagramme de cas d’utilisation de gestion de calendrier ........................................ 44Figure 15 : Diagramme de cas d’utilisation d’envoie d’un fax .................................................. 45Figure 16 : Diagramme de cas d’utilisation de gestion des contacts ......................................... 46Figure 17 : Diagramme de cas d’utilisation d’envoie d’un SMS ............................................... 47Figure 18 : Diagramme de cas d’utilisation de gestion du disque virtuel ................................. 48Figure 19 : Diagramme de cas d’utilisation de gestion de notes................................................ 49Figure 20 : Diagramme de cas d’utilisation de gestion des applications................................... 50Figure 21 : Diagramme de cas d’utilisation de participation dans forum ................................. 51Figure 22 : Diagramme de cas d’utilisation de gestion des documents ..................................... 52Figure 23 : Diagramme de cas d’utilisation de consultation d’actualités .................................. 53Figure 24 : Diagramme de cas d’utilisation de discuter avec la messagerie instantanée ......... 54Figure 25 : Diagramme de cas d’utilisation de gestion des tâches ............................................ 55Figure 26 : Diagramme de classes participantes ......................................................................... 56Figure 27 : Le découpage en paquetages ..................................................................................... 59 Page 4
  5. 5. Figure 28 : diagramme de classe des utilisateurs et groupes ...................................................... 60Figure 29 : Situation de la capture des besoins techniques dans 2TUP..................................... 64Figure 30 : L’interaction d’un EAI avec les différentes applications, serveurs et bases dedonnées .......................................................................................................................................... 65Figure 31 : Diagramme de cas d’utilisations techniques ............................................................ 67Figure 32 : Les composants de Biztalk server 2006 R2 ............................................................. 72Figure 33 : L’architecture de Biztalk server ................................................................................ 74Figure 34 : Receive pipeline ......................................................................................................... 78Figure 35 : Send pipeline .............................................................................................................. 79Figure 36 : Le framework .NET ................................................................................................... 81Figure 37: Mécanisme denvoie dun mail ................................................................................... 82Figure 38 : Diagramme de séquence de consultation d’une boite de mails .............................. 87Figure 39 : Diagramme de séquence de l’ajout d’un contact ..................................................... 88Figure 40 : Diagramme de séquence d’ajout d’une tâche .......................................................... 89Figure 41 : Diagramme de classe de gestion de mails ................................................................ 90Figure 42 : Diagramme de classe de gestion de contacts ........................................................... 91Figure 43 : Diagramme de classe de gestion de tâches............................................................... 92Figure 44 : Architecture de Singleton .......................................................................................... 94Figure 45 : Architecture de façade ............................................................................................... 95Figure 46 : Diagramme de séquence détaillé de consultation des mails ................................... 95Figure 47 : Diagramme de séquence détaillé de l’ajout d’un contact ........................................ 97Figure 48 : L’orchestration de l’ajout d’un nouveau contact ..................................................... 98Figure 49: Un cas de mapping...................................................................................................... 99Figure 50 : Diagramme de séquence détaillé d’importation d’une liste de contacts .............. 100Figure 51 : Diagramme de séquence détaillé d’ajout d’une tâche ........................................... 101Figure 52: lorchestration des tâches .......................................................................................... 103Figure 53 : Diagramme de classe détaillé de gestion de mails................................................. 104Figure 54 : Diagramme de classe détaillé de gestion de contacts ............................................ 106Figure 55 : Diagramme de classe détaillé de gestion de tâches ............................................... 108Figure 56: Architecture de la solution ....................................................................................... 111Figure 57: Diagramme de déploiement ..................................................................................... 112Figure 58 : Interface d’authentification ..................................................................................... 120 Page 5
  6. 6. Figure 59 : Interface de gestion de mails ................................................................................... 120Figure 60 : Interface d’affichage de mail .................................................................................. 121Figure 61 : Interface de gestion de contacts .............................................................................. 121Figure 62 : Interface d’exporter et importer les contacts .......................................................... 122 Page 6
  7. 7. Liste des tableauxTableau 1: Les fonctions d’un EAI .............................................................................................. 19Tableau 2 : Les fonctionnalités d’un ESB ................................................................................... 23Tableau 3 : Comparaison entre ESB et EAI ................................................................................ 26Tableau 4 : Evolution parallèle des ESB et des EAI .................................................................. 27Tableau 5 : Vue sur le marché des solutions SOA en 2006 ....................................................... 28Tableau 6 : Comparaison entre les différents EAI sur le marché .............................................. 29Tableau 7 : Comparaison entre les différentes méthodologies .................................................. 32 Page 7
  8. 8. Introduction généraleDe nos jours, les informations sont de plus en plus dispersées, les systèmes pour les gérer deplus en plus hétérogènes et complexes. Chaque entreprise adopte sa propre stratégie, parconséquent, ses propres choix techniques.Entre systèmes, formats et plates-formes hétérogènes, la communication se trouve souventfreinée.Pour faire face à ces freins « technologiques », la réponse la plus simple était de bricoler desinterfaces spécifiques à chaque application et les connecter point à point.Cette « solution » peut paraître judicieuse quand on parle d’une entreprise dont le systèmed’information est simple et indépendant. Mais l’est-elle vraiment quand le système se ramifie,que les applications se multiplient et que les interfaces croient au fur et à mesure des besoins ?Va-t-on contourner le problème de la même manière lorsqu’on parlera d’un échangeinterentreprises ou inter ministères?Comme on peut s’en douter, ces bricolages « fait-maison » ne sont en fait qu’uncontournement du problème et non une solution à long terme ou à grande échelle.Linteropérabilité devient un impératif dès lors que lon ne raisonne pas à très court terme.C’est bien dans ce cadre que s’inscrit notre projet de fin d’étude qui consiste en la conceptionet la réalisation d’un bureau virtuel. Ce travail ne constitue en fait qu’un cas parmi tantd’autres dans lesquels on peut appliquer les fondations de l’interopérabilité.Ainsi, on pourra voir à terme de la conception, une application représentant un bureau virtueldont tous les composants sont parfaitement interopérables. Ce qui rendra le bureau virtuelplus ouvert, extensible et maintenable. Page 8
  9. 9. Le présent rapport comporte quatre chapitres :Le premier est consacré à la présentation du cadre générale du projet, l’étude de l’existant, etle travail demandé. Ensuite nous allons nous focaliser sur les spécifications et l’analyse desbesoinsDans le troisième chapitre, nous présentons la conception des différents modules del’application développée.Dans le quatrième chapitre, nous décrivons la réalisation de notre application à travers sesinterfaces. Nous donnons aussi un aperçu sur l’environnement de travail de travail et undiagramme de gant représentant notre avancement au cours du temps. Page 9
  10. 10. CHAPITRE 1Présentation générale1. Introduction2. Présentation de l’organisme d’accueil3. Problématique4. Solution proposée5. Conclusion Page 10
  11. 11. Chapitre.1 Présentation générale1.1 IntroductionDans le cadre de notre formation dingénieurs informaticiens à l’Ecole Supérieure Privéed’ingénierie et de Technologies, nous avons eu loccasion d’effectuer notre projet de findétudes au sein d’ESPRITec en collaboration avec le Centre National d’Informatique. Leprojet consiste en la conception et la réalisation d’un bureau virtuel dans un environnementfavorisant l’interopérabilité et l’intégration des différents modules.Dans ce chapitre, nous présentons le cadre général de notre projet, c’est à dire l’organismed’accueil : ESPRITec et CNI.1.2 Présentation de l’organisme d’accueilDans cette section nous allons présenter les organismes où nous avons effectué notre projetde fin d’études.  ESPRITec :ESPRITec est un organisme fondé au sein d’ESPRIT afin de mener des projets de rechercheen informatique et en télécommunication .  CNI :Le Centre national d’informatique a comme objectif principal de renforcer la communicationet l’échange électronique au sein de l’Administration publique au niveau central, régional etlocal et améliorer l’efficacité de ses services en direction des citoyens et des entreprises endéveloppant des services à distance.Le CNI a joué un rôle important dans : Page 11
  12. 12.  La planification et lorganisation du secteur de linformatique en Tunisie et la préparation et le suivi des travaux des Plans Nationaux Informatiques (PNI)  La rationalisation de l’acquisition de matériels, de produits et de services informatiques par l’Administration et les entreprises publiquesIl est important de noter que l’un des principaux champs d’intervention du CNI estladministration électronique qui est considérée parmi les objectifs prioritaires du onzièmeplan quinquennal de développement économique et social de la Tunisie ( 2007-2011) dans ledomaine des TIC.1.3 ProblématiqueL’utilité principale d’un bureau virtuel est de faciliter la vie des employés, de fournir unnombre de fonctionnalités qui vari selon le poste de l’utilisateur comme la gestion de mails,gestion de tâches, calendrier partagée…En effet, le CNI envisage deux chemins pour implémenter ce bureau virtuel, soit elledéveloppe intégralement la solution soit elle utilise des applications existantes comme uneapplication qui sauvegarde et liste des tâches assignées. On peut voir que cette solutionprésente une fonctionnalité de notre bureau virtuel, donc il dégage de ce qu’il précède que ladeuxième stratégie consiste à communiquer des applications existantes développées endifférents langages avec notre bureau virtuel au lieu de tout développer et on a opté pour cechoix pour deux raisons, en fait le développement d’une application complète ne sera pasrentable en terme de temps qui se traduit en perte d’argent pour l’entreprise comme ledéveloppement intégrale peut être condamné à un échec donc pour minimiser les risquesd’échec de l’application on opte pour l’utilisation des fonctionnalités existantes.1.4 Solution proposéePour arriver à nos fins et connecter les différentes applications existantes, serveurs, bases dedonnées et notre bureau virtuel, nous pouvons penser à connecter ces derniers par desconnexions point à point. Cependant le problème qui se pose dans ce cas est la complexité decette architecture, les connexions redondantes, la difficulté de maintenance, la difficulté Page 12
  13. 13. d’intégrer d’autres applications dans le futur. D’où nous avons pensé à une 2éme alternativequi comble les défaillances de la première solution et qui consiste à l’utilisation d’unmiddleware qui va jouer le rôle d’un serveur d’intégration qui va communiquer tout lesapplications hétérogènes, les bases de données et les serveurs et va centraliser le flux passantsentre eux et ajouter des règles métiers sur les données échangés.En effet, pour des raisons de sécurité le CNI n’a pas pu nous communiquer ses applicationsexistantes ce qui nous pousse à développer quelques fonctionnalités nous-mêmes sur desdifférentes plateformes pour mettre en évidence le rôle prépondérant du serveur d’intégrationdans notre projet. Bien que la finalité de ce projet n’est pas le développement de tous lesmodules relatifs au bureau virtuel mais la compréhension et la mise en place d’unenvironnement d’interopérabilité permettrait aux sociétés intéressées de tirer profit del’application réalisée et l’adapter à ses besoins.Ainsi au point de vue réalisation, on ne sera pas amené à réaliser tous les modules, laprincipale tâche étant l’exploitation du potentiel du middleware dans les quelques modulesréalisés. Malgré que la conception et la réalisation n’aient pas pour but d’être totale, l’analysequant à elle doit l’être.1.5 ConclusionCe chapitre nous a servi à mettre le projet dans son cadre. En effet, notre projet de find’études est effectué en collaboration avec le CNI. Il a consisté en limplémentation etl’intégration des modules composants le bureau virtuel dans un contexte d’interopérabilité.Dans le chapitre suivant, nous introduirons des concepts nécessaires à la compréhension de ceprojet à savoir : Une étude comparative entre ESB et EAI ainsi que la comparaison et le choixde la méthodologie. Page 13
  14. 14. CHAPITRE 2Etat de l’art1. Introduction2. Etude comparative3. Choix de méthodologie4. Conclusion Page 14
  15. 15. Chapitre.2 Etat de l’art2.1 IntroductionDans ce chapitre, nous allons présenter quelques notions et quelques technologies qui vontservir à mieux comprendre notre sujet, d’autre part nous allons fais des études comparatifspour justifier nos choix.2.2 Etude comparative 2.2.1 InteropérabilitéEn informatique, l’interopérabilité est la capacité qu’a un système à fonctionner avec d’autressystèmes existants ou potentiels sans aucune limitation de mise en œuvre ou d’accès. Elle nese limite pas au fait que ces systèmes peuvent fonctionner ensemble (dans ce cas on parlera decompatibilité) mais du fait qu’on sait pourquoi ils le peuvent. Pour ce faire, chaque systèmedoit avoir une interface qui doit être connue, cest-à-dire qu’elle suit une (ou plusieurs)norme(s). Les normes sont ainsi le pilier de base de l’interopérabilité. 2.2.2 SOALarchitecture orientée services (Service Oriented Architecture en anglais) est une formedarchitecture de médiation qui est un modèle dinteraction applicative qui met en œuvre desservices (composants logiciels) avec une forte cohérence interne (par lutilisation dun formatdéchange pivot, le plus souvent XML) et des couplages externes « lâches » (par lutilisationdune couche dinterface interopérable, le plus souvent un service web WS-*).Le service est une action exécutée par un « fournisseur » (ou « producteur ») à lattention dun« client » (ou « consommateur »), cependant linteraction entre consommateur et producteurest faite par le biais dun médiateur (qui peut être un bus) responsable de la mise en relationdes composants. Le service étant à grandes mailles, il englobe et propose les fonctionnalitésdes composants du système. Ces systèmes peuvent aussi être définis comme des couchesapplicatives. Larchitecture orientée services est une réponse très efficace aux problématiques Page 15
  16. 16. que rencontrent les entreprises en termes de réutilisabilité, dinteropérabilité et de réduction decouplage entre les différents systèmes qui implémentent leurs systèmes dinformation 2.2.3 Deux vues d’intégration L’EAI et L’ESBL’intégration d’applications désigne d’un coté les processus et d’un autre les progicielspermettant ainsi d’automatiser les échanges entre différentes applications d’une entreprise oudifférents systèmes d’information d’entreprises différentes. Les applications et les entreprisespeuvent donc échanger des données, des messages et collaborer à l’aide de processuscommuns.Les plates-formes utilisées relient les applications hétérogènes du système d’informationautour d’un bus logiciel commun, chargé du transport des données.Les principaux facteurs poussant au développement de la mise en place de plates-formesd’intégration dans les entreprises sont:La composition souvent très hétérogène du système d’information de l’entreprise quicomplique la tâche de maintenance et de communication entre les différents composants,pouvant même présenter un obstacle dans l’exploitation des données et de potentiel de cesdifférents systèmes, d’où le besoin d’une plateforme d’intégration pour faciliter lacommunication et la maintenance des passerelles existantes entre ces systèmes.Les événements ou changements structurels qui poussent les entreprises à augmenter laflexibilité et la réactivité de leur système d’information, d’où la généralisation des besoinsd’intégration entre les applications de production (ERP) de logistique (SCM) de relation client(CRM).La conception de l’architecture du système d’information comme un ensemble organisé etévolutif de services fortement couplés. L’approche SOA (Service-Oriented Architecture)redéfinit l’intégration d’applications. Page 16
  17. 17. 2.2.3.1 Une étude comparative entre l’EAI et l’ESB a- L’EAILIntégration dapplications dentreprise ou IAE (en anglais Enterprise ApplicationIntégration, EAI) est une architecture inter logicielle permettant à des applicationshétérogènes de gérer leurs échanges. Sa particularité est d’échanger les données en pseudotemps réel.Par extension, lacronyme EAI désigne un système informatique permettant de réaliser cettearchitecture en implémentant les flux inter applicatifs du système dinformation [1].En effet, de nos jours les entreprises ne cessent d’évoluer leurs architectures physique etlogicielle ce qui peut constituer une contrainte pour l’équipe qui doit intégrer le nouveaucomposant. Elle doit ainsi développer une interface de mappage entre ce dernier et les autrespoints ce qui engendre un gaspillage de temps. De ce fait les entreprise ont eu recours auxarchitectures EAI qui présentent un point de connexion entre les différentes entités.Une solution dEAI est destinée à intégrer les applications selon un principe de couplagefaible, où les applications peuvent s’améliorer et fonctionner indépendamment les unes desautres. Un des principaux bénéfices de l’EAI est que l’entreprise peut faire évoluer en douceurson système d’information en s’appuyant au maximum sur l’existant.Une plate-forme EAI est construite suivant un schéma standard : Des connecteurs, servant dinterface entre lEAI et les applications. Ils scrutent lesévènements de lapplication et transmettent les données associées vers lEAI (ou fournissent àlapplication les données provenant de lEAI). Ces données sont appelées ASBO (applicationspecific Business Object) car elles reflètent les données de lapplication (nom du champ,format...). Un connecteur touche généralement à tout ou à une partie des aspects suivants:authentification, gestion des conversations, contexte de sécurité, transactionnel, gestion desdroits, etc...  Les ASBO qui proviennent (ou dirigées vers) des connecteurs passent par une opération de Mapping pour convertir les données spécifiques aux applications (ASBO) en données standards à lEAI : les BO (Business Object). Page 17
  18. 18.  Les BO réfléchissent ainsi le modèle de donnée global des informations des différents processus de lentreprise. Ils sont alors transmis à des opérations appelés collaborations qui reflètent la logique de traitement à appliquer sur un BO avant de l’envoyer à une application cible. Un middleware asynchrone, qui gère la livraison asynchrone garantie des messages sur les applications connectées au courtier de messages (message broker). Des aspects de sécurité sont également contrôlés par cette couche. Un gestionnaire de processus, apte dorchestrer les échanges de messages inter applicatifs dans le but dexécuter des processus métiers. La présence dun outil de workflow humain devient de plus en plus une nécessité au sein de l’entreprise. Un gestionnaire de services, capable dappliquer des services à valeur ajoutée qui sont du ressort de larchitecture dintégration et non du fonctionnel des applications (ex: routage, transformation de messages, transcodification, etc.) Un référentiel, responsable de la cohésion et du paramétrage des composants déployés dans la solution EAI. Une console dadministration, garantissant la supervision de fonctionnement des composants techniques de la solution EAI, ainsi que les processus métiers. Figure 1:Architecture de l’EAI Page 18
  19. 19. Cette plate-forme dintégration assure les quatre types de fonctions suivants: Tableau 1: Les fonctions d’un EAI Routage Autrement dit, en fonction dévénements préalablement définis, un logiciel dIntégration récupère les données dune application, Transformation puis les routent vers leur destination (une autre application), après les avoir préalablement converties dans un format adéquat. Connecteurs (aux A cette fin, il met en œuvre : applications) - un serveur dintégration qui comprend un moteur de règles et un gestionnaire de messages (pour le routage et la transformation) - des connecteurs (pour dialoguer avec les applications) Transport - et un MOM (middleware orienté messages) pour transporter les messages. Quasiment tous les fournisseurs dIntégration disposent de leur propre MOM même si la plupart du temps les plates-formes dIntégration sont déployées sur des MOM déjà installés dans lentreprise.La gestion des processus métiers (BPM, pour Business Process Management) prolonge lesquatre fonctions de lIntégration. Le BPM introduit une couche dabstraction où linformationtraitée nest plus une donnée ou un flux technique dune application vers une autre mais unprocessus métier. A travers le logiciel de BPM, un architecte métier définit un processus quisera traduit en flux techniques, lesquels sont transmis au serveur dintégration à des fins deparamétrage. Dans la réalité, ce nest pas vraiment une surprise, tout nest pas aussi transparentet automatique. Passer les informations du BPM au serveur dintégration demande desinterventions humaines pour, achever le paramétrage technique.L’EAI peut implémenter l’une des deux architectures suivantes le "Hub and spoke" et leNetwork Centric". Page 19
  20. 20.  Larchitecture "Hub and spoke"Cest le modèle centralisé de lIntégration. Dans ce cadre tout passe par un "hub" central.Aucun flux nest possible sans l’intercession de ce hub. Quand une application envoie unmessage, ce dernier est transmis à destination du hub. Le référentiel (la base où sont stockéesles règles de routage et de transformation) est donc lui aussi centralisé. Lavantage dune tellearchitecture saute aux yeux: ladministration est grandement facilitée. En revanche la gestionde la charge savère complexe dans ce type denvironnement: la seule solution consiste eneffet à multiplier les hubs sur les différents segments du réseau, sachant quil faudra veiller àsynchroniser les règles stockées sur ces différents nœuds. Ladministration devient alorsmoins aisée. Larchitecture "Network Centric"Il sagit cette fois de la version décentralisée de limplémentation de lIntégration. Desréférentiels de règles et des gestionnaires de messages sont distribués sur lensemble desnœuds (point de connexion à une application). Quand une application émet un message, cedernier est traité par le référentiel du nœud correspondant afin que les applications abonnées àce type de messages le reçoivent. Avec ce type darchitecture, la charge est doncnaturellement répartie sur lensemble des nœuds.On peut voir ici les différentes architectures : ARCHITECTURE HUB & SPOKE ARCHITECTURE NETWORK CENTRIC Figure 2: Les architecture d’un EAI Page 20
  21. 21. Nouvelle vision pour L’EAI : La prise en compte de systèmes hors de l’entreprise (partenaires, fournisseurs), il s’agit du support du B2B (Business to Business Integration). L’utilisation des services Web. Il s’agit de la standardisation de l’utilisation des services Web, ce qui permet d’y accéder plus facilement depuis n’importe où, rendant plus aisé le commerce sur Internet. b- L’ESB :Un (Enterprise Service Bus) est une solution d’intégration implémentant une architectureparfaitement distribuée, et fournissant des services comme la transformation des données oule routage basé sur le contenu CBR(Content-Based Routing), ainsi qu’une interopérabilitéaccrue par l’utilisation systématique des standards comme XML, les Web Services et lesnormes WS-*.L’ESB est une solution packagée qui permet de mettre en œuvre la SOA 1 Figure 3: L’ESB dans l’entreprise1 Source : Nouvelles technologies pour l’intégration: les ESB EBM Websourcing Janvier 2006 Page 21
  22. 22. D’après M. Roy Schulte de la société Gartner inc, "LESB est une nouvelle architecture quiexploite les services web, les systèmes orientés messages, le routage intelligent et latransformation. LESB agit comme une colonne vertébrale légère et omniprésente delintégration à travers laquelle les services logiciels et les composants applicatifs circulent".Les ESB sont les héritiers directs des EAI, ils reprennent les particularités architecturales dessolutions dEAI, les ESB se focalisent sur les fonctions dinterconnexions et de médiation, etsappuient pour cela sur un ensemble de standards et respectent certaines mesures parmilesquelles on peut citer : Au niveau de la connectivité, des standards comme les services Web pour gérer les communications synchrones, J2EE et .NET. Ces solutions de Sun pour J2EE et Microsoft pour .NET sont les environnements d’architecture distribuée dominants à l’heure actuelle. J2EE apporte la portabilité du seul langage Java sur de nombreuses plates-formes, alors que .NET apporte la portabilité de nombreux langages, mais seulement en environnement Windows sur hardware Intel. XML pour définir les formats des messages. Au niveau des transformations, les standards choisis sont XSLT et Xquery. Au niveau de la sécurité, on s’appuie sur SSL (Secure Socket Layer) et LDAP (Lightweight Directory Access Protocol). Ce dernier s’appuie directement sur TCP/IP JMS (Java Message Service) pour adresser la communication asynchrone avec les MOM. JCA (Java Connector Architecture) pour la connexion aux progiciels et systèmes exotiques (ERP, CRM, Mainframes, etc.) Les applications sont déployées selon l’architecture SOA et le déploiement est grandement facilité, le coût de possession est réduit.On peut donc dégager de ce qui précède que L’ESB est une plate-forme d’entreprise qui meten œuvre des interfaces standardisées au niveau des communications, de la connectivité, destransformations, de la portabilité et de la sécurité.Synthèse des fonctionnalitésLe tableau suivant synthétise les principales fonctionnalités que lon peut attendre dun ESB : Page 22
  23. 23. Tableau 2 : Les fonctionnalités d’un ESBConnectivité Supporte de multiples protocoles de transport synchrone ou asynchrone. Il faut voir lESB comme un "super-connecteur". Son rôle est de se connecter à tout type de ressources ou fournisseurs de services. Cest grâce à cela quil permet une exposition en couplage lâche de fournisseurs de services.Routage Permet deffectuer des routages de message basés sur des règles (de contenu, de contexte, etc.). Idéalement ce routage sappuie sur un annuaire, sur un registre de services et éventuellement sur un moteur de règles.Médiation Adapte le format des messages, le protocole, effectue des transcodifications entre lappelant et lappelé.Exposition de services Transforme en service(s) un composant ou un traitement dune application qui ne le peut pas facilement.Agrégation simple de Effectue des agrégations simples de services de niveau N pourservices construire des services de niveau N+1. Si lagrégation est complexe on préférera utiliser un moteur dorchestration.Traitement dévénements Permet la création des règles de corrélation et de jointurecomplexes dévénements.Contrat de service Permet la définition des contrats de services : SLA, niveau de QoS, gestion des priorités, sécurisation des messages (signature et cryptage), garantie de la livraison et de lintégrité des messages.Supervision et audit Offre des fonctions daudit, de traçabilité, de mesure, dadministration et dexploitation qui permettent le suivi des traitements. Selon la qualité de limplémentation, cette fonctionnalité sera déléguée à un outil tiers.LarchitectureLEnterprise Service Bus possède une architecture en bus qui loppose à larchitecture hub andspoke des EAI. Ceci fait de lESB une solution hautement distribuée. Les composantes decette architecture sont illustrées sur la figure suivante : Page 23
  24. 24. Figure 4: L’architecture d’un ESB c- Comparaison entre l’EAI et l’ESBDans cette partie, nous allons nous attarder sur les points de convergences et de divergencedes deux technologies : l’EAI et l’ESB.Pour ce faire, nous commençons par donner un aperçu sur l’évolution des différentesapproches d’intégration depuis les années 80. Figure 5: Evolution des technologies d’intégrationLes produits de type ESB semblent bien adaptés à l’implémentation de projets EAI de taillemoyenne, concernant des chaînes dintégration qui impliquent des ressources non critiques. Ilsintéressent également les PME (petites et moyennes entreprises) pour leur faible coût dachat Page 24
  25. 25. et les standards quils exploitent, notamment XML, de plus en plus utilisé comme formatd’échange de données au sein des solutions métier. Cependant les ESB présentent desfaiblesses inévitables à labsence de normes touchant à lorchestration des processus et lasécurisation des échanges de flux XML. Avant de faire un choix définitif, il convient deprocéder à un test de performances.Coût dachatLe coût global de la mise en œuvre dune solution de type ESB reste très inférieur à celui dessolutions traditionnelles dEAI. Cette économie découle dune coté des prix relativement baspratiqués par les éditeurs dESB et dautre part de lutilisation de technologies standards, quiparticipe efficacement dans la diminution du montant de la facture lorsque lentreprise faitappel à des compétences externes pour développer ses projets dintégration.Une approche encore en devenirLESB endure de labsence de normes définitives, précisément en matière de description deprocessus (orchestration, gestion des exceptions et des erreurs...) et de sécurité, surtoutlorsque les échanges de données impliquent lentreprise et ses partenaires. Dans l’attente delarrivée de normes définitives, les éditeurs impliquent des solutions transitoires, uneconcession de poids par rapport aux objectifs initiaux de lapproche ESB.Le respect des standardsParmi les technologies sur lesquelles repose lapproche ESB, XML est l’un de principauxstandards utilisés. Ladoption de ce langage simplifie les échanges entre lentreprise et sespartenaires. Lexploitation des services web facilite lintégration de composants applicatifshétérogènes. Le middleware JMS permet de passer naturellement dune architecture en modepoint à point à un bus déchanges fonctionnant en mode dynamique.Lintégration avec lexistantLESB repose sur un système déchange de messages éprouvé : le middleware orienté message(MOM). Les solutions développées en Java, et qui respectent la norme JMS, montrent desperformances répondant aux attentes des entreprises. Lutilisation de JMS en interne par lesdifférents composants de loutil ESB constitue également un gage de performances et Page 25
  26. 26. douverture. Les standards JMS, JCA, services web facilite énormément lintégration dun busapplicatif de type ESB avec un existant, la plupart des éditeurs de produits dEAI fournissantdéjà des solutions de connectivité compatibles avec ces normes.Le tableau ci dessous montre mieux les points de différence entre l’EAI et l’ESB Tableau 3 : Comparaison entre ESB et EAIL’apparition des ESB, plus adaptés par leur architecture de services à l’évolution vers SOA, apoussé les éditeurs d’EAI / BPM pour améliorer leurs produits. Ils ont suivi le mouvement enchangeant l’appellation de leurs offres en incitant l’évolution technique de leurs plates-formespour prendre en compte les standards (XML, Web Services, JMS, etc.) et répondre à certainesexigences liées aux architectures SOA comme la virtualisation des services, la sécurisationdes appels, l’équilibrage de charge entre services, etc.Les ESB aussi ont étalé leur couverture fonctionnelle et offrent ainsi des fonctionsd’orchestration des services, voire de gestion de processus. Quant aux éditeurs de solutionsd’EAI/BPM, ils ont compris l’importance du mouvement d’évolution des Systèmesd’Information vers les architectures SOA et ont continué d’enrichir leur offre en proposantdes outils de gouvernance SOA. Page 26
  27. 27. Tableau 4 : Evolution parallèle des ESB et des EAI 2.2.3.2 Choix de Middleware :Pour conclure, les éditeurs de L’EAI essaient de combler leurs défaillances et ne tardent plusà adopter l’approche SOA, les web service et les différents standards. Ceci nous pousse àchoisir un EAI pour l’implémentation de notre projet vu la richesse de fonctionnalités commele BMP, l’orchestration et la console d’administration offerte ce qui peut nous faciliter latâche. Dans la partie suivante nous allons effectuer une comparaison entre les EAI présentsdans le marché. 2.2.4 Comparaison entre Les EAI sur le marché 2.2.4.1 Vue sur le marchéLe Marché de l’EAI décolle avec celui de l’e-business. Les entreprises visent la performanceet la présence continuelle dans le marché ce qui les pousse à développer de nombreuses offressur le web. Avec l’accroissement de nombre des services online, l’amélioration de leursapplications déjà existantes devient indispensable.Les applications e-business suscitent le besoin d’intégration pour que toutes les informationsrestent cohérentes et disponibles. Page 27
  28. 28. Pour ce motif, les entreprises intègrent leurs applications en achetant les EAI des éditeurs delogiciels qui voient à leur tour en l’EAI, un marché plutôt prometteur. Ceux-ci passent desaccords de partenariat avec d’autres éditeurs, par exemple Siebel qui a signé un accordd’intégration avec IBM. D’autre rachètent carrément les éditeurs possédant les applicationsmanquantes, c’est notamment le cas pour de nombreuses entreprises : Nortel rachète Clarify,Lucent rachète Mosaix. Ces applications EAI sont ensuite proposées aux entreprises clientes.C’est alors que les entreprises éditrices commencent à créer leur propre offre globale, commepar exemple, Sybase Neonsoftare, IBM Crossworlds, Sopra Viewlocity. Une explosion dansle monde de middleware et l’EAI apparaît en 1999, bien que la notion d’intégration existedepuis 1997. Selon une étude menée par la Business Intelligence en 1999, 54% desentreprises estiment qu’avec la croissance de l’e-business, le manque de communication entreapplications leur ferait défaut.De cette effervescence autour de l’EAI, apparaissent de nombreux acteurs, tels queSeeBeyond, Tibco …, d’autres éditeurs généralistes comme le cas de Microsoft s’introduisentdans le marché de l’EAI avec son serveur Biztalk. Tableau 5 : Vue sur le marché des solutions SOA en 2006 BEA 60 % IBM 43 % Microsoft 31 % Oracle 30 % SUN 21 % SAP 12 % Tibco 12 % WebMethods 10 %[2] Page 28
  29. 29. 2.2.4.2 Etude comparativeVu le grand nombre d’éditeurs de l’EAI sur le marché, nous allons cerner notre choix entre 3leaders pour choisir le plus convenable entre eux dans notre contexte. Le tableau suivant estun tableau comparatif présentant les caractéristiques des trois éditeurs étudiés, à savoir :IBM, Microsoft et Sybase – Neonsoftware : Tableau 6 : Comparaison entre les différents EAI sur le marché Websphere process Biztalk (Microsoft ) Unwired orchestrator server ( IBM ) ( Sybase )Mise en place et complexe facile facileparamétrageConnecteurs plusieurs plusieurs peuBPM(business intégré intégré Non intégréprocess management)Prix 500000 € 39 000 € 125 000 €2.2.4.3 Choix de L’EAIL’offre de IBM semble être la solution la plus complète sur le marché, offrant un desservices adaptés à notre projet. Cependant, le prix excessif de produit l’élimine de la liste(500000€).Pour ce qui est de l’offre de Sybase, on remarque plusieurs failles au sein de système tels quele manque de gestion de workflows, la non intégration du MOM dans la Couche transport, lemode synchrone non permis, pas d’interface graphique pour mapping, peu de connecteur, pasde notion de profils d’utilisateurs. Tous ces inconvénients nous décourage de l’utiliser.Finalement, BizTalk propose un middleware riche en fonctionnalités, un grand nombre Page 29
  30. 30. d’adaptateurs qui assurent la communication avec les composants hétérogènes, une interfaced’administration BAM qui facilite la tâche de contrôle , une gestion complète de processus(orchestration, mapping…). De plus, il présente la meilleure offre des prix des EAI sur lemarché offrant le prix le plus convenable et il ne cesse d’évoluer.En effet, BizTalk est nouveau par rapport aux autres EAI produisant depuis 2000 6 versions.Chacune de ses versions offre plus de fonctionnalités.D’autre part, il s’installe dans nos jourscomme l’un des leaders de EAI et pour des raisons de stabilité que nous avons choisi BizTalk2006 R2 car le Biztalk 2009 a lancé une version beta. La figure suivante montre l’importancede BizTalk au sein de marché d’EAI.Voici un zoom sur le marché de l’EAI : Figure 6 : Comparaison entre les différents produits sur le marché Page 30
  31. 31. 2.3 Choix de méthodologie : 2.3.1 Comparaison entre les différentes méthodologiesBeaucoup de gens pensent que le développement d’un logiciel se limite à la partie codage. Orla phase codage est une phase parmi plusieurs dans le cycle de vie d’un logiciel et si onnéglige ces derniers les problèmes et les bugs ne vont pas tarder à flotter sur la surface.Dès les années 70, le développement de logiciels connaissait des problèmes. Il ny avait pas deméthodologie et de norme ce qui donna bien souvent des systèmes de qualité douteuse. Lessystèmes de nos jours sont beaucoup plus évolués que cette période ce qui peut poser desproblèmes graves. Le génie logiciel tente à laide de processus, analyse, méthode et norme deremédier à ce problème. Les dépassements de budget et de temps sont monnaie courante dansle développement dapplication. Voila les principes de base du génie logiciel qui tente decorriger ces problèmes.Le but du développement de logiciel est de produire un logiciel de qualité. Plusieurs critèresessaient de définir la qualité dun logiciel.De ce fait, nous sommes obligés de suivre une méthodologie de développement pour assurerune meilleur qualité pour notre logiciel. En effet, ls processus de développement régit lesactivités de production du logiciel selon deux aspects.L’aspect statique qui représente le processus en termes de tâches à réaliser.L’aspect dynamique qui représente la dimension temporelle du processus.On va entamer une comparaison entre les différents processus de développement pour choisirle mieux adapté à notre projet. Vu le nombre important de méthodologies, on va se limiter àune comparaison entre le RUP, 2TUP et XP qui sont très utilisés dans les entreprises. Page 31
  32. 32. Tableau 7 : Comparaison entre les différentes méthodologiesMéthodologie Description Points forts Points faiblesRUP Promu par Rational. -Itératif. -Coûteux à personnaliser : Le RUP est à la fois une -Spécifie le dialogue batterie de consultants. méthodologie et un entre les différents -Peu de place pour le code outil prêt à l’emploi intervenants du projet. et la technologie. (documents types -Propose des modèles de partagés dans un documents pour des référentiel Web). projets types. Cible des projets de plus de 10 personnes.2TUP S’articule autour de -Itératif. -Plutôt superficiel sur les l’architecture. -Fait une large place à la phases situées en amont et Propose un cycle de technologie et à la en aval du développement en Y. gestion du risque. développement : capture Cible des projets de -Définit les profils des des besoins, gestion du toutes tailles. intervenants, les changement. livrables, les plannings, -Ne propose pas de les prototypes. documents types.XP Ensemble de bonnes -Itératif et simple à -Ne couvre pas les phases pratiques de mettre en œuvre en amont et en aval au développement (travail -Fait une large place aux développement : capture en équipe, transfert de aspects techniques. de besoins, maintenance... compétences…) -Innovant: -Assez flou dans sa mise Cible des projets de programmation en duo en œuvre moins de 10 personnes Figure 7 : Projection d’XP et de 2TUP sur la matrice du RUP Page 32
  33. 33. Cette figure nous montre l’étendue des différentes méthodologies sur le cycle de vie d’unlogiciel. En effet, le RUP traite les différentes phases : les spécifications de besoins, laconception, le développement et les tests. Le 2TUP néglige un peu la première partie et L’XPse focalise sur la phase de développement. 2.3.2 Choix de méthodologieD’après ce tableau comparatif, on a tendance à éliminer le RUP qui néglige la technologie etles contraintes techniques présentant une grande partie de notre projet. Par ailleurs, on inhibel’XP qui néglige, pour sa part, l’étude fonctionnelle et la capture des besoins fonctionnels ettechniques. De plus, une grande importance est accordée dans l’XP au développement auxdépens de la phase de conception où seront introduites les différentes interactions entre noscomposants et notre middleware.Par voie de conséquence, nous optons pour le processus 2TUP pour plusieurs raisons. D’unepart il accorde une grande importance à la technologie ce qui nous convient parfaitement,d’autre part le 2 TUP est une méthode en Y constituée de 2 branches l’une fonctionnelle etl’autre technique. ces dernières peuvent évoluer en parallèle et s’adaptent facilement àl’évolution au sein de l’entreprise. En effet lorsque la technologie change ou évolue labranche technique peut être traitée à part et réintégrée dans le projet. D’autre part, en casd’ajout de fonctionnalités à notre projet, la branche fonctionnelle peut être traitée seule sanstoucher à l’autre branche ce qui constitue une méthodologie souple et adaptable aux différentsenvironnements de travail. 2.3.3 2TUPIl dégage de ce qui précède qu’on va suivre le processus 2TUP (2 track unified process,prononcez "toutiyoupi") qui est un processus de développement logiciel qui implémente leProcessus Unifié.Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniques desaspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement àidentifier les acteurs qui vont interagir avec le système à construire, les messagesquéchangent les acteurs et le système, à produire le cahier des charges et à modéliser le Page 33
  34. 34. contexte (le système est une boîte noire, les acteurs lentourent et sont reliés à lui, sur laxe quilie un acteur au système on met les messages que les deux séchangent avec le sens). Leprocessus sarticule ensuite autour de 3 phases essentielles:  Une branche technique  Une branche fonctionnelle  Une phase de réalisation [3] [4] Figure 8 : Les phases de processus 2TUP2.4 ConclusionDans ce chapitre, nous avons passé en revue les différentes notions nécessaires à lacompréhension de notre sujet, et nous avons mené une étude comparative entre les différentestechnologies et les différents produits afin de faire le meilleur choix de notre environnementde travail. Le chapitre suivant portera sur le processus 2TUP, la méthodologie qui noussemble la plus adaptée à notre projet. Page 34
  35. 35. CHAPITRE 3 Spécifications etanalyse des besoins1. Introduction2. Etude préliminaire3. Branche fonctionnelle4. Branche technique5. Conclusion Page 35
  36. 36. Chapitre.3 Spécifications et analyse des besoins3.1 IntroductionDans ce chapitre, nous allons entamer la phase de spécification et d’analyse des besoins. Nousallons présenter en premier l’étude préliminaire dans laquelle on parcourra le cahier decharge. Puis on abordera la branche fonctionnelle suivie de la branche technique.3.2 Etude préliminaireLétude préliminaire est la toute première étape de notre processus de développement. Elleconsiste à effectuer un premier extrait des besoins fonctionnels et opérationnels, en utilisantprincipalement le texte, ou des diagrammes très simples. Figure 9 : Situation de létude préliminaire dans 2TUPDans cette étape on doit définir les entités externes et leurs interactions avec le système. Page 36
  37. 37. 3.2.1 Cahier des charges : 3.2.1.1 Présentation du projet: Le CNI, centre national d’informatique, est un établissement public qui adopte plusieurs projets de recherche dont notre projet qui s’intitule bureau virtuel administratif. Le CNI est constitué de plusieurs départements qui communiquent ensemble, chaque département ayant ses propres besoins. C’est dans ce cadre que l’idée de création de bureau virtuel est née. .En effet nous comptons réaliser une interface pour chaque employé où il peut accéder à ses outils bureautiques, les logiciels dont il a besoin , où il peut sauvegarder ses documents ou les partager dans l’intranet , communiquer avec les autres employés via un forum ou une messagerie instantanée, consulter sa calendrier , la modifier selon ses besoins et même la partager avec ses collègues , utiliser sa boite mail, gérer ses contact … 3.2.1.2 Grands choix techniques: Afin de maîtriser les risques, nous allons utiliser une approche itérative et incrémentale, fondée sur le processus en Y. Dans le cadre de son orientation vers les projets de recherche, CNI a choisit BIZTALK pour réaliser notre projet. Ce serveur d’intégration répond parfaitement à nos besoins. D’autre part, nous avons opté pour les choix techniques clés suivants pour notre projet : -la modélisation objet avec UML. - les architectures 3-tiers avec SGBDR. - la plate-forme .NET (avec C#, ASP.NET) et les potentialités de XML pour l’échange de flow entre les applications, la base de donnée et un ESB. -une base de données SQL server 2005. Page 37
  38. 38. La figure suivante montre la disposition de notre environnement matériel et logiciel : Figure 10 : L’interaction entre Biztalk et les différents composants3.2.1.3 Recueil des besoins fonctionnels:Après une phase de recherche et consultation de représentant de CNI, nous avons pu dégagerce cahier de charges préliminaire.Utilisateur : il a plusieurs tâches à faire :-Tout d’abord il doit s’authentifier pour accéder à son bureau virtuel- Il peut accéder à ses outils bureautiques tels qu’Excel, Word, power point, calculatrice …- Il peut gérer son propre calendrier : il peut créer un nouvel événement, fixer une réunionqui peut être obligatoire pour quelques uns et optionnelle pour d’autres… donc l’utilisateurpeut inviter ses subordonnés, créer une tâche à faire qu’il peut accorder à ses subordonnés.D’autre part, il peut détruire les anciens événements situés dans une plage de temps.L’utilisateur peut voir le contenu d’autres calendriers en demandant le droit d’accès de ses Page 38
  39. 39. collègues, et peut aussi superposer 2 calendriers pour pouvoir identifier le temps libre partagéentre les 2 employés.-Il peut gérer ses contacts, il peut ajouter un contact, le partager avec d’autre utilisateurs, il ala possibilité d’ajouter une liste ou il peut intégrer tout ses contacts.-L’utilisateur a aussi accès à sa boite à lettre pour consulter ses mails, il peut envoyer unmessage accompagné d’une pièce jointe, il peut organiser ses email sous des dossiers. Il estcapable d’archiver ses messages dans des fichiers textes. Il peut rechercher des anciensmessages suivant la date ou le titre, comme il peut supprimer ceux qui n’a plus besoin.-L’employé peut organiser ses documents : après le chargement de ses documents, il a lapossibilité de les organiser dans des dossiers puis il peut les partager avec les autresutilisateurs. Chaque employé peut agir sur les documents des autres selon les privilègesdonnés par l’administrateur, il dispose également du droit de recherche des fichiers dont il abesoin.-Il peut écrire ses notes et les organiser dans des dossiers.-L’employé peut communiquer avec ses collègues à travers un forum et une messagerieinstantanée. En effet, il peut accéder à des salons dans le chat suivant les groupes etcommuniquer avec les autres.-L’utilisateur peut envoyer des SMS à un destinataire ou à plusieurs en même temps. Commeil peut envoyer et recevoir des fax.- L’employé doit disposer d’un disque virtuel où il peut sauvegarder ses documents. Cetespace est propre à lui, personne ne peut accéder à ses documents sans son autorisation.-L’utilisateur peut participer à des activités extra professionnelles.-Finalement, l’employé peut accéder à ses outils de travail suivant son département (Leslogiciels dont il a besoin suivant sa spécialité).Administrateur : il gère les profils des utilisateurs, affecte les privilèges suivant les postesdes employés, donne les modules dont a besoin chaque utilisateur. Il gère aussi les groupessuivant les départements. Page 39
  40. 40. 3.2.1.4 Identification des acteurs :Un acteur représente labstraction dun rôle joué par des entités externes (utilisateur, dispositifmatériel ou autre système) qui interagissent directement avec le système étudié.Dans notre cas on identifie l’utilisateur humain qui peut être un employé ou l’administrateur.Employé : peut consulter son bureau virtuel, gérer ses outils, communiquer avec sescollègues, accéder à sa boite mail, son calendrier, son disque virtuel, partager ses documents.Administrateur : gérer les profils des utilisateurs, les groupes et les privilèges.3.2.1.5 Identification des messages :Un message représente la spécification dune communication unidirectionnelle entre objetsqui transporte de linformation avec lintention de déclencher une activité chez le récepteur.Nous représentons dans le diagramme de contexte ci-après l’interaction entre les acteurs et lesystème mettant en évidence les messages échangés.Remarque : Etant donné que l’employé peut faire beaucoup de tâches, nous allons créerplusieurs instances d’utilisateurs pour mettre en évidence les différentes interactions avec lesystème. employé:employé4 employé:employé5 sauvegarder dans le chargement disque virtuel, , téléchargement affectation employé:employé3 des privilèges. employé:employé6 envoye un message dans le chat envoie mail document créer événement/réunion /tâche dans son calendrier appel doutils Bureau virtuel employé:employé2 employé:employé7 liste des contacts appel de lapplication ajoute un contact écrire message dans le forum employé:employé8 employé:employé1 employé:employé9 Figure 11 : Diagramme de contexte dynamique 1/2 Page 40
  41. 41. employé:employé12 date d’une activité employé:employé11 envoye document par le fax confirmation admin:admin1 gérer les modules aquittement Bureau virtuel liste des utilisateurs listes des groupes ajouter, supprimer, envoye SMS modifier groupe employé:employé10 ajouter, modifier, supprimer utilisateur admin:admin2 admin:admin3 Figure 12 : Diagramme de contexte dynamique 2/2L’étude préliminaire a pour but de collecter les besoins fonctionnels et techniques initiaux,d’identifier les acteurs, les messages et de mettre en évidence l’interaction des acteurs avec lesystème comme étant une boite noire.3.3 Branche fonctionnelle 3.3.1 Capture des besoins fonctionnelsCette phase représente un point de vue « fonctionnel » de l’architecture système. Par le biaisdes cas d’utilisation, nous serons en contact permanent avec les acteurs du système envue de définir les limites de celui-ci, et ainsi éviter de trop s’éloigner des besoins réelsde l’utilisateur final. Page 41
  42. 42. 3.3.1.1 Identification des acteurs :Un acteur représente labstraction dun rôle joué par des entités externes (utilisateur, dispositifmatériel ou autre système) qui interagissent directement avec le système étudié. Dans notrecas, l’utilisateur humain est identifié comme étant soit un employé ou l’administrateur.Employé : peut consulter son bureau virtuel, gérer ses outils, communiquer avec sescollègues, accéder à sa boite mail, son calendrier, son disque virtuel, partager ses documents.Administrateur : gérer les profils des utilisateurs, les groupes et les privilèges. 3.3.1.2 Identification des cas d’utilisations a. Liste préliminaire des cas d’utilisationsL’identification des cas d’utilisation une première fois, nous donne un aperçu desfonctionnalités futures que doit implémenter le système. Pour constituer les cas d’utilisation,il faut considérer lintention fonctionnelle de lacteur par rapport au système dans lecadre de lémission ou de la réception de chaque message. En regroupant les intentionsfonctionnelles en unités cohérentes, on obtient les cas dutilisations.Cas d’utilisation Acteur principal, acteurs Message(s) émis/reçus par les secondaires acteursUtiliser une application Utilisateur émet : nom de l’applicationUtiliser les outils Utilisateur émet : nom de l’outilGérer le calendrier Utilisateur émet : créer événement/réunion/tâcheGérer les contacts Utilisateur émet : ajoute un contact reçoit : liste des contactsGérer les documents Utilisateur émet : chargement, téléchargement reçoit : documentGérer la boîte mail Utilisateur émet : envoie mailUtiliser le forum Utilisateur émet : écrit messageGérer le disque virtuel Utilisateur Emet : sauvegarder, affectation des privilèges.Echanger messages avec Utilisateur émet : le message lui-même Page 42
  43. 43. membresEnvoyer des SMS Utilisateur émet : message reçoit : acquittementEnvoyer des fax Utilisateur émet : documentParticiper aux activités extra- Utilisateur émet : date d’une activitéprofessionnelles reçoit : confirmation(s)Utiliser la calculatrice Utilisateur émet : des opérations reçoit : résultat(s)Gérer les modules administrateur émet : nom du moduleGérer les groupes administrateur émet : ajouter, supprimer, modifier groupe. reçoit : listes des groupesGérer les utilisateurs administrateur émet : ajouter, modifier, supprimer utilisateur. reçoit :liste des utilisateursDescription des cas d’utilisations <<include>> introduire ladresse de destinataire envoyer mail <<include>> ecrire message <<extends>> ajouter fichier jointe <<extends>> supprimer message <<extends>> recherche par date gérer sa boite mailutilisateur <<extends>> rechercher mail recherche par nom <<extends>> <<extends>> sauvegarder mail recherche par destinataire ajouter un contact ajouter liste <<extends>> gérer liste de contact <<extends>> <<extends>> <<extends>> supprimer un contact editer liste <<extends>> <<extends>> éditer un contact supprimer liste Figure 13: Diagramme de cas d’utilisations de gestion de mails Page 43
  44. 44. Description de « gérer boite mail »IdentificationNom du cas: gérer sa boite mailBut : L’utilisateur peut gérer sa boite mail, il peut envoyer des mails accompagnés de pièces jointes. Ilpeut agir sur ses messages en les supprimant, les sauvegardant. Il peut chercher des anciens mails. Il a ledroit d’ajouter des dossiers pour organiser ses mails et il peut gérer sa liste de contacts.Acteurs : L’employé qui consulte sa boite mail.Pré conditions : -l’utilisateur doit être authentifié. -l’utilisateur doit avoir son compte mail.Post-conditions : selon l’action faite par l’utilisateur, s’il a envoyé un mail on aura un mail envoyé. Ajouter tâche Gérer tâche Supprimer tâche Gérer réunion Modifier tâche utlisateur Ajouter réunion Aj outer tâche évennement Supprimer réunion Modifier réunin modifier évennement supprimer évenement ajouter évennement Figure 14 : Diagramme de cas d’utilisation de gestion de calendrier Page 44
  45. 45. Description de «gérer le calendrier »IdentificationNom du cas: gérer le calendrierBut : L’utilisateur peut gérer son calendrier en ajoutant, supprimant ou modifiant soit les événements, soitles tâches ou les réunions.Acteurs : L’utilisateur qui veut consulter ou modifier son calendrierPré conditions : -l’utilisateur doit être authentifié.Post-conditions : -un événement, une tâche ou une réunion est crée, modifié ou supprimé. envoyer à un destinataire Envoyer un fax envoyer à plusieurs destinataires Utilisateur <<extends>> envoyer une pièce jointe Figure 15 : Diagramme de cas d’utilisation d’envoie d’un fax Page 45
  46. 46. Description de envoyer un faxIdentificationNom du cas: envoyer un faxBut : L’utilisateur peut envoyer un fax à un destinataire ou à plusieurs. Ce fax peut être accompagné d’ unepièce jointe.Acteurs : L’employé qui veut envoyer un fax.Pré conditions : -l’utilisateur doit être authentifié.Post-conditions : un fax envoyé. supprimer un contact ajouter un contact éditer un contact <<extends>> <<extends>> créer liste de contacts <<extends>> <<extends>> gérer liste de contactutilisateur <<extends>> éditer liste de contacts <<extends>> <<extends>> <<extends>> <<extends>> exporter contacts supprimer liste de contacts importer contacts chercher un contact chercher un contact par societe chercher un contact par nom chercher un contact par liste Figure 16 : Diagramme de cas d’utilisation de gestion des contacts Page 46
  47. 47. Description de « gérer ses contacts »IdentificationNom du cas: gérer ses contacts.But : L’utilisateur peut gérer sa liste de contact en ajoutant des listes où il peut organiser ses contacts, ilpeut également modifier ces listes ou les supprimer. D’autre part il peut ajouter des contacts, les modifier ,les supprimer, les exporter, les importer ou rechercher un contact selon des critères .Acteurs : L’employé qui veut gérer sa liste de contact.Pré conditions : -l’utilisateur doit être authentifié.Post-conditions : -un contact est crée, modifié ou supprimé. b- une liste de contact est crée modifiée ou supprimée introduire num destinataire <<includes>> envoyer SMS à une personne <<includes>> gérer les contacts introduire message envoyer SMS <<include>>Utilisateur <<include>> envoyer SMS à plusieurs <<include>> choisir les numero des destinataires Figure 17 : Diagramme de cas d’utilisation d’envoie d’un SMS Page 47
  48. 48. Description de « envoyer un SMS »IdentificationNom du cas: envoyer un SMSBut : L’utilisateur peut envoyer un SMS à un destinataire ou à plusieurs.Acteurs : L’employé qui veut envoyer un SMS.Pré conditions : -l’utilisateur doit être authentifié.Post-conditions : un SMS envoyé. lauthentification partager un document creer Dossier Web <<include>> <<extends>> <<include>> copier un document <<extends>> gérer son disque virtuel utilisateur <<extends>> <<extends>> <<extends>> <<extends>> déplacer un document creer un document supprimer un document renomer un document Figure 18 : Diagramme de cas d’utilisation de gestion du disque virtuel Page 48
  49. 49. Description de « gérer disque virtuel »IdentificationNom du cas: gérer son disque virtuelBut : L’utilisateur peut créer son propre disque virtuel à travers la création de Dossier Web. Ensuite il peutorganiser ses documents, les créer, les sauvegarder, les déplacer, les modifier, les partager avec d’autresutilisateurs, les supprimer.Acteurs : L’employé qui veut utiliser un disque virtuel où il peut sauvegarder ses documents.Pré conditions : -l’utilisateur doit être authentifié.Post-conditions : Selon l’action d’utilisateur on peut avoir un document sauvegardé, supprimé, modifié oupartagé. créer une note <<extends>> supprimer une note <<extends>> Gérer notes <<extends>> modifier une noteutilisateur <<extends>> <<extends>> organiser les notes déplacer les notes Figure 19 : Diagramme de cas d’utilisation de gestion de notes Page 49
  50. 50. Description de « gérer les notes »IdentificationNom du cas: gérer les notesBut : L’utilisateur peut créer des notes où il peut introduire des remarques, des memoriums. Il peutmodifier des notes, les déplacer, les supprimer, les organiser dans des dossiers.Acteurs : L’employé qui veut écrire ses notes.Pré conditions : -l’utilisateur doit être authentifié.Post-conditions : Selon l’action d’utilisateur on peut avoir une note modifiée, supprimée, crée, déplacéedans un dossier. Utiliser application ajouter application(s) Utilisateur Gérer les applications supprimer application(s) Administrateur <<extends>> donner privilèges Figure 20 : Diagramme de cas d’utilisation de gestion des applications Page 50
  51. 51. Description de « gérer les applications »IdentificationNom du cas: gérer les applications.But : L’utilisateur peut utiliser les applications qui lui ont été assignées par l’administrateur. Ce dernier nepeut pas voir celles dont il n’a pas le privilège. Quant à l’administrateur, il a la possibilité de gérer, soit enajoutant, en supprimant ou en donnant les privilèges aux utilisateurs.Acteurs : L’employé qui veut utiliser une application.L’administrateur qui, à part la possibilité d’utiliser les applications existantes, peut administrer celles-ci.Pré conditions : -l’utilisateur/administrateur doit être authentifié.Post-conditions : Selon l’action on peut avoir une application ajoutée, supprimée ou tout simplementlancée . Exporter sujet(s) <<extends>> Utiliser forum Utilisateur <<extends>> Participer a un sujet Supprimer sujet Administrateur Figure 21 : Diagramme de cas d’utilisation de participation dans forum Page 51
  52. 52. Description de « utiliser forum »IdentificationNom du cas: utiliser forum.But : L’utilisateur peut utiliser un forum soit en y participant, soit en exportant un sujet. L’administrateurpeut quant à lui supprimer un sujet s’il juge nécessaire.Acteurs : L’utilisateur qui veut exploiter un forum.Pré conditions : -l’utilisateur/administrateur doit être authentifié.Post-conditions : Selon l’action on peut modifier le contenu d’un forum en y participant, l’exporter ou lesupprimer. Envoyer par mail <<extends>> Spéçifier accèssiblité Spéçifier chemin <<include>> <<include>> Partager document Charger un document Gérer les documents Télécharger un document utlisateur Chercher un document Entrer critère(s) de recherche <<include>> Organiser les documents <<extends>> <<extends>> <<extends>> <<include>> Détruire document Renommer document Déplacer vers un dossier Créer dossier Figure 22 : Diagramme de cas d’utilisation de gestion des documents Page 52
  53. 53. Description de « gérer les documents »IdentificationNom du cas: gérer les documents.But : L’utilisateur peut effectuer plusieurs opérations sur les documents : chargement, téléchargement,recherche, organisation et partage.Acteurs : L’employé qui veut gérer ses documents.Pré conditions : -l’utilisateur/administrateur doit être authentifié.Post-conditions : Selon l’action on peut avoir un nouveau document ou agir sur un document existant. Actualités intra entreprise Consulter actualitésUtilisateur Actualités extra entreprise <<include>> Définir le(s) domaine(s) Figure 23 : Diagramme de cas d’utilisation de consultation d’actualités Page 53

×