Les enterprises Java Beans
|
|
- Marie-Claire Leclerc
- il y a 8 ans
- Total affichages :
Transcription
1 Enterprise Java Beans Les enterprises Java Beans Michel RIVEILL - Laboratoire I3S Architecture permettant la création d applications réparties selon l architecture 3 parties interface traitement persistance Le composant de traitement est exécuté sur un serveur et il est appelé par un client distant REMARQUE : Rien à voir avec les Java beans qui sont des composants côté client 2 Enterprise JavaBeans Enterprise Java Beans Rendre une application facile à développer, déployer et administrer indépendamment de la plate-forme permettant son exécution Un EB (EnterpriseBean) n est pas spécifique de la plateforme dans laquelle il est utilisé Le déploiement d un EB se fait sans recompilation ou modification du code source spécifications = définition d une architecture pour construire une application en Java dont la partie serveur est construite à à l aide de composants appelé Entreprise Beans (EB) Architecture = ensemble d interfaces Caractéristiques principales des EB «écrit une fois, s exécute partout» composants «serveurs» spécialisés écrits en Java JavaBeans = composants clients visuels c.f. objets métiers de CORBA est la partie centrale de la plate-forme 3 4
2 Plate-forme Enterprise Java Architecture de serveur Composants Java beans RMI (JRMP, IIOP) Composants Enterprise Java Beans Client HTML Client CORBA (c++, Java, VB, ) HTTP Serveur WEB servlet IIOP RMI Serveur EB container SQL XQ SGBD relationnel JTA Plate-forme (Conteneur + Serveur) JDBC... JMS JNDI... Client Java Application, Applet RMI EB container OQL XQ SGBD objet Plate-forme Serveur (Unix, NT) + JVM + JDK Client DCOM ActiveX RPC DCOM JTM 5 6 Caractéristiques principales Modèle d exécution L architecture identifie les éléments suivants : composants logiciels ou beans (EB), conteneurs, serveurs, clients. Les conteneurs isolent les beans du client et d une implémentation spécifique d un serveur Rappel : les beans sont dans la partie serveur Conteneurs et serveurs implémentent les mécanismes de bas niveau utilisés par les applications transactions, persistance, gestion mémoire, 7 8
3 Caractéristiques principales s intéresse aux activités liées au développement, au déploiement et à l exécution d une application définit différents rôles associés aux différentes parties intervenant dans la production d une application définit des contrats associés à un bean Ces contrats sont passés entre le conteneur et les clients qui utilisent le bean. => ce sont des règles (obligations) qui doivent être respectées par le fournisseur de l EB et de conteneur Les différents rôles Fournisseur d EB Assembleur d application L installateur Enterprise Bean (EB) Application Développement de l application Déploiement et exécution 9 Fournisseur de conteneur Fournisseur de serveur Produit Utilise Conteneu r Serveur Développement du serveur 10 contrats Fournir un modèle de développement uniforme pour les applications qui utilisent les composants EB Contrat coté client client fournir une vue uniforme du bean au client. En particulier cette vue est indépendante de la plateforme de déploiement Contrat coté conteneur permettre la portabilité des beans sur différents serveurs Contrat coté packaging (ejb-jar file) fournir un format de fichier standard pour packager les beans. Ce format doit être supporter par tous les outils liés aux Contrat client EBJ conteneur serveur Enterprise Bean Fichier ejb-jar Contrat conteneur Contrat parckaging 11 Le contrat coté client Localiser le bean utilisation de JNDI Utiliser le bean utilisation de l interface standard fournie par l EB provider Home Interface (méthodes liées à la gestion du bean : create, remove, finder,...) Remote Interface (méthodes de l application) Le container implémente le mécanisme de délégation permettant de faire suivre l appel au bean le client ne communique pas directement avec le bean mais avec le container 12
4 Le contrat du conteneur L conteneur permet gestion du cycle de vie, gestion de l état, sécurité, transaction distribuée, concurrence, extensibilité ces services appellent des méthodes fournies par le bean (callback methods) Les conteneurs gèrent 2+1 types de beans propriétés et cycle de vie différent Session beans Entity beans Message driven beans Sorte de sessions beans spécialisés dans les communications par échanges de messages Session beans sont non persistant (short-lived) associé à un seul client un flot d exécution est créé pour chaque appel de méthode stateless sessions bean pas de donnée interne, inutile de le rendre passif, peut être partagé par plusieurs clients plusieurs appels de méthodes en provenance du même client stateful sessions bean sont détruits après un arrêt (ou une panne) de l serveur sont «transparents» aux transactions transmettent le contexte Entity beans Cycle de vie d un bean Représentent les données d une base de données sont persistant (long-lived) la gestion de la persistance peut être faite par le bean (bean managed persistence) ou déléguée à son conteneur (container managed persistence) acceptent les accès multiples effectués par plusieurs clients gestion de la concurrence peuvent participer à des transactions survivent aux pannes d un serveur les pannes sont cachées aux clients Le conteneur gère le cycle de vie d un bean Il fournit administration du bean ( Home implementation ) permet aux clients de créer, détruire et rechercher un objet appelle les opérations correspondantes fournies par le bean (callbacks) gestion de l état Activation le bean est chargé en mémoire Désactivation - Passivation le conteneur peut sauvegarder l état du bean 15 16
5 Cycle de vie d un session bean stateless Cycle de vie d un session bean stateful inexistant inexistant 1. remove 2. ejbremove 1. create 2. setsessioncontext 3. ejbcreate ejbremove 1. create 2. newinstance 3. setsessioncontext 4. ejbcreate ejbpassivate prêt prêt passivé 17 ejbactivate 18 Cycle de vie d un entity bean Persistance inexistant 1. newinstance 2. setsessioncontext 1. unsetentitycontext 2. finalize En attente 1. ejbremove ejbpassivate 1. ejbcreate 2. ejbpostcreate (appelé par client) ejbactivate (appelé par container) prêt Persistance gérée par le bean le fournisseur de l Entity Bean écrit les opérations d accès aux données permettant de géré la persistance dans les callback appropriés (ejbcreate, ejbstore, ejbload, ejbfind...) utilisation par exemple de JDBC ou d un SGF Persistance gérée par le conteneur le fournisseur de l Entity Bean utilise les services du conteneur ( container managed fields ) et précise le support utilisé pour la persistance le code d accès à la base de donnée est délégué au conteneur Dans les 2 cas le conteneur est responsable de la cohérence entre l état du bean et de l état sauvegardé dans la base de données 19 20
6 Transaction Bean s transaction attribute Support de l architecture XA (X/Open DTP architecture) extensions standards à JDBC 2.0 Java Transaction API (JTA) Modèle de transaction plat Pas de transaction imbriquées (nested) Gestion déclarative des transactions l attribut transactionnel associé aux EBs est affecté soit lors de la phase d implémentation du bean soit lors de son déploiement un bean peut aussi contrôler explicitement les transactions (JTA) un client peut aussi contrôler explicitement les transactions (JTA) Beans transaction Client s transaction transaction associated attribute bean s method TX_NOT_SUPPORTED none none none TX_REQUIRED none TX_SUPPORTS none none TX_REQUIRES_NEW none T2 TX_MANDATORY none Error TX_BEAN_MANAGED none Gestion de la concurrence Sécurité Accès à plusieurs clients d un entity bean Spécification de la sérialisibilité Isolation level définis dans SQL Niveaux d isolation READ UNCOMMITED READ COMMITED REPEATABLE READ SERIALIZABLE Lecture sale Lecture non répétable Fantômes La gestion de la sécurité est délégué au maximum au conteneur objectif : simplifier la programmation du bean, améliorer la portabilité Le support de la sécurité est basé sur l API sécurité de Java (javax.security) les méthodes liées à la sécurité peuvent être implémenté par le conteneur (javax.ejb.context interface) utilisation d attributs de sécurité défini dans le descripteur du bean utilisé lors de la phase de déploiement runasmode : CLIENT_IDENTITY, SPECIFIED_IDENTY, SYSTEM_IDENTITY RunAsIdentity : <identité> si SPECIFIED_IDENTITY Comme pour les transactions 2 modes Bean managed Container managed 23 24
7 Principaux bénéfices Application complexe facile à écrire gestion des transaction de manière déclarative gestion de la persistance gestion intégré de la sécurité gestion de la répartition La plate-forme et le bus logiciel (middleware) sont indépendants des applications Extensibilité du modèle Un exemple de Bean L exemple permet d illustrer Le développement et le déploiement d un bean Les mécanismes d exécution Gestion d un compte bancaire Composant persistant utilisation d un Entity Bean Interface du Bean (vue par le client).java public interface extends Object { public double getbalance() throws RemoteException; public void setbalance(double d) throws RemoteException; public String getcustomer() throws RemoteException; public void setcustomer(string c) throws RemoteException; Architecture de l application Ecriture d un exemple Client distant home stub object stub IIOP IIOP Espace d adressage du client Home object Object conteneur JTM Compte Bancaire Espace d adressage du conteneur JDBC + XA RMI ext = extension de RMI afin de propager le contexte de la transaction comme un paramètre supplémentaire (ou utilisation de IIOP) Oracle ou Instant DB Spécification du bean entity bean gestion de la persistance gérée par le conteneur Le concepteur doit écrire le code suivant l interface de gestion du bean - Home interface Home.java l interface d accès à distance - Remote Interface.java La classe pour la gestion des clés d accès aux différents comptes - Primary Key class (nécessaire uniquement pour les entity beans, encapsule le champ représentant la clé primaire d un entity bean dans un objet) BeanPK.java le code du bean Bean.java le descripteur pour le déploiement 27 28
8 Client/Serveur Processus de développement Développement d un bean Ecrire / compiler le Primary Key class (pour un entity bean ) Ecrire / compiler home et remote interfaces Ecrire / compiler l implémentation du bean Construire le descripteur de déploiement (GenDD tool) Construire le fichier d archive - jar file (packaging) Déploiement et exécution du bean Générer la classe d interposition pour le conteneur Bull -> GenIC tool Etablir le fichier de propriété pour l Server Activer rmiregistry Activer l Server Exécuter le client Home interface Vue client de l objet Home (Home.java) public interface Home extends Home { public create (int accno, String customer, double balance) throws RemoteException; public findbyprimarykey (BeanPK pk) throws RemoteException, FinderException; public Enumeration findlarges (double val) throws RemoteException, FinderException; Implémentation du Bean (1/2) class Bean implements EntityBean { public void ejbactivate() {... public void ejbpassivate() {... public void ejbcreate(...) {... public void ejbload() {... public void ejbstore() {... public void ejbremove() {... public void setentitycontext(...) {... public void unsetentitycontext() {... public void ejbpostcreate(...) {... les deux upcalls ejbfindbyprimarykey() et ejbfindlarges() sont généré uniquement si le conteneur gère la persistance Implémentation du Bean (2/2) protected EntityContext entitycontext; public int accno public String customer; public double balance; public double getbalance() throws RemoteException { return balance; public void setbalance(double d) throws RemoteException { balance = balance + d; public String getcustomer() throws RemoteException { return customer; public void setcustomer(string c) throws RemoteException { customer = c; 31 32
9 Creation des instances Home interface Méthodes de l application Remote interface Create(...) newinstance() setbalance() Begin Client Home setentitycontext() Bean Client Object setbalance() Bean Ref ejbcreate(...) commit Container Gestion des transactions Ecrire un client Le conteneur gère les transaction à l aide des classes d interposition qui sont générée automatiquement BullBean.java preinvoke() { case TX_REQUIRES_NEW: clienttransaction=current.suspend(); Current.begin(); postinvoke(){ case TX_REQUIRES_NEW: Current.commit(); Current.resume(clientTransaction); Localiser le container du bean Si nécessaire, lier le bean au client Utiliser le bean Libérer le bean BullBean.java public void setbalance(double d){ this.preinvoke(); Bean.setBalance(d); this.postinvoke(); 35 36
10 Programmation du client Programmation d un bean session Import tom.ejb.restaurant.*; Public class Client { public static void main (String [] argv) { // récupérer le contexte JNDI javax.naming.context initialcontext = new javax.naming.initialcontext(); // récupérer la référence sur la Home interface RestaurantHome rh = initialcontext.lookup(«restauranthome»); // créer un bean session Restaurant r = rh.create(«burger Heaven»), // appeler les méthodes du bean r.order(«cheeseburger»); // détruire le bean session r.remove(); Créer l interface remote Doit étendre l interface javax.ejb.object Doit définir les méthodes métiers Créer l interface home Doit étendre l interface javax.ejb.home Doit définir les méthodes create et remove Implémentation de la méthode create Est appelé par le conteneur lors de la création de l objet Implémentation de l interface SessionBean ejbactivate() appelé quand le bean est activé ejbpassivate() ejbremove() setsessioncontext(sessioncontext ctx) - appelé par le container pour définir le contexte Programmation d un bean session Programmation d un bean session Package tom.ejb.restaurant.server; Public class OrderBean implements SessionBean { private transient SessionContext ctx; private String order; // un bean peut avoir plusieurs méthodes create public void ejbcreate() throws Exception { // initiatialisation des variables d instances // méthodes métiers public boolean order(string order) { this.order = order; System.out.println(«order received for»+order); return true; // ces méthodes sont requises par l interface SessionBean public void ejbactivate() throws Exception{ public void ejbpassivate() throws Exception{ public void ejbdestroy() throws Exception{ public void setsessioncontext(sessioncontext ctx) throws Exception{this.ctx = ctx Implémenter l interface EntityBean ejbactivate() appelé lors de l activation ejbpassivate() ejbload() appelé lorsque l état est chargé depuis la base de donnée ejbstore() appelé lors de l opération inverse setentitycontext() appelé lorsque l instance a été créée unsetentitycontext() appelé par le conteneur avant de supprimer l instance ejbfind() permet à un client de rechercher le bean Si nécessaire, implémenter les méthodes create() Créer l interface remote Doit étendre l interface javax.ejb.object Créer l interface home 39 40
11 Programmation d un bean session Descripteur de déploiement Package tom.ejb.entity.server; Public class ExampleBean implements EntityBean { private transient EntityContext ctx; // la méthode finder est générée lors du déploiement // un bean peut avoir plusieurs méthodes create public void ejbcreate() throws Exception { // méthodes métiers public boolean dosomething() { // méthodes requises public void ejbactivate() throws Exception { public void ejbpassivate() throws Exception { public void ejbdestroy() throws Exception { public void ejbload() throws Exception { public void ejbstore() throws Exception { public void setentitycontext(entitycontext ctx) throws Exception { this.ctx = ctx public void unsetentitycontext() thows Exception { this.ctx = null Deployment Descriptor Fichier xml Home interface Remote interface Enterprise Bean BeanHomeName ControlDescriptors Env. properties ContainerManagedFields Home Bean Home1 TX_SUPPORTS DataSource name... accno, customer, balance Descripteur de déploiement (addendum) Si la persistance est gérée par le conteneur, le Bean fournisseur/installateur doit spécifier, dans l environnement les propriétés du Bean le lien avec la base de données datasource.name jdbc_oracle1 db.tablename db.field.accno accno db.field.customer customer db.field.balance balance la méthode de recherche du bean db.finder.findlarge where balance >? 43
Applications des patrons de conception
MAI NFE103 Année 2013-2014 Applications des patrons de conception F.-Y. Villemin, CNAM! http://deptinfo.cnam.fr/enseignement/cyclespecialisation/mai/index.html Plan! Java Beans*! Patron "Modèle-vue-contrôleur"
Plus en détailComposants logiciels Exemples : Java Beans, Enterprise Java Beans
Composants logiciels Exemples : Java Beans, Enterprise Java Beans Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Introduction : évolution
Plus en détailJ2EE. Java2 Enterprise Edition. Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004
J2EE Java2 Enterprise Edition Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004 Ce document est couvert par la licence Creative Commons Attribution ShareAlike. This work
Plus en détailInstitut 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étailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailPlan. Department of Informatics
Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise
Plus en détail24/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étailArchitecture 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étailCompte 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étail1. 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étailQuelques 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étailJOnAS 5. Serveur d application d
JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source
Plus en détailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détail2 Chapitre 1 Introduction
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é
Plus en détailRemote 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étailRecherches et Développements autour des middlewares
Recherches et Développements autour des middlewares Michel RIVEILL, Université de Nice riveill@unice.fr Projet RAINBOW, Laboratoire I3S (CNRS UNSA) ESSI 930 route des Colles - BP 145 06903 Sophia Antipolis
Plus en détailEXA1415 : 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étailAuto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Plus en détailTypes 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étailMise 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étailRMI 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étailJava 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étailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailRMI. 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étailCedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/
Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation
Plus en détailJOnAS Day 5.1. Clustering
JOnAS Day 5.1 Clustering Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailLe passage à l échelle de serveur J2EE : le cas des EJB
Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailJ2EE - Introduction. Développement web - Java. Plan du chapitre
Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE
Plus en détailArchitecture applicative et Cartographie
Architecture applicative et Cartographie Mineure SOA Idir AIT SADOUNE idir.aitsadoune@supelec.fr Programme 7 nov. 14 nov. 21 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailDocumentation de la plate forme JOnAS
Documentation de la plate forme JOnAS Documentation de la plate forme JOnAS Table des matières Documentation JOnAS...1 Java Open Application Server (JOnAS): une Plate forme J2EETM...3 Introduction...3
Plus en détailJava 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étailRapport de projet de fin d études
TELECOM SUDPARIS VAP : ARCHITECTE DE SERVICES EN RESEAU Rapport de projet de fin d études Comparaison et évaluation de serveurs d'applications Java Sarafou BALDE Muqiu ZHENG Encadrante: Mme Sophie CHABRIDON
Plus en détail10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]
10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une
Plus en détailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailIntroduction à 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étailDocumentation de la plate forme JOnAS. Frederic Maistre
Documentation de la plate forme JOnAS Frederic Maistre Documentation de la plate forme JOnAS Table des matières Documentation JOnAS...1 Java Open Application Server (JOnAS): une Plate forme J2EETM...3
Plus en détailWEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailJava - RMI Remote Method Invocation. Java - RMI
Remote Method Invocation Yann Viémont Université de Versailles St-Quentin Plan 1. Introduction 2. Rappels sur les RPC 3. Le modèle objet de Java-RMI 4. Architecture générale 1. Introduction = Disponible
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailWeb 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étailConception de serveurs d'applications ouverts
Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailModèle d Administration des Systèmes Distribués à Base de Composants.
Institut National des Sciences Appliquées de Lyon THESE Pour obtenir le grade de Docteur de l Institut National des Sciences Appliquées de Lyon Préparée au laboratoire : CITI Dans le cadre du projet :
Plus en détailJava et les bases de données
Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples
Plus en détailTP 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étailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailSoftware Engineering and Middleware A Roadmap
Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems
Plus en détailRefonte 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étailJava EE. Java Enterprise Edition. Pierre-Yves Gibello - pierreyves.gibello@experlog.com (Mise à jour : Septembre 2011)
Java EE Java Enterprise Edition Pierre-Yves Gibello - pierreyves.gibello@experlog.com (Mise à jour : Septembre 2011) Ce document est couvert par la licence Creative Commons Attribution-ShareAlike. This
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détailProjet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion
Projet But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables événements Serveur de diffusion 1 JMS Java Message Service PHAN Quang-Hai ISTR 04/05/2004
Plus en détailJava Aspect Components (JAC) http://jac.objectweb.org
Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet
Plus en détailEnvironnements 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étailSGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)
SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients
Plus en détailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailArchitectures d'intégration de données
Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailSystèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49
Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique
Plus en détailArchitecture 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étailArchitectures n-tiers Intergiciels à objets et services web
Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques
Plus en détailIntergiciel - concepts de base
Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques
Plus en détailRé-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailEvaluation Idéopass Cahier d analyse technique
Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailEuropa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i
Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 10 L API JPA et la
Plus en détailProgramme «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étailLa technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Plus en détailProgramme 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étailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailAvant-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étailImplémentation des SGBD
Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution
Plus en détailVulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Plus en détailDéveloppement, déploiement et sécurisation d'applications JEE
JBoss Développement, déploiement et sécurisation d'applications JEE Franck SIMON Résumé Ce livre sur JBoss s'adresse aux développeurs Java quotidiennement confrontés au développement et au déploiement
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailCORBA. (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étailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailGPC Computer Science
CYCLE ISMIN P2015 GPC Computer Science P LALEVÉE lalevee@emse.fr @p_lalevee A3.01 0442616715 C YUGMA yugma@emse.fr A3.01 0442616715 01/09/2014 Présentation GPC CS - Ph. Lalevée - C Yugma 1 Scolarité Site
Plus en détailIntroduction aux applications réparties
Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant
Plus en détailEuropa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i
Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailJavaServer Pages (JSP)
JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation
Plus en détail