Architecture Logicielle



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

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

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

JavaServer Pages (JSP)

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

Java pour le Web. Cours Java - F. Michel

Introduction à la plateforme J2EE

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

Environnements de Développement

Compte Rendu d intégration d application

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

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.

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

Mise en œuvre des serveurs d application

Web Tier : déploiement de servlets

JOnAS 5. Serveur d application d

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

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

Cours en ligne Développement Java pour le web

Vulgarisation Java EE Java EE, c est quoi?

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

Formation en Logiciels Libres. Fiche d inscription

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

CQP Développeur Nouvelles Technologies (DNT)

Remote Method Invocation (RMI)

2 Chapitre 1 Introduction

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)

Evaluation Idéopass Cahier d analyse technique

Java Naming and Directory Interface

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

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

Application Web et J2EE

Nouvelles Plateformes Technologiques

Hébergement de sites Web

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

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

Les processus métiers : concepts, modèles et systèmes

Architectures web/bases de données

RMI le langage Java XII-1 JMF

Architecture applicative et Cartographie

Expert technique J2EE

Messagerie asynchrone et Services Web

Architecture Orientée Service, JSON et API REST

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Introduction aux «Services Web»

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Les architectures 3-tiers Partie I : les applications WEB

Application web de gestion de comptes en banques

Module BD et sites WEB

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

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

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

DotNet. Plan. Les outils de développement

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

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

Catalogue des Formations Techniques

Java et les bases de données

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Description de la formation

Architectures n-tiers Intergiciels à objets et services web

Création d une application JEE

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

SITE WEB E-COMMERCE ET VENTE A DISTANCE

CAS, la théorie. R. Ferrere, S. Layrisse

LICENCE PROFESSIONNELLE

Cedric Dumoulin (C) The Java EE 7 Tutorial

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

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

1 JBoss Entreprise Middleware

Documentation de la plate forme JOnAS

Point sur les solutions de développement d apps pour les périphériques mobiles

Remote Method Invocation en Java (RMI)

Documentation de la plate forme JOnAS. Frederic Maistre

Plan. Department of Informatics

WebSSO, synchronisation et contrôle des accès via LDAP

Les Fondements du langage Java & son évolution actuelle.

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

Bases Java - Eclipse / Netbeans

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

F O R M A T I O N CATALOGUE

Introduction à Java. Philippe Genoud.

Développement, déploiement et sécurisation d'applications JEE

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

Composants Logiciels. Le modèle de composant de CORBA. Plan

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

les techniques d'extraction, les formulaires et intégration dans un site WEB

Le stockage local de données en HTML5

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Java Enterprise Edition

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Systèmes d'informations historique et mutations

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Transcription:

Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1

Introduction Une application d'entreprise a généralement les caractéristiques suivantes: - Données persistantes: les données persistantes sont des données qui sont utilisés dans de multiples exécutions du programme. Ces données persistent souvent pendant des années et survivent avec des programmes et du matériel. - Données volumineux : Le volume des données dans les applications d'entreprise est souvent de l'ordre de millions de documents, généralement organisés en bases de données. - Accès concurrents : l'accès simultané provoque la nécessité de veiller à ce que deux personnes ne mettent pas à jour les mêmes données simultanément. Un exemple est constitué par les systèmes basés sur le Web : de nombreux utilisateurs peuvent accéder à un tel système en même temps. 2

Introduction - Interface utilisateur compliquée : interfaces utilisateurs sont souvent constitués de centaines d'écrans distincts, personnalisés pour différents types d'utilisateurs. - Intégration avec d'autres applications : Comme une application d'entreprise vit rarement seul, elle doit s'intégrer à d'autres applications : les logiciels existants, par exemple. Différentes technologies peuvent être utilisées, et différentes techniques de collaboration, ce qui rend l'intégration une tâche difficile. Les problèmes sont encore plus lorsque l'intégration avec les logiciels des partenaires est nécessaire. Parfois, même les significations légèrement différentes pour les mêmes champs, appelés non harmonie conceptuelle, causent des problèmes d'intégration. - La logique métier : la logique d'entreprise définit les activités, les définitions et les contraintes qui s'appliquent à une organisation à atteindre ses objectifs. La logique métier est représentée comme un ensemble de conditions, les contraintes et les règles métier. Malheureusement, la logique métier a souvent la forme d'un ensemble des conditions au hasard étranges qui se sont produits par la recherche de petits avantages, et ne peut pas être influencé par le département informatique. 3

Introduction : Trois principales couches Un Patron architectural qui est généralement appliquée aux applications d'entreprise est le patron de couches. Les applications d'entreprise ont trois couches principales: - La couche de logique de présentation est responsable de l'interaction avec l'utilisateur. Une interface en ligne de commande peut être utilisé, mais dans la plupart des cas, l'interface est un client riche ou une interface web. - La couche de logique de domaine contient la fonctionnalité principale du système. Ici, l'entrée est validée et les résultats sont calculés. Cette couche est souvent structuré avec des objets qui modélisent des concepts du monde réel. - La couche de logique de source de données met en œuvre la communication de la couche de logique de domaine avec une base de données, avec des systèmes de messagerie ou avec d'autres applications. 4

5

Introduction : Un exemple d'une architecture en ces trois couches est le Java EE architecture multi-tiers. La figure ci-dessus montre quatre niveaux sur trois machines. La différence entre les concepts de «tier» et «couche» est que une «couche» concerne la séparation logique de la fonctionnalité, tandis qu'un «tier» concerne la séparation physique de la fonctionnalité. Dans cet exemple, le «tier» Web et «tier» entreprise peuvent fonctionner sur deux machines différentes, dans le cas de figure ci-dessus, ils s exécute sur la même machine. Le «tier» client s'exécute sur le poste client, le «tier» Web et le «tier» de l'entreprise sur la machine serveur Java EE, et le «tier» EIS (Les systèmes d'informations d'entreprise) sur la machine du serveur de base de données. Le «tier» client et le «tier» Web forment ensemble la couche de présentation. Le «tier» de l'entreprise contient la logique de domaine et la logique de la source de données, le «tier» EIS contient les données que le «tier» de la source de données met à disposition. 6

Introduction : La logique de présentation dans l'architecture Java EE peut être implémentée en utilisant les servlets et les JSP ( JavaServer Pages), applets, Java et JavaScript applications (clients riches ), la logique métier et la logique de source de données sont mises en œuvre par les «Enterprise JavaBeans». - Les Servlets contiennent du code Java pour générer du code HTML. Les Servlets fonctionnent tous dans la même JVM ( Java Virtual Machine ) qui élimine les coûts de démarrage. - JavaServer Pages (JSP) sont similaires à des pages PHP : les pages JSP contiennent du code embarqué dans HTML. Ni les servlets ni les JSP séparent clairement le HTML et la logique - Enterprise JavaBeans (EJB) sont des composants réutilisables. Ils peuvent être utilisés pour les entités (pour des objets de base de données par exemple) ainsi que pour les sessions (le processus de communication avec un client). Ils sont intrinsèquement distribués: la communication se fait à travers le «système Java Remote Method Invocation (RMI)» ou par CORBA. 7

Définitions de J2EE/Java EE Sun (le concepteur de Java) a mis en place un ensemble de technologies pour réaliser des applications Web. Ces technologies sont regroupées sous le nom J2EE (Java 2 Entreprise Edition), désormais Java EE. La plateforme Java EE s appuie entièrement sur le langage Java. Java EE est donc une norme, qui permet à des développeurs, entreprises de développer leur propre application qui implémente en totalité ou partiellement les spécifications de SUN. En simplifiant, il est possible de représenter Java EE comme un ensemble de spécifications d API, une architecture, une méthode de packaging et de déploiement d applications et la gestion d applications déployées sur un serveur compatible Java. 8

Définitions de J2EE/Java EE Java EE ne remplace en aucun cas J2SE. Au contraire, J2SE est la base de Java EE qui est plus complet et qui est axé sur le Web. La plateforme J2SE offre des outils de développement d applications client/serveur, applications graphiques fenêtrées et Applets. La plateforme J2SE est composée des éléments suivants : - La machine virtuelle Java (JVM) : permet d exécuter des applications Java. Elle constitue une passerelle et permet une portabilité entre les architectures (Windows, Linux, Mac...). - La bibliothèque de classes Java : un ensemble de composants logiciels prêt à l emploi. - Les outils de développement : le compilateur javac, un interpréteur Java nommé java, le générateur de documentation javadoc, la console de supervisation Jconsole... La plateforme Java EE est une extension de la plateforme J2SE. Elle permet un développement d applications qui vont s exécuter sur un serveur d applications. Les applications seront utilisées par des clients légers (comme des navigateurs Web) ou bien des applications lourdes (IHM) 9

10

11

L API Java EE Une API est un ensemble de librairies ou bibliothèques de fonctions destinées à être utilisées par les programmeurs dans leurs applications. La plateforme Java EE est composée de plusieurs API (ensemble de libraires et services). Java EE fait intervenir trois types de composants logiciels (Servlets, JSP, EJB). a. Les Servlets L API Servlet fournit les éléments nécessaires à la conception de composants Web dynamiques avec le langage Java. Les Servlets sont des composants logiciels entièrement écrits en Java. Les Servlets effectuent des traitements côté serveur en réponse aux requêtes des clients distants. Une Servlet est chargée en mémoire lors de son premier appel. De même, il n existe qu une seule instance d une Servlet en mémoire, le serveur utilise alors un thread global pour traiter les demandes émises par les clients. 12

13

14

L API Java EE a. Les Servlets : Cycle de vie d une Servlet Une Servlet est une classe Java. Cette classe doit être chargée puis interprétée par une machine virtuelle Java (celle du serveur d applications). La Servlet est alors prête à recevoir des requêtes et à renvoyer des réponses. Lorsque l application ou le serveur s arrête, la Servlet est détruite, puis son instance est nettoyée par le ramassemiettes de la machine virtuelle. 15

L API Java EE a. Les Servlets : Cycle de vie d une Servlet Les Servlets permettent de développer des pages dynamiques, dont le contenu est créé à la volée sur demande. C est le cas par exemple, lorsqu un client souhaite obtenir la liste des articles d une boutique pour une plage de prix. Les pages HTML sont alors générées dynamiquement en fonction de critères spécifiques (prix, dates, recherches...). Une Servlet est un composant Java qui implémente l interface javax.servlet.servlet. Cette interface permet de gérer les requêtes du client, dirigées vers la Servlet en question. Le serveur reçoit une demande adressée à une Servlet sous la forme d une requête HTTP. Il transmet alors la requête à la Servlet concernée par le traitement puis renvoie la réponse fournie par celle-ci au client. La Servlet est gérée par le conteneur de Servlets Java EE. Lorsque le serveur Web reçoit la requête du client, il charge la Servlet (si elle n est pas encore chargée) et invoque l interface javax.servlet.servlet afin de satisfaire la requête. 16

L API Java EE a. Les Servlets : Cycle de vie d une Servlet Exemple de Servlet simple : public class PremiereServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, java.io.ioexception { } protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, java.io.ioexception { doget(request, response); } } 17

a. Les Servlets : 18

L API Java EE b. Les JSP (Java Server Page) L API JSP permet de développer des pages Web dynamiques rapidement à partir d un squelette HTML et de données incluses directement dans chaque page. Les JSP permettent d insérer des bouts de code Java (scriptlets) directement dans le code HTML. Du point de vue de la structure, une JSP est très proche d une page PHP ou bien ASP. Une page JSP est un fichier qui porte l extension.jsp ou.jspf (pour les fragments de code). Lors de la création de Servlets, le but est de construire des composants capables de produire un service (essentiellement du code HTML). Toutefois, ce principe est parfois complexe pour des personnes qui ne sont pas habituées à la programmation objet et au code 100% Java. C est pour ces raisons que les développeurs de chez SUN ont inventé JSP. La page JSP est transformée en classe Java puis compilée en Servlet par le serveur d applications. Ce traitement est réalisé par le serveur d applications au premier appel de la page et à chaque fois que cette page est modifiée par un programmeur. C est cette étape qui nécessite un serveur d applications Java EE, un compilateur Java et qui par conséquent nécessite pour la majorité l installation de Java avec un JDK plutôt qu un JRE. 19

20

L API Java EE b. Les JSP (Java Server Page) : Cycle de vie d une JSP 21

L API Java EE b. Les JSP (Java Server Page) : Cycle de vie d une JSP Le résultat de la compilation (essentiellement du code HTML) est renvoyé au client. Cette technologie est simple, légère et rapide. Les développeurs de pages JSP peuvent ainsi mélanger du contenu statique et du contenu dynamique. 22

L API Java EE b. Les JSP (Java Server Page) : Cycle de vie d une JSP 23

L API Java EE b. Les JSP (Java Server Page) : Cycle de vie d une JSP <% System.out.println("Ma première Servlet"); out.println("<h1>ma première Servlet<h1>"); %> Il est donc possible d avoir des équipes de développement séparées avec une personne spécialiste de HTML/XHTML et du design et un programmeur Java qui réalise les scriptlets. Les JSP sont exécutées sous la forme de Servlets, elles disposent donc des mêmes fonctionnalités que celles-ci et peuvent ainsi manipuler les sessions, les bases de données, les mails... 24

b. Les JSP (Java Server Page) : 3 parties d'une JSP scriptlets <% %> déclarations <%! %> expressions <%= %> 25

b. Les JSP (Java Server Page) : Scriptlets <% %> contient du code Java Exemple : <% String[] langages = {"Java", "C++", "Smalltalk", "Simula 67"}; out.println("<h3>principaux langages orientés objets : </h3>"); for (int i=0; i < langages.length; i++) { out.println("<p>" + langages[i] + "</p>"); } %> 26

b. Les JSP (Java Server Page) : Déclarations <%! %> Sont des déclarations Java. Seront insérées comme des membres de la servlet Permet de définir des méthodes ou des données membres Exemple : <%! int random4() { return (int)(math.random() * 4); } %> <%! int nombrefetiche = 2; %> 27

Expressions <%= %> En fait expression Java qui renvoie un objet String ou un type primitif. Un raccourci pour <% out.println( ); %> <%= XXX %> ~ <% out.println(xxx); %> attention au ; est donc converti en out.println( ) dans la méthode _jspservice( ) de la servlet. La somme est: <%= (195 + 9 + 273) %> Je vous réponds à l'adresse : <%= request.getparameter("email_address") %> 28

b. Les JSP (Java Server Page) : Objets prédéfinis dans une JSP 3 objets peuvent être immédiatement utilisés dans une expression ou une scriptlet d'une JSP : out : le canal de sortie request (HttpServletRequest) : l'objet requête response (HttpServletResponse) : l'objet réponse Il y en a d'autres Cf. ces mêmes objets dans une servlet 29

Un exemple complet : complet.jsp <html><head><title>jsp complet</title></head> <body> <%! String[] langages = {"Java", "C++", "Smalltalk", "Simula 67"}; int random4() { return (int) (Math.random() * 4); } %> <p>parmi tous les langages orientés objets :</p> <ol> <% for (int i=0; i < langages.length; i++) { out.println("<li>" + langages[i] + "</li>"); } %> </ol> <p>le prochain que j'apprends est <b><%= langages[random4()] %> </b></p> </body> </html> 30

31

32

L API Java EE (JDBC, Servlets, JSP) c. LES EJB (Entreprise Java Bean) Les EJB sont des composants métier distribués, c est-à-dire qu ils sont invocables par le réseau. Un composant EJB est une classe qui possède des attributs et méthodes pour mettre en application la logique métier. L API EJB fournit un ensemble de services (persistance, transaction...) de gestion de composants. Il existe plusieurs (trois) types d EJB : les beans sessions, les beans entités et les beans contrôlés par message. - EJB session : il permet de maintenir des informations sur les clients et les traitements qu ils réalisent. - EJB entité : c est un composant persistant, son état est sauvegardé dans une base de données. - EJB piloté par message : les EJB message sont semblables aux EJB session mais sont invoqués différemment (par le biais de Java Message Service). 33

34

35

36

37

38

39

L API Java EE d. JDBC (Java DataBase Connectivity) L API JDBC permet de faciliter l obtention de connexions JDBC vers des sources de données (essentiellement des bases de données, mais également annuaire...). L API fournit les librairies pour se connecter aux bases de données et pour la gestion des transactions. e. JNDI (Java Naming and Directory Interface) L API JNDI permet d accéder à des services de nommage ou d annuaire (LDAP par exemple). Cette API est par exemple utilisée pour se connecter à une source de données pour des accès à la base de données ou la gestion des accès (associée aux Realms). JNDI permet d implémenter un service de nommage. L ensemble des ressources que le serveur d applications met à disposition via ces API de services, doit être enregistré avec un nom logique unique, permettant aux applications de rechercher cette ressource dans le serveur. f. JavaMail L API JavaMail fournit des fonctionnalités de gestion de courrier électronique (transfert, type de contenu, pièces jointes...). JavaMail permet la création et l envoi de messages électroniques via Java. Cette API permet de manipuler les protocoles de messagerie Internet comme POP, IMAP, SMTP. JavaMail n est pas un serveur de courrier mais plutôtun outil qui permet d interagir avec ce type de serveur. 40

L API Java EE g. JPA (Java Persistance API) Les entités Beans ont été développées pour le modèle de persistance en Java EE. Ce modèle de composants avait de nombreux détracteurs. Pour apporter des solutions à ce problème, de nouvelles spécifications, des outils de mapping objet/relationnel comme TopLink et Hibernate ont été développés. Java EE apporte donc un nouveau modèle de persistance nommé JPA. JPA s appuie sur JDBC pour communiquer avec la base de données mais permet d éviter de manipuler directement les fonctionnalités de JDBC et le langage SQL. 41

42

L API Java EE 3. Les autres API Parmi les autres API Java EE, il faut citer : JMS (Java Message Service) permet d accéder à un service de messages pour une gestion asynchrone des composants. Le composant appelant poste un message (en arrièreplan) à destination d une file d attente de messages hébergés par le serveur d applications puis continue son traitement sans attendre. RMI (Remote Method Invocation) permet de concevoir des applications distribuées en Java. RMI permet l appel de fonctionnalités à distance par le biais de la communication réseau. JTA (Java Transaction API) permet de mettre en place une gestion des transactions dans des applications distribuées (commit, rollback...). Le principe des transactions est de considérer un ensemble d opérations comme une seule. Ce type de service est obligatoire pour des traitements bancaire. Par exemple, une application bancaire qui permet de réaliser des virements entre deux comptes va d abord débiter le premier compte et ensuite créditer le second compte. Si le débit puis le crédit aboutissent sans problème, alors la transaction est validée. JDBC permet de gérer les transactions sur une base de données locale mais si les données sont réparties, il faudra alors utiliser les transactions JTA. JTA permet en effet de gérer les transactions distribuées qui font intervenir différentes bases de données. 43

L API Java EE 3. Les autres API JCA (J2EE Connector Architecture) : ce connecteur permet à Java EE d utiliser des gros systèmes tels que les mainframes. JAAS (Java Authentication and Autorisation Service) est un mécanisme de sécurité géré par le serveur d applications. XML n est pas véritablement une API Java mais il est très utilisé pour la mise en place et la configuration des applications. De même, XML est la base d un nouveau mode de communication entre les applications qui est appelé Web Service. Par exemple, JAXP (Java API for XML Parsing) analyse des fichiers ou données XML, JAXRPC (Java API for XML based RPC) utilise des Web Services et JAXB (Java API for XML Binding) permet de générer des classes Java à partir de schémas XML ou inversement. 44

Architecture MVC modèle = Le modèle qui est représenté par les EJB et/ou JavaBeans et/ou systèmes de persistances (Hibernate, objets sérialisés en XML, stockage de données par le biais de JDBC...). les données accédées par un code Java (JDBC, RMI, EJB, etc.) vues = qui est représentée par les JSP contrôleur = qui est représenté par les Servlets. 45

J2EE MVC Frameworks (Open Source ) Frameworks Populaires : 1. Spring Framework 2. Struts Framework 3. JavaServerFace (jsf) 46

Java EE Web Application (JSP/Servlet, EJB, JPA), a simple approach. http://www.youtube.com/watch?v=_zw27y2boco 47