2 Chapitre 1 Introduction

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

Download "2 Chapitre 1 Introduction"

Transcription

1 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné la façon de voir le développement de logiciels, les Enterprise JavaBeans promettent de révolutionner la façon de développer les logiciels d entreprise critiques. Ils combinent les composants côté serveur aux technologies d objets distribués et aux messages asynchrones afin de simplifier le développement d applications. Ils prennent en compte automatiquement beaucoup des contraintes des systèmes d entreprise : sécurité, groupe de ressources, persistance, concurrence et intégrité transactionnelle. Ce livre montre comment utiliser les Enterprise JavaBeans pour développer des systèmes d entreprise portables et évolutifs. Mais avant de commencer à parler des EJB euxmêmes, nous avons besoin d une brève introduction aux technologies visées par les EJB, comme les modèles de composants, les objets distribués, les CTM (Component Transaction Monitors) et les messages asynchrones. Il est important de comprendre un minimum des CTM, la technologie sur laquelle repose les EJB. Aux chapitres 2 et 3, nous commencerons à examiner les EJB eux-mêmes et nous verrons comment les beans métier sont assemblés. Le reste du livre concerne le développement de beans métier pour une société fictive et une présentation des problèmes avancés. Nous supposons que vous êtes déjà familier de Java ; si ce n est pas le cas, Introduction à Java écrit par Patrick Niemeyer et Jonathan Knudsen (Éditions O Reilly) est une excellente introduction. Ce livre suppose aussi que vous connaissiez l API JDBC, ou au moins SQL. Si vous n êtes pas familier de JDBC, lisez JDBC et Java - Guide du programmeur, de George Reese (Éditions O Reilly). Une des fonctionnalités de Java les plus importantes est d être indépendant de la plateforme. Depuis sa première version, Java a été présenté sous le slogan «écrire une fois, exécuter partout». Bien que ce matraquage soit parfois devenu un peu maladroit, le code écrit en langage Java est remarquablement indépendant de la plate-forme. Les Enterprise JavaBeans ne sont pas simplement indépendants de la plate-forme, ils sont aussi indépendant de l implémentation. Si vous avez déjà travaillé avec JDBC, vous savez un peu ce que cela signifie. Non seulement l API JDBC peut s exécuter sur une machine

2 2 Chapitre 1 Introduction Windows ou une machine Unix, mais elle peut aussi accéder aux bases de données relationnelle des différents fournisseurs (DB2, Oracle, Sybase, SQLServer, etc.) à l aide des pilotes JDBC spécifiques. Vous n avez pas à programmer de façon spécifique à l implémentation de la base de données ; il suffit de changer de pilote pour changer de base de données. Il en va de même avec les EJB. Idéalement, un composant EJB, un bean métier, peut s exécuter sur n importe quel serveur d applications qui implémente la spécification des EJB 1. Cela signifie que vous pouvez développer et déployer votre système d entreprise EJB sur un serveur, comme Orion ou WebLogic de BEA, puis plus tard le déplacer sur un serveur d EJB différent, comme Pramati, EAServer de Sybase, Web- Sphere d IBM, ou un projet en open source, comme OpenEJB, JOnAS ou JBoss. L indépendance de l implémentation signifie que vos composants métier ne sont pas dépendants de la marque du serveur. Autrement dit, vous avez plus de choix avant, pendant et après le développement et le déploiement. Quelques concepts Avant de définir les Enterprise JavaBeans de façon plus précise, préparons le terrain en examinant un nombre important de concepts : les objets distribués, les objets métier, les CTM et les messages asynchrones. Objets distribués L informatique distribuée permet de rendre un système d entreprise plus accessible. Les différentes parties d un système distribué peuvent se trouver sur des ordinateurs séparés, en plusieurs endroits potentiellement éloignés où ils prennent tous leur sens. Autrement dit, l informatique distribuée permet d accéder à la logique et aux données métier à distance. Les clients, les partenaires et d autres intervenants distants peuvent utiliser un système d entreprise à tout moment où qu ils se trouvent. Le développement le plus récent dans l informatique distribuée sont les objets distribués. Les technologies d objets distribués, comme Java RMI, CORBA et.net de Microsoft, permettent aux applications client présentes sur des ordinateurs d accéder à des objets s exécutant sur une autre machine. Les objets distribués sont apparus sous forme d une architecture trois-tiers utilisées dans les systèmes à moniteur TP comme CICS d IBM et TUXEDO de BEA. Ces systèmes séparent la présentation, la logique métier et les bases de données en trois tiers distincts (ou couches). Par le passé, ces systèmes étaient habituellement composés d un «écran vert» ou de terminaux passifs pour le tiers présentation (le premier tiers), d applications en COBOL ou PL/1 sur le tiers intermédiaire (le deuxième tiers) et de bases de données, comme DB2, pour le backend (le troisième tiers). L introduction des objets distribués ces dernières années a donné naissance à une nouvelle forme d architecture trois-tiers. Les technologies d objets distribués ont permis le remplacement des applications en COBOL et PL/1 du tiers intermédiaire par des objets métier. Une architecture métier trois-tiers à base d objets distribués peut avoir comme premier tiers une interface 1. À condition que les beans et les serveurs d EJB soient conformes à la spécification et qu aucune fonctionnalité propriétaire ne soit utilisée pour le développement.

3 Quelques concepts 3 graphique ou web sophistiquée, des objets métier dans le tiers intermédiaire et une base de données relationnelle ou d un autre type comme backend. Des architectures plus complexes dans lesquelles de nombreux tiers sont souvent utilisées : différents objets résident sur différents serveurs et interagissent afin de réaliser leur travail. La création de ces architectures n-tiers à l aide des Enterprise JavaBeans est particulièrement facile. Composants côté serveur Les langages orientés objet, comme Java, C++ et Smalltalk, permettent d écrire des logiciels souples, évolutifs et réutilisables les trois axiomes du développement orienté objet. Dans les systèmes d entreprise, les langages orientés objets sont utilisés pour améliorer le développement de l interface graphique, pour simplifier l accès aux données et pour encapsuler la logique métier. L encapsulation de la logique métier dans des objets métier est devenue le point de focalisation le plus récent dans l industrie informatique. Le métier est fluide, ce qui signifie que les produits, les processus et les objectifs de l entreprise évoluent au fil du temps. Si le logiciel qui modélise le métier peut être encapsulé dans des objets métier, il devient souple, évolutif et réutilisable, et il peut donc suivre l évolution du métier. Un modèle de composants côté serveur définit une architecture pour le développement d objets métier distribués qui combinent l accessibilité des systèmes à objets distribués avec la fluidité de la logique métier utilisant les objets. Les modèles de composants côté serveur sont utilisés sur les serveurs d applications dans le tiers intermédiaire qui gère l exécution des composants et les rendent disponibles aux clients distants. Ils fournissent les fonctionnalités facilitant le développement d objets métier distribués et les assemblent en solutions d entreprise. Les composants côté serveur peuvent aussi servir à modéliser d autres aspects du système d entreprise, comme la présentation et le routage. Par exemple, une servlet Java est un composant côté serveur qui peut générer des données HTML et XML pour la couche de présentation dans une architecture trois tier. De même, les beans orientés message des EJB 2.0, présentés plus loin dans ce livre, sont des composants côté serveur utilisés pour consommer et produire des messages asynchrones. Les composants côté serveur, comme les autres composants, peuvent être achetés et vendus sous forme de morceaux de logiciel exécutables et indépendants. Ils se conforment à un modèle de composants standard et ils peuvent s exécuter sans modification directe sur un serveur qui supporte ce modèle de composants. Les modèles de composants côté serveur supportent souvent la programmation par attributs, qui autorise la modification du comportement du composant pendant son déploiement, sans avoir à changer son code. Selon le modèle de composants, l administrateur du serveur peut déclarer le comportement transactionnel, la sécurité et même la persistance du composant en donnant des valeurs spécifiques à ces attributs. Au fur et à mesure du développement de nouveaux produits et de la modification des procédures opératoires, les composants sur le serveur peuvent être réassemblés, modifiés et étendus afin que le système d entreprise reflète ces changements. Imaginez un système d entreprise comme une collection de composants côté serveur qui modélisent des concepts comme les clients, les produits, les réservations et les entrepôts. Chaque composant est comme une brique de Lego que vous pouvez combiner avec d autres

4 4 Chapitre 1 Introduction composants pour construire une solution d entreprise. Les produits peuvent être stockés dans l entrepôt ou livrés à un client ; un client peut faire une réservation ou acheter un produit. Vous pouvez assembler les composants, les séparer, les utiliser dans différentes combinaisons et changer leurs définitions. Un système d entreprise basé sur des composants côté serveur est fluide car il s est transformé en objets, et il est accessible car les composants peuvent être distribués. Component Transaction Monitors (CTM) Une nouvelle sorte de logiciels appelés des serveurs d applications est récemment apparue afin de gérer la complexité associée au développement de systèmes d entreprise dans le monde internet actuel. Un serveur d applications est souvent constitué de différentes technologies, y compris des serveurs web, des ORB (object request brokers), des MOM (message-oriented middleware), des bases de données et ainsi de suite. Un serveur d applications peut aussi se concentrer sur une technologie, comme les objets distribués. La sophistication des serveurs d applications basés sur les objets distribués est variable. Les plus simples sont les ORB. Ils facilitent la connectivité entre les applications client et les objets distribués. Les ORB permettent aux applications client de localiser et d utiliser facilement des objets distribués. Cependant, les ORB ont souvent montré qu ils n étaient pas adaptés aux environnements à fort volume transactionnel. Ils fournissent une dorsale de communication pour les objets distribués, mais ils ne parviennent pas à fournir le type d infrastructure robuste nécessaire à la prise en charge d un grand nombre d utilisateurs et des tâches critiques. De plus, les ORB offrent un modèle de composants côté serveur plutôt grossier qui fait reposer sur les épaules du développeur toute la charge de la gestion des transactions, de la concurrence, de la persistance et d autres aspects de niveau système. Ces services ne sont pas supportés automatiquement dans un ORB. Les développeurs d applications doivent accéder explicitement à ces services (s ils sont disponibles) ou, dans certains cas, les mettre en œuvre à partir de rien. Début 1999, Anne Manes 2 a inventé le terme component transaction monitor (CTM) pour décrire des serveurs d applications à base d objets distribués plus sophistiqués. Les CTM ont évolué pour devenir un hybride composé des moniteurs TP traditionnels et des technologie ORB. Ils implémentent des modèles de composants côté serveur robustes qui facilitent la création, l utilisation et le déploiement de systèmes d entreprise. Les CTM fournissent une infrastructure qui prend en charge automatiquement les transactions, la distribution des objets, la concurrence, la sécurité, la persistance et la gestion des ressources. Non seulement ils sont capables de gérer un grand nombre d utilisateurs et des tâches critiques, mais leur facilité d utilisation fait qu ils sont aussi adaptés aux petits systèmes. Les CTM représentent l idéal des serveurs d applications. Cette sorte de technologie se nomme aussi OTM (Object Transaction Monitor), serveur transactionnel de composants, serveur de composants distribués et COMware. Ce livre emploie le terme CTM car il inclut les trois caractéristiques clés de cette technologie : l utilisation d un modèle de composants, le ciblage sur une gestion transactionnelle et les ressources et la gestion de service généralement associées aux moniteurs. 2. À l époque où madame Manes a inventé ce terme, elle travaillait pour Patricia Seybold Group sous le nom de Anne Thomas. Madame Manes est maintenant directrice de la stratégie industrielle chez Sun Microsystems dans la division Sun Software.

5 Définition des Enterprise JavaBeans 5 Définition des Enterprise JavaBeans Voici la définition des Enterprise JavaBeans donnée par Sun Microsystems : L architecture des Enterprise JavaBeans est une architecture de composants pour le développement et le déploiement d applications d entreprise distribuées basées sur des composants. Les applications écrites en utilisant l architecture des Enterprise JavaBeans sont évolutives, transactionnelles et sûres. Ces applications peuvent être écrites une fois, puis déployées sur toute plate-forme serveur qui supporte la spécification des Enterprise JavaBeans. 3 Oh là là! C est ainsi que Sun a l habitude de définir ses technologies Java. Avez-vous déjà lu la définition du langage Java lui-même? Elle est à peu près deux fois plus longue. Voici notre définition, plus courte, des EJB : Les Enterprise JavaBeans sont un modèle de composants côté serveur standard pour les CTM. Nous avons déjà brièvement préparé le terrain pour cette définition en définissant les termes «objets distribués», «composants côté serveur» et «CTM». Afin de vous donner les bases solides et complètes pour étudier les Enterprise JavaBeans, ce chapitre va maintenant s étendre sur ces définitions. Si vous comprenez déjà parfaitement les objets distribués, les moniteurs transactionnels, les CTM et les messages asynchrones, n hésitez pas à sauter le reste de ce chapitre pour aller directement au chapitre 2. Architectures à objets distribués Les EJB sont un modèle de composants pour les CTM basés sur les technologies à objets distribués. C est pourquoi, pour comprendre les EJB, vous devez comprendre comment fonctionnent les objets distribués. Les systèmes à objets distribués constituent les bases des architectures trois-tiers modernes. Dans ces architectures, comme le montre la figure 1-1, la logique de présentation réside sur le client (le premier tiers), la logique métier dans le tiers intermédiaire (le deuxième tiers), et les autres ressources, comme la base de données, résident sur le backend (le troisième tiers). Tous les protocoles d objets distribués sont construits sur la même architecture de base conçue de telle sorte qu un objet présent sur un ordinateur soit vu comme résidant sur un ordinateur différent. Les architectures à objets distribués sont basées sur une couche de communication réseau relativement simple. Il y a principalement trois parties dans cette architecture : l objet métier, le squelette et le stub. L objet métier réside dans le tiers intermédiaire. Il s agit d une instance d un objet qui modélise l état et la logique métier d un concept du monde réel, comme une personne, une commande ou un compte. Chaque classe d objet métier possède ses classes stub et squelette correspondantes, construites spécialement pour ce type d objet métier. Par exemple, un objet métier distribué appelé Personne aura les classes correspondantes 3. Enterprise JavaBeans Specification, v1.1, de Sun Microsystems, Copyright 1999 par Sun Microsystems, Inc.

6 6 Chapitre 1 Introduction Figure 1-1. Architecture trois-tiers Personne_Stub et Personne_Skeleton. Comme le montre la figure 1-2, l objet métier et le squelette résident dans le tiers intermédiaire, alors que le stub se trouve sur le client. Le stub et le squelette ont pour charge de montrer l objet métier, qui vit dans le tiers intermédiaire, comme s il s exécutait localement sur la machine cliente. Cela se fait au travers d une forme de protocole d invocation de méthode distante (RMI remote method invocation). Un protocole RMI est utilisé pour communiquer les invocations de méthode sur un réseau. CORBA, Java RMI et Microsoft.NET utilisent tous leur propre protocole RMI. 4 Chaque instance de l objet métier dans le tiers intermédiaire est enveloppé par une instance de sa classe squelette. Le squelette est lié à un port et une adresse IP, il attend des requêtes venant du stub. Le stub réside sur la machine cliente et il est connecté au squelette via le réseau. Le stub agit comme un représentant de l objet métier pour le client et il a en charge la communication des requêtes à l objet métier au travers du squelette. La figure 1-2 illustre le processus de communication d une invocation de méthode allant du client à l objet serveur, puis revenant au client. Le stub cache au client les détails de communication spécifiques au protocole RMI, et le squelette les cache à la classe d implémentation. L objet métier implémente une interface publique déclarant ses méthodes métier. Le stub implémente la même interface que l objet, mais les méthodes du stub ne contiennent pas la logique métier. À la place, elles implémentent les opérations réseau nécessaires à la redirection des requêtes vers l objet métier et elles reçoivent les résultats. Quand un client invoque une méthode métier sur le stub, la requête est envoyée sur le réseau en convertissant en un flot de données le nom de la méthode invoquée et les va- 4. L acronyme RMI n est pas spécifique à Java RMI. Cette section emploie le terme RMI pour décrire les protocoles d objets distribués de façon générale. Java RMI est la version pour le langage Java du protocole d objets distribués.

7 Architectures à objets distribués 7 leurs passées en paramètre, jusqu au squelette. Quand le squelette reçoit le flot entrant, il l analyse afin de déterminer la méthode invoquée, puis il invoque la méthode correspondante sur l objet métier. Toute valeur retournée par la méthode invoquée sur l objet métier est convertie en un flot renvoyé au stub par le squelette. Le stub retourne ensuite la valeur à l application client comme s il avait appliqué la logique métier localement. Écrire votre objet distribué Figure 1-2. Boucle RMI La meilleure façon d illustrer le fonctionnement des objets distribués est de vous montrer comment en implémenter un vous-même, avec votre propre protocole d objets distribués. Vous pourrez ainsi apprécier ce qu un véritable protocole d objets distribués comme CORBA réalise. Les systèmes d objets distribués comme DCOM, CORBA et Java RMI sont cependant bien plus complexes et robustes que le simple exemple que nous allons développer. Notre système d objets distribués ne sert que d illustration ; ce n est pas une véritable technologie, pas plus qu il ne fait partie des Enterprise JavaBeans. L objectif est de vous aider à comprendre le fonctionnement d un système d objets distribués plus sophistiqué. Voici un objet distribué très simple appelé PersonServer implémentant l interface Person. L interface Person offre deux méthodes adaptées au concept d un objet métier représentant une personne : getage() et getname(). Dans une application réelle, nous définirions certainement bien plus de comportements pour l objet métier Person, mais ces deux méthodes sont bien suffisantes pour notre exemple : public interface Person { public int getage() throws Throwable; public String getname() throws Throwable; L implémentation de cette interface, PersonServer, ne contient rien de surprenant. Elle définit la logique métier et l état d une Person : public class PersonServer implements Person { int age; String name;

8 8 Chapitre 1 Introduction public PersonServer(String name, int age){ this.age = age; this.name = name; public int getage(){ return age; public String getname(){ return name; Nous avons maintenant besoin de rendre PersonServer accessible par un client distant. C est le travail de Person_Skeleton et Person_Stub. L interface Person décrit le concept d une personne indépendamment de l implémentation. PersonServer et Person_Stub implémentent tous deux l interface de Person car ils sont supposés supporter le concept d une personne. PersonServer implémente l interface afin de fournir la logique métier et l état ; Person_Stub implémente l interface afin de ressembler à un objet métier Person du point de vue du client et relayer les requêtes au squelette, qui à son tour les enverra à l objet lui-même. Voici à quoi ressemble un stub : import java.io.objectoutputstream; import java.io.objectinputstream; import java.net.socket; public class Person_Stub implements Person { Socket socket; public Person_Stub() throws Throwable { /* Créer une connexion réseau au squelette. Utiliser "localhost" ou l adresse IP du squelette s il se trouve sur une machine différente. */ socket = new Socket("localhost",9000); public int getage() throws Throwable { // Quand cette méthode est invoquée, convertir en flot de données // le nom de la méthode pour le squelette. ObjectOutputStream outstream = new ObjectOutputStream(socket.getOutputStream()); outstream.writeobject("age"); outstream.flush(); ObjectInputStream instream = new ObjectInputStream(socket.getInputStream()); return instream.readint(); public String getname() throws Throwable { // Quand cette méthode est invoquée, convertir en flot de données // le nom de la méthode pour le squelette. ObjectOutputStream outstream = new ObjectOutputStream(socket.getOutputStream()); outstream.writeobject("name");

9 Architectures à objets distribués 9 outstream.flush(); ObjectInputStream instream = new ObjectInputStream(socket.getInputStream()); return (String)inStream.readObject(); Quand une méthode de Person_Stub est invoquée, un jeton String est créé et envoyé par flot au squelette. Ce jeton identifie la méthode invoquée sur le stub. Le squelette analyse le jeton d identification de méthode, invoque la méthode correspondante sur l objet métier et retourne le résultat dans un flot. Quand le stub lit la réponse du squelette, il analyse la valeur et la retourne au client. Du point de vue du client, le stub a traité la requête localement. Examinons maintenant le squelette : import java.io.objectoutputstream; import java.io.objectinputstream; import java.net.socket; import java.net.serversocket; public class Person_Skeleton extends Thread { PersonServer myserver; public Person_Skeleton(PersonServer server){ // Obtenir une référence à l objet métier enveloppé par ce // squelette. this.myserver = server; public void run(){ try { // Créer une socket serveur sur le port ServerSocket serversocket = new ServerSocket(9000); // Attendre et obtenir une connexion par socket du stub. Socket socket = serversocket.accept(); while (socket!= null){ // Créer un flot entrant afin de recevoir les requêtes du // stub. ObjectInputStream instream = new ObjectInputStream(socket.getInputStream()); // Lire la requête suivante du stub. Bloquer jusqu à ce // que la requête soit envoyée. String method = (String)inStream.readObject(); // Déterminer la méthode invoquée. if (method.equals("age")){ // Invoquer la méthode sur l objet serveur. int age = myserver.getage(); // Créer un flot de sortie pour retourner les valeurs // au stub. ObjectOutputStream outstream = new ObjectOutputStream(socket.getOutputStream()); // Retourner les résultats au stub. outstream.writeint(age); outstream.flush();

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

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

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

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

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

Advanced Software Engineering

Advanced Software Engineering Advanced Software Engineering Prof. J. Pasquier-Rocha Presentation Professeur: Jacques Pasquier-Rocha Jacques.Pasquier@unifr.ch http://diuf.unifr.ch/~pasquier Assistants: Patrik Fuhrer Patrik.Fuhrer@unifr.ch

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

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

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

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

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

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

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

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

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

TP d initiation aux systèmes et applications répartis

TP d initiation aux systèmes et applications répartis TP d initiation aux systèmes et applications répartis Grégory Mounié, Simon Nieuviarts, Sébastien Viardot Au début de l informatique, on exploitait simplement des ordinateurs. Maintenant, on construit

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

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

Tour d horizon de Java EE 6

Tour d horizon de Java EE 6 1 Tour d horizon de Java EE 6 De nos jours, les entreprises évoluent dans une compétition à l échelle mondiale. Elles ont besoin pour résoudre leurs besoins métiers d applications qui deviennent de plus

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Ce support est très largement inspiré du livre et du cours de S. Krakowiak S. Krakowiak Java Remote Method Invocation 1 / 25 Intérêt des objets pour la construction d applications

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

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Serveurs réseau. 2011 Pearson Education France Java, mise à jour pour Java 7 Timothy Fisher

Serveurs réseau. 2011 Pearson Education France Java, mise à jour pour Java 7 Timothy Fisher 11 Serveurs réseau En pratique, il y a bien plus de chances que vous écriviez du code de client réseau que du code de serveur réseau. Toutefois, bon nombre d applications intègrent à la fois des fonctionnalités

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

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

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

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

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

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

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

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

Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java

Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java (application avec Java RMI) Éric Leclercq Département IEM / Laboratoire LE2i Décembre 2010 émail : Eric.Leclercq@u-bourgogne.fr

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

Urbanisation et architecture des systèmes d information

Urbanisation et architecture des systèmes d information Urbanisation et architecture des systèmes d information Plate forme pour le composant logiciel 2/2 JAVA, JEE et les EJB David Eudeline eudeline.david@free.fr JAVA Qu'est ce que JAVA? Un langage très jeune

Plus en détail

Implementing a simple RMI Application over the. Internet. (using. and

Implementing a simple RMI Application over the. Internet. (using. and Implementing a simple RMI Application over the (using and Internet and comparing HTTP tunneling,, RMI Proxy) Plan de l exposé Introduction Problématique HTTP tunneling Comment RMI «tunnelle» des messages

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

Programmation Réseau. La sérialisation. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. !

Programmation Réseau. La sérialisation. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! Programmation Réseau La sérialisation Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr UFR Informatique 2013-2014 Pourquoi Texte de la section Encoder l état mémoire

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

Plus en détail

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Eric Leclercq Département IEM / UB 10/2005 email : Eric.Leclercq@u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

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

RICM 4 ème année 12/1/2012

RICM 4 ème année 12/1/2012 RICM 4 ème année 12/1/2012 Examen de Systèmes Répartis Durée : 2h, Documents autorisés à l exception des livres. Le barème est indicatif. Partie A Applications Web Question 1. Dans un répertoire contenant

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

INTÉGRITÉ D OBJETS PERSISTANTS JAVA

INTÉGRITÉ D OBJETS PERSISTANTS JAVA HEG Genève Laboratoire de Technologies Objet Campus de Battelle Bâtiment F Route de Drize 7 CH-1227 Genève Tél : +41 22 388 17 00 Fax : +41 22 388 17 01 www.hesge.ch/heg INTÉGRITÉ D OBJETS PERSISTANTS

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

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

IBM Lotus Domino Designer 6.5.1

IBM Lotus Domino Designer 6.5.1 Créez rapidement des applications multi-plateformes pour automatiser les processus métier et améliorer l efficacité de votre workflow IBM Lotus Domino Designer 6.5.1 Créez, testez et déployez rapidement

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

Oracle 8i sous Linux

Oracle 8i sous Linux Oracle 8i sous Linux Gilles Briard Éditions Eyrolles ISBN : 2-212-09135-4 2000 16 Pilotes JDBC et SQLJ Dans ce chapitre nous allons aborder les points suivants : le standard JDBC, les pilotes JDBC d Oracle,

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

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

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

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP 210 Les Servlets 1. Qu'est-ce qu'une Servlet? 1.1 Présentation Les Servlets sont la base de la programmation Java EE. La conception d'un site Web dynamique en Java repose sur ces éléments. Une Servlet

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

IBM WebSphere MQ File Transfer Edition, Version 7.0

IBM WebSphere MQ File Transfer Edition, Version 7.0 Transfert de fichiers administré pour architecture orientée services (SOA) IBM, Version 7.0 Solution de transport polyvalente pour messages et fichiers Transfert de fichiers haute fiabilité basé sur la

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

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Une solution de reporting haut de gamme éprouvée. Accès aux données et présentation sous la forme de votre choix

Une solution de reporting haut de gamme éprouvée. Accès aux données et présentation sous la forme de votre choix Crystal Reports XI Une solution de reporting haut de gamme éprouvée Crystal Reports XI, solution standard reconnue dans le monde entier, vous aide à concevoir, gérer et distribuer des états sur le Web,

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

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

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

Plus en détail

EJB, retour d expérience

EJB, retour d expérience EJB, retour d expérience Les Jeudi de l Objet Ecole des Mines de Nantes 29 Mars 2001 Jean-François Crépeau T-Systems Page 1. T-Systems Jean-François CREPEAU Directeur de l Innovation Nouvelles Technologies

Plus en détail

Composition de Services Web

Composition de Services Web Composition de 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 127

Plus en détail

Qu est-ce que ArcGIS?

Qu est-ce que ArcGIS? 2 Qu est-ce que ArcGIS? LE SIG ÉVOLUE Depuis de nombreuses années, la technologie SIG améliore la communication, la collaboration et la prise de décision, la gestion des ressources et des infrastructures,

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

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif Applications Web Cours 2: Introduction J2EE Servlets et JSP Khaled Khelif 1 Rappel Web statique vs. Web dynamique Principe des applications web Protocole HTTP : requêtes en mode texte Développement d applications

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

Construire un annuaire d entreprise avec LDAP

Construire un annuaire d entreprise avec LDAP Construire un annuaire d entreprise avec LDAP Marcel Rizcallah Éditions Eyrolles ISBN : 2-212-09154-0 2000 Introduction L économie en réseau ou la Net-économie est au cœur des débats et des stratégies

Plus en détail

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009 Java - TP3 Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet Année 2008-2009 Le but de ce TD est d'écrire une application client/serveur de type msn : 1. Des clients se connectent à un serveur 2. Un

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

RMI (Remote Method Invocation) Client serveur, situation traditionnelle. Client serveur, situation traditionnelle.

RMI (Remote Method Invocation) Client serveur, situation traditionnelle. Client serveur, situation traditionnelle. RMI (Remote Method Invocation) Présentation de RMI Université Française d Egypte Richard Grin Version 0.6 10/10/12 R. Grin RMI page 2 Client serveur, situation traditionnelle Sur la machine A un client

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail