Les Enterprise Java Beans (version 3) SGBD
|
|
- Juliette Landry
- il y a 8 ans
- Total affichages :
Transcription
1 Introduction Client léger Enterprise Java Bean (EJB) : Modèle de composants pour le développement d'applications d'entreprises Les Enterprise Java Beans (version 3) SGBD Modèle de programmation!! Par objet réparti!! Par envoie de message Gaël Thomas gael.thomas@lip6.fr La plateforme à composant basée sur Java Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Client Riche Ne gère pas l hétérogénéité Largement influencé par RMI SGBD Introduction Master SAR - M2 MDOC - Introduction 2 Introduction Client léger : navigateur Web HTTP Enterprise Java Bean (EJB) A server-side component that encapsulates the business logic of an application Serveur WEB Conteneur WEB Service de transport : IIOP, RMI ou autre Cache Conteneur EJB Conteneur EJB Master SAR - M2 MDOC - Introduction On se focalise sur la logique applicative!!les services systèmes sont fournis par le conteneur!!la logique de présentation est du ressort du client!!les enterprise beans sont portables d'un serveur d'application à un autre Service BD : JDBC Client lourd Service Transaction: JTA/JTX Service Nommage : JNDI JEE But : simplifier le développement modulaire d applications réparties Base De Donnée Master SAR - M2 MDOC - Introduction 4
2 EJB : un composant!!uniquement Java Introduction!!Décrit en xml ou par annotation Java Conteneur EJB : la plateforme à composant définie par SUN!!Uniquement Java!!Programmation répartie!!orienté vers les serveurs d entreprise!!dynamiquement adaptable!!liaison par appel de méthode et par envoie de message!!outils de génération dynamique de souches et squelettes!!nombreux services systèmes Transaction, nommage, persistance, cycle de vie, transport Principe des Systèmes Informatiques Avancé 5 Trois types d'ejb Introduction Session : effectue une tâche pour un client!!avec état : un état spécifique par client!!sans état : pas d état spécifique (partagé entre clients ou non, dépend de l implémentation) Entity : représente une entité métier persistante!!associé à un tuple d une base de donnée!!gestion transparente de la persistance Message-Driven : un échangeur de messages asynchrones!!session bean sans état!!activé lors de la réception de messages Master SAR - M2 MDOC - Introduction 6 Deux interfaces d accès :!!Interface locale : invocation uniquement dans la même JVM!!Interface distante : invocation distante interface Un code métier : distante!!implantation des méthodes de l interface Différence par rapport à RMI?!!Gestion automatique du cycle de vie!!facilité d accès aux autres services systèmes!!un bean par client Code Code Code métier métier métier interface locale Machine Virtuelle Java L interface : rien de particulier package test; public interface HelloWorld { public void sayhello(); Le code métier : public class HelloWorldBean implements HelloWorld { public void sayhello() { System.out.println("Hello, World!!!"); Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 8
3 Quelques remarques : Nommage : chaque recherche renvoie une nouvelle instance!! name : nom EJB du bean par défaut : le nom de la classe!! mappedname : nom dans le service de nommage global (JNDI, voir cours suivant) Utile pour les clients lourds Interfaces d accès : indique l interface externe, plusieurs interfaces : indique l interface interne, plusieurs interfaces possibles!! Par défaut des interfaces directes Utilisation d un Session Bean à partir d un autre Session Bean public interface Test { public void = public class TestBean implements Test HelloWorld hw; Avec ou sans état :!! Bean sans état (@Stateless) : état indépendant du client (attention, partage possible)!! Bean avec état (@Statefull) : état propre à chaque Bean public void test() { hw.sayhello(); Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 10 Utilisation d un Session Bean à partir d un client Lourd public static void main(final String[] args) throws Exception { Context ic = new InitialContext(); Test test = (Test)initialContext.lookup("Test@Remote"); test.test(); InitialContext : service de nommage (voir cours JNDI) Le client ne peut utiliser que le nom JNDI, pas le nom du Bean Lancer le client : dans un conteneur client (avec Jonas : jclient au lieu de java) Injection de ressources!!accès à d autres objets enregistrés dans le service de = public class TestBean implements Test "jdbc_1") Object o; Remarque : jdbc_1 est le nom par défaut donné au gestionnaire de connexions vers la base de donnée sous Jonas (voir cours JDBC) Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 12
4 Suppression de Session Bean : Interception des changements d état du cycle de vie Explicite après l invocation d une void del() { System.out.println("Va être public void initialise() { initialise le public void detruit() { destruction du Bean Fonction destroy() : appelée juste avant toute suppression!!après un appel explicite à une méthode du déchargement du Bean Attention void destroy() {! fonction appelée deux fois!! public void avantswap() { Bean va être mis en public void apresswap() { Bean vient d être rechargé Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 14 Interception de méthodes métier Utile pour debuggage, monitoring, changement de paramètres, évolution d API Compilation : javac classique Ajouter le.jar javaee dans le classpath :!!Invoquée à la place de toute méthode métier!!sauf si elle public Object intercept(invocationcontext ic) throws Exception { System.out.println("*** intercept la méthode '" + ic.getmethod().getname() try { return invocationcontext.proceed(); finally { System.out.println("*** fin"); Master SAR - M2 MDOC - Introduction 15 Packaging : dans un fichier.jar classique /test/helloworld.class /test/helloworldbean.class /test/test.class /test/testbean.class Déploiement (sous Jonas) : copie dans le répertoire deploy Master SAR - M2 MDOC - Introduction 16
5 Entity Bean = tuple d une base de donnée Exemple de base Entity Bean : POJO (Plain Old Java Object)!!Champs du POJO = colonne d une table API des Entity Bean : JPA (Java Persistance API) Unification des APIs Hibernate, TopLink Gestion (quasi-)transparente de = "FILMS") public class Film implements = GenerationType.AUTO) private int id; private String name; public int getid() { return id; public void setid(int id) { this.id = id; public String getname() { return name; public void setname(final String name) { this.name = name Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction ou rien : indique qu un champs est persistant Les jointures entre EntityBean Tous les champs sont persistants Changer le nom de la colonne de la BD int nomjava; Table associée au tuple Pas nécessaire de de mettre tous les champs de la table Clé primaire obligatoire : type primitif ou : indique comment sont générés les clés Auto, Identity, Sequence, Table Cardinalité des relations :!!1-1!!1-n (ex. : une commande contient n lignes)!!n-1 (ex. : plusieurs ligne de commandes peuvent concerner le même produit)!!n-n (ex. : un cours comporte +sieurs étudiants qui suivent +sieurs cours) Dénomination : OneToOne, OntToMany, ManyToOne, ManyToMany Principe : un unique propriétaire de la relation Propriétaire : tuple qui possède la clé externe Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 20
6 Exemple de jointure : «un film est joué dans des salles» Exemple de jointure create table FILMS ( id integer primary key auto_increment, name VarChar(256) ); create table SALLES_PROG ( id integer primary key auto_increment, salle_id integer, film_id integer, foreign key (salle_id) references SALLES(id), foreign key (film_id) references FILMS(id) ); Dans le Bean Film = "film", fetch=fetchtype.eager, cascade=cascadetype.all) private List<SalleProg> salles; Dans le bean SalleProg = "film_id") private Film film; Champs De jointure chez le propriétaire film_id : clé étrangère! propriétaire : SALLES_PROG Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 22 Complément sur les jointures Utilisation des EntityBeans : dans des SessionBeans Fetch : façon de gérer la jointure (aussi paramètre : au plus tôt (nécessaire si Serializable)!!FetchType.LAZY : au plus tard (inutilisable avec Serializable) Cascade : cascade des opérations entre les beans!!cascadetype.all : toute opération propagée!!cascadetype.merge : merge entre deux beans (voir + loin dans le cours)!!cascadetype.persist : Film devient persistant! List<SalleProg> aussi!!cascadetype.refresh : rechargement à partir de la base!!cascadetype.remove : suppression en cascade L EntityManager : gestionnaire de persistance public interface Cinema{ Film findfilm(int public class CinemaBean implements Cinema private EntityManager em; Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 24
7 Etat d un Entity Bean Attaché : géré par l entity manager Modification répercutée dans la BD!!Tout Entity Bean renvoyé par l entity manager Détaché : non géré par l entity manager Modification non répercutée dans la BD!!Nouveau Bean!!Copie de Bean (après sérialisation) L EntityManager : attachement et détachement!! void merge(object entity) : synchronise l état persistant du bean Utilisable sur un bean détaché. Ne rattache pas le bean. Utile lorsque le Bean est modifié chez le client et renvoyé au serveur.!! void persist(object entity) : rend l entité persistante et attachée Utilisable sur un nouveau Bean (après un new) Film createfilm(string name) { Film film= new Film(); res.setname(name); em.persist(film); // attache le bean + rend persistant return film; // la copie est bien sûr détachée Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 26 Principales méthode d un EntityManager!! Object find(class cl, Object key) : Trouve un EntityBean à partir de sa clé primaire!! boolean contains(object entity) : Vrai si entity est attaché à l EntityManager!! Query createquery(string qlstring) : Création d une requête dans le langage «query language»!! Query createnamedquery(string name) : Création d une requête nommée!! Query createnativequery(string sqlquery) : Création d une requête dans le langage SQL!! void remove(object entity) : Supprime l entity de la base!! void refresh(object entity) : Recharge le bean à partir de la base Exemple d utilisation Trouver un film à partir de sa clé primaire : public void findfilm(int id) { return em.find(film.class, Integer.valueOf(id)); Supprimer un film : public void removefilm(int id) { em.remove(findfilm(id)); Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 28
8 Le langage «Query Language» : langage de requête proche de SQL!!Sélection à partir du nom du Bean!!Paramètres indiqués par :nom-du-parm!!positionnement des requêtes dans l objet Query!!Demande d une liste de résultats à partir de l objet Query Exemple : public Film findfilmbyname(string name) { Query q = em.createquery( "select f from Film where f.name = :fname"); q.setparameter("fname", name); List<Film> res = q.getresultlist(); return res.size() == 0? null : res.get(0); Requête nommée : définie avec = "findallfilms", query = "select f from Film = "findfilmbyname", query = "select f from Film f WHERE f.name = :fname") ) public class Film implements java.io.serializable { Utilisation dans le SessionBean : void findfilmbyname() { Query q = em.createnamedquery("findfilmbyname"); Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 30 Les Entity Beans (version 3) Interception des changements d état du cycle de vie Le descripteur de déploiement Autour de la création (em.persist) :!!@PrePersist!!@PostPersist Lors du chargement à partir de la base (em.find, Query.getResultList)!!@PostLoad Autour des mises à jour (modification de champs, em.merge)!!@preupdate!!@postupdate Autour de la suppression (em.remove)!!@preremove!!@postremove <persistence xmlns= " version="1.0"> <persistence-unit name="entity" transaction-type="jta"> <provider></provider> <jta-data-source>jdbc_1</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.hsqldialect" /> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence> Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 32
9 Les Messages Driven Bean (version 3) Message driven Bean : interaction par messagerie MOM : Message Oriented Middleware Deux modes de communication!!n vers 1 : Queue!!N vers M : Topic Message Driven Bean : repose sur la spécification JMS JMS : Java Message Service Les Messages Driven Bean (version 3) Principe des Message Driven Bean!!Consomme des messages asynchrones!!pas d'état (toutes les instances d'une même classe de MDB équivalentes)!!peut traiter les messages de clients!!1 seule méthode métier (onmessage)! Paramètres imposés! Pas de valeur de retour! Pas d'exception Quand utiliser un MDB!!Éviter appels bloquants!!découpler clients (producteurs) et serveurs (consommateurs)!!besoin de fiabilité : protection crash serveurs Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 34 Les Messages Driven Bean (version 3) La spécification JMS (java.sun.com/jms) Queue : file de discussion (un seul consommateur) Topic : sujet de discussion (diffusion) ConnectionFactory : usine à connexions vers queue/topic Connection : connexion vers queue/topic Les Messages Driven Bean (version 3) Architecture Java Message Service (pour le queue, remplacer Topic par Queue, Publisher par Sender, Subscriber par Receiver) NameService JTCF montopic TopicConnectionFactory TopicConnection TopicSession Session :!!Création d émetteur et récepteur!!peut être rendue transactionnelle TopicPublisher Message Topic Message TopicSubscriber Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 36
10 Les Messages Driven Bean (version 3) Développement d un Message Driven Bean Les Messages Driven Bean (version 3) Exemple d émetteur = propertyname = "destination", propertyvalue = propertyname = "destinationtype", propertyvalue = "javax.jms.topic")) public class Mdb implements MessageListener { public void onmessage(message inmessage) { System.out.println(((TextMessage)msg).getText()); Master SAR - M2 MDOC - Introduction mappedname="topic_rigolo") Topic mappedname="jtcf") TopicConnectionFactory factory; TopicSession session; TopicPublisher sender; public void publish(string value) { TopicConnection tc = factory.createtopicconnection(); session = tc.createtopicsession(false, Session.AUTO_ACKNOWLEDGE); sender = session.createpublisher(topic); TextMessage msg = session.createtextmessage(); msg.settext("mdb: " + value); sender.publish(msg); Master SAR - M2 MDOC - Introduction 38 Historique Différence majeure entre version 2 et version 3 Présence de Home (Usine) dans les Session Beans!!Usine enregistrée dans le service de nommage!!obtention d un bean via l usine (home.create()) Pas d EntityManager!!Gestion de la persistance via la Home de l EntityBean (homefilm.findbyname("les Vikings")) Version 2 : beaucoup de XML Difficile à maintenir Version 3 : beaucoup d annotation Historique Maintenance simplifiée Possibilité d utiliser du XML à la place Entity Bean non sérializable!!pas de notion de DTO (Data Transfert Object)!!Entity Bean toujours attaché Master SAR - M2 MDOC - Introduction Master SAR - M2 MDOC - Introduction 40
11 Conclusion Enterprise Java Bean!!Composants Java!!Programmation répartie!!facile à mettre en œuvre!!très bonne amélioration de l ergonomie avec la version 3 Fonctionnement interne!!relativement compliqué (quatre cours pour l étudier!)!!demande de bonnes base Master SAR - M2 MDOC - Introduction 41
Java 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é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é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é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é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é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é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é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étailFlorent.BENOIT@bull.net. JOnAS & EasyBeans EMN 29 Novembre 2007
Florent.BENOIT@bull.net JOnAS & EasyBeans EMN 29 Novembre 2007 # 1 BULL 2007 Plan Présentation Plate-forme Java EE TM 5 Serveur d'applications JOnAS / EasyBeans EJB 3.0 (Description, Nouvelles fonctionnalités)
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étailEJB. Karim Bouzoubaa Issam Kabbaj
EJB Karim Bouzoubaa Issam Kabbaj Problématique html jsp Objets java jdbc table Pour accéder aux données : Établir une connexion avec la BD Envoyer une requête Traiter la requête Assurer l'intégrité Or
Plus en détailLa gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction
La gestion de la persistance avec et la gestion de persistance Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com
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é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é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é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é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é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é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é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é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é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é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étailMessagerie 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é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é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é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é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étailApplications 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étailMOM: Concepts & Applications
MOM: Concepts & Applications André Freyssinet ScalAgent Distributed Technologies Andre.Freyssinet@scalagent.com www.scalagent.com Plan Introduction Exemple d application (supervision) Synchrone vs Asynchrone
Plus en détailTD sur JMS ---- 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?
TD sur JMS ---- Questions de cours : 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS? MOM : Message Oriented Middleware Intergiciels orientés Messages
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é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é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é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é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é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é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é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é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étailPROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions
PROJET : ETNIC ESB JANUS Guide technique : WS- BULL Services et Solutions Date : 20 novembre 2008 Version : 1.0 Référence Bull : ETNIC_ESB/ANA/00 Auteur : NOSEDA Anne Projet ETNIC ESB JANUS Guide technique
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é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é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étailDéveloppement Web - Object Relational Mapping and Hibernate
1 / 58 Développement Web - Object Relational Mapping and Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M1/M2 Informatique 2010-2011 2 / 58 Plan Plan 1 Introduction
Plus en détailI4 : Bases de Données
I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables
Plus en détailNFP111 Systèmes et Applications Réparties
NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
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é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étailMeta Object Facility. Plan
Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués
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é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étailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
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é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é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étailTP Programmation Java / JDBC / Oracle
TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie
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é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é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é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étailJava et les annotations
Java et les annotations Cnam Paris jean-michel Douin version du 6 Octobre 2014 Notes de cours sur les annotations 1 Sommaire Les prédéfinies Annotation pour une meilleure productivité Annotations comme
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailDéveloppement d un réseau social modulaire
Développement d un réseau social modulaire Stage - Master I Matthieu Proucelle Université d Artois 29 mai 2009 Table des matières 1 JEE 4 1.1 Java.................................................. 4 1.2
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é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étailBases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Plus en détailISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé
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é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é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étailPHP 5. La base de données MySql. A. Belaïd 1
PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple
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étailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailPremière coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE
Première coupe : CREATION : 2010/04/22 MISE A JOUR : 2010/07/01 GLASSFISH:3.0.1 NETBEANS : 6.8 Ce TP de découverte de la plateforme Java EE est une traduction adaptée de «Your First Cup :An Introduction
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étailL Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager
L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures
Plus en dé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é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étailLe 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é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étailLe langage SQL (première partie) c Olivier Caron
Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)
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é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é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étailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
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étailLes processus métiers : concepts, modèles et systèmes
Les processus métiers : concepts, modèles et systèmes Organisation du cours Concepts et notations Modélisation des processus Systèmes de gestion de processus Processus transactionnels Découverte de processus
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étailIntroduction aux intergiciels
Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3
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étailD 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étailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
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étailBases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
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étail