La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

EJB & Serveurs dapplications. Julien Maillard Chef déquipe chez Capgemini sur les projets Oxylane Participation sur les projets fret SNCF et Agence en.

Présentations similaires


Présentation au sujet: "EJB & Serveurs dapplications. Julien Maillard Chef déquipe chez Capgemini sur les projets Oxylane Participation sur les projets fret SNCF et Agence en."— Transcription de la présentation:

1 EJB & Serveurs dapplications

2 Julien Maillard Chef déquipe chez Capgemini sur les projets Oxylane Participation sur les projets fret SNCF et Agence en ligne dEDF

3 EJB Présentation EJB Session EJB Message Création dun projet EJB Implémentation dun EJB Session Implémentation dun EJB Message Sommaire

4 Serveur dapplication Présentation Administration serveur Instance Managée Domaine Weblogic Clustering & Load Balancing Machine Structure dun domaine Weblogic Configuration dun serveur Weblogic Sommaire

5 1 ère Partie LES EJB

6 Présentation Les Ejbs permettent de créer des composants déployés sur des serveurs applicatifs ( distants ou non) Il sont hébergés par des serveurs dapplications 2 principaux types dEJB : EJB Message : permet d'accomplir des tâches de manière asynchrone EJB Session : permet de proposer des services avec ou sans conservation d'état entre les appels EJB

7 Présentation Première spécification des EJB en 1992 Version Actuelle : EJB 3.1 (depuis 2009) Depuis la version 3.0 : Basés sur la JDK 1.5 Ajout des annotations Le développement dEJB sen trouvent grandement simplifiés EJB

8 Quand utiliser les EJB ? Lorsque l'application doit être évolutive. Les transactions doivent assurer l'intégrité des données. (accés concurrent …) L'application aura une variété de clients. Ils permettent dexternaliser la logique métier des application pour ne se soucier que de la couche présentation EJB

9 Fonctionnement le serveur dapplication aiguille lensemble des requêtes et gère lensemble des conteneurs et services le serveur dapplication gère un service dannuaire JNDI et un service de transaction Il fournit lensemble des services nécessaires au fonctionnement des EJB EJB

10 Fonctionnement Le client localise lEJB quil souhaite récupérer via lAPI JNDI et le nom JNDI de cet EJB. Les composants déployés sont enregistrés dans lannuaire du serveur. Les appels de méthodes distantes se font par RMI (Remote Method Invocation) alors que les appels de méthodes locales se font directement dans la JVM du serveur EJB

11 Exemple dune architecture basique dEJB EJB

12 Pour résumer De façon imagée, on peut considérer le serveur dapplication comme un orchestre. Le rôle de ce serveur est celui du chef dorchestre. Cest lui qui dirige lensemble des services et leur cycle de vie (démarrage, arrêt, pause…). Chaque partie de lorchestre correspond à un service (EJB, Transaction, Base de données…). Ils sont tous indépendants, mais ils travaillent ensemble pour produire un résultat commun.

13 EJB Session Un Session Bean est une application côté serveur permettant de fournir un ou plusieurs services à différentes applications clientes. Les Session Beans constituent donc les briques de la logique métier dune application. Les Session Beans font office de « pont » entre les clients et les données Les Session Bean sont divisés en deux types : « Stateless » et « Stateful ». EJB

14 EJB Session Le client récupère une référence (implémentant linterface métier) de lEJB quil souhaite utiliser. Celui-ci peut alors appeler les méthodes de lobjet récupéré sans se soucier des contraintes de communication. En effet, lappel dune méthode est automatiquement transmis à linstance de lEJB dans le conteneur (généralement par un système de proxy). Cette instance traite la méthode et retourne le résultat au client. La création du proxy est à la charge du conteneur et reste totalement transparente pour le client. EJB

15 EJB Message Utilisé lorsquune information doit être échangée entre deux applications (mode Queue) plusieurs applications (mode Topic) Traitement asynchrone 3 acteurs : Client Serveur Intermédiaire stockant les messages EJB

16 EJB Message (mode Queue) EJB

17 EJB Message (mode Topic) EJB

18 EJB Message multithreading grâce au serveur dapplication Gestion de la file JMS transparente Gestion du cycle de vie (il démarre et disparaît en même temps que le conteneur) EJB

19 Création dun Projet EJB EJB

20 Création dun EJB Session 3 étapes : Création de linterface Implémentation de linterface Ajout des annotations EJB

21 Définition de linterface dun EJB Session Création dun EJB Session

22 Implémentation de linterface dun EJB Session Création dun EJB Session

23 Implémentation de linterface dun EJB Session Création dun EJB Session

24 Exemple dappel dEJB Session Création dun EJB Session

25 Ajout des lejb sera accessible depuis lextérieur via le protocole Lejb sera accessible depuis la JVM sur laquelle il sera Ejb « Sans état », 1 instance utilisée pour lensemble des Ejb « avec état », 1 instance pour chaque client, linstance sera donc spécifique à son client Création dun EJB Session

26 Ajout des annotations Stateful Stateless Création dun EJB Session

27 Ajout des annotations Remote Local

28 Implémentation de linterface Message Listener Création dun EJB Message

29 Ajout des annotations Création dun EJB Message

30 Appel dun EJB message Création dun EJB Message

31 Questions ? EJB

32 2 ème Partie Serveurs dapplication

33 Quest ce quun serveur dapplication ? Un serveur d'application a pour objectif de facilité la création d'application serveur sans se soucier de l'aspect réseau (toute la couche réseau est laissée au serveur d'application).

34 Plus dune trentaine de serveur dapplication Oracle 9i Application Server de Oracle WebLogic Server de BEA Systems WebSphere Application Server de IBM JBoss Glassfish JoNas Apache Geronimo Serveurs dapplication

35 Historique : Créé en 1995 Racheté par Oracle en 2008 Actuellement en version 11g Support des EJB 3 et de Java 1.5 depuis la version 10

36 Serveur Weblogic Quest ce quun domaine Weblogic ? Un ensemble dinstances Weblogic gérées par une seule console dadministration et un seul fichier de config. Un domaine est composé de serveurs ou de clusters de serveurs Serveurs dapplication

37 Serveur Weblogic Cest une instance configurée permettant dhéberger des applications (EAR,JAR,WAR…) et des ressources (JMS, JDBC….) 2 types de serveurs : Serveurs Managés Serveurs dadministrations Serveurs dapplication

38 Administration serveur Permet de centraliser la gestion de la configuration pour le domaine Il héberge la console dadministration Permet de démarrer ou darreter les serveurs Permet la gestion des serveurs et des services pour le domaine Permet de déployer les application pour le domaine il ny a un unique Administration serveur par domaine Serveurs dapplication

39 Serveur managé Cest une instance weblogic qui héberge les applications et les ressources nécessaires pour ces dernières Chaque serveur managé est indépendant (sauf dans le cas dun cluster) Un serveur managé est généralement utilisé pour isoler des applications Serveurs dapplication

40 Serveur managé Le serveur dadministration gère le fichier de configuration du domaine Chaque serveur managé conserve une copie local du fichier de configuration du serveur dapplication Quand un serveur managé démarre, il se connecte au serveur dadministration afin de synchroniser le fichier de conf. Lors de changements du fichier de conf, le serveur dadministration envoie les changements au serveur managés Serveurs dapplication

41 Exemple de Domaine Weblogic Serveurs dapplication

42 Cluster Un cluster est un groupe de serveurs managés qui sexecutent en parallèle afin dapporter performance et fiabilité Un cluster apparait comme une seule instance Tous les serveurs dun cluster doivent appartenir à un même domaine Les serveurs dun même cluster peuvent se situer sur une machine physique différente Il peut y avoir plusieurs cluster dans un même domaine Serveurs dapplication

43 Load balancing dun cluster FrontOffice (JSP,servlet) Le Load balancing est externe Utilisation dun proxy http ou dun serveur web BackOffice (EJB) Le Load Balancing est effectué à la connection Les EJB sont compatible avec le cluster Ils sont disponibles sur tous les membres dun cluster Serveurs dapplication

44 Gestion du Failover FrontOffice (JSP,servlet) Les sessions HTTP sont répliqués sur dautres serveur du cluster BackOffice (EJB) Pour les EJB StateFul, les états sont répliqués dun serveur à lautre Serveurs dapplication

45 Node Manager Process sexecutant sur une machine physique et qui permet le contrôle à distance des serveurs Doit sexecuter sur chaque serveur physique hebergeant une instance Non associé au domaine Serveurs dapplication

46 Machine Permet de définir une machine physique qui héberge un serveur managé Utilisé par le node manager et par les cluster pour la gestion des machine distante Serveurs dapplication

47 Exemple darborescence Weblogic Serveurs dapplication

48 Exemple darborescence Weblogic Serveurs dapplication

49 Exemple darborescence Weblogic Serveurs dapplication

50 Configuration du serveur Permet de gérer les ressources dun domaine JDBC JMS ….. Serveurs dapplication

51 Arborescence dun domaine weblogic Serveurs dapplication Nom du domaine Scripts de démarrage Répertoire racine des fichiers de configuration Instances des serveurs managés

52 Gestion fichier de conf Locker le fichier Effectuer les changements Activer les changement (validation des changements effectués par la console dadministration) Les changements sont transmis aux serveurs mangés du domaine, 2 étapes : preparation et commit Si une erreur intervient les changements seront rollbacker Serveurs dapplication

53 Comment créer un domaine Via lutilitaire Weblogic : wlserver_10.0\common\bin\config.bat (.sh pour unix) Via un script WLST Permet des déploiements automatisés dinstances weblogic Serveurs dapplication

54 Comment créer un domaine Effectuer le paramétrage global du domaine (JDK, Developpement ou Production Mode) Configurer le serveur dadministration (mot de passe, port découte … ) Ajouter les instances managés ( indiquer leur localisation, leur nom et le port découte) Serveurs dapplication

55 Comment créer un domaine Créer les clusters (si besoin est) Rattacher les instances managées à une machine (si besoin est) Configurer les ressources necessaires aux applications ( JDBC, JMS ….. ) Serveurs dapplication

56 Comment configurer un domaine Weblogic existant Via lutilitaire Weblogic : wlserver_10.0\common\bin\config.bat (.sh pour unix) Via linterface dadministration Weblogic : /console/ Serveurs dapplication

57 Configurer un pool JDBC Choix dun JNDI Choix dune type de base et dun driver associé Information de connexion Serveurs dapplication

58 Configurer un pool JMS Via linterface dadmin, créer un JMS System Module Permet de stocker dautres ressources JMS Deployé sur une instance managée Serveurs dapplication

59 Configurer un pool JMS Dans le JMS Module Server, créer une Connection Factory en indiquant le JNDI Objet de base Permet d établir une Connection puis une Session Serveurs dapplication

60 Configurer un pool JMS Dans le JMS Module Server, créer une Queue (ou Topic) en indiquant le JNDI Permet de définir la file qui sera utilisée dans le serveur Weblogic Serveurs dapplication

61 Comment déployer une application Via un deployplan Via la console Choix de linstance cible pour chacun des modules à déployer Serveurs dapplication

62 Questions ? Serveur dapplication


Télécharger ppt "EJB & Serveurs dapplications. Julien Maillard Chef déquipe chez Capgemini sur les projets Oxylane Participation sur les projets fret SNCF et Agence en."

Présentations similaires


Annonces Google