Les bases de J2EE
Architecture
Spécifications
Conteneurs
Services
Rôles
Livrables (EAR, WAR, RAR, JARs)
Le serveur Glassfish
Historique et positionnement
GlassFish PortFolio
Versions: Glassfish v2, v3
Concurrents : Jboss, WebSphere, WebLogic…
Atouts : standards, console web
Licence, Support
Les changements notables sur Glassfish
Profil web
GlassFish embedded
Architecture noyau OsGI
Déploiements Scripts
UpdateTool / Add-Ons
Autres nouveautés
Installer Glassfish
Notion de profil Glassfish : développeur, cluster, entreprise
Setup.xml, setup-cluster.xml
Arborescence glassfish (logs, applications,…)
Analyse ports ouverts : 8080, 8181,
Test installation
Accès console d’administration
Déployer les applications
Déploiement WAR, EAR
Conteneur web, conteneur EJB
Déploiement composants EJB2, EJB3
Déploiement de services web
Déploiement de services JBI
L’annuaire JNDI
Comprendre JNDI
Le rôle central de l’annuaire dans Glassfish
Objets de l’annueire (Resources)
Accès à l’annuaire JNDI de Glassfish : Datasource, EJB…
Accéder aux données
API JDBC
Création Datasource JNDI
Pool de connexion : nécessité et création, configuration
XA
Administration de base
Les 3 outils pour l’administration Glassfish (console web, ligne commande, JMX)
Présentation de la console d’administration web
Les scripts : asadmin, asant, appclient
Créern, configurer et démarrer les domaines Glassfish
Analyser les LOGS
Fichier de log : server.log
Niveaux de log : INFO, WARNING, FINEST…
Les logs dans la console d’administration web
Mise en œuvre outil chainsaw
Comprendre une ligne de log : thread, niveau, message
Sécurité JAAS
S’authentifier et autoriser
Comprendre JAAS : realm, role
Répondre aux questions : Qui, Quoi, Comment
Fichier web.xml, sun-web.xml
Security-constrain, role-authent
Realm: file, jdbc, ldap
Créer des utilisateurs, groupes, realm dans la console web
Mettre en œuvre JMS
API JMS (java Message Service)
Architecture JMS
Notions de Queues, Topic, Destination
Objets JMS dans annuaire JNDI
Consumer, Producer
Création d’une file de message
Déployer un EJB Message (@MessageDriven)
Réaliser des transactions avec GlassFish
Comprendre la notion de transaction
Propriétés ACID
Transaction DB : notion d’isolation de transaction
Paramétrage transactions EJB2, EJB3 (@Transactionnal)
Clustering
Notion clé : Load Balancing (Equilibrage de charge)
Notion clé : fail over (reprise sur incident)
Glassfish en mode cluster
Notions d’Agent
Créer et démarrer un agent
Créer et démarrer une instance
Créer d’un cluster
Répliquer de session in memory
Répliquer HADB
Intégrer Glassfish avec apache
Intégrer Glassfish avec sjws