Cours implémentation de J2EE les serveurs d’application, tutoriel & guide de travaux pratiques en pdf.
Les différents outils de « bas niveau »
Nous venons de voir (très succinctement) l’architecture globale de la plateforme J2EE. Nous allons maintenant présenter les différents outils.
Il existe 3 grands types d’outils :
• Composants
• Services d’infrastructures
• Services de communications
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
Introduction à J2EE – Connaitre 10/22
l’environnement J2EE
Composants
On distingue, en général, 2 catégories de composants :
• Web
• Métiers
Web
Il s’agit de la partie présentation (interface de l’utilisateur et les traitements).
JSP
Les JSP (Java Server Page) sont les pages servant à générer l’ensemble du code HTML de l’interface utilisateur. On y intègre aussi bien du code HTML que des scriplet Java (code java) ou encore des balises personnalisées (tag-lib).
Cette technologie est donc dédiée à la génération de HTML et non au traitement de la requête de l’utilisateur. On l’appelle généralement : Vue.
Servlet
Une Servlet est une classe Java qui permet de traiter une requête venant d’un client. Cette technologie doit s’occuper de traiter les données envoyées par l’utilisateur et choisir la Vue à retourner à celui-ci.
On appelle cette partie : Contrôleur. En général, la classe Java ne doit quasiment pas générer de code HTML (sauf dans certains cas précis).
Métier – EJB (Entreprise JavaBean)
Il s’agit de composants spécifiques chargés des traitements des données propres à un secteur d’activité (on parle de logique métier ou de logique applicative) et de l’interfaçage avec les bases de données.
On parle de la partie : Modèle.
Services d’infrastructures
JDBC – Java Database Connectivity C’est une API d’accès aux bases de données.
JNDI
C’une API d’accès aux services de nommage et aux annuaires d’entreprises tels que DNS, NIS, LDAP, etc.
JTA / JTS – Java Transaction Api / Java Transaction Services C’est un API définissant des interfaces standard avec un gestionnaire de transactions.
. JCA (J2EE Connector Architecture)
C’ est une API de connexion au système d’information de l’entreprise, notamment aux systèmes dits «Legacy» tels que les ERP.
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
Introduction à J2EE – Connaitre 11/22
l’environnement J2EE
JMX (Java Management eXtension)
Cette API fournit des extensions permettant de développer des applications web de supervision d’applications.
Services de communications
JAAS (Java Authentification and Authorization Service)
C’est une API de gestion de l’authentification et des droits d’accès.
RMI (Remote Method Invocation)
C’est une API permettant la communication synchrone entre objets.
Web services
Les Web services permettent de « partager » un ensemble de méthodes qui pourront être appelées à distance. Cette technologie utilise XML, ce qui permet d’être utilisée par n’importe quel langage et n’importe quelle plateforme.
JMS (Java Message Service)
Cette API fournit des fonctionnalités de communication asynchrone (appelées MOM pour Middleware Object Message) entre applications.
JavaMail
C’est une API permettant l’envoi de courrier électronique.
Implémentation de J2EE : les serveurs d’application
Il est avant tout indispensable de définir clairement ce qu’est un serveur d’application. En effet, une confusion règne dans les esprits quant à la notion de serveur d’application. Cette confusion a été introduite en grande partie par les éditeurs de serveurs d’application J2EE (Java2 Entreprise Edition) afin de s’approprier ce marché. La notion de serveur d’application a en effet été mélangée avec celle de serveur d’objet qui n’a absolument rien à voir.
Qu’est ce qu’un serveur d’application ?
Le serveur d’application est l’environnement d’exécution des applications côté serveur. Il prend en charge l’ensemble des fonctionnalités qui permettent à N clients d’utiliser une même application :
• Gestion de la session utilisateur : N clients utilisant une même instance d’application sur le serveur, il est nécessaire que le serveur d’application puisse conserver des contextes propres à chaque utilisateur (par exemple, un panier de commandes). La plupart des serveurs d’application génèrent un identifiant unique pour chaque nouveau client et transmettent cet identifiant lors de chaque échange HTTP par URL longs, variables cachées ou cookies.
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
• Gestion des montées en charge et reprise sur incident : Afin de gérer toujours plus d’utilisateurs, le serveur d’application doit pouvoir se déployer sur plusieurs machines et éventuellement offrir des possibilités de reprise sur incident (même si dans la grande majorité des cas, on se contente d’une gestion des montées en charge au niveau réseau – boîtier de répartition, DNS round-robin, reverse proxy …).
• Ouverture sur de multiples sources de données : C’est le serveur d’application qui rend accessible les données des applications du système d’information. Il doit donc pouvoir accéder à de nombreuses sources de données. On s’attend également à ce qu’il fournisse des mécanismes performants comme le pooling de connexion base de données.
• …Le serveur d’application est donc indispensable si l’on souhaite éviter de re-développer l’ensemble de ces fonctionnalités (cas des GGI). Les moteurs JSP/Servlets, Microsoft ASP, Cold Fusion, PHP … sont à ce titre des serveurs d’application (même si il sont intégrés au ServeurWeb PHP/ASP).
Qu’est ce qu’un serveur d’objet ?
Pour aborder la notion de serveur d’objets, il faut comprendre qu’il existe deux méthodes pour accéder aux données et aux traitements.
• La première consiste à accéder directement aux sources de données. Cette méthode de programmation n’empêche en aucun cas de structurer ses développements.
• La deuxième méthode consiste à s’appuyer sur des objets métier (client, fournisseur …) afin de masquer la complexité d’accès aux données. Un objet AssuréSocial possédera par exemple une méthode débit() et une méthode crédit () qui à chaque appel iront modifier les données dans une ERP (Entreprise Resource Planning), un système de CRM (Customer Relation Ship Managment) ou une base de données.
1. INTRODUCTION
1.1. POURQUOI UTILISER UNE PLATEFORME ?
1.2. QU’EST CE QUE J2EE ?
1.3. LES ACTEURS D’UNE APPLICATION J2EE
2. J2EE EN DETAIL
2.1. ARCHITECTURE DU JDK J2EE
2.2. LES DIFFERENTS OUTILS DE « BAS NIVEAU »
2.3. IMPLEMENTATION DE J2EE : LES SERVEURS D’APPLICATION
3. J2EE EN PRATIQUE
3.1. J2EE CONTRE SES CONCURRENTS
3.2. COMPOSANTS STANDARDS CONTRE FRAMEWORK
3.3. SERVEURS D’APPLICATION : UTILISATIONS ET LIMITES
3.4. IDE (INTEGRATED DEVELOPMENT ENVIRONMENT)
4. LE FUTUR DE J2E