Introduction au langage et à la plateforme
- Java : concepts du langage. L'objet, le Garbage Collector. JVM, JRE, JDK.
- L'architecture Java. J2SE , son évolution, celle des JVM.
- Java pour l'entreprise. JEE : Java 2 Enterprise Edition. JSP/servlets/EJB.
Une plateforme, différentes architectures
- Les architectures : de 1 à n tiers. Qu'entend-on par tiers ? Du Java, mais où ?
- La brique métier : le serveur d'application. Les conteneurs web et EJB, les queues de message.
- La gestion de l'accès aux données. JDBC. EJB 2.x entités, Hibernate et TopLink. EJB3/JPA. Drivers XA.
Le packaging des applications et l'intégration
- Vue d'ensemble. JAR, WAR, EAR. JAR.
- Les outils pour packager. Ant et Maven : concepts et mise en œuvre.
- La coordination avec le développement. L'outil de développement. La gestion de configuration.
- L'intégration et ses tests. Quelles sources, quelles intégrations ? L'intégration des composants. Comment suivre les dépendances ?
Le déploiement d'applications JEE
- Les différentes topologies. Conteneur web et d'EJB. Le découplage : HTTP, WEB, EJB. Les ressources statiques à part.
- Stratégies de déploiement. 1, 2, n serveurs… Quelle topologie finale ? Session : que maintient-on ? La sécurité : vue générale.
- Le clustering. Principes de clustering. Matériel ou logiciel ? L'affinité de session.
- L'automatisation des déploiements. Les solutions offertes par les éditeurs, les scripts. Archivage des versions, rythmes de déploiement.
Monitoring d'applications JEE
- Les sources d'information. Les logs http, applicatifs, de l'OS et des SGBD. L'outillage avancé (JMX…).
- La gestion des logs Java. La génération de logs (Java, Log4J, common loggings) : paramétrage.
- Analyse des logs. Outils ad hoc et open source (Chainsaw...), le lien avec les logs HTTP.
- Le monitoring temps réel. Le support de SNMP dans Java, la MIB. JMX. Jconsole et Ethereal.
- Les points à surveiller. Mémoire : utilisation par la JVM, fuites. I/O disques. Les pools. Seuils d'alerte.
La performance des applications JEE
- Quelle performance ? Principes. Temps de réponse. Comportement de la JVM, couches logicielles et caches.
- Focus sur les temps de réponse. Analyse de bout en bout. Tests de charge et lien métier.
- Stabilité et montée en charge du serveur d'appli-cation. Comportement, paramétrage et tuning de la JVM. Le GC selon les versions de Java. Jusqu'où aller ?
- Anticiper l'évolution de la plateforme. Comportement. Amélioration matérielles et applicatives. Prioriser.