Application j2ee et design pattern mvc
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Application J2EE et design pattern MVC PowerPoint PPT Presentation


  • 156 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Application J2EE et design pattern MVC

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


  • Login