Formation JAVA - J2EE

Présentation

Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications réparties (Wikipédia). Java est un langage capable de construire n'importe quel type d'architecture applicative aussi bien destinée à un poste utilisateur, qu'à un serveur métier ou à un serveur Web.

Au terme de cette formation, vous aurez acquis la connaissance de la syntaxe et des concepts du langage Java et saurez construire une application Web complète, dotée d'une architecture à trois niveaux. Vous connaîtrez donc les bases du développement Java et Java EE.

Formateur JAVA AP Formation

Objectif

1er niveau

  • Maîtriser le langage Java en terme de mécanismes de base et de syntaxe ainsi que ses classes utilitaires incontournables.
  • Apprendre la méthodologie pour débuter une analyse, la conception et le développement d'une application Java.
  • Pour cela la pédagogie est orientée autour d'un cours sur l'analyse, la conception et la programmation en Java avec de nombreux travaux pratiques.

2eme niveau

  • Utiliser la syntaxe Java et les classes
  • Utiliser des JDK 1.5 et 1.6
  • Utiliser les entrées / sorties de Java
  • Lire et écrire des classes Java
  • Accéder à un SGBDR avec JDBC
  • Utiliser Java EE et les architectures Web 
  • Créer une applicationWeb basée sur les JSP / Servlets 

Public

  • Développeurs d'applications en langage Java.

Pré-requis

  • Une bonne expérience dans un langage structuré est nécessaire.
  • Une connaissance des concepts objet, sans être indispensable, constitue un atout.

Connaissances à acquérir 

  • Fichiers des projets Java, classes Java, diagrammes d'interactions UML, modèles du domaine, modèles de conception, Design Patterns,  collections Java

Compléments d'informations

Introduction

  • Historique
  • Caractéristiques de Java

Outils de développement

  • Le JDK ( versions, évolutions )
  • Les environnements intégrés
  • Les sources d'information et de documentation

Bases du langage

  • Types de données élémentaires
  • Références
  • Tableaux
  • Chaînes de caractères
  • Opérateurs et Instructions
  • Structures de données (Vector, Collection)
  • Notion de package
  • Gestion des exceptions

Gestion des objets

  • Classes, instances et références
  • Constructeurs
  • Variables et méthodes de classe
  • Garbage Collector
  • Sous-classes et héritage
  • Polymorphisme
  • Classes imbriquées

Applets

  • La classe Applet
  • Passage d'arguments aux Applets
  • Tests et déploiement

Interface graphique (AWT & SWING)

  • Gestion des coordonnées et des tailles
  • Gestion des fenêtres et des contrôles
  • Layout Manager
  • Gestion des événements
  • Gestion du graphisme
  • Aperçu sur les classes "SWING"

Entrées / Sorties

  • Lectures/écritures dans un fichier
  • Lectures/écritures à l'écran
  • Gestion des répertoires et des attributs de fichiers
  • Sérialisation et Introspection

Réseau

  • Gestion des URLs
  • Téléchargement d'images
  • Dialogues http

Threads

  • Concepts
  • Gestion des threads
  • Interface Runnable
  • Aspects avancés

Accès aux bases de données (JDBC)

  • Architecture générale
  • Etablissement d'une connexion
  • Mise en oeuvre de requêtes

---------------------------------------------------------------------------
Développement JAVA avec J2EE

Objectif : Etudier tous les aspects de programmation Java côté serveur.
Développements Web ( Servlets, JSP ... ) et développements dans un contexte d'architectures client/serveur à trois niveaux ( RMI, JNDI, EJB ... ).

Publics :
Développeurs d'applications client/serveur en langage Java.


Programme :

Module 1 : Architecture J2EE

n-tiers
Terminologie, vue d'ensemble

Module 2 : Servlets

Cycle de vie d'un Servlet
Code type d'un Servlet
Invoquer un Servlet depuis un client HTTP
Récupération des paramètres d'initialisation
Considération sur le multi-threading

Module 3 : JSP (Java Server Page)

Présentation
Mise en oeuvre avec le moteur TomCat
Principes fondamentaux (translation en servlet...)
Directives, Actions, Scriplets...
Utilisation de JavaBean (Théorie & T.P.)

Module 4 : MVC2 (Servlet+JSP+JavaBean)

Présentation du modèle MVC2 et variantes
Gestion des Cookies et des Sessions.
Gestion du contexte applicatif
RequestDispatcher / forward

Module 5 : Déploiement Web

web.xml
Arborescence à respecter
Archive web (.war)
Pool de connexions (javax.sql.DataSource)

Module 6 : Présentation de Taglib & STRUTS

Présentation des TagLib (intérêts , utilisation , programmation,...)
Présentation de la bibliothèque standard JSTL
Présentation de STRUTS (Composants, fonctionnements)

Module 7 : RMI (Remote Method Invocation)

Architecture et principe de fonctionnement
Code type de l'interface de l'objet distant
Code type de l'application cliente
Code type de l'application serveur
Mise en oeuvre (avec RmiRegistry)
Callback, Factory, Sérialisation
Problèmes de sécurité
RMI-over-IIOP

Module 8 : Présentation de JNDI

Introduction, terminologie
API / SPI
Initial Context
Possibilités de JNDI , LDAP

Module 9 : EJB ( Entreprise Java Beans)

EJB et J2EE
. Architecture ( serveur, container, ... )
. Appel depuis un client distant
. Session Beans (stateless & stateful)
. Entity Beans (BMP et CMP 2)
. Méthodes de recherche (findByPrimaryKey, ...)
. Liaisons entre EJB "session" et EJB "entity"
. Interfaces locales
. EJB pilotés par messages JMS asynchrones.
. Gestion des transactions
. Déploiement

 

 

 

-----------------------------------------------------------------------
L'essentiel des concepts java et architecture J2EE

Objectif : Expliquer les principes de fonctionnement de la plate-forme JAVA et décrire dans le détail l'architecture J2EE (Vue globale & apports des différentes technologies "Servlet/JSP" , "EJB" , "JCA", ...).

Publics : 
Intégrateurs, Métrologues, Responsables , Chefs De Projet , Décideurs , ....


Programme :

BASES DU LANGAGE JAVA

- Caractéristiques de la Machine Virtuelle Java
- Packages, CLASSPATH & archives (.jar)
- Objets ( Classes, références, Interfaces, ...)
- Gestion des exceptions
- Concept de Thread & implications
- JDBC et l'accès aux bases de données
- Sécurité "Java 2"

ARCHITECTURE N-TIERS

- Les architectures n-tiers
- Distribution
- Services
- Middleware
- Objets "métier"
- Serveurs d'application

CLIENTS GRAPHIQUES "LOURDS"

- AWT/ Swing
- Applet
- Java Web Start

OBJETS DISTRIBUÉS EN JAVA

- Principes
- RMI
- CORBA & RMI-over-IIOP, liens avec JNDI

ARCHITECTURE J2EE

- Vue d'ensemble sur l'architecture J2EE
- Archives pour le déploiement (.jar , .war, .ear)
- Principaux Serveurs d'appli (WebSphere,WebLogic)

SERVLET & PAGE JSP : COMPOSANTS "WEB" / CLIENTS LÉGERS

- Principes de fonctionnements
- Servlets , Pages JSP, JavaBean
- Cookies Http & gestion des sessions
- Notion d'application "web" & archive ".war"
- TagLib (utilité , standard JSTL )
- Modèle MVC2 , présentation de STRUTS

SERVICES FONDAMENTAUX

- JNDI ...“ service de nommage - annuaire
- Pool de connexions vers SGBDR (DataSource)

EJB ( ENTERPRISE JAVA BEA N)

- Présentation des EJB
- Invocation depuis un client via JNDI
- Indirections (références)
- Configurations nécessaires (ejb-jar.xml)
- Présentation des différents types d'EJB (Session , Entity, ...)
- Mode de persistance (CMP, BMP, ....)

SERVICES EVOLUES

- JTS/JTA et gestion déclarative des transactions
- Rôles (sécurité) et JAAS ( Authentification , ...)
- JMS et messages asynchrones interapplicatifs.
- Connecteurs JCA

------------------------------------------------------------------
Administration JBoss

Objectif : Savoir configurer et administrer le serveur JBoss (Pool de connexions, Sécurité, Services asynchrones, Topologie en cluster).

Publics : 
Personnes souhaitant administrer JBoss (Administrateurs, Architectes, Développeur d'applications « j2ee » ).

Pré-requis :

La connaissance des concepts fondamentaux liés au langage Java et à l'architecture J2EE est indispensable.

Programme :

INTRODUCTION

Présentation de JBoss
Présentation des standards (J2EE, ANT , STRUTS ...)
Topologies de base
Spécificités du serveur (configuration, administration, ...)

MISE EN OEUVRE DE JBOSS

Installation
Structure des répertoires
Lancement et arrêt du serveur
Différentes configurations (minimal ,default, all ==> cluster)

JMX ET ARCHITECTURE INTERNE DE JBOSS

JMX et ses concepts (micro-kernel)
JBoss Mbean Services, bootstrap
MBean (configuration et dépendances)
Principaux services de JBoss
Fichiers de configuration
JNDIView

JCA ET POOL DE CONNEXIONS JDBC

Présentation de JCA
Config. DataSource (Pool de connexions JDBC)

DEPLOIEMENT D'APPLICATIONS « J2EE »

Déploiement d'archives « ear » à chaud
Fichiers de déploiement propres à JBoss
Déploiement d'une application cliente "non web"

CONFIGURATION DE LA PERSISTANCE CMP 2

Mapping objet-relationnel
Standard J2EE
Configuration spécifique à JBoss

SERVICES ASYNCHRONES (JMS, MAIL )

Présentation de JbossMQ (Implémentation JMS)
Configuration des Files de messages et des "Topic"
Choix du protocole d'accès à JMS selon les fabriques
enregistrées dans JNDI
Gestion de la persistance associée à JMS
Paramétrage de JavaMail et accès via JNDI

DOMAINES DE SECURITE

Vue d'ensemble sur la sécurité J2EE & JAAS
Gestion des "Login" selon différents modes
Gestion des associations (rôles, groupes d'utilisateurs) via
fichiers Xml, serveur LDAP ou base de données.
Check-List des points importants

INTEGRATION DE TOMCAT (CONTAINER WEB)

Mode "développement" (sans apache)
Mode "production" (avec apache) et mod_jk
Répartition de la charge (Load Balancing)

FONCTIONNEMENT EN CLUSTER

Présentation du clustering de Jboss (partitions, ...)
Vue coté web
Configuration d'une partition
Mécanismes internes (HA-JNDI , HA-RMI)
Impacts du clustering sur les fichiers de configuration "xml"
et sur le code java
Considérations sur l'invalidation des caches

ANALYSE DES LOGS ET DES PERFORMANCES

Log4J , fichiers de logs de JBoss
Activation de certaines traces
Analyse des performances