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



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

Environnements de Développement

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

Introduction à la plateforme J2EE

Java pour le Web. Cours Java - F. Michel

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

Compte Rendu d intégration d application

Catalogue des Formations Techniques

JOnAS 5. Serveur d application d

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

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

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

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

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

Programmation Web Avancée Introduction aux services Web

Mise en œuvre des serveurs d application

Les nouvelles architectures des SI : Etat de l Art

Hébergement de sites Web

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

Evaluation Idéopass Cahier d analyse technique

Formation en Logiciels Libres. Fiche d inscription

Messagerie asynchrone et Services Web

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

Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin Jahia Ltd. All rights reserved.

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)

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

IBM DB2 Alphablox. d administration GC

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

Cedric Dumoulin (C) The Java EE 7 Tutorial

JOnAS Day 5.1. Clustering

Introduction aux «Services Web»

Urbanisme du Système d Information et EAI

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

Application Web et J2EE

Module BD et sites WEB

30 ans d ingénierie, 23 ans de conseil en architecture de SI

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

Utilisation de Jakarta Tomcat

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

2 Chapitre 1 Introduction

Documentation de la plate forme JOnAS. Frederic Maistre

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Introduction à la conception de systèmes d information

Web Application Models

Documentation de la plate forme JOnAS

Java Naming and Directory Interface

Les architectures 3-tiers Partie I : les applications WEB

Oracle9i Application Server version 2

Plan. Department of Informatics

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

Notre Catalogue des Formations IT / 2015

Notes de version de Sun Java System Application Server Enterprise Edition

Java Enterprise Edition

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Programmation Internet

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS

Architectures web/bases de données

JOnAS Day 5.1. Outils de développements

Cours en ligne Développement Java pour le web

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Expert technique J2EE

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Gestion d une plate-forme temps réel sur une architecture basée sur

Systèmes d'informations historique et mutations

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

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

Architectures d'intégration de données

Etude analytique des architectures applicatives

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

4. SERVICES WEB REST 46

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

Serveur d'application à la juste taille

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Vulgarisation Java EE Java EE, c est quoi?

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

Révélateur des talents de demain

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

EXA1415 : Annotations

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Développement des Systèmes d Information

EJBCA PKI. Yannick Quenec'hdu Reponsable BU sécurité

NFP111 Systèmes et Applications Réparties

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

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

Business Process Execution Language

Un serveur d'archivage

Description de la formation

IBM WebSphere Application Server Version 5.1

Architectures n-tiers Intergiciels à objets et services web

Ingénieur Développement Nouvelles Technologies

Création d une application JEE

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Cursus détaillé du MBDS

Groupe Eyrolles, 2004, ISBN :

Transcription:

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 / ifsic-dic2-arc-lsi-architecture JEE / p1

Objectifs à atteindre. Répondre à la question qu est ce que l architecture JEE? Mettre en Pratique : réaliser une application JEE dans projet de 40h par équipe de 4 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p2

Cible JEE. JEE, pour quelle informatique? Qu est-ce qu un serveur d applications JEE? 2007/02/28 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p3

Systèmes distribués. Division des traitements en modules indépendants plus disponible plus évolutif plus maintenable Systèmes distribués : petits, rapides et facilement adaptables Systèmes monolithique : gros, lents et inadaptables 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p4

Systèmes distribués. Disponibilité Définition Haute disponibilité 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p5

Systèmes distribués. Évolutivité Définition Capacités de traitement 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p6

Systèmes distribués. Maintenabilité Définition Solution 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p7

Serveurs d'applications JEE. Architecture Web Base de données Client Web Firewall Serveur Web Firewall Serveur d'application DMZ 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p8

Routeurs équilibrants Architecture: schéma de principe Serveurs web http APACHE Serveurs présentation Conteneur Web TOMCAT rmi Serveurs métiers Conteneur EJB JBOSS Intranet http Pages statiques, autres,... Base de données Cluster ORACLE jdbc 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p9

Serveurs d'applications JEE. Client Web un navigateur interprète les pages HTML ou XML exécute les applets ou du code JavaScript possède différents niveaux de sécurité configurable peut interagir avec un serveur d application via HTTP 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p10

Serveurs d'applications JEE. Application cliente applications autre qu un navigateur communique via JRMP, IIOP, TCP/IP,... 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p11

Serveurs d'applications JEE. Serveur Web fourni du contenu Web (HTML, ) communique via HTTP,... traite des requêtes CGI peut être un proxy frontal d un serveur d applications 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p12

Serveurs d'applications JEE. Machine machine physique sur laquelle est installé une ou plusieurs instances de WebLogic Server différence entre les machines UNIX et machines non- UNIX (NT) Machine 1 NT Machine 2 UNIX 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p13

Apport des serveurs d'applications. (1/2) Permettent d'exécuter des composants Conformes aux technologies JEE Indépendants du visuel et de l accès aux données Déployables dans un environnement Permettant une large possibilité d extension de puissance S affranchissant du lieu Le composant le plus évolué est un «Enterprise Java Bean» 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p14

Apport des serveurs d'applications. (2/2) Services d'administration Déploiement de servlets et de composants Structuration en serveur, application Gestion d'annuaires JNDI Gestion de Pools et de Data sources Modèle de sécurité applicable Au niveau de chaque composant Au niveau de chaque méthode 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p15

Implementation de Serveurs d'applications JEE. Gamme WebLogic WebLogic Server 9.1 Compatible JEE 1.4 Gamme IBM WebSphere WebSphere V6 Compatible JEE 1.3 Gamme OpenSource Jboss AS v5 Compatible JEE 1.4, EJB3 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p16

Ressources. Site Sun sur JEE http://java.sun.com/jee/ Site BEA sur JEE http://dev2dev.bea.com/products/wlserver81/index.jsp Your JEE Community http://www.theserverside.com/ 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p17

Focus. Implémentation IBM WebSphere 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p18

Architecture de WebSphere 4/JEE 1.3 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p19

Web container Moteur de servlet 2.3 et JSP 1.2 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p20

EJB container EJB container EJB modules selon la spécification EJB 2 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p21

Web administrative console 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p22

Fin Présentation JEE. Ce qu il faut retenir : Systèmes distribués : disponible, évolutif et maintenable Normes JEE : des nombreuses technologies JAVA qui évoluent Serveur d application JEE : un web container, un EJB container et une collection de services mis à disposition des applications 2007/02/28 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p23

Architecture JEE. Normes JEE Les principales technologies JEE Développement distribué JEE n tiers, n couches logicielles Design Patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p24

Normes JEE Définition de Java 2 Platform Entreprise Edition (JEE) Les applications déployées avec JEE adhèrent aux standards JEE suivent les spécifications JEE sont écrites en Java sont déployables sur tous les serveurs implémentant JEE Niveau Technologies JEE : JEE 5 et JDK 6 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p25

Architecture JEE. Une application JEE se compose de 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p26

Architecture JEE. Une architecture JEE se décompose en n-tiers : partie cliente un Web Container un EJB Container partie métier 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p27

JEE : 4 types de conteneur 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p28

Normes JEE 1.3. Un serveur d application JEE 1.3 supporte les technologies JAVA 1 Java Data Base Connectivity 2.0 2 Java Naming Directory Interface 1.2 3 Remote Method Invocation (RMI-IIOP) 1.0 4 Java Interface Definition Language 5 Servlet 2.3 6 Java Server Pages 1.2 7 Enterprise Java Beans 2.0 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p29

Normes JEE 1.3. 8 Java Transaction Architecture / Java Transaction Service (JTA/JTS) 1.1 9 JavaMail 1.2 includes Java Activation Framework 1.0 10 Java Message Service (JMS) 1.0.2 11 extended Markup Language 12 Java API for XML Parsing (JAXP) 1.1 13 Java API for XML-Based RPC (JAX-RPC) 1.0 (Web Services) 14 JEE Connector Architecture (JCA) 1.0 15 Java Management Extensions (JMX) 1.0 Et les services Web 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p30

Normes JEE. Java Data Base Connectivity (JDBC) interface d accès aux bases de données spécifications sur les liens entre API et pilote de la base données 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p31

Normes JEE. Java Naming & Directory Interface (JNDI) API Java d accès au service de nommage et de répertoires construit comme un pont vers des fournisseurs d annuaire (DNS, LDAP, ) 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p32

Normes JEE. Servlets mécanisme de traitement de requêtes/réponses servlets HTTP invoquées par des requêtes HTTP déployables sur un serveur Web leur résultat est un flux HTML envoyé au navigateur peuvent gérer des données de niveau session 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p33

Normes JEE. Java Server Page (JSP) génère des pages Web dynamiquement composée de : code HTML pour la représentation des données directives JSP scriptlets (code Java inséré dans la page JSP) 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p34

Normes JEE. Entreprise Java Beans (EJB) composants distribués écrits en Java fournissent des services distribuables et déployables réutilisables sur les différents serveurs d applications exécutés dans un conteneur (EJB container) intérêts des EJB : distribution sécurité transactionnel WebLogic Server (>= 7.0) supporte les EJB 1.1 et les EJB 2.0 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p35

Normes JEE. Java Transaction API (JTA) API Java de gestion des transactions WebLogic Server supporte les transactions locales et distribuées 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p36

Normes JEE. Java Message Service (JMS) API Java d accès à un middleware de messagerie supporte : le domaine Point à Point le domaine Éditeur/Abonné l acheminement garantie des messages les sessions transactionnelles 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p37

Normes JEE. Java Management Extension (JMX) définit un standard de gestion d infrastructure en Java dissocie les éléments administrés de l outil d administration les spécifications décrivent les Mbeans l administration interne de WebLogic Server est basée sur JMX 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p38

La galaxie XML XML signature XFrame eccentric orbit XHTML XML Query SMIL Xbase Xpath SGML low Earth orbit XML Xpointer ICE Polar Orbit Xlink DTD Geosynchronous orbit XSL XML Protocol DOM Schema CSS 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p39

Qu est-ce qu un Web Service? Une «unité logique applicative» accessible en utilisant les protocoles standard d Internet Réutilisable et basé sur un protocole (SOAP) Indépendamment de la plate-forme (UNIX, Windows, ) l implémentation (VB, C#, Java, ) l architecture sous-jacente (.NET, JEE, ) Décrit par un WSDL Définition d'une interface Web = contrat basé sur XML Définit un schéma pour n'importe quel type d'interface Enregistré dans un annuaire UDDI permet de retrouver le service dynamiquement 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p40

Annuaire UDDI 1:Je recherche un service WEB 2: J ai trouvé! Voici le serveur hébergeant ce service web 3: Quel est le format d appel du service que tu proposes? 4: Voici mon contrat (WSDL) XML URL du web service Client XML 5: J ai compris comment invoquer ton service et je t envoie un document XML représentant ma requête Serveur XML 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p41 6: J ai exécuté ta requête et je te retourne le résultat

Définition des couches Couche présentation Framework MVC Struts 1.1 Couche Application (Business Delegate Layer) Classes simple Java et design patterns Couche métier (Business Layer) Service Métier : contrôleur métier Technique Objet Métier persistant (EJBs) Couche d accès aux données (Persistance layer) Liaison avec entrepôt de données Gestion des opérations CRUD : Create, Read, Update, Delete. Données (Physical Layer) Entrepôt des données de l application Schema modele physique de base de données, schema XML, 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p42

Framework Software Architecture STRUTS EJB 2.0 Presentation Treatments Data Layout GUI/Navigation Service Business logic Persistence EJB BMP ou CMP User 1 User 2 User 3 User X User context and session management Business Service Facade Stateless or Stateful Session Technical Service Session Stateless or MDB Data access logic 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p43

Vue générale Patterns principaux utilisés Business Delegate (http://java.sun.com/blueprints/patterns/businessdelegate.html) Reduce coupling between Web and Enterprise JavaBeans TM tiers Data Access Object (DAO) (http://java.sun.com/blueprints/patterns/dao.html) Abstract and encapsulate data access mechanisms Service Locator (http://java.sun.com/blueprints/patterns/servicelocator.html) Simplify client access to enterprise business services Session Facade (http://java.sun.com/blueprints/patterns/sessionfacade.html) Coordinate operations between multiple business objects in a workflow Data Transfer Object (http://java.sun.com/blueprints/patterns/transferobject.html) Transfer business data between tiers Fast Lane Reader (http://java.sun.com/blueprints/patterns/fastlanereader.html) Improve read performance of tabular data 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p44

Architecture JEE. Ce qu il faut retenir : Norme JEE : ensemble de technologies JAVA (~15) qui évoluent Développement application JEE distribuée 4 containers : applet, client, web, EJB Application d entreprise JEE (EAR) structure JEE de répertoires à respecter Déclaration des modules qui la composent par descripteurs de déploiement XML : application.xml, client-application.xml, web.xml, ejbjar.xml. Architecture n tiers, couches logicielles distribués Framework JEE et design patterns. 2007/02/28 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p45

Objectifs atteints. Vous savez répondre maintenant à la question qu est ce que l architecture JEE? Mise en Pratique : projet de 40h par équipe de 4 Animation : 30h encadrés à partir du 7 mars 2006 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p46

Objectifs Module enseignement TD Objectifs Module enseignement TD Mettre en œuvre un serveur d applications JEE Décrire une architecture générale X-Net JEE Utiliser les technologies JEE 1.4 Prototyper une application JEE 1.4 Pré requis initiaux Programmation objet avec Java Développement Web avec Java Compréhension de la notation UML Connaissance des techniques de gestion de projet 2006/03/08 Eric Hébert.eheb@yahoo.fr / ifsic-dic2-arc-lsi-architecture JEE / p47