application j2ee et design pattern mvc
Download
Skip this Video
Download Presentation
Application J2EE et design pattern MVC

Loading in 2 Seconds...

play fullscreen
1 / 23

Application J2EE et design pattern MVC - PowerPoint PPT Presentation


  • 234 Views
  • Uploaded on

Application J2EE et design pattern MVC. Présenté par CAENEVET Christophe / ADLI Fazia. Résumé. La Plate-forme J2EE : introduction et architecture Design Pattern: Modèle Vue Contrôleur implémentation, exemple Exemple pratique : architecture, chronologie MVC

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Application J2EE et design pattern MVC' - jamalia-crosby


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
application j2ee et design pattern mvc

Application J2EE et design pattern MVC

Présenté par CAENEVET Christophe / ADLI Fazia

r sum
Résumé
  • La Plate-forme J2EE : introduction et architecture
  • Design Pattern: Modèle Vue Contrôleur implémentation, exemple
  • Exemple pratique : architecture, chronologie MVC
  • Technologies utilisées EJB, RMI, XML, XSL, Websphere : avantages et inconvénients
introduction
Introduction
  • Internet est vu comme média transactionnel , mais pas forcément adapté à ce type d'usage.
  • Les serveurs d'applications sont nés pour s'interfacer entre le client Internet (client léger) et le système d'information de l'entreprise.
    • Un serveur d'application a deux rôles principaux
          • contenir la logique métier (business) de l'application internent
          • mettre en forme les données envoyées vers le client
java entreprise edition j2ee
Java Entreprise Edition : J2EE
  • La plate-forme J2EE (basée sur java ) offre une solution complète de développement d'applications Internet.
  • J2EE reprend le principe d'application 3-tiers.
  • J2EE utilise les API java:
      • EJB
      • Servlet/jsp
      • JTS
      • JTA
      • JMS
      • JavaMail et d’autres …
architecture j2ee suite
Architecture J2EE - suite
  • Deux types d'EJB existent :
        • Les "session-beans" offrent des services à un seul client.
        • Les "entity-beans" contiennent les données persistances nécessaires aux services. ( serveur de services)

ils peuvent gérer les transactions et la répartition de charge

  • J2EE utilise massivement les API Java suivantes:
      • JNDI : services d'annuaires
      • RMI : services d'appel de méthodes à distance.

Elles sont utilisés lors de l'appel d'un composant par un autre.

architecture j2ee suite1
Architecture J2EE - suite

Entity

beans

Base de

données

JDBC

Http

Affichage de

données

Servlet

ou jsp

Autres

serveurs

Session

beans

Interface Java

Host to host

ftp, http

Services de Sécurité

architecture j2ee suite2
Architecture J2EE - suite
  • Authentification : identification d'un utilisateur qui se connecte auprès du serveur.
        • authentification classique : login / mot de passe
        • "certificate" utilisant https : disposer d'un certificat serveur
  • Autorisation : attribution des droits d'accès à des fonctions dans l'application.
  • Deploiement des applications J2EE : l'application est contenue dans un fichier EAR (fichier de type jar) incluant des fichiers de description de l'ensemble de ses composants, et paramètres de gestion de la sécurité (les utilisateurs, groupes, accès aux ressources)
architecture j2ee suite3
Architecture J2EE - suite
  • J2EE sépare la couche métier de la couche presentation en fournissant des objets distincts
    • les servlets et jsp -> communiquer avec le client
    • Les entreprise java Beans (EJB) -> contenir la logique métier de l'application.
design pattern
Design Pattern
  • Technique d'architecture logiciels --> model, patron de conception.
  • Description d'une solution technique à un problème récurrent.
  • Avantages
        • Un vocabulaire commun.
        • capitalisation de l'expérience, et réduction de la complexité.
        • Construction logicielle de meilleure qualité.
  • Inconvénients
        • Effort de Synthèse
        • Nombreux patterns (imbriquation)
mod le vue contr leur
Modèle Vue Contrôleur

Sorties : pages html

Entrées : navigateur

Contrôleur

Modélise la navigation de l’IHM

Convertit les actions de l’utilisateur en un ensemble d’actions sur le système

Invoque la vue qui convient d’afficher

Vue

Présente les données du modèle à l’utilisateur

Prend en compte un changement d’état du modèle

Transmet les actions de l’utilisateur au contrôleur

Modèle

Fournit les points d’accès aux fonctionnalités du système

Contient l’état du système

Notifie les vues de changement d’état

impl mentation mvc
Implémentation MVC
  • Modèle: EJB
  • View : (jsp-Taglib, template) / XSL
  • Contrôleur : Servlet
mvc implementation du controleur
MVC : implementation du controleur

Point d’entrée

controleurServlet.java

  • Contexte de la web-pplication( globale à l’application):
  • pour chaque client mémorisé :
    • les enchaînements d ’écrans
    • la description des écrans

Méthode : init()

  • Par Session :
  • Parse de l ’url pour récupérer l ’identifiant du client
  • ( cet identifiant est véhiculé dans la session)
  • Création du model

Méthodes :

doGet() / doPost()

exemple pratique pr sentation g n rale
FTP, CFT, …

Http

Http

Exemple pratique: Présentation générale

Client

Utilisateurs

Services WEB

Site web

Passage Ordres Action

SitesWeb

Http

Passage Ordres OPCVM

Back Office

Http

Http

Traitements Synchrones

Conseils en Gestion d’Actifs

Traitements Batch

FTP, CFT

architecture logicielle
Architecture Logicielle

Host-To-Host

IHM Web

Protocole FTP

Listener / RDVProtocole HTTP

Navigation Servlet

Session

Modules Transversaux

Services métier

Normalisation

Serveur de services

Référentiels

Droits d’accès

Audit

Mise en forme

Protocoles

Conseil en Gestion d’Actif

Alimentation,Calcul de performance

Index de performance

Optimisation…

Passage d’Ordre

Acquitter Saisir un ordre

Synchroniser Carnet

Annuler un ordre

Consulter un ordre

Administration

Alimentation Référentiel

Administration Référentiels

Supervision Référentiels

Interface RMI

Publication RDV

Abonnement TIB

Légende :

Services fonctionnels

Calculs Financiers

Base de données

Modules techniques

architecture plus en d tail
Architecture : plus en détail

Serveur Web1

Serveur Web2

HTTP

HTTP

Serveur Applicatif 1

Serveur Applicatif 2

Moteur de Navigation MVC

XML par RMI/IIOP

XML par RMI/IIOP

EJBs stateless

Métier gérant les transactions

RMI/IIOP puis JDBC

RMI/IIOP puis JDBC

API, XML par RMI

Pool de connexions

JDBC

Produits Tiers (calcul financiers, TibCo,…)

Bases

XSL

JDBC

chronologie mvc
Chronologie MVC
  • Contrôleur
    • Servlet générique d’accès à la plate-forme
    • Réalisation d’un certain nombre de contrôles
    • Conversion des requêtes http en un flux XML
    • Invocation de la couche Modèle
  • Modèle
    • Conversion du flux XML en flux XML « métier »
    • Invocation du(es) service(s) métier (composants « Gestionnaire Métier »)
    • Renvoi des données issues du(es) traitement(s) métier au Contrôleur
  • Contrôleur
    • Invocation du module « Vue »
  • Vue
    • Conversion du flux XML « métier » en un flux XML « vue ».
    • Renvoi du flux XML « vue » au Contrôleur
  • Contrôleur
    • Conversion du flux XML « vue » en un flux HTML (application d’une feuille de style.
mvc avantages inconv nients
Avantages

Gestion centralisée de la navigation

Mise en place d’une solution fiable de validation unique de formulaires

Gestion centrale des droits

Gestions centrale des exceptions

Traces et contrôle des performances

Mise en place de compilations XSL

Travail en équipeIHM/Métier

Solutions pré-existantes (Struts)

Inconvénients

Mise au point/adaptation du moteur dans le cas présent

Travail en équipe :Enchaînement des écrans

MVC : Avantages/Inconvénients
technologies utilis es ejb
Avantages

Répartition de charge

Recharge à chaud

Définitions de pool d’EJBs stateless

Transactions possibles

Inconvénients

Passage d’arguments sérialisés

Performance des EJB Entités

EJB Statefull non réentrant, mono serveursous Websphere(C.f. la session)

Technologies utilisées : EJB
technologies utilis es rmi
Avantages

Déportation de traitements

Répartition de charge

Supporte de gros volumes

Facilité de mise en œuvre

Recharge « presque à chaud »

Inconvénients

Appels forcément plus coûteux

JVM supplémentaire

Technologies utilisées : RMI
technologies utilis es xml
Avantages

Séparation présentation/données

Unification interfaces

Manipulations mises en commun

Fusions de résultats possibles

Application à de multiples niveaux :

Manipulation de la configuration WebSphere

Fichier de propriétés

Stockage des données linguistiques

Inconvénients :

Spécifications (DTD)

Performance sur échanges de données java complexes (arbres XML)

Séparer présentation/données(exemples : messages, formatages, …)

Technologies utilisées : XML
technologies utilis es xsl
Avantages:

Séparation Métier présentation (y compris la langue)

Fusion XML/XSL rapidesi certains design patterns respectés

Multiples formats de sortie HTML, WML, CSV, …

Support compilation sur certains parseurs

Inconvénients :

Étape supplémentaire de conception du site :la maquette HTML doit être convertie en XSL

Spécification des XML, DTD d’écran difficile

Performance si XSL trop complexe

Technologies utilisées : XSL
outils utilis s websphere
Avantages

Support JSP, EJB, pool de connexion JDBC

Configuration centralisée XML

Intégration des serveurs d’application et des applications externes

Clonage

Monitoring

Environnement de développement VisualAge intégration débugging et versions

Inconvénients

Lourd

Patchs

Ressources des postes de développement

Outils utilisés : WebSphere
autres outils utilis s
OpenSTA

Puissant

Langage complet de script

Support complet de notre navigation (URL rewriting, identifiants)

Tests de non régression

Affichage direct du résultat (graphiques) / exportation

Tests multiples (1 ou plusieurs postes), utilisateurs virtuels

Gratuit

Autres Outils utilisés
ad