Architecture des systèmes d information répartis



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

Java pour le Web. Cours Java - F. Michel

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

Compte Rendu d intégration d application

Java Naming and Directory Interface

Environnements de Développement

J2EE - Introduction. Développement web - Java. Plan du chapitre

Mise en œuvre des serveurs d application

Création d une application JEE

Accès aux bases de données

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

Auto-évaluation Aperçu de l architecture Java EE

Introduction à la plateforme J2EE

Projet. 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

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

EXA1415 : Annotations

JOnAS Day 5.1. Clustering

Application web de gestion de comptes en banques

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

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

J2EE. Java2 Enterprise Edition. Pierre Yves Gibello Mise à jour : 30 Septembre 2004

Introduction à Java. Philippe Genoud.

Applications des patrons de conception

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)

EJB. Karim Bouzoubaa Issam Kabbaj

Plan. Department of Informatics

JOnAS 5. Serveur d application d

Java et les bases de données

2 Chapitre 1 Introduction

Catalogue des Formations Techniques

Cedric Dumoulin (C) The Java EE 7 Tutorial

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

10. Base de données et Web. OlivierCuré

Java DataBaseConnectivity

TP Programmation Java / JDBC / Oracle

Evaluation Idéopass Cahier d analyse technique

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

Rapport de projet de fin d études

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

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

Java EE. Java Enterprise Edition. Pierre-Yves Gibello - pierreyves.gibello@experlog.com (Mise à jour : Septembre 2011)

Le passage à l échelle de serveur J2EE : le cas des EJB

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

RENDRE VOS APPLICATIONS JAVA PLUS EFFICACES Ce qu'il faut savoir

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

Documentation de la plate forme JOnAS

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Nouvelles Plateformes Technologiques

2.1 Liferay en un clin d'oeil Forces, faiblesses, opportunités et menaces Résumé de notre évaluation... 5

Documentation de la plate forme JOnAS. Frederic Maistre

Remote Method Invocation (RMI)

Europa. 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

Modèle d Administration des Systèmes Distribués à Base de Composants.

JavaServer Pages (JSP)

Programmation d application Bases de données avec Java

Vulgarisation Java EE Java EE, c est quoi?

Virginie!SALAS Janvier!09! NFE107

JDBC le langage Java XVI-1 JMF

Serveur d'application à la juste taille

Module BD et sites WEB

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

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)

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Architecture applicative et Cartographie

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

JOnAS Day 5.1. Outils de développements

RMI le langage Java XII-1 JMF

Architecture de la plateforme SBC

Introduction aux «Services Web»

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

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Introduction aux applications réparties

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.

Une introduction à la technologie EJB (2/3)

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Développement, déploiement et sécurisation d'applications JEE

Introduction à JDBC. Accès aux bases de données en Java

Web Tier : déploiement de servlets

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

Architectures d'intégration de données

Les nouvelles architectures des SI : Etat de l Art

Composants Logiciels. Le modèle de composant de CORBA. Plan

Formation en Logiciels Libres. Fiche d inscription

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

Notre Catalogue des Formations IT / 2015

OpenPaaS Le réseau social d'entreprise

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Urbanisation des Systèmes d'information

Application Web et J2EE

Applications et Services WEB: Architecture REST

Les processus métiers : concepts, modèles et systèmes

Installer GlassFish v3

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

Cours: Administration d'une Base de Données

Initiation à JAVA et à la programmation objet.

Retek Store Inventory Management 11.0 Guide des opérations

Transcription:

Architecture des systèmes d information répartis Cours 2 : servlets et BD, EJB Sorina Ionica 1

JDBC Architecture multicouche J2EE Couche client Conteneur d'applet Applet Couche Web Conteneur Web J2EE Couche métier Conteneur d'ejb J2SE JSP Servlet EJB Conteneur du client de l'application Client de l'application JDBC JDK JDK JDK Couche SI Base de données 2

Les servlets et les BD Connections aux bases de données via JDBC La connexion reste toujours sur le serveur => sécurisation des données Connexion dans la servlet OU Possibilité de créer des pools de connexion 3

Accès aux données - JDBC 1.Créer une connexion à la base (DataSource) 2.Créer une requête (Statement) 3.Exécuter une requête 4.Traiter les résultats 4

Le JNDI JNDI (Java Naming and Directory Interface) Ensemble de fonctions permettant l'accès aux services de nommage et d annuaire La source de données est obtenue en effectuant une recherche dans un contexte Deux imports : import javax.naming.* ; import javax.naming.directory.* ; 5

Configuration Declaration de la ressource dans le fichier c:\serveur\tomcat5_5\conf\serveur.xml <!-- JNDI de la base test --> <Resource name="base_test" type="javax.sql.datasource" password="" driverclassname="com.mysql.jdbc.driver" maxidle="2" maxwait="500" username="root" url="jdbc:mysql://localhost/test?autoreconnect=true" maxactive="500" />

Connexion Créer un objet de type InitialContext pour chercher dans le contexte Context initctx = new InitialContext(); Context envctx = (Context) initctx.lookup("java:comp/env"); ds=(datasource) envctx.lookup("base_test"); La methode principale de DataSource est getconnection() : Connection BD=ds.getConnection();

Statement Obtenir un objet implémentant l'interface Statement Connection BD =... Statement stmt = BD.createStatement(); Exécuter une requête String s = "SELECT * FROM personne"; ResultSet r = stmt.executequery(s);

Requêtes pour la mise à jour Requêtes de mise à jour et de création e.g. update, drop, create Statement stmt = conn.createstatement(); int i = stmt.executeupdate("drop TABLE personne"); Observation : retournent un nombre JDBC 9

Traitement des résultats ResultSet r = stmt.executequery(s); while (r.next()) {... out.println(r.getstring("nom ")); out.println(r.getstring("prenom"));... }

Les Entreprise Java Beans (EJB) 11

Les EJB - Présentation Modèle de programmation pour des composants distribués (accessibles à distance) et couplés à un SGBD Composants Java portables, réutilisables et déployables qui peuvent être assemblés pour créer des applications. 12

Les EJB - Avantages Le conteneur EJB fournit aux EJB des services Gestion des transactions Gestion des autorisations Persistance Gain de temps pour le développeur Les EJB contiennent la logique applicative Les clients ne gèrent plus les règles métiers Les EJB sont portables Réutilisation d EJB existants Déployable sur n importe quel serveur compatible J2EE 13

Les EJB Les serveurs d application EJB Serveur d'applications système hébergeant des EJB respectant les spécifications EJB Serveurs d'applications existants J2EE Sun Java 2 Enterprise Edition commerciaux WebSphere (IBM), WebLogic (BEA), Sun ONE, Oracle App Serv, >20 voir java.sun.com/j2ee/compatibility.html gratuits JBoss, JOnAS, Glassfish, Geronimo, OpenEJB, JRun 14

Les EJB les différents types EJB local vs remote Local Ne peut être invoqué que depuis une classe java exécutée dans la même machine virtuelle java Exécution simple d'objets Java EJB sécurisés Remote Peut être invoqué depuis n'importe où Connexion au serveur + recherche de l'ejb dans l'espace de nommage + RMI 15

Les EJB les EJB session EJB session : chargé d effectuer une tâche pour un client Avec etat Un EJB est dédié à un client durant toute la vie de son instanciation Toute invocation d une méthode de l EJB par le client sera traitée par le même EJB 16

Les EJB les EJB session EJB session : chargé d effectuer une tâche pour un client Sans état pas de maintient de l état conversationnel Peut repondre aux demandes de plusieurs clients 17

EJB3 Les EJB session EJB3 Une interface business (local et remote) La classe du bean Des annotations @Remote, @Local, @stateless ou @stateful Un cycle de vie suivi par des méthodes de la classe du bean taggées : @PostConstruct, @PreDestroy, @PrePassivate, @PostActivate 18

EJB3 Les EJB session package hw; import javax.ejb.remote; @Remote public interface hello { public String sayhello(); } package hw; import javax.ejb.stateless; @Stateless public class hellobean implements hello { @Override public String sayhello() { return "Hello world"; } } Context context=new InitialContext(); hello bean=(hello)context.lookup("hellobean/remote"); System.out.println(bean.sayHello()); 19