SlideShare une entreprise Scribd logo
© 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1
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
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p2
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
© 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p3
Cible JEE.
JEE , pour quelle informatique?
 Qu’est-ce qu’un serveur d’applications JEE ?
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p4
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 / p5
Systèmes distribués.
 Disponibilité
 Définition
 Haute disponibilité
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p6
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 / p7
Systèmes distribués.
 Maintenabilité
 Définition
 Solution
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p8
Serveurs d'applications JEE.
 Architecture Web
DMZ
Firewall Serveur
Web
Serveur
d'application
Client
Web
Base de
données
Firewall
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p9
IntranetIntranet
Architecture: schéma de principe
Serveurs web
Routeurs
équilibrants
APACHE
http
http Conteneur Web
Serveurs présentation
Conteneur EJB
rmi
Serveurs métiers
Cluster
ORACLE
jdbc
Base de données
Pages statiques,
autres, ...
TOMCAT JBOSS
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p10
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 / p11
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 / p12
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 / p13
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 / p14
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 / p15
 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
Apport des serveurs d'applications.
(2/2)
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p16
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 / p17
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 / p18
Focus.
Implémentation IBM WebSphere
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p19
Architecture de WebSphere 4/JEE 1.3
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p20
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 / p21
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 / p22
Web administrative console
© 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p23
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 / p24
Architecture JEE.
 Normes JEE
Les principales technologies JEE
 Développement distribué JEE
 n tiers, n couches logicielles
Design Patterns
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p25
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 / p26
Architecture JEE.
 Une application JEE se compose de
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p27
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 / p28
JEE : 4 types de conteneur
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p29
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 / p30
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 / p31
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 / p32
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 / p33
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 / p34
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 / p35
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 / p36
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 / p37
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 / p38
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 / p39
Geosynchronous
orbit
low Earth
orbit
Polar Orbit
eccentric
orbit
La galaxie XML
XML
Schema
DTD
DOM
SGML
Xpointer
XHTML
XML Query
Xbase
XSL
Xpath
XML signature
Xlink
ICE
CSS
SMIL
XML Protocol
XFrame
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p40
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 / p41
Annuaire
UDDI
Client
XML
5: J’ai compris comment invoquer
ton service et je t’envoie un document
XML représentant ma requête
Serveur
2: J’ai trouvé! Voici le serveur
hébergeant ce service web
3: Quel est le format d’appel du
service que tu proposes? URL
du
web
service
4: Voici mon contrat (WSDL)
XML
XML
6: J’ai exécuté ta requête et je te retourne le résultat
1:Jerecherche
unserviceWEB
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p42
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 / p43
Framework Software Architecture
Usercontextandsessionmanagement
Technical Service
Session Stateless
or MDB
Business Service
Facade
Stateless or Stateful
Session
Dataaccesslogic
DataTreatmentsPresentation
PersistenceServiceGUI/Navigation Business logicLayout
EJB BMP ou CMP
STRUTS EJB 2.0
User 1
User 2
User 3
User X
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p44
Vue générale
Patterns principaux utilisés
 Business Delegate
(http://java.sun.com/blueprints/patterns/BusinessDelegate.html)
 Reduce coupling between Web and Enterprise JavaBeansTM
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
© 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p45
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, ejb-
jar.xml.
Architecture n tiers, couches logicielles distribués
Framework JEE et design patterns.
©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p46
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 / p47
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

Contenu connexe

Similaire à Architecture j2 ee

Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
Mourad HASSINI
 
Mysql
MysqlMysql
Mysql
ismail1989
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
Ghazouani Mahdi
 
Kubernetes et Docker sur Azure et Windows
Kubernetes et Docker sur Azure et WindowsKubernetes et Docker sur Azure et Windows
Kubernetes et Docker sur Azure et Windows
Arnaud Weil
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
ENSET, Université Hassan II Casablanca
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Eric Bourdet
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Eric Bourdet
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
Ines Ouaz
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
ENSET, Université Hassan II Casablanca
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
Rachida19
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
HamdaneAbdelAzizHagg
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
aliagadir
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
Microsoft
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
Mohamed Nemili
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
Sébastien Pertus
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Siham Rim Boudaoud
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
Ines Ouaz
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
ENSET, Université Hassan II Casablanca
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
Microsoft Technet France
 

Similaire à Architecture j2 ee (20)

Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
 
Mysql
MysqlMysql
Mysql
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
 
Kubernetes et Docker sur Azure et Windows
Kubernetes et Docker sur Azure et WindowsKubernetes et Docker sur Azure et Windows
Kubernetes et Docker sur Azure et Windows
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Makrem DJEBALI CV
Makrem DJEBALI  CVMakrem DJEBALI  CV
Makrem DJEBALI CV
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 

Architecture j2 ee

  • 1. © 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1 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
  • 2. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p2 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
  • 3. © 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p3 Cible JEE. JEE , pour quelle informatique?  Qu’est-ce qu’un serveur d’applications JEE ?
  • 4. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p4 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
  • 5. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p5 Systèmes distribués.  Disponibilité  Définition  Haute disponibilité
  • 6. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p6 Systèmes distribués.  Évolutivité  Définition  Capacités de traitement
  • 7. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p7 Systèmes distribués.  Maintenabilité  Définition  Solution
  • 8. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p8 Serveurs d'applications JEE.  Architecture Web DMZ Firewall Serveur Web Serveur d'application Client Web Base de données Firewall
  • 9. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p9 IntranetIntranet Architecture: schéma de principe Serveurs web Routeurs équilibrants APACHE http http Conteneur Web Serveurs présentation Conteneur EJB rmi Serveurs métiers Cluster ORACLE jdbc Base de données Pages statiques, autres, ... TOMCAT JBOSS
  • 10. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p10 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
  • 11. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p11 Serveurs d'applications JEE.  Application cliente  applications autre qu’un navigateur  communique via JRMP, IIOP, TCP/IP, ...
  • 12. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p12 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
  • 13. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p13 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
  • 14. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p14 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 »
  • 15. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p15  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 Apport des serveurs d'applications. (2/2)
  • 16. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p16 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
  • 17. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p17 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/
  • 18. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p18 Focus. Implémentation IBM WebSphere
  • 19. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p19 Architecture de WebSphere 4/JEE 1.3
  • 20. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p20 Web container  Moteur de servlet 2.3 et JSP 1.2
  • 21. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p21 EJB container  EJB container  EJB modules selon la spécification EJB 2
  • 22. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p22 Web administrative console
  • 23. © 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p23 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
  • 24. © 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p24 Architecture JEE.  Normes JEE Les principales technologies JEE  Développement distribué JEE  n tiers, n couches logicielles Design Patterns
  • 25. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p25 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
  • 26. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p26 Architecture JEE.  Une application JEE se compose de
  • 27. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p27 Architecture JEE.  Une architecture JEE se décompose en n-tiers :  partie cliente  un Web Container  un EJB Container  partie métier
  • 28. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p28 JEE : 4 types de conteneur
  • 29. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p29 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
  • 30. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p30 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
  • 31. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p31 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
  • 32. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p32 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, …)
  • 33. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p33 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
  • 34. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p34 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)
  • 35. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p35 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
  • 36. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p36 Normes JEE .  Java Transaction API (JTA)  API Java de gestion des transactions  WebLogic Server supporte les transactions locales et distribuées
  • 37. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p37 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
  • 38. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p38 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
  • 39. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p39 Geosynchronous orbit low Earth orbit Polar Orbit eccentric orbit La galaxie XML XML Schema DTD DOM SGML Xpointer XHTML XML Query Xbase XSL Xpath XML signature Xlink ICE CSS SMIL XML Protocol XFrame
  • 40. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p40 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
  • 41. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p41 Annuaire UDDI Client XML 5: J’ai compris comment invoquer ton service et je t’envoie un document XML représentant ma requête Serveur 2: J’ai trouvé! Voici le serveur hébergeant ce service web 3: Quel est le format d’appel du service que tu proposes? URL du web service 4: Voici mon contrat (WSDL) XML XML 6: J’ai exécuté ta requête et je te retourne le résultat 1:Jerecherche unserviceWEB
  • 42. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p42 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,…
  • 43. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p43 Framework Software Architecture Usercontextandsessionmanagement Technical Service Session Stateless or MDB Business Service Facade Stateless or Stateful Session Dataaccesslogic DataTreatmentsPresentation PersistenceServiceGUI/Navigation Business logicLayout EJB BMP ou CMP STRUTS EJB 2.0 User 1 User 2 User 3 User X
  • 44. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p44 Vue générale Patterns principaux utilisés  Business Delegate (http://java.sun.com/blueprints/patterns/BusinessDelegate.html)  Reduce coupling between Web and Enterprise JavaBeansTM 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
  • 45. © 2007/02/28 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p45 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, ejb- jar.xml. Architecture n tiers, couches logicielles distribués Framework JEE et design patterns.
  • 46. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p46 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
  • 47. ©2006/03/08 – Eric Hébert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p47 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