|
|
| Le serveur EJB |
|
|
|
Architecture à trois niveaux
Les serveurs J2EE permettent de mettre en place une application en la divisant en trois niveaux
logiques :
- Niveau présentation : l'interface graphique pour l'utilisateur.
- Niveau métier : Recouvre la logique métier ( aussi appelée logique applicative ).
- Niveau données : Les données de l'application ( serveur de base de données, documents XML, serveur LDAP... ).
Le niveau métier contient le code appelé (via le niveau présentation)
par l'utilisateur pour extraire et traiter les données de la troisième
couche. Cette séparation en couches améliore la souplesse de
l'application. Il devient facile de déployer de nombreuses interfaces
utilisateur sans devoir modifier la logique applicative.
La plateforme J2EE
En fait, J2EE est une norme qui va spécifier à la fois l'infrastructure
de gestion de vos applications et les API des services utilisées pour
concevoir ces applications. La plateforme J2EE est essentiellement un
environnement fournissant :
- Une infrastructure d'exécution pour faire tourner vos applications.
- Un ensemble de services accessibles via l'API J2EE pour vous aider à concevoir vos applications.
-
Environnement d'exécution de J2EE
Un des avantages majeurs de J2EE est de faire abstraction de
l'infrastructure d'exécution. En effet, J2EE spécifie les rôles et les
interfaces pour les applications, ainsi que l'environnement d'exécution
dans lequel les applications sont déployés. Ceci permet aux
développeurs d'application de ne pas avoir a reprogrammé les services
d'infrastructure.
-
Les API J2EE
Le serveur J2EE va fournir à votre application un ensemble de services
comme les connexions aux bases de données, la messagerie, les
transactions... L'architecture J2EE unifie l'accès à ces services au
sein des API de ses services d'entreprise mais plutôt que d'avoir accès
à ces services au travers d'interfaces propriétaires ou non standard,
les applications J2EE peuvent accéder à ces API via le serveur.
La spécification de la plateforme J2EE prévoit un ensemble d'extensions
Java standard que chaque plate-forme J2EE doit prendre en charge :
- JNDI
: JNDI est une extension JAVA standard qui fournit une API uniforme
permettant d'accéder à divers services de noms et de répertoires.
Derrière un nom JNDI, il peut y avoir un appel à des services CORBA,
DNS, NIS, LDAP... En fait, JNDI permet de localiser et d'utiliser des
ressources.
- Authentification : J2EE fournit des services d'authentification en se basant sur les concepts d'utilisateur, de domaines et de groupes.
- JDBC : Java Database Connectivity est une API qui permet aux programmes Java d'interagir avec les bases de données SQL.
- Servlet
: Un servlet est un composant coté serveur, écrit en Java, dont le rôle
est de fournir une trame générale pour l'implémentation de paradigmes "
requête-réponse ". Ils remplacent les scripts CGI tout en apportant des
performances bien supérieures.
- JSP : La
technologie JSP (JavaServer Pages) est une extension de la notion de
servlet permettant de simplifier la génération de pages web dynamiques.
Elle se sert de balises semblables au XML ainsi que de scriplets Java
afin d'incorporer la logique de fabrication directement dans le code
HTML. JSP est un concurent direct de l'ASP et du PHP.
- JMS
: Java Messaging Service est à la fois une ossature et une API
permettant aux développeurs de construire des applications
professionnelles qui se servent de messages pour transmettre des
données.
- JTA : La spécification JTA (Java
Transaction API) définit des interfaces standards entre un gestionnaire
de transactions et les éléments impliqués dans celles-ci :
L'application, le gestionnaire de ressources et le serveur.
- EJB
: Chaque instance d'un EJB se construit dans conteneur EJB, un
environnement d'exécution fournissant des services (Sécurité,
Communications, Cycle de vie...). Un client n'accède JAMAIS directement
à un composant. Il doit pour cela passer par une interface locale et
une interface distance. L'interface locale décrit le cycle d'existence
du composant en définissant des méthodes permettant de le trouver, de
le créer, de le détruire. Et L'interface distante spécifie les méthodes
que ce composant présente au monde extérieur.
Les conteneurs J2EE
Un conteneur J2EE est un environnement d'exécution chargé de gérer des composants applicatifs et leur donner accès aux API J2EE.
Dans l'architecture des conteneurs J2EE, vous êtes censés fournir :
- Composants applicatifs : Les servlets, les JSP, les EJB... En somme les composants de votre application.
- Descripteur de déploiement : C'est un fichier XML décrivant
vos composants applicatifs et qui fournit des informations au conteneur
sur vos composants applicatifs (droit d'accès, transaction...).
L'architecture d'un conteneur, quand à elle, se divise en quatre parties :
- Les interfaces des composants : Ensembles d'interfaces spécifiées par le conteneur et que vos composants applicatifs doivent implémenter.
- API des services du conteneur : Services supplémentaires fournies par le conteneur.
- Services déclaratifs : Services introduits par le conteneur sur vos applications.
- Autres services du conteneur : Il s'agit des services tels que le garbage collector, le pooling des connexions base de données...
|
|
|
|
|
|