Technologies distribuées

publicité
Introduction
Technologies
distribuées
!
Plan
" Présentation générale
• L’entreprise et le Java EE
• Définition
"
Le Java EE
• L’architecture multicouche
• Présentation des composants
• Le serveur d’application & les composants
Java EE 5
"
Les composants et leur clients
•
•
•
•
•
"
1
Introduction
!
"
"
Plan
Compréhension
Interventions
Affranchir des contraintes
!
Profil
!
Intérêts
"
"
"
Exemple & mise en œuvre
2
Compétences acquises
"
"
Présentation générale
• L’entreprise et le Java EE
"
Le Java EE
• Définition
• L’architecture multicouche
• Présentation des composants
• Le serveur d’application & les composants
"
POO, Design Pattern
Les composants et leur clients
•
•
•
•
•
Professionnalisation
Démystifier
"
4
L’entreprise et le Java EE
Plan
Editeurs
Service (encore) public
! Banques
! Assurance
! Santé
! …
!
"
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Exemple & mise en œuvre
3
Présentation générale
• L’entreprise et le Java EE
!
• Définition
"
Le Java EE
• L’architecture multicouche
• Présentation des composants
• Le serveur d’application & les composants
"
Les composants et leur clients
•
•
•
•
•
"
5
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Exemple & mise en œuvre
6
1
Définition
!
Plan
Java Enterprise Edition
Norme Sun
" Plateforme Java EE
"
"
Présentation générale
"
Étude du JEE
• L’architecture multicouche
• Présentation des composants
• Le serveur d’application & les composants
• Infrastructure d’exécution (Serveur
d’applications)
• Ensemble de services :
"
•
•
•
•
•
• Transaction, localisation, concurrence,
sécurité, persistance, connectivité …
"
7
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Exemple & mise en œuvre
8
L’architecture J2EE
!
Les composants et leur clients
Interface utilisateur
Architecture multi niveaux
!
Interface utilisateur
" Logique de présentation & Services
Web
" Logique métier
" Service d’infrastructure (Transverse)
" Données
"
!
!
!
!
Application de
bureau
Navigateur WAP
WEB Browser
Tiers applications
…
Couche 1
Client
9
10
Logique de présentation &
Services web
Services d’infrastructure
Serveur d'application
J2EE
!
Conteneur
Web
Logique
présentation
"
Composant
web
"
Composant
web
!
Couche 2
Client
Logique de présentation
Services Web
11
Conteneur
Web
Composant
web
Composant
web
Serveur d'application J2EE
Services
jdbc
!
Fonctionnalités
fournies aux
composants
jndi
…
Services Web
"
Couche 1
Règles
d’affichage
Traitement des
requêtes
Serveur d'application
J2EE
Echange de
données entre
applications
Couche 2
Couche Transverse
Logique de presentation
Couche transverse de services
internes
Services Web
12
2
Logique métier
Serveur d'application J2EE
Serveur d'application
J2EE
Conteneur
Web
!
Services d’infrastructure
Règles métiers de
l’entreprise
Conteneur
métier
Serveur d'application J2EE
Serveur d'application J2EE
Conteneur
métier
!
Services
jdbc
Composant
web
jndi
Fonctionnalités
fournies aux
composants
…
Composant
web
Couche 2
Couche 3
Logique de presentation
Logique métier
Couche 3
Couche 4
Logique métier
Couche transverse de services
Services Web
13
14
Architecture multi couches
MVC
Données
Serveur d'application Java EE
Serveur d'application J2EE
jndi
jdbc
…
Serveur de données
SGBD
Conteneur
métier
Conteneur
Web
Base
Conteneur
métier
Composant
web
Couche 3
Couche 4
Logique métier
Données
Couche 2
Couche 3
Couche 4
Client
Logique de presentation
Logique métier
Données
16
Plan
Présentation des
composants
!
Présentation générale
"
Le Java EE
Services Web
Les composants web
" Rôle :
• Logique de présentation
• Génération du code IHM client
• Traitement des requêtes client
• Appel du métier
• L’architecture multicouche
• Présentation des composants
• Service Web
• Le serveur d’application & les composants
"
"
17
• Traitement des requêtes tiers d’application
• Appel du métier
Les composants et leur clients
•
•
•
•
•
Base
Couche 1
15
"
Serveur de données
SGBD
Composant
web
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
"
"
Présenté par un descripteur XML
Archive WAR
my-app-web.war
Exemple & mise en œuvre
desc.xm
l
Composants
couche de
présentation
18
3
Présentation des
composants
!
Présentation des
composants
Les composants métiers
" Rôle :
!
Une application Java EE ? Composée de composants
"
"
"
Archive entreprise (EAR)
• Archive Web
• Archive Métier
• Descripteur XML : application.xml
• Chargé des traitements
• Factorisation
Présenté par un descripteur XML
Archive JAR
my-app.ear
application.xml
my-app-web.war
my-app-ejb.jar
desc.xml
desc.xm
l
Composants
couche métier
Composants
couche de
présentation
my-app-ejb.jar
desc.xml
Composants
couche
métier
19
20
Plan
Le serveur d’application &
les composants
"
Présentation générale
"
Le Java EE
Plateforme J2EE
"
• L’architecture multicouche
• Présentation des composants
• Le serveur d’application & les composants
"
Les composants et leur clients
•
•
•
•
•
"
Infrastructure d’exécution
• Conteneur WEB
• Conteneur EJB
• Services d’infrastructures et de communication
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Serveur d’application
Services
Conteneur Web
Étude d’un exemple & mise en œuvre
Conteneur EJB
21
22
Le serveur d’application &
les composants
Plan
"
Conteneur Web
Services
"
my-app-web.war
web.xml
"
Couche de présentation
•
•
•
•
•
Conteneur EJB
my-app-ejb.jar
ejb-jar.xml
Couche métier
Présentation générale
Le Java EE
Les composants et leur clients
Conteneur
Web
"
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Exemple & mise en œuvre
Composant
web
23
24
4
Architecture multi couches
MVC
Étude des composants web
La logique de présentation
Serveur d'application Java EE
jndi
jdbc
Conteneur
Web
Conteneur
métier
Composant
web
• Les données
• Les procédures de contrôle de validité des données
• Il ne connaît pas les vues
Serveur de données
SGBD
Composant
web
• Fonctionnement : MVC
• Le modèle :
…
• La vue : Représente la visualisation des données
• Représente les données pour l’utilisateur
• Passe les actions de l’utilisateur au contrôleur
Base
• Le contrôleur :
• Traite les actions des utilisateurs
• Gère la cinématique
• Appel aux procédures « métiers »
Conteneur
Web
Couche 1
Couche 2
Couche 3
Couche 4
Client
Logique de presentation
Logique métier
Données
25
Composant
web
26
Services Web
Étude des composants de la
couche métier
Plan
"
"
"
•
•
•
•
•
"
Conteneur
métier
!
Présentation générale
Étude du J2EE
Les composants et leur clients
"
Encapsule la logique métier
Implémentation : EJB
! Avantages
!
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Étude d’un exemple & mise en œuvre
Composant métier (rappel) :
"
Simplification des développements
• Services du conteneur
Décharge le client de la logique métier
" Factorisation
"
Conteneur
métier
27
28
EJB, le composant métier
EJB Session
!
Composition d’un EJB
"
"
!
L’interface REMOTE ou LOCAL
L’implémentation
!
Avec état
!
Sans état
"
Les types d’EJB
"
EJB Session
"
EJB Entity
"
Message-Driven
• Rend un service
"
Relation client : 1-1.
Relation client : 1-N.
• Représente une entité métier
Conteneur
métier
• Listener de fil
29
Conteneur
métier
30
5
L’implémentation
L’interface REMOTE
Conteneur
métier
Conteneur
métier
31
32
EJB Entité
!
Représente un Objet persistant
"
Prise en charge de la persistance :
• Par l’EJB Entité lui-même
• Par le conteneur
Conteneur
métier
Conteneur
métier
33
34
Rappel EJB Session
Object d’accès aux données
Conteneur
métier
Conteneur
métier
35
36
6
Plan
"
"
"
Présentation générale
Le J2EE
Les composants et leur clients
•
•
•
•
•
"
EJB Client
!
!
JNDI
Contexte
Les composants de la logique de présentation
Les composants métier de type EJB
Les EJB clients
Les composants de type services web
Les clients WS.
Exemple & mise en œuvre
37
38
EJB Client
Plan
"
"
"
Présentation générale
Étude du J2EE
Les composants et leur clients
•
•
•
•
•
Conteneur
Web
"
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Étude d’un exemple & mise en œuvre
Composant
web
39
40
Étude des composants web
Étude des composants web
Les services web
"
Les services web
Introduction aux web services
"
"
Qu’est ce qu’un Web service
• Composant enveloppée d’XML
• Fournis des fonctionnalités basiques
"
Conteneur
Web
Conteneur
Web
Composant
web
Composant
web
41
Le concept de Web service
• Non propriétaire
• Multiplateforme
• SOAP / WSDL / UDDI
• Echange de données inter-applicatif
Pourquoi faire ?
• Collaboration de plateformes hétérogènes
42
7
Conteneur
Web
Composant
web
43
44
Plan
Web Service Client
"
"
"
Présentation générale
Le J2EE
Les composants et leur clients
•
•
•
•
•
"
!
Génération des classes cliente via la WSDL
Les composants de la logique de présentation
Les composants métier de type EJB
Les clients EJB
Les composants de type services web
Les clients WS
Exemple & mise en œuvre
45
46
Web service client
Plan
Présentation générale
Le J2EE
" Les composants et de leur
collaboration
"
"
" Exemple
47
& mise en œuvre
48
8
Conclusion
Sources d'informations
!
"
Résumé
•
•
•
•
•
•
"
L’entreprise et le Java EE
Définition : Norme
L’architecture multicouches
Composants Web & Métier
Services d’infrastructure & de communications
Complémentarité EJB & Web Services
Critique
• Gros système
• Forte utilisation du 1.4
49
!
!
http://www.labo-sun.com
http://penserenjava.free.fr/
http://java.sun.com/reference/blueprints/
!
http://struts.apache.org/
http://www.springframework.org/
http://www.hibernate.org/
!
http://maven.apache.org/
!
!
50
THAT’S ALL FOLKS !!
!
Questions ?
Commentaires
!
Contact
!
"
[email protected]
51
9
Téléchargement