Développement d'EJB 3 en Java EE

Cours EJB

Classe présentielle

  • Ref. EJB
  • 4 jours
  • Campus Genève / Lausanne
  • CHF 3,000.00

Sur-mesure

  • Ref. EJB
  • A définir
  • Campus ITTA / Site client
  • Sur demande
Introduction 
La nouvelle architecture EJB3 vise à grandement simplifier le développement d’EJB, lequel représente aujourd’hui la solution la plus avancée en matière d’architecture distribuée. Ils permettent de développer des composants métiers, adressables aussi bien par un service Web que par l’informatique “classique” de l’entreprise.
Objectifs 
A l'issue de la formation, les participants maîtriseront le développement d’EJB 3 et leur intégration dans une application d’entreprise.
Ce cours s’appuiera sur des produits phares dans le monde de l'Open Source : NetBeans, JBoss 4 et le nouveau GlassFish, des références dans les serveurs d'application supportant les EJB3.
 
Connaissances préalables 
Avant de suivre cette formation, les participants devraient avoir :
  • La maîtrise du langage Java
  • La connaissance des servlets et des JSP
  • La connaissance des EJB 2.x est un plus 
Contenu du cours 
Module 1 : Concepts architecturaux fondamentaux
  • Leçon 1 : Qu'est-ce que l'architecture?
  • Leçon 2 : Architecture vs. Design
  • Leçon 3 : Qualités de service (QoS)
  • Leçon 4 : Mécanismes communs
  • Leçon 5 : Description architecturale
  • Leçon 6 : Quelle architecture n'est pas
  • Leçon 7 : Le besoin d'architecture
  • Leçon 8  L'architecte
  • Leçon 9 : Rôles de l'architecte
  • Leçon 10 : Compétences de l'architecte

Module 2 : Lignes directrices pour l'élaboration d'une architecture de système
  • Leçon 1 : Risques de sécurité
  • Leçon 2 : Risques de performance et d'évolutivité
  • Leçon 3 : Disponibilité et complexité des risques
  • Leçon 4 : Risques de compatibilité et de contrôle
  • Leçon 5 : Considérations sur le réseau
  • Leçon 6 : Latence et bande passante
  • Leçon 7 : Réduire le nombre d'appels réseau
  • Leçon 8 : Réduire la taille des appels réseau
  • Leçon 9 : Navigation par pare-feu
  • Leçon 10 : Communication sécurisée
  • Leçon 11 : Technologies d'objets distribués
  • Leçon 12 : Qu'est-ce qu'une transaction?
  • Leçon 13 : Exemple de banque
  • Leçon 14 : Plusieurs utilisateurs partageant des données
  • Leçon 15 : Propriétés ACID des transactions
  • Leçon 16 : Architecture
  • Leçon 17 : Architecture de référence
  • Leçon 18 : Patrons
  • Leçon 19 : Méthodologies de développement
  • Leçon 20 : Normes ouvertes
  • Leçon 21 : Cadres

Module 3: Exigences de qualité de service
  • Leçon 1 : Quelles sont les exigences de qualité de service?
  • Leçon 2 : Qualités de service et de conception
  • Leçon 3 : Inventaire de la qualité des services
  • Leçon 4 : Performance
  • Leçon 5 : Evolutivité
  • Leçon 6 : Fiabilité
  • Leçon 7 : Disponibilité
  • Leçon 8 : Extensibilité
  • Leçon 9 : Maintenabilité
  • Leçon 10 : Maniabilité
  • Leçon 11 : Sécurité
  • Leçon 12 : Adaptabilité culturelle
  • Leçon 13 : Portabilité
  • Leçon 14 : Testabilité
  • Leçon 15 : Utilisabilité
  • Leçon 16 : Extensibilité
  • Leçon 17 : Recouvrabilité
  • Leçon 18 : Prioriser les exigences de qualité de service
  • Leçon 19 : Inspection des exigences de QoS pour les opportunités de compromis
  • Leçon 20 : Avis de qualité de service

Module 4: Niveaux d'architecture logicielle
  • Leçon 1 : Architecture du système
  • Leçon 2 : Bonne Architecture
  • Leçon 3 : Dessins des cavernes au jour moderne
  • Leçon 4 : Evolution des systèmes d'information aujourd'hui
  • Leçon 5 : Informatique client-serveur
  • Leçon 6 : Client-Server Avantages / Inconvénients
  • Leçon 7 : Architectures à plusieurs niveaux
  • Leçon 8 : Architecture à un seul niveau
  • Leçon 9 : Single-tier Pros / Contre
  • Leçon 10 : Architecture à deux niveaux
  • Leçon 11 : Avantages / inconvénients à deux niveaux
  • Leçon 12 : Architecture à trois niveaux
  • Leçon 13 : Avantages / inconvénients à trois niveaux
  • Leçon 14 : Architecture N-Tier
  • Leçon 15 : N-Tier Avantages / inconvénients

Module 5 : Gestion des considérations de niveau client
  • Leçon 1 : Comprendre les préoccupations du client
  • Leçon 2 : Types de clients
  • Leçon 3 : Responsabilités du client JEE
  • Leçon 4 : Présentation de l'interface utilisateur
  • Leçon 5 : Validation des entrées utilisateur
  • Leçon 6 : Communiquer avec le serveur
  • Leçon 7 : Comprendre la sécurité au niveau du client
  • Leçon 8 : Comparer / contraster les dispositifs d'interface utilisateur
  • Leçon 9 : Application de la réutilisation au niveau client
  • Leçon 10 : Stratégies pour déployer des applications de bureau Java

Module 6 : Serveurs de technologie Java EE
  • Leçon 1 : Types de serveurs dans Java EE
  • Leçon 2 : Serveurs Java EE
  • Leçon 3 : Conteneurs Java EE
  • Leçon 4 : Systèmes d'information d'entreprise
  • Leçon 5 : Systèmes ERP
  • Leçon 6 : Systèmes de traitement des transactions mainframe
  • Leçon 7 : Bases de données relationnelles et héritées
  • Leçon 8 : Intégration héritée
  • Leçon 9 : Sélection d'un serveur Java EE
  • Leçon 10 : Définitions d'emballage et de déploiement
  • Leçon 11 : Rôles et responsabilités
  • Leçon 12 : Modules EJB
  • Leçon 13 : Emballage du module EJB
  • Leçon 14 : Recommandations du module EJB
  • Leçon 15 : Modules Web
  • Leçon 16 : Recommandations du module Web
  • Leçon 17 : Descripteurs de déploiement

Module 7 : Technologies Java EE
  • Leçon 1 : Servlets
  • Leçon 2 : Le conteneur Web
  • Leçon 3 : API Servlet
  • Leçon 4 : Gestion de session
  • Leçon 5 : Problèmes liés au thread Servlet
  • Leçon 6 : JSP (pages de serveur Java)
  • Leçon 7 : Fonctionnement des JSP
  • Leçon 8 : Éléments JSP
  • Leçon 9 : Utilisation de JavaBeans dans JSP
  • Leçon 10 : Tags personnalisés
  • Leçon 11 : Filtres
  • Leçon 12 : Filtres et le pipeline de traitement
  • Leçon 13 : API de filtrage
  • Leçon 14 : Utilisations pour les filtres
  • Leçon 15 : Auditeurs d'événements
  • Leçon 16 : Quels sont les EJB?
  • Leçon 17 : Principales caractéristiques des EJB
  • Leçon 18 : Composants d'architecture EJB
  • Leçon 19 : Conteneur EJB
  • Leçon 20 : Conteneur EJB - Persistance
  • Leçon 21 : EJB Container - Transactions
  • Leçon 22 : Enterprise Java Beans
  • Leçon 23 : Session Beans
  • Leçon 24 : Haricots d'entité
  • Leçon 25 : Haricots à message
  • Leçon 26 : Classes et interfaces EJB
  • Leçon 27 : EJB Container - Relations
  • Leçon 28 : Fonctionnement des EJB distants
  • Leçon 29 : EJB distants ou locaux
  • Leçon 30 : Services Web
  • Leçon 31 : Implémentation de service Web dans Java EE
  • Leçon 32 : Déploiement de service Web dans J2EE
  • Leçon 33 : JCA (Java EE Connector Architecture)
  • Leçon 34 : Contrat de niveau d'application
  • Leçon 35 : Contrats au niveau du système

Module 8 : Choix technologiques Java EE
  • Leçon 1 : État de session du client
  • Leçon 2 : État géré par le client
  • Leçon 3 : État géré par niveau Web
  • Leçon 4 : État géré par niveau EJB
  • Leçon 5 : Business Objects
  • Leçon 6 : Quand utiliser EJB
  • Leçon 7 : Quand utiliser les beans entité
  • Leçon 8 : CMP vs BMP
  • Leçon 9 : Types de clients
  • Leçon 10 : Clients du navigateur Web
  • Leçon 11 : Clients Java
  • Leçon 12 : Contrôleur de vue de modèle
  • Leçon 13 : Contrôleur de vue de modèle dans le Web-Tier
  • Leçon 14 : Cadres d'application Web
  • Leçon 15 : Présentation de la présentation Web
  • Leçon 16 : Présentation de la présentation Java
  • Leçon 17 : Middleware Message-Orienté et JMS
  • Leçon 18 : Domaines de messagerie
  • Leçon 19 : Caractéristiques de MOM
  • Leçon 20 : Avantages de la communication asynchrone (par exemple MOM)
  • Leçon 21 : Avantages de la communication synchrone (par exemple, RMI / IIOP)

Module 9: Architecture Java Connector (JCA)
  • Leçon 1 : Vue d'ensemble de JCA
  • Leçon 2 : Adaptateur de ressources
  • Leçon 3 : Contrats système
  • Leçon 4 : Contrats sortants
  • Leçon 5 : Contrats entrants
  • Leçon 6 : Contrats de cycle de vie
  • Leçon 7 : Interface client commun (CCI)
  • Leçon 8 : Avantages de JCA
  • Leçon 9 : Adaptateur d'adaptateur de ressources
  • Leçon 10 : Gestion de connexion
  • Leçon 11 : Gestion des transactions
  • Leçon 12 : Scénario de transaction
  • Leçon 13 : Interaction client

Module 10 : Concepts SOA
  • Leçon 1 : Architecture orientée services
  • Leçon 2 : Componentizaton and Reuse
  • Leçon 3 : Avantages de l'orientation du service
  • Leçon 4 : Définir SOA
  • Leçon 5 : Aligner l'entreprise
  • Leçon 6 : Qu'est-ce qu'un service?
  • Leçon 7 : Acteurs de service
  • Leçon 8 : Superposition de service
  • Leçon 9 : Service orientant l'entreprise
  • Leçon 10 : Pensée orientée vers le service

Module 11 : Introduction de JAX-WS
  • Leçon 1 : Attaque JAX
  • Leçon 2 : Origines JAX-WS
  • Leçon 3 : Architecture et outils JAX-WS
  • Leçon 4 : Fournir un service
  • Leçon 5 : Source de service (option 1)
  • Leçon 6 : Java de service
  • Leçon 7 : Source de service (option 2)
  • Leçon 8 : Appeler un service
  • Leçon 9 : Source client (option 1)
  • Leçon 10 : Source client (option 2)
  • Leçon 11 : Fonctionnalités avancées

Module 12 : Sécurité Java EE
  • Leçon 1 : Mécanismes d'authentification JEE
  • Leçon 2 : Authentification de base
  • Leçon 3 : Authentification par formulaire
  • Leçon 4 : Authentification du certificat client
  • Leçon 5 : Autorisation JEE
  • Leçon 6 : Sécurité déclarative sur les ressources Web
  • Leçon 7 : Sécurité programmatique sur les ressources Web
  • Leçon 8 : Référence du rôle de sécurité
  • Leçon 9 : Définition de rôles de sécurité à l'aide d'annotations
  • Leçon 10 : Délégation
  • Leçon 11 : Sécurité déclarative sur les ressources EJB
  • Leçon 12 : Protéger les haricots en utilisant des annotations
  • Leçon 13 : Protection des beans à l'aide du descripteur de déploiement
  • Leçon 14 : Sécurité programmatique sur les applications EJB
  • Leçon 15 : Délégation

Module 13 : Sécurité des services Web (WS-Security)
  • Leçon 1 : Les défis
  • Leçon 2 : Infrastructure à clé publique (PKI)
  • Leçon 3 : Signature numérique
  • Leçon 4 : Certificats
  • Leçon 5 : Aperçu de la sécurité des services Web
  • Leçon 6 : Sécurité des messages SOAP
  • Leçon 7 : Intégrité du message
  • Leçon 8 : Confidentialité des messages
  • Leçon 9 : Exemple de chiffrement symétrique
  • Leçon 10 : Authentification à l'aide d'un jeton d'identité
  • Leçon 11 : Authentification
  • Leçon 12 : Sécurité au niveau du transport
  • Leçon 13 : Suivi de la vérification
  • Leçon 14 : Assertion d'identité utilisant SAML
  • Leçon 15 : SAML SOAP Exemple

Module 14 : Prototypes
  • Leçon 1 : Qu'est-ce qu'un prototype?
  • Leçon 1 : Prototypes conceptuels
  • Leçon 1 : Prototypes architecturaux
  • Leçon 1 : Avantages du prototypage
  • Leçon 1 : Décider s'il faut construire un prototype ou non
  • Leçon 1 : Prototypes et le cycle de vie du développement logiciel
  • Leçon 1 : Rôles et responsabilités du prototype
  • Leçon 1 : Throw-away vs Prototypes évolutionnaires
  • Leçon 1 : Spikes
  • Leçon 1 : Test d'un prototype

Module 15 : Décrire et évaluer l'architecture logicielle
  • Leçon 1 : Description de l'architecture
  • Leçon 2 : Vues architecturales
  • Leçon 3 : Sous-systèmes
  • Leçon 4 : Couches
  • Leçon 5 : Composants
  • Leçon 6 : Décomposition du système en composants
  • Leçon 7 : Stratégies de partitionnement de logiciels
  • Leçon 8 : Gestion des dépendances
  • Leçon 9 : Diagrammes de composants
  • Leçon 10 : Diagrammes de déploiement
  • Leçon 11 : Architectures à plusieurs niveaux
  • Leçon 12 : Gérer la complexité
  • Leçon 13 : Évaluer l'architecture

Annexe A : Transfert de données en informatique distribuée
  • Transfert de données en Java Informatique locale
  • Transfert de données en Java Distributed Computing
  • Comparaison du transfert de données en informatique locale et distribuée

Annexe B : Transactions
  • Besoin de transactions
  • Transactions
  • Propriétés ACID
  • Composants de la transaction
  • Transactions distribuées
  • Composants de transaction distribués - Engagement en deux temps
  • API Java Transaction (JTA)
  • Transaction d'objet
  • Bases des transactions EJB
  • Propagation des transactions
  • Résultat de la transaction
  • Transaction gérée par le conteneur
  • Paramètres de transaction gérés par conteneur
  • Interagir avec les transactions gérées par le conteneur
  • Support des attributs de transaction
  • Transaction gérée par un haricot
  • Transaction gérée par le client
  • Isolement des transactions
  • Niveau d'isolement

Annexe C : Modèles de niveaux d'affaires et d'intégration
  • Modèle de délégué commercial
  • Comment ça marche
  • Modèle d'objet de transfert de données
  • Exemple DTO (sortie)
  • Exemple DTO (entrée)
  • Rôle de DTO dans MVC
  • Haricots d'accès
  • Types de haricots d'accès
  • Data Access Bean d'accès
  • Modèle de programmation de classe de données
  • Access Bean Constructor
  • Génération de haricots d'accès
  • Génération d'une classe de données
  • Génération d'une usine EJB
  • Utilisation d'EJB Factory et de la classe de données
  • Suppression du bean d'accès
  • Modèle d'objet de valeur
  • Objets à valeur multiple
  • Les meilleures pratiques dérivent EJB de l'objet de valeur
  • Modèle d'entité composite
  • Diagramme de classe
  • Comment le client interagit
  • Assembleur d'objets de valeur
  • Gestionnaire de liste de valeurs
  • Comment ça marche?
  • Considérations sur la conception
  • Localisateur de service
  • Objet d'accès aux données (DAO)
  • Directives de mise en œuvre DAO
  • Activateur de service
  • MDB - Intégration de JMS et d'EJB
  • Les beans message-driven sont différents des autres EJB
  • Les haricots à message sont apatrides
  • Interfaces de bean pilotées par message
  • Compteur de messages
  • Compteur de messages de classe
  • Traitement du message
  • Entrée de descripteur de déploiement
Documentation 

Livre sur EJB

Examen 

Ce cours prépare à l'examen 1Z0-895.

Cocher la case examen dans le tableau des dates de sessions pour l'ajouter à votre commande.

Lab / Exercices 

Pendant le cours, les participants sont encouragés à participer activement à d'apprentissage en exécutant des exemples de fichiers et à créer du code pendant les TP. Chaque session de labo leur permettra de comparer leur solution à celle de l'instructeur.

Les formateurs dans ce domaine

Cette formation pourra être effectuée par une personne au profil équivalent.
Pierre-Eric Tavel
Intégration et développement d’applications