Implémentation des applications EJB 3.x

Utilisez cette tâche lorsque vous implémentez les applications Enterprise JavaBeans (EJB) 3.x.

Pourquoi et quand exécuter cette tâche

D'après la spécification EJB (Enterprise JavaBeans), les beans enterprise sont des composants Java™ qui implémentent généralement la logique métier des applications JEE (Java Platform, Enterprise Edition) et accèdent également aux données. IBM® WebSphere Application Server fournit un support étendu pour les beans enterprise, notamment les spécifications Enterprise JavaBeans (EJB) 2.x et EJB 3. La spécification EJB 3 simplifie le développement de la logique métier et le traitement des données pour les applications d'entreprise. Assemblez les beans dans un ou plusieurs modules EJB 3.x à l'aide d'un des outils d'assemblage.

La spécification EJB 3.0 est considérée, à juste titre, comme la mise à niveau la plus importante du modèle de programmation Java Platform, Enterprise Edition 5 (Java EE 5). La spécification EJB 3.0 constitue une simplification et une rationalisation de la logique métier et des modèles de programmation de persistance utilisés dans Java EE. Bien que l'API de persistance Java (JPA) de remplacement soit dénommée classe d'entité, elle ne doit pas être confondue avec les beans enterprise de type entity. Une entité JPA n'est pas un bean enterprise et n'a pas à s'exécuter dans un conteneur d'EJB.

La spécification EJB requiert uniquement la prise en charge des vues client locales pour les EJB de la même application. Cela inclut les interfaces métier locales, les interfaces home locales et la vue no-interface. WebSphere Application Server fournit l'accès aux vues client locales des EJB se trouvant dans une application séparée avec certaines restrictions :
  • L'interface locale et tous les types parameter, return et exception utilisés par l'interface locale doivent être visibles par le chargeur de classe pour l'application ayant effectué l'appel et l'application EJB cible. Vous pouvez garantir cela en utilisant une bibliothèque partagée associée au chargeur de classe d'un serveur ou en utilisant une bibliothèque partagée isolée associée aux deux applications. Pour plus d'informations, consultez la rubrique relative à la création de bibliothèques partagées.
  • Lorsque l'application EJB cible est arrêtée, toute référence en cache à l'EJB doit être actualisée. Vous pouvez, au choix :
    • Redémarrez l'application appelante. La solution la plus simple consiste à redémarrer l'application ayant effectué l'appel lors du redémarrage d'une application EJB simple dont elle dépend.
    • Obtenez une nouvelle référence à partir de JNDI. Par défaut, les recherches JNDI de l'espace de nom Java sont mises en cache et ce dernier soit être désactivé ou vidé pour obtenir une nouvelle référence. Pour plus d'informations, consultez la rubrique relative au développement d'applications qui utilisent JNDI.

      Les appels de méthode EJB émettent com.ibm.websphere.ejbcontainer.EJBStoppedException une fois l'application EJB cible arrêtée. Si vous avez mis en cache la référence d'EJB dans une variable d'instance en utilisant l'injection @EJB ou la recherche JNDI, vous pouvez alors intercepter cette exception et actualiser la référence d'EJB en effectuant une recherche hors du cache.

Effectuez la procédure ci-après si vous souhaitez implémenter l'application EJB 3.x dans WebSphere Application Server, y compris les conseils d'optimisation et de dépannage.

Procédure

  1. Migrez le code bean enterprise.
    1. Il n'existe aucun problème de migration inhérent à l'utilisation de beans EJB 3.x. L'exécution des applications actuelles se poursuit et la compilation s'effectue sans erreur. Les spécifications EJB 3.0 et 3.1 rendent obsolète l'utilisation de beans entity du style EJB 1.1 Il est conseillé de lancer le migration vers l'API de persistance Java (JPA) ou vers JDBC.
  2. Développez les applications EJB 3.x.
    1. Concevez une application Java EE et les beans enterprise qui lui sont nécessaires. Avant de développer des beans entity CMP, consultez la rubrique "Contrôle des accès concurrents". Rappelez-vous que les modules EJB 3.x ne prennent pas en charge les beans entity. Vous devez continuer à placer des beans entity dans vos modules de niveau EJB 2.x.
  3. Assemblez les applications EJB 3.x.
    1. Assemblez un module EJB 3.x de manière qu'il contienne des beans enterprise et les artefacts de code associés. Groupez les composants Web, le code du client et le code d'adaptateur de ressources dans des modules distincts. Après avoir assemblé un module EJB, installez-le comme une application autonome ou associez-le à d'autres modules dans une application d'entreprise.
  4. Déployez les applications EJB 3.x.
    1. Lors du déploiement d'un module EJB, le module est installé sur un serveur préalablement configuré pour prendre en charge des modules déployés. Assemblez un ou plusieurs modules EJB, assemblez un ou plusieurs modules Web et assemblez-les dans une application Java EE.
  5. Gérez les applications EJB 3.x.
    1. Gérez les conteneurs EJB, les beans de sessions et les beans entity.
  6. Sécurisez les applications EJB 3.x.
    1. Vous pouvez protéger les méthodes de bean enterprise en leur affectant des rôles de sécurité. Avant d'affecter des rôles de sécurité, vous devez déterminer les méthodes EJB qui doivent être protégées, ainsi que la façon de les protéger.
  7. Optimisez les applications EJB 3.x.
    1. Si vous utilisez des applications qui affectent la taille du cache du conteneur d'EJB, il est possible que les performances de vos applications soient affectées par un paramètre de taille incorrect. Il est important de savoir que les beans entity ne sont pas pris en charge dans un module EJB 3.x. Une des étapes d'optimisation de votre conteneur d'EJB selon les niveaux de performance optimaux consiste à affiner le cache d'EJB.
  8. Dépannez les applications EJB 3.x.
    1. Utilisez les conseils ci-dessous pour l'identification et la résolution des problèmes liés à l'accès aux beans enterprise.

Résultats

Vous avez implémenté les applications EJB 3.x dans WebSphere Application Server.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_implement_ejb3x_apps
Nom du fichier : tejb_implement_ejb3x_apps.html