PLATEFORME SEDUITE : UNE APPROCHE SOA DE LA

Dimension: px
Commencer à balayer dès la page:

Download "PLATEFORME SEDUITE : UNE APPROCHE SOA DE LA"

Transcription

1 LABORATOIRE INFORMATIQUE, SIGNAUX ET SYSTÈMES DE SOPHIA ANTIPOLIS UMR 6070 PLATEFORME SEDUITE : UNE APPROCHE SOA DE LA DIFFUSION D INFORMATIONS Clémentine DELERCE-MAURIS, Lionel PALACIN, Stéphane MARTARELLO, Sébastien MOSSER, Mireille BLAY-FORNARINO Equipe MODALIS Rapport de recherche ISRN I3S/RR FR Février 2009 Laboratoire d Informatique de Signaux et Systèmes de Sophia Antipolis - UNSA-CNRS 2000, rte.des Lucioles Les Algorithmes Bât Euclide B B.P Sophia-Antipolis Cedex France Tél.: 33 (0) Fax: 33 (0) UMR6070

2 RÉSUMÉ : Le projet présenté dans ce document s inscrit dans le cadre des applications SOA (Service Oriented Architecture). Le projet Séduite a pour but la diffusion d information, en utilisant une architecture SOA. Nous proposons dans ce document une implémentation de référence de Séduite à l aide de différentes orchestrations et Web Services. Cette application est déployée sur l un des serveurs de Polytech Nice et permet de valider le projet ANR FAROS. MOTS CLÉS : Architectures Orientées Services, Orchestration, Web Service ABSTRACT: The project presented in this document is part of applications SOA (Service Oriented Architecture). The project Seduite aims to disseminate information, using a SOA architecture. We propose in this paper a reference implementation of Seduite, using different orchestrations and Web Services. This application is deployed on a server of Polytech Nice and will validate the project ANR FAROS. KEY WORDS : Services Oriented Architecture, Orchestration, Web Services

3 Remerciements Au terme de ce projet, nous tenons à remercier très sincèrement nos deux tuteurs, Mme Mireille BLAY-FORNARINO, maître de conférence à l EPU, et Mr. Sébastien MOSSER, thésard à l ED STIC de l UNSA (sur financement MESR obtenu au concours 2007), pour leur implication, leur temps, leurs conseils ainsi que leur attention. 2

4 Table des Matières REMERCIEMENTS INTRODUCTION LE CONTEXTE DU PROJET Le contexte applicatif : plateforme Seduite Le contexte technique L OBJECTIF DU PROJET CONCEPTION D UN SEDUITE SOA FONCTIONNEMENT DE SEDUITE ANALYSE ET CONCEPTION ANALYSE DE L EXISTANT POINTS CLEFS DE NOTRE PROJET MISE EN ŒUVRE : ORCHESTRATION INFOPROVIDER PERSONNALISATION DES INFORMATIONS RECUPERATION DES INFORMATIONS Continuité de service CONSTRUCTION DU RESULTAT TESTS DE STABILITE ORGANISATION AU SEIN DU GROUPE PREMIERE PERIODE : OCTOBRE DECEMBRE DEUXIEME PERIODE : JANVIER FEVRIER DIFFICULTES RENCONTREES CONCLUSION OBJECTIFS ATTEINTS PERSPECTIVES APPORTS PERSONNELS REFERENCES GLOSSAIRE TABLES DES ILLUSTRATIONS ANNEXES

5 1. Introduction 1.1. Le contexte du projet Dans le cadre de sa thématique "Workflow expressiveness, evolution and optimization", les membres de l'équipe Modalis (Laboratoire I3S / CNRS UNSA) développent une plateforme de référence nommée "Séduite". Cette plateforme permet l'illustration des recherches menées par l'équipe dans le domaine des architectures orientées services ([MacKenzie et al., 2006], [Papazoglou and Heuvel, 2006]). Au sein du projet ANR FAROS ("Fiabilité des Architectures Orientées Services", projet exploratoire de 2005 à 2009), les membres du consortium (France Télécom R&D équipe MAPS, EDF, IRISA équipe Triskell, Alicante, INRIA Lille EPI Adam, I3S équipes Modalis & Rainbow) s'efforcent de mettre en place un procédé (basé sur des techniques d'ingénierie des modèles) permettant la construction d'application SOA fiable. La plateforme Séduite présentée dans ce document est une des plateformes cibles du procédé FAROS ([Blay-Fornarino et al., 2007a]), dont la gouvernance est donnée aux équipes de l'i3s. L'équipe Modalis travaille plus particulièrement à la définition et à l'évolution des flots utilisés à l'aide de la plateforme ADORE ([Mosser et al., 2008b], [Mosser et al., 2009]), et l'équipe Rainbow travaille aux différentes interactions entre utilisateurs et système, en utilisant la plateforme WComp ([Joffroy et al., 2007b], [Blay-Fornarino et al., 2007b]) Le contexte applicatif : plateforme Seduite La plateforme présentée dans ce rapport, nommé Seduite, vise à permettre la diffusion d information au sein des établissements scolaires. Les informations concernées par cette diffusion sont de différentes natures : des données générales (ex : vacances scolaires, jour de présence de l'assistante sociale) des données de groupes (ex : emplois du temps, absence de professeurs) des données personnelles (ex : courriers, convocation, agenda, notes) des données de repérage (ex : localisation d'une personne, recherche d'un enseignant,...) Dans un premier temps, l objectif est de diffuser une partie de ces informations sur un (ou plusieurs) grand écran situé dans l enceinte des établissements. Mais demain ces informations pourraient être diffusées sur d autres supports plus personnels, comme un PDA ou un téléphone. En fonction du contexte d usage, les informations reçues sont différentes. La notion de contexte inclut donc le profil de l'utilisateur (ses préférences, son handicap éventuel,...). Ce système va être mis en place dans le hall de l Ecole Polytechnique Universitaire de Sophia- 4

6 Antipolis (EPU) ainsi qu à l Institut Education Sensorielle Clément Ader à Nice (IES) Le contexte technique Les architectures orientées services sont utilisées pour créer des systèmes évolutifs, grâce au faible couplage présent entre les différents services mis en jeu au sein des systèmes. Les composants techniques métiers sont exposés sous la forme de services (dans notre cas, des Services Web [Newcomer, 2002]). Leurs interfaces sont clairement définies au sein d'un contrat (WSDL, [Christensen et al., 2001]), utilisé par des générateurs de code pour créer des talons (stubs) à destination des services exposés. En l'état, ces services découplés les uns des autres n'ont que peu d'intérêt. La création de processus métiers répondant aux besoins des utilisateurs passe par la définition d'orchestrations (i.e. assemblages) de services ([Peltz, 2003]). Ces orchestrations, définies de manière séparée du code source des services (séparation des préoccupations), permettent d'ordonnancer les invocations des services métiers, de composer différents services en un seul,... Pour les implémenter, nous utilisons le langage BPEL ([Jordan et al., 2007]). La figure 1 donne un rapide aperçu de ce type d'architecture. Figure 1 : Architecture orientée services pour la diffusion d informations 5

7 1.2. L objectif du projet Notre objectif est de réaliser une implémentation concrète du projet de recherche Seduite, en mettant en place une architecture orientée service (SOA). Celle-ci permettra de récupérer des informations internes à l EPU (emploi du temps, news internes, ) ainsi que des informations extérieures accessibles par des web services ou disponibles sous forme de flux RSS (météo, horaires des bus, ). Pour implémenter cette architecture, nous avons fait le choix d utiliser une architecture à base d orchestrations et de Web Services. Le but étant de se rapprocher le plus possible des architectures utilisées dans le monde industriel. Le serveur d application J2EE GlassFish a été choisi pour déployer notre solution car il fournit une implémentation de référence (Web Services, BPEL, J2EE). Notre implémentation de la plateforme sera hébergée sur un serveur de l EPU, anubis, et permettra de remettre en route l écran d affichage du hall de l EPU, futur client de notre application, qui affichera ainsi à nouveau des informations. Plusieurs tentatives ont déjà vu le jour. Une première version en.net avait été mise en place à l EPU ainsi qu à l IES, à Nice. Malheureusement, cette application utilisait le framework Microsoft.Net 1.0 et lors de la migration à.net 1.1 celle-ci n a pas survécu. L équipe de Seduite s est donc tournée vers une solution Java. Ainsi les problèmes de rétrocompatibilité devraient être moindres de même que les coûts de licence (solution libre disponible). Là encore, l équipe a essuyé plusieurs échecs : - ODE : cette solution ne disposait d aucun outil, ce qui impliqua un développement long, fastidieux et complexe, ainsi qu une maintenance difficile ( - Tomcat-Apache : de gros problèmes de fuite mémoire du serveur ont été rencontrés, rendant cette solution impossible à déployer hors cadre de prototypage ( Notre projet consiste donc à repenser l application, l implémenter puis la valider. La seconde partie de ce rapport présente la conception d une architecture orientée service. La partie 3 présente la mise en œuvre d une orchestration appelée InfoProvider. 6

8 2. Conception d un Seduite SOA 2.1. Fonctionnement de Seduite Le rôle de Seduite est de fournir un système d informations pour les établissements scolaires, permettant la diffusion d informations sur différents supports. Dans le cadre de ce travail, le support de diffusion visé est un grand écran visible par tous. Les informations collectées puis affichées sur cet écran proviennent de différentes sources. Par exemple, un système de lecture de flux RSS (Really Simple Syndication) ou encore un système de news interne à l établissement scolaire. L application permet donc d interroger ces différentes sources d informations, de réunir les informations reçues et de les envoyer au client responsable de l affichage sur l écran. L application permet aussi de définir des profils d utilisateurs. Chaque utilisateur pouvant choisir quelles informations il souhaite récupérer Analyse et conception En suivant cette approche nous avons défini une orchestration, nommée InfoProfider, qui permet de récupérer un ensemble d informations venant d une multitude de sources différentes (Flux RSS, horaires de Bus, etc.). Vous pouvez voir sur la Figure 2 un schéma qui représente les points clefs de l orchestration définie. 7

9 Figure 2 : Aperçu général de l orchestration InfoProvider Comme nous pouvons le constater à l aide de la figure 2, l architecture mise en place comporte trois phases : 1. La personnalisation : Cette première partie permet de personnaliser les informations que l on va récupérer. Pour un client, nous allons définir un profil, et ainsi savoir quelles sources d informations consulter. 2. La récupération des données : Cette partie permet de récupérer des données à partir d un ensemble de sources hétérogène. L ordre d interrogation des différentes sources n ayant aucune importance, nous avons souhaité utiliser un traitement en parallèle pour cette partie. 3. Construction du résultat : Une fois toutes les informations récoltées auprès des différents partenaires, il nous reste à les réunir pour les transmettre au client. L ensemble des informations récupérées doit être exposé via un écran. Ce point là impose une contrainte assez forte, nous devons à tout prix fournir au client 8

10 (un écran) une réponse correcte, et donc éviter de renvoyer une erreur. Pour répondre à ce besoin nous avons pris le soin de faire un traitement des erreurs invisible au client. Le dernier point, et sans doute le plus important de cette architecture est de pouvoir permettre de rajouter assez aisément de nouvelles sources d informations et donc de permettre une bonne extensibilité de la plateforme Analyse de l existant Lorsque nous avons débuté notre travail, nous avons commencé par étudier une orchestration nommée CachedRssReader qui permet de lire des flux RSS. Celleci est construite autour de trois Web Services et d une base de données permettant un système de cache. C est à l aide de CachedRssReader que nous nous sommes familiarisés avec les orchestrations et c est celle-ci qui nous a servie de première source d information dans notre architecture. Cette orchestration se déroule comme suit : Le client fournit un nickname. A l aide de celui-ci l orchestration va récupérer l URL du flux RSS associé. L orchestration fonctionnant avec un système de cache, elle va vérifier la validité (temporelle) des informations se trouvant dans celui-ci. Si le cache est à jour, les informations du flux RSS sont récupérées dans celui-ci et transmises au client. Si le cache n est plus valide, l orchestration commence par lire le flux RSS, met le cache à jour puis renvoie les informations au client. Cette orchestration utilise trois web services lors de son déroulement : RssRepositoryService: Une URL étant quelque chose d assez complexe à retenir par un utilisateur, un système de nickname a été mis en place. Ce service permet donc d associer un nickname à une URL. DataCacheService: L orchestration utilise une base de données pour gérer son système de cache, ce service sert d interface pour utiliser la base de données. RssReaderService: Ce dernier service est utilisé pour lire les flux RSS. Pour représenter cette orchestration nous utilisons le formalisme des diagrammes d activité d UML 2.0 (cf. Figure 3). 9

11 Figure 3 : Diagramme d activité UML de CachedRssReader 2.4. Points-clefs de notre projet Voici les points clefs résultant de la conception d une version SOA de Seduite: 1) Personnalisation des informations : Les informations renvoyées doivent pouvoir être personnalisées, c est-à-dire adaptées à l utilisateur ayant fait appel à l orchestration. Un écran, placé par exemple dans une salle réservée aux enseignants, devra afficher les emplois du temps des enseignants alors qu un écran placé dans la cafétéria des étudiants affichera les emplois du temps des différentes promotions. 2) Traitement de l information : L orchestration doit appeler toutes les sources d information de manière à récupérer les informations demandées par l utilisateur. L ordre n ayant pas d importance ici, nous traiterons ces informations en parallèle. 10

12 3) Stabilité du système : L application doit supporter une utilisation sur le long terme ainsi qu une utilisation par plusieurs clients en même temps. 4) Continuité de service : Pour assurer une continuité de service notre orchestration doit pouvoir gérer les erreurs venant des différents partenaires. Elle ne doit pas non plus propager les erreurs au client. Un système de récupération des erreurs (catch) permettra de stopper la propagation, pendant qu un système de logs enregistrera une trace de l erreur. Ceci permettra d intervenir plus rapidement en cas de panne pour résoudre le problème. 5) Envoi des informations au client : Une fois toutes les informations récupérées, l orchestration doit les rassembler, puis les transmettre au client. L information envoyée au client doit être typée pour que celui-ci ait le moins de traitements possibles à effectuer. 11

13 3. Mise en œuvre : orchestration InfoProvider Pour chaque point clef identifié précédemment nous décrivons à présent les solutions que nous proposons et précisons quand cela nous semble nécessaire leur mise en œuvre. Les traitements présentés ici sont implémentés dans l orchestration InfoProvider Personnalisation des informations Nous avons choisi de mettre en place un web service chargé de nous fournir les profils utilisateurs. Chaque profil définit les services accessibles, et les paramètres personnels pour ces services. Pour cela, les profils ainsi que leurs préférences sont enregistrés dans une base de données. Ce web service, nommé ProfileManager, récupère ces préférences et les transmet à l application, comme le montre le schéma de la figure 4. Figure 4 : Personnalisation des informations Ces informations doivent bien sûr être préalablement remplies par l utilisateur, à l aide d un client qui se chargera de mettre à jour la base de données. Un profil par défaut est inséré dans la base de données, avec des préférences correspondant aux besoins de la majorité des utilisateurs, par exemple, tous les bus passant devant l arrêt de l EPU dans les 30 prochaines minutes. Ainsi, les informations affichées par l écran conviendront à une majorité de personnes. 12

14 Lorsque notre orchestration sera appelée par un client, celui-ci fournira un identifiant (récupéré grâce à un lecteur de badge par exemple dans un mode interactif ou au lancement lors d un écran partagé). L orchestration appellera directement le ProfileManager, web service responsable des profils utilisateurs, pour connaitre les sources auxquelles l utilisateur s est abonné. Implémentation : Ce web service dispose d une seule méthode, GetArguments, dont voici la signature: public Service [] GetArguments ( int profile) ; Cette méthode utilise une bibliothèque, DatabaseConnection, pour se connecter à la base de données MySQL jseduite, et récupérer ainsi tous les tuples, de la table webservice, concernant le profil passé en paramètre. Suite à cet appel, un tableau à deux dimensions, correspondant aux tuples, est renvoyé. Exemple de tuples de la table webservice: id servicename methodename args 1 InternalNews getvalidnews type= [ conference ] 1 CachedRssReader getfeedcontent arg= TV5_sport 1 CachedRssReader getfeedcontent arg= meteo_antibes 2 InternalNews getvalidnews type= [ conference, evenement ] Un traitement est effectué pour organiser ces tuples afin d avoir une liste de web services, avec pour chaque web service son nom et les méthodes demandées. Chaque méthode dispose d un nom et d arguments. La chaine contenue dans la colonne args est découpée pour séparer les arguments s ils sont plusieurs, et définir si ce sont des chaines (String) ou des tableaux de chaines (String[]). On récupère ainsi une hiérarchie des données qu on renvoie. 13

15 Nous pouvons voir en figure 5 ce que nous renvoie ProfileManager si on lui demande les préférences d un profil pour un identifiant utilisateur donné : <WS> <name>internalnews</name> <call> <name>getvalidnews</name> <args> <tableau>conference</tableau> </args> </call> </WS> <WS> <name>cachedrssreader</ws> <call> <name>getfeedcontent</name> <args> <chaine>tv5_sport</chaine> </args> </call> <call> <name>getfeedcontent</name> <args> <chaine>meteo_antibes</chaine> </args> </call> </WS> Figure 5 : Message XML de préférences renvoyés par ProfileManager (instance) Ici, nous devons appeler deux Web Services (InternalNews et CachedRssReader). Le premier est InternalNews et le second CachedRssReader. Nous devons appeler la méthode getvalidnews de InternalNews avec comme argument conference et nous devons appeler deux fois la méthode getfeedcontent de CachedRssReader : une première fois avec TV5_sport, et une deuxième fois avec meteo_antibes. 14

16 3.2. Récupération des informations Une phase importante de l orchestration est la récupération des informations à partir des différentes sources que l on a à notre disposition. Chaque source d information est indépendante de notre application (Horaire de Bus, Météo, Résultats sportif, etc.), donc potentiellement hors de notre contrôle (ex: erreur réseau, surcharge), il est donc impossible de prédire le temps de réponse de chaque source. Dans un souci d optimisation, nous avons opté pour une invocation en parallèle des différentes sources. Cette optimisation est bien entendu conceptuelle, il faudrait un système multiprocesseur pour permettre l appel simultané effectif de plusieurs sources (Figure 6). Figure 6 : Récupération des informations Comme vu dans la phase précédente, notre plateforme permet à l utilisateur de définir des préférences quant aux sources d informations auxquelles il désire accéder. Il faut donc traiter ces préférences, transmises par le système de personnalisation, afin de pouvoir les exploiter, et ainsi appeler les sources d informations concernées avec les bons paramètres (cf. Figure 7). 15

17 Figure 7 : Traitement des préférences utilisateur Le but étant ensuite de collecter les résultats renvoyés par les différentes sources et de les transmettre à l étape de construction du résultat. Implémentation : La partie complexe de cette étape réside dans la sélection des différentes sources à contacter et des paramètres à fournir. Les sources, étant des Web Services, prennent en entrée un message XML et renvoie comme résultat un autre message XML. Pour que l appel à la méthode du Web Service se déroule bien, le message d entrée doit être formé. Pour construire ces différents messages, nous appliquons une transformation XSL par source, sur le message de réponse de ProfileManager. Cette transformation XSL permet d extraire les informations de paramétrage relatives à l appel d une source, et de construire le message d appel à cette source à partir de ces informations. Exemple : Les préférences pour le client «ecran_hall» indiquent qu il est abonné à deux sources, CachedRssReader et InternalNews. Pour la source CachedRssReader, deux appels à la méthode getfeedcontent sont enregistrés avec comme paramètre «TV5_sport» pour le premier appel et «meteo_antibes» pour le second appel. 16

18 Pour la source InternalNews, un appel à la méthode getvalidnews est enregistré avec «conference» comme paramètre. Deux transformations XSL, une pour CachedRssReader, une pour InternalNews, sont appliquées sur les préférences (Figure 8). Figure 8 : Traitement : mise en oeuvre La figure 9 montre la transformation XSL pour la source InternalNews. Les préférences de l utilisateur sont placées en entrée, le résultat crée sera utilisé comme message d entrée de la méthode getvalidnews de InternalNews. 17

19 <WS> </WS> <WS> </WS> <name>internalnews</name> <call> <name>getvalidnews</name> <args> <tableau>conference</tableau> </args> </call> <name>cachedrssreader</ws> <call> <name>getfeedcontent</name> <args> <chaine>tv5_sport</chaine> </args> </call> <call> <name>getfeedcontent</name> <args> <chaine>meteo_antibes</chaine> </args> </call> Transformation XSL <inputcachedrssreader> <nickname>tv5_sport</nickname> <nickname>meteo_antibes</nickname> </inputcachedrssreader> <inputinternalnews> <input>conference</input> </inputinternalnews> Figure 9 : Résultat des transformations Xsl sur les préférences Le fait de paralléliser les appels aux différentes sources pose un problème pour l envoi des résultats au client. En effet, l orchestration retourne au client, une seule variable contenant l ensemble des informations qu il a demandé. Cette seule variable ne peut donc pas être accédée en parallèle, à cause de problème d accès concurrentiel en écriture. Nous utilisons une variable par source d information. Cette variable est utilisée pour le stockage des résultats renvoyés par une source d information. La mise en commun de ces différentes variables est réalisée de manière séquentielle par l étape suivante. 18

20 Continuité de service Notre orchestration va fournir un ensemble d informations, obtenu par l intermédiaire d un ensemble de sources. Ces différentes informations vont être affichées sur un grand écran visible par tous. C est pour cela que nous souhaitons éviter de transmettre une erreur (une faute) au client utilisant notre orchestration. Le problème posé par l architecture développée vient du fait que nous utilisons un ensemble de sources sur lesquelles nous n avons aucun moyen de contrôle. L une de ces sources peut à tout moment ne plus répondre à nos demandes, c est pour cela que nous devons être capables de récupérer les erreurs émises lors de l appel à ces différentes sources. Nous avons donc mis en place une architecture permettant d absorber les erreurs émises tout en en gardant une trace pour l administrateur du système. Ce mécanisme doit permettre à notre application, de continuer à s exécuter si l une des sources vient à ne plus fonctionner correctement. Implémentation : Pour mettre en œuvre cette architecture nous avons mis en place un Web Service permettant d effectuer des logs dans une base de données. Celui-ci, appelé LogService, nous permet de garder une trace en cas d erreurs venant de l une de nos sources. La solution adoptée est donc assez simple, si une erreur survient lors de l appel à une source d information, la trace de l erreur est stockée dans une base de données et l information donnée par la source est une information vide. Vous pouvez voir sur la figure 10 un schéma simplifié qui représente le traitement des erreurs effectué. 19

21 Figure 10 : Traitement d'une erreur Avec ce système de gestion des erreurs, lorsqu une erreur survient, elle est complètement invisible pour le client. De plus si nous le souhaitons nous pouvons accéder aux erreurs via la base de données et l application continue de fonctionner Construction du résultat Comme vue précédemment, après avoir appelé les sources d information qui nous intéressent, il faut rassembler ces informations dans une seule variable pour les envoyer au client. Les variables des sources, pouvant contenir plusieurs résultats d une même source, doivent être concaténées au sein d une seule et même variable : le résultat de l orchestration (cf. Figure 11). 20

22 Figure 11 : Construction du résultat Implémentation : Pour la concaténation de plusieurs variables, la norme BPEL impose l utilisation de transformations XSL. Après plusieurs tentatives infructueuses pour mettre en place des transformations XSL nous permettant de réaliser cette concaténation, nous nous sommes rendu compte qu il était impossible de le faire à cause d une limitation du serveur GlassFish. Pour pallier à ce problème nous nous sommes permis de dévier de la norme BPEL en accédant aux éléments (les résultats) des variables comme on accède aux éléments d un tableau (cf. Figure 12). InternalNews ResultsNews ; CachedRssReader ResultsRss ; InfoProvider Results ; doxsltransform(«concat.xsl», Results, ResultsNews) ; doxsltransform(«concat.xsl», Results, ResultsRss) ; Figure 12 : Construction du résultat en respectant la norme BPEL (pseudo-code) Si on reprend l exemple du chapitre précédent, on obtient deux variables, nommées CachedRssReaderTemp et InternalNewsTemp. Ces deux variables contiennent les résultats des appels aux sources d informations CachedRssReader et InternalNews. La méthode getfeedcontent du Web Service CachedRssReader a été sollicitée deux fois : une fois avec comme paramètre TV5_sport et une fois avec meteo_antibes. Ces deux appels ont 21

23 renvoyé un résultat chacun, ces deux résultats sont donc stockés dans la variable CachedRssReaderTemp. Ces différents résultats sont copiés un à un vers la variable de retour de infoprovider (cf. Figure 13). InternalNews ResultsNews[] ; CachedRssReader ResultsRss[] ; InfoProvider Results[] ; Int index = 0 ; For(i=0 ; i < ResultsNews.size() ; i++) { Results[index] = ResultsNews[i] ; Index++ ; } For(i=0 ; i < ResultsRss.size() ; i++) { Results[index] = ResultsRss[i] ; Index++ ; } Figure 13 : Construction du résultat en déviant de la norme BPEL (pseudo-code) Cette façon de construire la variable de retour de l orchestration est assez simple et demande peu d effort à mettre en place. Cependant, il existe un problème plus difficile à résoudre : la propagation des types. Conformément à la démarche SOA, tous les Web Services sont indépendants (couplage lâche), chaque résultat de Web Service possède donc son propre type. Ce type est défini dans le XML Schema de chaque Web Service, de même que le type de retour de l orchestration qui est défini dans le XML Schema de l orchestration. La difficulté réside donc dans le fait de faire cohabiter ces différents types et au final de pouvoir stocker dans la variable de retour toutes les informations contenues dans les variables temporaires sans en perdre la structuration lors du changement de type. Dans notre première conception de l architecture, nous avions décidé de définir comme anytype les champs stockant l information récupérée dans les variables temporaires. Grâce à cela, nous pouvions copier directement d une variable à une autre sans tenir compte du typage (cf. Figure 14). 22

24 Figure 14 : Première solution pour la copie des résultats L inconvénient de cette méthode est que l on perd le typage lors du transfert des données. Cela rend l exploitation des données par le client extrêmement compliquée voire impossible. Par exemple, si un client Java utilise cette orchestration, le résultat qu il obtiendra sera une liste d Object. Chaque Object représentant un résultat. Pour pallier à ce problème, on peut lors de la définition de la variable de retour de l orchestration (XML Schema), utiliser le système de choice offert par le XML Schema. Ce système permet d affecter plusieurs types à une variable (ou au champ d une variable complexe), comme le montre la figure 15. Le type réel du champ sera déterminé à l exécution. Cela permet au client d utiliser les différents types complexes renvoyés par les sources d information. 23

25 Figure 15 : Deuxième solution pour la copie des résultats 4. Tests de stabilité La première version de l application Java utilisait ODE (incubateur apache) qui ne supportait pas l'utilisation intensive du service (effondrement pour des problèmes de fuites mémoire). Nous avons donc mis en place des tests permettant de vérifier si la nouvelle solution, développée en utilisant Java et déployée sur un serveur GlassFish supportait la montée en charge. 24

26 Expérience Objectif de l'expérience : Cette expérience a pour but de valider l'utilisabilité du prototype implanté sur le long terme par une technique de simulation. Elle simule en condensé une utilisation intensive de l'application décrite dans ce rapport. Protocole : Cx est un programme client de l'orchestration. Il effectue une invocation de l'orchestration, puis décide d'un temps de pause aléatoire entre 0 et 3000 ms. S est le serveur d'application ou s'exécute l'orchestration. Une sonde journalise consommation mémoire du processus exécutant le serveur J2EE sur S. On commence par lancer quatre clients C1, C2, C3, C4. Au bout d'une heure, on lance 4 nouveaux clients supplémentaires C11, C12, C13 et C14. Etalonnage du banc de test : On utilise D une orchestration de démonstration comme cible des Cx. Cette orchestration n'utilise aucune ressource externe au serveur d'application, et se contente de manipuler des objets constants. Les résultats obtenus (consommation mémoire du serveur en fonction du temps) sont disponibles en figure 16. Figure 16 : Charge mémoire de l'orchestration étalon 25

27 On utilise maintenant E, un web service de démonstration, comme cible des Cx. Ce web service est le service CalculatorWS, fourni comme exemple d implémentation de Web Service pour le serveur GlassFish. Les résultats obtenus (consommation mémoire du serveur en fonction du temps) sont semblables à ceux de l orchestration précédente. Les résultats de l'étalon montrent qu'une utilisation sur le long terme du serveur d'application est envisageable. Ces résultats sont néanmoins à nuancer car obtenu à l'aide d'une micro-application 'preuve de concept' qui n'a pas la même échelle que l'application testée. Expérimentation : On utilise l'orchestration infoprovider développée dans le cadre de ce document comme cible des Cx. Les résultats obtenus (consommation mémoire du serveur en fonction du temps, latence des clients) sont disponibles en figure 17 et 18. Figure 17: Charge mémoire de l'orchestration infoprovider 26

28 Figure 18: Latence des clients Conclusions : Au niveau de l'orchestration infoprovider, on observe une forte augmentation de la mémoire utilisée. Après avoir testé tous les services utilisés par infoprovider indépendamment, nous avons identifié la source du problème : les transformations XSL utilisées dans la phase de traitement des préférences utilisateur. Il apparait clairement que le serveur GlassFish ne supporte pas ce type de transformation. Le serveur GlassFish arrive ici à saturation après appels à notre orchestration, alors que le serveur Tomcat, hébergeant l ancienne version de Seduite, saturait au bout de 100 appels. Le passage à GlassFish a donc changé l échelle d un facteur de Même si la consommation mémoire du serveur augmente rapidement, cela n affecte pas le client qui reçoit toujours les informations en un temps acceptable (Figure 18). Une solution envisageable pour résoudre ce problème serait de supprimer les transformations XSL effectuées lors du traitement des préférences utilisateur. Pour cela, le traitement des préférences ne doit plus être centralisé, mais réparti au niveau des appels aux sources d information. Pour chaque source d information, l orchestration demande à ProfileManager si le client est abonné à cette source, avant de lancer l invocation. 27

29 5. Organisation au sein du groupe 5.1. Première période : octobre-décembre 2008 Pour l organisation du travail, nous avons suivi le planning fourni en annexe. Tout d abord, nous avons pris du temps pour nous familiariser avec les technologies et le projet. Ensuite, Stéphane et Lionel ont commencé à développer différentes versions de l orchestration InfoProvider. InfoProvider v1.0 : Permet de récupérer des informations en utilisant l orchestration CachedRssReader. InfoProvider v1.1 : Ajoute à l orchestration la gestion des nouvelles internes. InfoProvider v1.2 : Gère le traitement des erreurs, la gestion des logs d erreurs. Prise en charge de la gestion des profils. En parallèle, Clémentine a développé les différents Web Services utilisés par l orchestration Deuxième période : janvier-février 2009 Durant la deuxième période, nous avons finalisé l application: création d une nouvelle version des web services (InternalNews et ProfileManager) ajout de transformations XSL pour gérer les résultats des différents web services dans l orchestration création de scripts de déploiement de l application (orchestrations, web services, base de données) déploiement de l application sur le serveur de l école création de clients pour tester la stabilité de l application rédaction de la documentation wiki rédaction du rapport et préparation de la soutenance Le détail des tâches effectuées (personnes concernées, durée, ) est visible sur le diagramme de Gantt fourni en annexe. 28

30 6. Difficultés rencontrées Lors du développement de cette architecture nous avons rencontré différents problèmes. La première difficulté était due à l environnement de développement utilisé, nous avons fait le choix d utiliser la suite Netbeans intégrant le serveur GlassFish, de ce fait nous avions accès à une implémentation de référence (Web Services, BPEL, J2EE) totalement gratuite. Toutefois cet environnement était extrêmement lourd, et l utilisation de GlassFish nous a posé certaines difficultés pour le déploiement des orchestrations et pour le débogue. L une des plus grandes difficultés fût de prendre en main BPEL car nous utilisions pour la première fois ce langage. Celui-ci est principalement utilisé dans le monde industriel, de ce fait la documentation est extrêmement limitée ou payante. Nous avions donc beaucoup de difficultés à résoudre les problèmes rencontrés lors de son utilisation. L un des points qui fût aussi extrêmement complexe à résoudre fût la création du résultat de notre application. Nous avons perdu énormément de temps sur ce point là, car nous avons tenté de suivre la norme BPEL dans un cas où les outils utilisés nous en empêchaient. Pour réaliser cette opération nous n avons eu d autre choix que de dévier de la norme. La dernière difficulté rencontrée était de pouvoir effectuer une propagation des différents types utilisés vers l utilisateur de notre orchestration InfoProvider. Lors des premiers tests d utilisations de cette orchestration, l utilisateur obtenait comme résultat un ensemble d objets abstraits et non exploitables. Nous avons donc pris le choix de propager les différents types pour que les résultats récupérés soit utilisables. 29

31 7. Conclusion 7.1. Objectifs atteints Nous avons pu mettre en œuvre une solution répondant à la majorité de nos objectifs : Notre architecture est évolutive car nous pouvons étendre le nombre de sources utilisées assez facilement (cf. partie 4). De plus, notre application permet une gestion naïve de profils, permettant ainsi une personnalisation des informations renvoyées. Notre orchestration possède un système de récupération sur erreur qui permet une continuité de service tout en gardant une trace des erreurs survenues dans la base de données. Comme démontrer par nos tests, notre plateforme n est pas stable pour l utilisation en continue. Cependant, nous avons pu identifier la source du problème et proposer une solution possible pour y remédier Perspectives Grâce à notre projet, l écran plasma situé dans le hall du bâtiment de l EPU devrait, dans les mois qui viennent, afficher de nouveau des informations. Seul un client graphique, basé sur la technologie Flash, reste à implémenter. Notre implémentation va servir de preuve de concept pour le projet Faros. Un wiki a été mis en place pour cela. Celui-ci est accessible à l adresse suivante: Des étudiants en Master 1, de l université de Nice, vont prendre le relais et créer de nouveaux services adaptés cette fois-ci à l institut Clément Ader (IES), à Nice, institut accueillant des jeunes déficients visuels ou auditifs Apports personnels Ce projet nous a permis de nous familiariser avec la méthodologie SOA, ainsi qu avec les technologies en découlant, telles que BPEL et J2EE. Cette expérience acquise lors du projet est un atout puisque le SOA est très présent dans les entreprises et donc les personnes connaissant ce domaine sont très demandées. 30

32 Références [MacKenzie et al., 2006] MacKenzie, M., Laskey, K., McCabe, F., Brown, P., and Metz, R. (2006). Reference Model for Service Oriented Architecture 1.0. Technical Report wd soa rm cd1, OASIS. [Blay Fornarino et al., 2007a] Blay Fornarino, M., Collet, P., Lahire, P., Lavirotte, S., Pinna Déry, A. M., and Tigli, J. Y. (2007a). Contrats et compositions de services de l'application seduite (services de diffusion ubiquitaire d'informations dans des etablissements scolaires). Technical Report F.4.1, RNTL Faros. [Mosser et al., 2008b] Mosser, S., Blay Fornarino, M., and Riveill, M. (2008b). Web Services Orchestration Evolution : A Merge Process For Behavioral Evolution. In 2nd European Conference on Software Architecture (ECSA'08), Paphos, Cyprus. Springer LNCS. [Mosser et al., 2009] Mosser, S., Blay Fornarino, M., and Montagnat, J. (2009). Orchestration Evolution Following Dataow Concepts : Introducing Unanticipated Loops Inside a Legacy Workow. In International Conference on Inter net and Web Applications and Services (ICIW), Venice, Italy. IEEE Computer Society. [Papazoglou and Heuvel, 2006] Papazoglou, M. P. and Heuvel, W. J. V. D. (2006). Service oriented design and development methodology. Int. J. Web Eng. Technol., 2(4) : [Joffroy et al., 2007b] Joffroy, C., Pinna Déry, A. M., Renevier, P., and Riveill, M. (2007b). ARCHITECTURE MODEL FOR PERSONALIZING INTERACTIVE SERVICE ORIENTED APPLICATION. In 11th IASTED Interna tional Conference on Software Engineering and Applications (SEA'07), pages , Cambridge, Massachusetts, USA. IASTED, ACTA Press. [Blay Fornarino et al., 2007b] Blay Fornarino, M., Hourdin, V., Joffroy, C., Lavirotte, S., Mosser, S., Pinna Déry, A. M., Renevier, P., Riveill, M., and Tigli, J. Y. (2007b). Architecture pour l'adaptation de Systèmes d'information Interactifs Orientés Services. Revues des Sciences et Technologies de l'information (RSTI), pages [Newcomer, 2002] Newcomer, E. (2002). Understanding Web Services : XML, WSDL, SOAP, and UDDI. Addison Wesley Professional. [Christensen et al., 2001] Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S. (2001). Web services description language (WSDL) 1.1. W3cnote, World Wide Web Consortium. [Peltz, 2003] Peltz, C. (2003). Web Services Orchestration and Choreography. Computer, 36(10) :4652. [Jordan et al., 2007] Jordan, D., Evedmon, J., Alves, A., Arkin, A., Askary, S., Barreto, C., Bloch, B., Curbera, F., Ford, M., Goland, Y., Guízar, A., Kartha, N., Liu, K., Khalaf, R., Konig, D., Marin, M., Mehta, V., Thatte, S., Van der Rijn, D., Yendluri, P., and Yiu, A. (2007). Web Services Business Process Execution Language Version 2.0. Technical report, OASIS. 31

33 Glossaire SEDUITE : SErvices de Diffusion Ubiquitaire d'informations dans des Etablissements scolaires EPU : Ecole Polytechnique Universitaire I3S : Laboratoire d'informatique, Signaux et Systèmes de Sophia-Antipolis CNRS : Centre National de la Recherche Scientifique MODALIS : MODels to usage of large scale InfraStructures UNSA : Université de Nice Sophia Antipolis ANR : Agence National de Recherche FAROS : Fiabilité des Architectures Orientées Services EDF : Electricité de France IRISA : Institut de recherche en informatique et systèmes aléatoires INRIA : Institut National de Recherche en Informatique et en Automatique EPI : Equipe Projet INRIA SOA :Service Oriented Architecture ADORE : Activity model SuppOrting orchestration Evolution PDA : Personal Digital Assistant IES :Institut Education Sensorielle RSS : Really Simple Syndication J2EE : Java Enterprise Edition BPEL : Business Process Execution Language ODE : Open Dynamics Engine URL : Uniform Resource Locator UML : Unified Modeling Language SQL : Structured Query Language XML : extensible Markup Language XSLT : Extensible Stylesheet Language Transformation IIS :Internet Information Services ROME : Rss and atom UtilitiEs 32

34 Tables des illustrations FIGURE 1 : ARCHITECTURE ORIENTEE SERVICES POUR LA DIFFUSION D INFORMATIONS... 5 FIGURE 2 : APERÇU GENERAL DE L ORCHESTRATION INFOPROVIDER... 8 FIGURE 3 : DIAGRAMME D ACTIVITE UML DE CACHEDRSSREADER FIGURE 4 : PERSONNALISATION DES INFORMATIONS FIGURE 5 : MESSAGE XML DE PREFERENCES RENVOYES PAR PROFILEMANAGER (INSTANCE) FIGURE 6 : RECUPERATION DES INFORMATIONS FIGURE 7 : TRAITEMENT DES PREFERENCES UTILISATEUR FIGURE 8 : TRAITEMENT : MISE EN OEUVRE FIGURE 9 : RESULTAT DES TRANSFORMATIONS XSL SUR LES PREFERENCES FIGURE 10 : TRAITEMENT D'UNE ERREUR FIGURE 11 : CONSTRUCTION DU RESULTAT FIGURE 12 : CONSTRUCTION DU RESULTAT EN RESPECTANT LA NORME BPEL (PSEUDO CODE) FIGURE 13 : CONSTRUCTION DU RESULTAT EN DEVIANT DE LA NORME BPEL (PSEUDO CODE) FIGURE 14 : PREMIERE SOLUTION POUR LA COPIE DES RESULTATS FIGURE 15 : DEUXIEME SOLUTION POUR LA COPIE DES RESULTATS FIGURE 16 : CHARGE MEMOIRE DE L'ORCHESTRATION ETALON FIGURE 17: CHARGE MEMOIRE DE L'ORCHESTRATION INFOPROVIDER FIGURE 18: LATENCE DES CLIENTS

35 Annexe 1 : Diagramme d activité d infoprovider 34

36 Annexe 2 : Ajout d une source d information Notre architecture doit permettre d ajouter de nouvelles sources d information facilement. Pour cela, nous avons donc identifié les parties de InfoProvider à modifier. 1) Traitement des préférences L ajout d une nouvelle source implique qu un client pourra s y abonner. Cela entraîne que les préférences données par notre service ProfileManager pourront contenir des appels à cette source. Il faudra donc ajouter une transformation XSL spécifique à celle-ci. 2) Appel à la nouvelle source Il va falloir ajouter un nouveau partenaire (notre nouvelle source) à l orchestration. Cela implique la génération des stubs pour ce service web. Il faut ensuite ajouter l invocation de ce service en parallèle des autres sources. 3) Propagation du typage Pour que le client de l orchestration puisse utiliser pleinement les informations données par la nouvelle source, il faut que InfoProvider propage les types de ces informations. Pour réaliser cela, le type complexe du résultat de InfoProvider doit être étendu de manière à contenir le nouveau type. 4) Construction du résultat Comme vu précédemment (cf. Figure 12), la construction du résultat final se fait par l intermédiaire de boucles, une par source d information. Il va donc falloir ajouter une nouvelle boucle pour concaténer le résultat de la nouvelle source au résultat de InfoProvider. 35

37 Annexe 3 : Planning Planning de la première période (octobre décembre 2008) 36

38 Planning de la deuxième période (janvier février 2009) 37

39 Annexe 4 :Pseudo-code de notre client de test (pour tester la stabilité de notre application) public static void main(string[] args) throws Exception { } long cpt = 0; DateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Random bag = new Random(); bag.setseed(system.currenttimemillis()); while (true) { long start = System.currentTimeMillis(); String result = perform(); long stop = System.currentTimeMillis(); Date date = new Date(); String head = dateformat.format(date); int sleep = bag.nextint(3000); System.out.println(++cpt +" " + head + " " + (stopstart) + " "+ sleep + " " +result); Thread.sleep(sleep); } Voici le code principal de la boucle de test. La méthode 'perform()' est implémentée pour invoquer le service distant (soit l'étalon, soit infoprovider). 38

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures

Plus en détail

Orchestrations de Service Web : vers une évolution par composition

Orchestrations de Service Web : vers une évolution par composition Orchestrations de Service Web : vers une évolution par composition Esquisses Sébastien Mosser, Mireille Blay-Fornarino, Michel Riveill Équipe Rainbow, Laboratoire I3S (CNRS - UNSA) Bâtiment Polytech Sophia

Plus en détail

Business Process Execution Language

Business Process Execution Language Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Système de Virtualisation pour une application de gestion commerciale d entreprise

Système de Virtualisation pour une application de gestion commerciale d entreprise Système de Virtualisation pour une application de gestion commerciale d entreprise Travail d Etude et de Recherche Master 1 STIC Informatique ETUDIANTS FIDAN AYHAN SAHLOUL SAHBI BOSQUET SYLVAIN COUNDOUL

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

Plus en détail

CAHIER DE S CHARGE S Remote Workload Manager

CAHIER DE S CHARGE S Remote Workload Manager CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION

Plus en détail

La démarche SOA et l interopérabilité applicative

La démarche SOA et l interopérabilité applicative La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75

Plus en détail

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS) RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS) Intitulé (cadre 1) Master Droit Economie Gestion, mention Management des Systèmes d Information, spécialité Management et Technologies

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

IBM Business Process Manager

IBM Business Process Manager IBM Software WebSphere Livre blanc sur le leadership en matière d innovation IBM Business Process Manager Une plateforme de BPM complète, unifiée et facilement adaptable aux projets et aux programmes d

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Mémoires 2010-2011 www.euranova.eu MÉMOIRES ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Contexte : Aujourd hui la plupart des serveurs d application JEE utilise des niveaux de cache L1

Plus en détail

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Architecture SOA Un Système d'information agile au service des entreprises et administrations Architecture SOA Un Système d'information agile au service des entreprises et administrations www.objis.com Présentation Architecture SOA - JCertif 1 Qui sommes-nous? Spécialiste JAVA depuis 2005 (Lyon,

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs

Plus en détail

Exécution de processus

Exécution de processus Exécution de processus Electif SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 21 jan. 22 jan. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architectures applicatives

Plus en détail

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

Exécution de processus

Exécution de processus Exécution de processus Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture et cartographie

Plus en détail

Composition semi-automatique de Services Web

Composition semi-automatique de Services Web Composition semi-automatique de Services Web Nerea Arenaza SIN Projet de Master Février 2006 Responsable Dr. Denis Gillet EPFL / LA Assistant Karim Zeramdini EPFL / LA Table de matières Table des matières

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

Plus en détail

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

Plus en détail

RÉALISATION D UN SITE DE RENCONTRE

RÉALISATION D UN SITE DE RENCONTRE RÉALISATION D UN SITE DE RENCONTRE Par Mathieu COUPE, Charlène DOUDOU et Stéphanie RANDRIANARIMANA Sous la coordination des professeurs d ISN du lycée Aristide Briand : Jérôme CANTALOUBE, Laurent BERNARD

Plus en détail

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

Plus en détail

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Techniques d interaction dans la visualisation de l information Séminaire DIVA Techniques d interaction dans la visualisation de l information Séminaire DIVA Zingg Luca, luca.zingg@unifr.ch 13 février 2007 Résumé Le but de cet article est d avoir une vision globale des techniques

Plus en détail

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm. WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.com Claude Perrin ECM Client Technical Professional Manager

Plus en détail

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus Mineure SOA Exécution de processus Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Qu'est-ce qu'exécuter un processus? 2 Moteur de workflow 3 Moteur d'orchestration,

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Introduction à Microsoft InfoPath 2010

Introduction à Microsoft InfoPath 2010 Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires

Plus en détail

Objet du document. Version document : 1.00

Objet du document. Version document : 1.00 Version document : 1.00 Objet du document Les dix points de cet article constituent les règles à connaitre pour intégrer une application au sein d AppliDis. Le site des Experts Systancia comporte également

Plus en détail

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Le moteur de workflow JBPM

Le moteur de workflow JBPM Le moteur de workflow Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/

Plus en détail

Workflow et Service Oriented Architecture (SOA)

Workflow et Service Oriented Architecture (SOA) White Paper Workflow et Service Oriented Architecture (SOA) Présentation Cet article offre une approche pragmatique de la SOA et du workflow à travers des problématiques d'entreprises, une méthodologie

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Installation personnalisée d'oracle 10g

Installation personnalisée d'oracle 10g Installation personnalisée d'oracle 10g Ressources Sachez avant tout que, comparativement à certains de ses concurrents, Oracle est extrêmement gourmand en ressources (mémoire et disque). Il est en effet

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Infrastructure Management

Infrastructure Management Infrastructure Management Service de Supervision et gestion des infrastructures informatiques DATASHEET Présentation générale Netmind Infrastructure Management (NIM) est un service de supervision et de

Plus en détail

Fusion : l interopérabilité chez Oracle

Fusion : l interopérabilité chez Oracle Standardisation et interopérabilité Fusion : l interopérabilité chez Oracle Lionel Dubreuil,, Applications Technology Product Manager, Oracle France, lionel.dubreuil@oracle.com 29/03/2006 Page : 1 Oracle

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur

Plus en détail

Manipulation 4 : Application de «Change».

Manipulation 4 : Application de «Change». Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées

Plus en détail

Le logiciel pour le courtier d assurances

Le logiciel pour le courtier d assurances Le logiciel pour le courtier d assurances Introduction - Présentation 2 Intégration totale 3 Paperless Office 3 Traitement Unifié de l information 4 Outils commerciaux 5 Communication 6 Intégration AS/2

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

PerSal Manuel d installation

PerSal Manuel d installation PerSal Manuel d installation Version 1.0 hostagest sàrl Grand Rue 14 CH 1083 Mézières Tél : +41 21 635 31 02 Fax : +41 21 635 31 04 Email : info@hostagest.ch Homepage : www.hostagest.ch Configuration minimale

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Reporting Services - Administration

Reporting Services - Administration Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons

Plus en détail

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

Dafoe Présentation de la plate-forme UIMA

Dafoe Présentation de la plate-forme UIMA Laboratoire d Informatique de l université Paris-Nord (UMR CNRS 7030) Institut Galilée - Université Paris-Nord 99, avenue Jean-Baptiste Clément 93430 Villetaneuse, France 11 juillet 2007 Plates-formes

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail