Conception et Implémentation d un serveur d applications dans le cadre du projet EISMO

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

Download "Conception et Implémentation d un serveur d applications dans le cadre du projet EISMO"

Transcription

1 L Y O N MASTERE SPECIALISE EN INFORMATIQUE Année 2003/2004 Conception et Implémentation d un serveur d applications dans le cadre du projet EISMO Par Pierre-Henri FONTANAUD Soutenu le 23 Novembre 2004 Devant le jury composé de : Responsable INSA : Mme Nabila BENHARKAT Responsable stage: Membres : M. Rami RIFAIEH M. Mohamed OU-HALIMA (Responsable du Mastère Informatique) Projet EISMO Page 1 sur 50

2 REMERCIEMENTS Avant d entrer dans le déroulement de mon stage, je tiens particulièrement à remercier Nabila Benharkat et Rami Rifaieh. Tout au long de ces cinq mois de stage, ils ont su me laisser un grand degré d autonomie, tout en suivant de très près l avancement du projet et les difficultés que je rencontrais. J ai apprécié leur disponibilité ainsi que l aide qu ils ont su m'apporter ou me trouver lorsque j en ai eu besoin. Je tiens également à remercier tous les gens de l INSA qui ont, d une manière ou d une autre, contribué au bon déroulement de mon stage (administrateurs, étudiants du Liris). Je voudrais enfin remercier Patricia Varet, pour tous les problèmes d'ordre administratif qu'elle a pu m'éviter ou régler tout au long de l'année. Projet EISMO Page 2 sur 50

3 SOMMAIRE REMERCIEMENTS... 2 SOMMAIRE... 3 INTRODUCTION... 5 I. Contexte du projet EISMO... 5 II. Présentation du projet EISMO... 5 II.1. Objectifs du projet... 5 II.2. Etude de Faisabilité... 6 II.3. Implémentation... 6 II.4. Principe du serveur et le scénario de l étude de cas... 8 II.5. Les étapes du projet... 9 III. Définitions... 9 III.1. Définition d une ontologie... 9 III.2. Définition d une étude de faisabilité TECHNOLOGIES MISES EN ŒUVRE I. La couche KB Server I.1. Logique de description et langages I.2. Etude de faisabilité : choix du serveur I.3. Utilisation et comportement de Racer I.4. Utilisation de JRacer II. La plateforme J2EE II.1. Choix du serveur II.2. Installation et utilisation de Jonas II.3. Les EJB SCENARIO I. Les Systèmes d Information utilisés II. Le déroulement du scénario II.1. L administrateur et le serveur II.2. Le client L IMPLEMENTATION DU SERVEUR EISMO I. L administration d EISMO I.1. Présentation I.2. L architecture I.3. Le développement des différentes classes II. Le package coreservices II.1. Présentation II.2. L architecture II.3. Les différentes classes III. Les EJB III.1. Les différents EJB du serveur III.2. L installation et le déploiement IV. Etudes de faisabilité IV.1. La transformation de diagrammes de classes en ontologies IV.2. La recherche des EJB du serveur et de leurs méthodes IV.3. La connexion du client et le partage des données Projet EISMO Page 3 sur 50

4 L'IMPLENTATION DU CLIENT I. Présentation II. L'architecture III. Le développement des différentes classes PERSPECTIVES ET CONCLUSIONS I. Perspectives II. Conclusions ANNEXES I. ANNEXE 1 : Diagramme de classes du SI Data Warehouse II. ANNEXE 2 : Diagramme de classes du SI EDI III. ANNEXE 3 : Diagramme de classes du serveur IV. ANNEXE 4 : Diagramme de classes du package administration V. ANNEXE 5 : Diagramme de classes du package coreservices VI. ANNEXE 6: Diagramme de classes du client VII. Annexe 7 : Diagramme des Cas d'utilisation VIII. ANNEXE 8: Diagramme de séquences de l'administrateur IX. ANNEXE 9: Diagramme de séquences du client X. BIBLIOGRAPHIE Projet EISMO Page 4 sur 50

5 INTRODUCTION I. Contexte du projet EISMO L es Systèmes d Information, ainsi que les Bases de Données, sont de plus en plus présents dans les entreprises. Leurs besoins de communication et d échanges de données ne cessent de croître, en même temps que leur utilisation. Ces échanges nécessitent une certaine interopérabilité entre les systèmes, qui doivent pouvoir interpréter et transmettre des informations ou des requêtes. Mais ces systèmes sont développés dans des environnements très hétérogènes (langages de programmation, bases de données, matériel sont totalement hétéroclites). De plus, un même système ou des systèmes semblables peuvent avoir des représentations différentes, à l origine de nombreuses difficultés dans la communication. En effet, comment savoir que plusieurs modèles représentent en réalité en réalité le même objet? Par exemple, ce problème de multi représentation est maintenant bien connu dans le monde du e-commerce, du fait de quelques facteurs tels que la diversité des organisations, des utilisateurs, des applications, etc. Une première réponse à ces problèmes a été trouvée sur les plans physique et syntaxique, avec le développement de technologies telles que CORBA, Java, XML, etc. Mais elles ne résolvent qu une partie du problème, celle des langages de programmation et de la communication, laissant entière celle de la multi représentation. Le projet EISMO (Enterprise Information System Multi representation Ontology) propose une réponse à ce problème de multi représentation : l utilisation des ontologies. II. Présentation du projet EISMO S I un Système d Information ou une Base de Données est représenté par un modèle (un schéma UML par exemple pour un SI), il peut aussi l être par une ontologie. Cette dernière sera facilement utilisable par plusieurs systèmes et applications. EISMO se propose d utiliser ce concept afin de résoudre le problème d interopérabilité. EISMO est un projet de recherche, qui a pour but de définir une plateforme pour la coopération des Systèmes d Information d Entreprises. II.1. Objectifs du projet L objectif majeur de ce projet est de valider le modèle conceptuel proposé pour solutionner le problème de la multi représentation en s appuyant sur une étude de cas, qui permettrait également d explorer les impacts sur la réutilisabilité et le partage d informations. Un second objectif vise à fournir une compréhension globale des Systèmes d Information d Entreprise afin de pouvoir améliorer la communication. Il s agit donc de construire une représentation ontologique partagée pour tous les Systèmes d Information d Entreprise, en gardant à l esprit deux buts fondamentaux : la réutilisabilité et l interopérabilité. Ce projet comprend deux parties essentielles : Projet EISMO Page 5 sur 50

6 Une étude de faisabilité L implémentation du serveur II.2. Etude de Faisabilité Une étude de faisabilité permettra de sélectionner les technologies à utiliser et de définir la manière d implémenter le serveur EISMO. Cette étude de faisabilité portera sur les serveurs à utiliser (serveur d application et de bases de connaissances), sur les différents services offerts par ce serveur et leurs composants. Elle sera menée en parallèle à l avancement du projet, au début de chaque étape du développement. Cette étude vise : D une part à démontrer la faisabilité globale du projet, sur un plan technique mais aussi en termes de planning. D autre part à définir non seulement les composants mais aussi les modes opératoires et les conditions de réalisation. Enfin elle permettra de chercher des solutions à chaque problème rencontré, qui peuvent être éventuellement des solutions de rechange en cas d impossibilité technique. II.3. Implémentation En termes informatiques, EISMO repose sur une plateforme J2EE et une conception "ontologique" des Systèmes d Information. Il conjugue l utilisation d un langage de programmation (Java), d un langage terminologique, d un serveur de bases de connaissances et d un serveur d applications. Il est constitué de 3 couches : Une première couche basée sur une implémentation J2EE, constituée d un serveur d applications et reposant sur l architecture Java. Cette couche permet à un client de se connecter au système. Une seconde couche, que nous appellerons "Core Services". Cette couche contient les différents services offerts aux clients. Elle sera entièrement développée. La troisième couche est le serveur de Bases de Connaissance, qui sera chargé de la gestion des ontologies. Elle permettra notamment de charger des ontologies en mémoire, et de leur passer des requêtes. Une interface administrateur permettra de gérer ce serveur EISMO. Elle devra être entièrement développée. Elle permettra de démarrer les serveurs d applications et de Bases de Connaissances, de charger des ontologies dans le serveur ou directement des diagrammes de classes UML de Systèmes d Information Enfin, une interface client permettra à ce dernier de se connecter au serveur et d y effectuer les opérations offertes par celui-ci, et implémentées dans "Core Services". Cette architecture est présentée de manière simplifiée sur la figure 1 et sera développée dans les chapitres suivants. Projet EISMO Page 6 sur 50

7 Projet EISMO Page 7 sur 50 Figure 1 EISMO KB Server EISMO Core Services J2EE Platform EISMO Ontology Applications ressources provider Query Resolver EJB Creator / dispatcher Pattern Designer EJB Container Clients Distant Objects Access Security Description Logic Server Applications Integrator Model Integrator Ontology Integrator Schema Generator Transactions service Reasoning System (Inference Engine) JSP Container KB Server Interface Knowledge Manager Ontology Manager Ambiguity Resolver Semantic Interoperability Manager Data Bases Access Data Bases Admin. S.I.

8 II.4. Principe du serveur et le scénario de l étude de cas Le but du serveur est de fournir à un développeur des méthodes prises dans des Systèmes d Information existants, mais sélectionnées à partir d un concept contenu dans un de ces S.I. La couche KB Server contiendra des ontologies, qui sont en réalité les diagrammes de classes de ces SI, et qui contiennent des concepts. Notre développeur cherchera à obtenir, pour concevoir sa nouvelle application, des méthodes déjà codées, et utilisant soit le concept sur lequel il doit travailler, soit un concept équivalent. Le serveur va donc interroger pour lui les ontologies et lui proposer les méthodes répondant à ces critères. Le principe est décrit dans la figure 2 Admin ON1 ON2 Moteur Serveur KB O N 1 O N 2 Gestion des Ontologies : Ontologies ouvertes Concepts de ces ontologies Gestion des EJB EJB déployés Concepts utilisés Méthodes Couche Core Services Fichier XML : Liens entre concepts Conteneur EJB Fichiers XML : Liens entre EJB et concepts, liste des ontologies ouvertes, Liste des EJB Couche J2EE RMI ON1 ON2 Concept1 Concept2 Concept3 EJB1 EJB2 EJB3 Valider Valider Valider CLIENT Figure 2 : le principe du serveur EISMO L étude de cas permettra de mettre en application ce serveur en utilisant deux SI : Data Warehouse et EDI, dont les diagrammes de classes sont donnés en annexes 1 et 2. Le scénario est décrit en détail dans le chapitre qui lui est consacré (voir page 20) Projet EISMO Page 8 sur 50

9 II.5. Les étapes du projet La réalisation de ce serveur EISMO se déroulera en plusieurs étapes qui consisteront à étudier et choisir les différents composants, tels que les serveurs de bases de connaissance et d applications, et à développer les applications et services nécessaires : Etude de faisabilité, choix et installation du serveur de Bases de Connaissances Etude de faisabilité, choix et installation du serveur d applications Développement des classes nécessaires à la communication avec le serveur de Bases de Connaissances Etudes de faisabilité portant sur l importation de schémas UML dans le serveur de Bases de Connaissances Etude de faisabilité portant sur l utilisation des EJB et le développement de ces EJB Développement de l interface administrateur Développement de la couche Core Services après étude de faisabilité. Le planning : Nom de la tâche Apprentissage logique de description Développement serveur Développement administration Développement com avec Racer Développement admin Développement core Services Etudes de faisabilité Codage classes Développement des EJB Développement Application Client Tests Fenêtre Principale Méthode affichage EJB du serveur Méthode affichage Méthodes EJB Méthode affichage code EJB Juin Juillet Août Septembre Octobre 31/0507/0614/0621/0628/0605/0712/0719/0726/0702/0809/0816/0823/0830/0806/0913/0920/0927/0904/1011/1018/10 III. Définitions Q uelques termes et notions utilisés dans le projet sont définis de façon assez sommaire dans ce paragraphe, mais de manière à définir la façon dont elles sont traitées ou utilisées tout au long de cette étude. III.1. Définition d une ontologie Il s agit d une définition très sommaire car elle pourrait faire l objet de nombreuses pages et ne constitue pas l objet du projet EISMO. Dans ce projet, nous nous bornerons à utiliser certaines "fonctionnalités" des ontologies. Ontologie : du latin Ontologia : Théorie de l être. Projet EISMO Page 9 sur 50

10 Une ontologie définit les termes utilisés pour décrire et représenter un champ d'expertise. Les ontologies sont utilisées par les personnes, les bases de données, et les applications qui ont besoin de partager des informations relatives à un domaine bien spécifique, comme la médecine, la fabrication d'outils, l'immobilier, la réparation d'automobiles, la gestion de finances, etc. Les ontologies associent les concepts de base d'un domaine précis et les relations entre ces concepts, tout cela d'une manière compréhensible par les machines. Elles encodent la connaissance d'un domaine particulier ainsi que les connaissances qui recouvrent d'autres domaines, ce qui permet de rendre les connaissances réutilisables. (Source : W3C) individus, etc. Elle peut également être modélisée par un schéma UML. Une ontologie est une conceptualisation formelle du monde. Elle permet d identifier et de modéliser les concepts d un domaine ainsi que les relations conceptuelles. Elle permet également de se mettre d accord sur les termes employés. Par exemple, les termes chat, matou, minet, etc. désignent tous la même chose. En revanche, des termes identiques peuvent représenter des choses totalement différentes (par exemple, le mot bureau peut être utilisé soit pour la pièce, soit pour le meuble). L ontologie permettra de définir une formalisation afin de lever toute ambiguïté. Elle peut utiliser des langages appropriés, appelés logique de description et manipule de nombreuses notions tels que les concepts, les individus, les relations entre Elle est constituée essentiellement de concepts et de liens entre concepts, qui peuvent être, par exemple, des liens d égalité ou d appartenance. Une ontologie est peuplée d individus, qui appartiennent à un ou plusieurs concepts, ces individus constituant les données de cette base. III.2. Définition d une étude de faisabilité Il parait important de bien définir au départ ce que l on attend d une étude de faisabilité. En règle générale, ses buts sont de vérifier si un projet peut être réalisé et de suggérer des solutions alternatives réalistes, l'objectif final étant pour un décideur de lancer ou d'arrêter le projet. D une manière générale, les critères à étudier sont les suivants : L'organisation du système actuel s'il existe Les problèmes rencontrés Les objectifs d'un nouveau système Les contraintes Les alternatives possibles. Les conclusions à tirer de cette étude sont : Faisabilité du projet Alternative retenue Elle fait apparaître 4 points importants : Faisabilité opérationnelle: explore l'urgence du projet et l'acceptabilité de chaque solution. Faisabilité technique: le projet est-il réalisable dans les limites de la technologie actuelle? Est-ce que qu'il est réalisable en respectant les contraintes liées aux ressources? Faisabilité en termes de planning: la solution est-elle réalisable dans les délais Faisabilité économique: le projet est-il réaliste, compte tenu des contraintes budgétaires? Quels bénéfices vont en résulter? Quels sont les coûts de développement et de déploiement Projet EISMO Page 10 sur 50

11 Dans le cadre du projet EISMO, nous ne tiendrons pas compte de l aspect opérationnel. En effet, il s agit d un projet de recherche, qui vise à valider une architecture, donc une solution. Le critère économique sera un élément important, le budget étant très faible. En revanche, aucun bénéfice financier n étant attendu de ce projet, ce critère sera ignoré. La partie technique de cette étude consistera à valider l architecture technique et à choisir les composants logiciels (serveurs, langages, etc.), le tout dans la durée du stage, c'est-à-dire cinq mois. Projet EISMO Page 11 sur 50

12 L TECHNOLOGIES MISES EN ŒUVRE architecture du serveur EISMO est donc constituée de 3 couches (voir figure 1). Ces couches devront communiquer les unes avec les autres par l intermédiaire de divers programmes et interfaces, mais également permettre à des clients de l application d utiliser les différents services proposés par EISMO. I. La couche KB Server Cette couche est basée sur un serveur de Base de Connaissances. Elle contient : la ou les ontologies utilisées par le serveur le système terminologique avec sa logique descriptive et son moteur d inférence. l interface avec les autres couches. I.1. Logique de description et langages La logique de description est une représentation des connaissances. C est un modèle orienté objets. Elle fait intervenir les notions de concept, de rôle, d individu. a Quelques définitions Concept : représentation mentale générale et abstraite d un objet (Le Petit Robert). Dans le domaine de la modélisation informatique, on a besoin de représenter une situation en termes de : Objets Classes Relations (ou associations) La logique de description est conçue pour représenter une situation en termes de : Objets Classes, qui sont appelées concept dans ces logiques de description Relations appelées rôles. Rôle : relation binaire entre individus Individu : ce sont les données de la base Tbox : contient la terminologie (peut être comparé au diagramme de classes d un SI) Abox : contient les individus (peut être comparée aux données d un SI) Relation de subsomption : consiste à organiser les concepts par niveau de généralité. U concept A subsume B si l ensemble des individus représentés par B est inclus dans l ensemble des individus de A : A est plus général que B b Langages Les langages utilisés par les serveurs de Bases de Connaissances sont basés sur la logique de description. Il existe plusieurs langages : DAML+ OIL (Darpa Agent Markup Language + Ontology Inference Layer) Projet EISMO Page 12 sur 50

13 RDF et RDFS OWL Ces langages ont une syntaxe respectant le standard XML I.2. Etude de faisabilité : choix du serveur Pour cette partie, il existe deux serveurs qui répondent au besoin : FACT (Fast Classification of Terminologies) RACER (Renamed ABox and Concept Expression Reasoner) Ce sont deux serveurs issus de projets de recherche. Tous les deux sont en Open Source et gratuits. Ils présentent des fonctionnalités similaires. Fact s appuie sur une architecture Corba, tandis que Racer est basé sur une architecture RMI. Les deux serveurs nécessitent peu de ressources : ils peuvent être installés sur un PC de bureau. Corba étant un peu plus lourd à mettre en œuvre, et racer disposant d une interface écrite en Java (JRacer) permettant une utilisation très simple dans le cadre de notre projet, le choix s est porté sur Racer I.3. Utilisation et comportement de Racer a Installation et démarrage L installation de Racer est très simple : il suffit de télécharger sur le site Internet et de décompresser un fichier nommé "racer.exe". Le serveur est alors prêt à fonctionner. On peut le démarrer de deux manières : soit par un double clic sur le fichier "racer.exe", soit en ouvrant une console et en tapant la commande racer. Au démarrage, Racer n affiche que les quelques informations de la figure 3. Il est intéressant de noter qu il supporte les protocoles TCP et http. Lorsque l on démarre le serveur, aucune ontologie n est chargée en mémoire. Projet EISMO Page 13 sur 50

14 ;;; RACER Version ;;; RACER: Reasoner for Aboxes and Concept Expressions Renamed ;;; Supported description logic: ALCQHIr+(D)- ;;; Copyright (C) , Volker Haarslev and Ralf Moeller. ;;; RACER comes with ABSOLUTELY NO WARRANTY; use at your own risk. ;;; Commercial use is prohibited; contact the authors for licensing. ;;; RACER is running on IBM PC Compatible computer as node Unknown ;;; The XML/RDF/RDFS/DAML parser is implemented with Wilbur developed ;;; by Ora Lassila. For more information on Wilbur see ;;; ;;; The store/restore facility is based on software developed ;;; by Michael Wessel. ;;; The solver for nonlinear inequations over the complex numbers ;;; is based on CGB by Marek Rychlik, University of Arizona. ;;; For more information on CGB see ;;; The HTTP interface based on DIG is implemented with CL-HTTP developed and ;;; owned by John C. Mallery. For more information on CL-HTTP see ;;; [ :33:43] HTTP service enabled for: [ :33:43] TCP service enabled on port 8088 Figure 3 : écran de Racer b Ouverture d ontologies Il existe plusieurs formats de fichiers utilisables par Racer : "racer", ".daml", ".rdfs", ".owl". Les formats de ces fichiers correspondent au langage utilisé. L ouverture d une ontologie peut se faire de plusieurs façons : Lorsque l on démarre Racer dans une console, on peut lui donner le nom du fichier en arguments (ex.. racer -f c:/racer/examples/family-3.racer) On peut également démarrer Racer, et se connecter au serveur via le port TCP pour ouvrir le fichier, soit par l intermédiaire d une interface graphique, soit grâce à une application permettant de se connecter et d ouvrir des fichiers. Ces fichiers peuvent être ouverts localement (ils sont sur un disque dur de la machine), soit sur un réseau (Internet ou réseau local). Racer utilise alors le protocole http. Plusieurs fichiers peuvent ainsi être ouverts. En revanche, une requête ne portera que sur une seule ontologie, la dernière ouverte. I.4. Utilisation de JRacer Dans notre application, nous allons implémenter JRacer. Il s agit d un ensemble de classes développées en Java et contenant toutes les méthodes nécessaires à la connexion, à la création et à l interrogation des ontologies. Projet EISMO Page 14 sur 50

15 a Organisation de JRacer o class java.lang.object o class jracer.assertion (implements java.io.serializable) o class jracer.attributeassertion o class jracer.conceptassertion o class jracer.roleassertion o class jracer.didda o class jracer.racerconstants o class jracer.racersocketclient o class jracer.racerclient o class jracer.racertermparser o class jracer.testracerclient o class java.lang.throwable (implements java.io.serializable) o class java.lang.exception o class jracer.racerexception o class jracer.racerillegalconstruction Deux classes seront essentiellement utilisées : la classe RacerClient et la classe RacerException. En effet, ces deux classes permettent de gérer la connexion, les requêtes ainsi que les exceptions générées. b Comment utiliser JRacer? Avant de pouvoir ouvrir un fichier ou d interroger une ontologie, il faut créer une connexion au serveur. Il faut instancier la classe RacerClient (par la commande new) en passant en paramètres au constructeur l adresse IP de la machine (ou son nom) ainsi que le port TCP (8088 par défaut, mais ce numéro de port est configurable). Il faut ensuite ouvrir la connexion par la commande openconnection() appliquée à l objet créé précédemment. La connexion est alors réalisée. Pour ouvrir un fichier, on appliquera à cet objet une des méthodes de JRacer. Par exemple, si l objet RacerClient créé précédemment s appelle client, on utilisera : client.owlreadfile(nomfichier) pour un fichier de type owl client.racerreadfile(nomfichier) pour un fichier de type racer client.damlreadfile(nomfichier) pour un fichier de type daml Une fois ce client créé et un fichier ouvert et associé à ce client, on pourra lui passer toutes les requêtes permises par Racer (exemple : obtenir la liste des concepts de l ontologie). Lorsque l on n a plus besoin de ce client, il faut le fermer par la commande close. II. N La plateforme J2EE otre application étant une application distribuée, un serveur d applications devra être installé. Il devra offrir la possibilité à un client de se connecter, que ce soit une application, ou un SI. Il devra de plus permettre la connexion à des bases de données et contenir des conteneurs EJB. Un serveur d applications est constitué d un ensemble de services et d API permettant l hébergement d applications distribuées. Projet EISMO Page 15 sur 50

16 Figure 4 : Architecture J2EE Parmi les serveurs d application du marché les plus connus, trois ont été retenus sur le critère du coût : Tomcat JBoss JOnAS (Java Open Application Server) II.1. Choix du serveur JDK EJB JSP JMS OS Tomcat 1.3 & NON 1.2 NON Tous JBoss & Tous JOnAS & Tous JBoss a été développé par Jboss Inc. (Matrix Partners, accel Partners, Intel) JOnAS a été développé par WebObject (Bull, France Télécom, INRIA, puis Red Hat en 2003 et maintenant Apache ) Remarque : JBoss et JonAS intègrent tous les deux Tomcat. Tomcat n intègre pas les services liés aux EJB, et ne peut donc pas être utilisé seul. JBoss et Jonas sont équivalents pour notre application sur le plan des fonctionnalités offertes. Divers comparatifs parus sur Internet font apparaître que JOnAS est plus performant en charge et mieux documenté que JBoss. Le choix du serveur d applications s est donc porté sur JOnAS. Projet EISMO Page 16 sur 50

17 II.2. Installation et utilisation de Jonas Avant d installer JOnAS, il faut avoir installé : Java J2SE Ant, qui est un make basé sur Java (à télécharger sur BCEL, qui est une librairie nécessaire à Ant pour compiler (que l on récupère sur le site Sur le site d ObjectWeb, on trouve plusieurs variantes de JOnAS : JOnAS seul, JOnAS et Tomcat, JOnAS et Jetty. La version utilisée dans EISMO est JOnAS + Tomcat. Après avoir décompressé et lancé le programme d installation, il faut configurer les variables d environnement. Le lancement de Jonas se fait par la commande jonas start, l arrêt par jonas stop. Après le démarrage, la console d administration est accessible par la commande jonasadmin. II.3. Les EJB Les EJB (ou Enterprise Java Beans) sont des composants serveur distribués écrits en Java. Ce sont en fait des objets distants utilisant RMI/IIOP, qui est un mélange entre la syntaxe de RMI et le protocole de communication utilisé par Corba, ce qui permet de garantir que ces objets pourront être utilisés quelque soit le code client. Celui-ci aura recours au service JNDI (Java Naming and Directory Interface) pour localiser ces objets distants. Le développeur d un EJB n aura pratiquement à s occuper que de l aspect métier de son application. En effet, la plateforme J2EE sur laquelle ils seront déployés gère les services système tels que la sécurité, les transactions, les messages, etc. a Catégories d EJB Il existe 3 catégories d EJB : Les EJB "Session", qui sont utilisés pour représenter les données et les comportements qui leur sont associés. Les EJB "Entity" qui permettent la représentation de données persistantes ayant une existence au niveau d un support de stockage tel qu une base de données. Les EJB "Message Driven" permettent la mise en œuvre d applications basées sur le traitement de messages. Les EJB Session : Il existe 2 types d EJB Session : avec état ("statefull") ou sans état ("stateless") "Statefull" : Ce type d EJB permet de maintenir en mémoire les données utilisées par le client. Il est donc utilisable par un client unique, et sera donc instancié autant de fois qu il y a de clients. "Stateless" : Cet EJB ne maintient pas les données en mémoire, mais peut être utilisé par plusieurs clients simultanément. Les EJB Entity Il existe également de type d Entity Beans : Les EJB de type CMP (Container Managed Persistance) délèguent au conteneur la gestion de la persistance (le programmeur ne s occupe pas du code JDBC) Projet EISMO Page 17 sur 50

18 Les EJB Message Driven Les EJB de type BMP (Bean Managed Persistance) prennent en charge l accès aux bases de données. Dans ce cas, c est le programmeur qui écrit le code JDBC. Ces EJB sont sans état et utilisent des messages asynchrones délivrés par JMS (Java Message Service). Ces messages asynchrones permettent à des applications de communiquer en échangeant des messages de telle façon que le récepteur est totalement indépendant de l émetteur du message. Ainsi, l émetteur envoie son message et n a pas besoin d attendre que le récepteur l ait reçu ou traité. b Composition d un EJB Un EJB est constitué d un minimum de 5 fichiers : Une interface locale Une interface distante La classe d implémentation de l EJB Un descripteur de déploiement Un descripteur de déploiement spécifique au serveur d applications. En plus de ces 5 fichiers, on peut trouver autant de classes que nécessaire au fonctionnement. L interface locale, également appelée interface de fabrique, qui permet la construction de l EJB grâce à sa méthode create(). Cette interface hérite de EJBHome. C est elle qui est appelée par le client. L interface distante, ou interface métier, permet de définir les méthodes que va proposer l EJB au client. Elle hérite de EJBObject. La classe d implémentation contient toutes les méthodes et les appels aux différentes classes nécessaires. Elle hérite de SessionBean ou d EntityBean. Les descripteurs de déploiement sont des fichiers xml. Ils contiennent toutes les informations nécessaires pour le déploiement de l EJB. (Informations telles que le type de l EJB, son nom, etc.). Ils sont au nombre de deux: un descripteur de déploiement général, qui contiendra toutes les informations propres à l'ejb, et un descripteur propre au serveur d'applications. c Principe d utilisation Après avoir écrit le code de l EJB, il faut le compiler. Sa compilation va générer une archive jar, cette archive portant le nom de l EJB. Au cours de cette compilation, un certain nombre de fichiers sont générés, dont des fichiers particuliers qui sont le "stub"» et le "skeleton". Ce sont eux qui vont permettre l utilisation de l EJB. Ce sont ces deux fichiers qui permettent l utilisation distante. Le serveur disposera du "skeleton", tandis que le client disposera du "stub". Lors d un appel d un EJB par le client, c est en fait le "stub" qui va dialoguer avec le "skeleton" du serveur. Projet EISMO Page 18 sur 50

19 Figure 5 : Stub et Skeleton Pour mettre en œuvre un EJB, il faudra copier dans l application cliente le "stub" ainsi que l interface locale de l EJB, qui permettra au client de créer l EJB. Projet EISMO Page 19 sur 50

20 E SCENARIO ISMO est avant tout un prototype, dont le but principal est de démontrer la réutilisabilité des méthodes d un SI par un autre SI. Pour effectuer cette démonstration, un scénario a été étudié. Il consiste à écrire quelques méthodes dans des EJB, et à faire utiliser ces méthodes par un autre SI, qui traite d un sujet similaire. Mais cette réutilisation se fait à travers le serveur, qui met à disposition du développeur le code des méthodes existantes, et lui permet de le modifier selon ses besoins et de recréer de nouveaux composants à partir de ce code existant. I. Les Systèmes d Information utilisés D ans ce scénario, on utilise deux SI différents. Ces deux systèmes d information seront modélisés sous la forme de diagrammes de classes UML, puis, par un mécanisme intégré au serveur, ces diagrammes seront transformés en ontologies utilisables par Racer. Les diagrammes de classe de ces deux SI sont donnés en Annexes 1 et 2. Ces deux applications présentent des similitudes. Le premier, EDI, contient une fonction de mapping. Le second, Data Warehouse, contient également une fonction de mapping. Mais ces deux fonctions, dont la finalité est très proche, sont modélisées différemment. II. Le déroulement du scénario P II.1. L administrateur et le serveur our que le serveur EISMO puisse être utilisé par des clients, l administrateur doit auparavant avoir effectué quelques opérations. Celles-ci ont pour but de charger les ontologies dans le serveur et de définir les liens existant entre ontologies ainsi qu entre ontologies et EJB. Le déroulement de ces opérations est le suivant (voir diagrammes de séquences en annexes 8 et 9): L administrateur démarre le serveur EISMO Il démarre ensuite les serveurs Racer et Jonas Il charge les schémas UML des Systèmes d Information Il déploie les EJB si ceux-ci ne le sont pas. Il définit les liens entre ces applications ainsi que les liens entre chaque application et les EJB s ils n ont pas déjà été définis. Le serveur se charge du stockage des différents liens (entre ontologies, entre EJB et concepts, etc.). II.2. Le client Lorsque ces opérations sont terminées, le développeur peut alors utiliser le serveur. Pour cela, il va procéder ainsi : Il démarre l application cliente. Celle-ci utilise un EJB qui permet, de façon automatique, la connexion au serveur EISMO. Cet EJB retourne à l application cliente la liste des ontologies ouvertes sur le serveur. Cette application affiche cette liste. Le développeur choisit dans cette liste le fichier correspondant au SI sur lequel il désire travailler et valide son choix. Projet EISMO Page 20 sur 50

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

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

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

Plus en détail

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO _TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (2) Logic metier et Entreprise Java Beans Les EJB (Enterprise JavaBeans) 3.0 permettent de découpler la logique de présentation

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

Plus en détail

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Architecture J2EE Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications

Plus en détail

Système Principal (hôte) 2008 Enterprise x64

Système Principal (hôte) 2008 Enterprise x64 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée avec : Hyper-V 6.0 Manager Hyper-V Server (R1&R2) de Microsoft Hyper-V 6.0 Network Shutdown Module Système Principal

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs Conception Nom HENAUD Benoît Numéro d auditeur 05-39166 Version V1.1 Date de mise à jour 15/05/2008 1/18 Table des matières 1. Objectif du document... 3 2. Architecture... 4 2.1. Contraintes techniques...

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Guide Pratique EDI NetBeans

Guide Pratique EDI NetBeans Guide Pratique EDI NetBeans Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table des matières Assistant type de Projet EJB...2 Structure Module EJB...5 Ajout d'ejb, Fichiers et Bibliothèques

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

Plus en détail

Architectures à composants

Architectures à composants Interaction requête/réponse Architectures à composants!communication par requête/réponse client requête réponse serveur Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique

Plus en détail

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Table des matières Avant Propos................................................ 1 Pourquoi ce livre?........................................... 1 Structure de

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15 Table des matières Au sujet de l auteur 1 Introduction 3 édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII

Plus en détail

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

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

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Une application de commerce électronique en utilisant CLAIM

Une application de commerce électronique en utilisant CLAIM Rapport du projet A4MA Une application de commerce électronique en utilisant CLAIM Étudiants : DINH Quang Ninh (dinhquangninh@gmail.com) PHAM Trong-Tôn (trongtonfr@yahoo.fr) Wiki : http://dev.deptrai.org/wiki/doku.php?id=projet_a4ma:start

Plus en détail

Pasquier Barthelémy Ticula Omont

Pasquier Barthelémy Ticula Omont Pet Store Un magasin de vente en ligne générique basé sur: Le Kit de Développement Logiciel de Java 2, Edition Entreprise (J2EE) Pasquier Barthelémy Ticula Omont lundi 9 mars 2009 1/16 1) Objectif de l

Plus en détail

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish TP N 4 Création d un projet Web Avec EJB JSF et Glassfish I. Les objectifs :... 1 II. L architecture de l atelier... 1 III. Rappel... 1 IV. L environnement de développement... 2 V. Création d un projet

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

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES 2008 UFR Ingénieurs 2000 Vivien Boistuaud Julien Herr TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES Ce document a été réalisé par V. Boistuaud et J. Herr dans le cadre des travaux

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Environnements de développement

Environnements de développement Environnements de développement UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/edi/ Extension de la plate-forme Eclipse Résumé 1 Rappels de

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

EXA1415 : Annotations JavaEE : @Local, @Stateful

EXA1415 : Annotations JavaEE : @Local, @Stateful EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération

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

Développement d une application Java Card 2.x sous Windows

Développement d une application Java Card 2.x sous Windows Développement d une application Java Card 2.x sous Windows khaled.garri@gmail.com samia.bouzefrane@cnam.fr Laboratoire CEDRIC Chaire Systèmes Embarqués et Enfouis CNAM 1 Java Card 2.2 - CNAM I. Outils

Plus en détail

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Page 1 de 7 Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Table des matières Table des matières... 1 1. Premier

Plus en détail

Java, développement d'applications mobiles (J2ME) XML 21/03/2007. Formation ITIN

Java, développement d'applications mobiles (J2ME) XML 21/03/2007. Formation ITIN Java, développement d'applications mobiles (J2ME) XML Rappels rapides XML est un acronyme pour extensible Markup Language. Utilisation de tags pour délimiter le contenu et représenter une structure. XML

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

Plus en détail

Manuel d'utilisation de la console de supervision

Manuel d'utilisation de la console de supervision Manuel d'utilisation de la console de supervision Ce document décrit la mise en route et l'utilisation de la console d'administration web de PEtALS. EBM WebSourcing (MarieSauvage) - Mai 2007 - (CC) EBM

Plus en détail

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Développement J2EE avec Eclipse et WSAD Karim Djaafar avec la contribution de Olivier Salvatori Groupe Eyrolles, 2003, ISBN 2-212-11285-8 La plate-forme de développement Eclipse CHAPITRE 5 147 Les vues

Plus en détail

Gestion du serveur WHS 2011

Gestion du serveur WHS 2011 Chapitre 15 Gestion du serveur WHS 2011 Les principales commandes Windows Home Server 2011 reprend l ergonomie de Windows 7 et intègre les principales commandes de Windows Server 2008 R2. Les commandes

Plus en détail

LANDesk Management Suite 8.8

LANDesk Management Suite 8.8 LANDesk Management Suite 8.8 Documentation originale: http://community.landesk.com/support/docs/doc-1531 Adaptation et traduction en Français par Frédéric Mauclaire 2 Mars 2010 Table des matières Introduction...

Plus en détail

Tutorial JADE & Calcul Parallèle

Tutorial JADE & Calcul Parallèle Tutorial JADE & Calcul Parallèle Table des matières Introduction... 2 Installation et lancement de JADE... 2 Pour l utilisateur... 2 Pour le développeur... 3 Utilisation basique de JADE... 6 Création de

Plus en détail

Gestion du Serveur Web

Gestion du Serveur Web Gestion du Serveur Web Console de gestion du Serveur Web Une console de gestion est disponible dans l'outil de l'administrateur. Cette console de gestion vous permet de configurer les services JetClouding

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

Installer Enterprise Miner 5.1 en SAS9.1.3 - environnement Windows

Installer Enterprise Miner 5.1 en SAS9.1.3 - environnement Windows Installer Enterprise Miner 5.1 en SAS9.1.3 - environnement Windows Introduction :... 3 1. Présentation de l architecture Enterprise Miner 5.1 :... 4 2. Installation d Enterprise Miner 5.1:... 5 3. Post-installation

Plus en détail

Sauvegarde et Restauration d un environnement SAS

Sauvegarde et Restauration d un environnement SAS Sauvegarde et Restauration d un environnement SAS 1 INTRODUCTION 3 1.1 OBJECTIFS 3 1.2 PERIMETRE 3 2 LA SAUVEGARDE 4 2.1 QUELQUES REGLES D ORGANISATION 4 2.2 DEFINIR LES BESOINS 5 2.3 LA SAUVEGARDE, ETAPE

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows Instructions d installation de IBM SPSS Modeler Server 15 pour Windows IBM SPSS Modeler Server peut être installé et configuré de manière à s exécuter en mode d analyse réparti, avec une ou plusieurs installations

Plus en détail

Création d un web service sous Eclipse/Tomcat tutorial version 2 pour Windows

Création d un web service sous Eclipse/Tomcat tutorial version 2 pour Windows Création d un web service sous Eclipse/Tomcat tutorial version 2 pour Windows Téléchargement et mise en place des outils 2 Dossiers d installation 2 Configuration d Eclipse avec Tomcat/Axis 3 Développement

Plus en détail

Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows

Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows Instructions d installation de IBM SPSS Modeler Server 14.2 pour Windows IBM SPSS Modeler Server peut être installé et configuré de manière à s exécuter en mode d analyse réparti, avec une ou plusieurs

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

Plus en détail

Développement de Servlets et JSP avec Eclipse

Développement de Servlets et JSP avec Eclipse Développement de Servlets et JSP avec Eclipse Sommaire 1 Mise en place o 1.1 Installation de Galileo o 1.2 Association de Galileo avec une installation de Tomcat o 1.3 Pilotage des serveurs 2 Développement

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Il est possible, pour des objets, de visualiser ou modifier le contenu. La présentation des objets dans le navigateur peut être paramétrée ; vous trouverez

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Virtual Server 2005 R2 Network Shutdown Module Système Principal (hôte) Virtual Server

Plus en détail

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail