Le Serveur d'Application JBoss & les Entreprise JavaBean

 

Home

Les Entreprise JavaBean (EJB)

Les serveurs J2EE

Les 3 types d'EJB

Les classes et interfaces d'un EJB

Le descripteur de deploiement

Le serveur JBoss

Architecture technique JBoss

Installation du serveur

tutoriel JBoss - Eclipse

Bibliographie
 
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.


    1. 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.

    2. 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...




  •  
    Copyright © Alexandre BOLE