Formation Java/J2ee

Java 7 - Initiation au développement orienté objet



S'inscrire
Obtenir un devis

Durée :


5 jours

Objectifs :


Cette formation a pour vocation de familiariser les participants au langage Java 7 et aux concepts du développement orienté objet.
De nombreux exercices réalisés sous Eclipse ou NetBeans (environnements de développement Open Source) viendront compléter la formation théorique.
Au terme de cette formation, les participants auront acquis l’autonomie nécessaire pour continuer à parfaire leurs connaissances du langage Java 7.

Public :


Développeur - Architecte technique - Chef de projet

Pré-requis :


Une connaissance de base de Windows, Mac OS X ou Linux

Programme :


Partie 1 : Introduction au Java


Pourquoi apprendre le Java ?
L’historique de Java
Java : le langage, la plateforme
Expliquer les différences entre JSE, JEE et JME
Le cycle de vie d’un programme Java
JDK, JRE, JVM, Garbage collector
Où trouver le JDK et comment l’installer (Windows, Linux)
Développer son premier programme

Partie 2 : L’environnement de développement (Eclipse ou NetBeans)


Introduction à l’environnement de développement
Installation du programme
Le développement sous NetBeans
Le développement logiciel
Le debugging

Partie 3 : Les bases du langage


Les constantes et les types de données
Les notions de Wrapper, Autoboxing, Unboxing
Les instructions conditionnelles
Les boucles
Les commentaires
Support du type String dans l’instruction “switch ... case”
Usage du caractère underscore dans les litéraux numériques
Support de l’écriture des litéraux binaires en base 2
Simplification de l’usage des génériques via les chevrons vides (diamond)
Simplification des invocations de méthodes de type varargs

Partie 4 : Le modèle objet de Java


L’approche objet, pourquoi ?
Objets et classes
Les variables et les méthodes
L’accessibilité des éléments
Les packages

Partie 5 : La programmation orientée objet


L’encapsulation
L’héritage
Les classes abstraites
Les interfaces
La surcharge
Le polymorphisme
Les mots clés : super, this, static, final

Partie 6 : La gestion des exceptions


Le Stack Trace
Les exceptions Java
Les hiérarchies d’exception
Les blocs try/catch
Les clauses throws et finally
Créer ses propres exceptions
Instruction “try-with-resources”
Interception multiple d’exception
Retransmission d’exception

Partie 7 : Introduction aux collections


Les classes ArrayList et Vector
Les classes Hashtable et Hashmap
Les énumérations

Partie 8: Introduction à la généricité


Présentation et motivation

Partie 9 : Les entrées-sorties


Les flots d’entrées-sorties
La gestion de fichiers
Nouvelle API (NIO 2) de manipulation de fichiers
Détection de modification de fichier

Développement Java EE (Spring, Hibernate, JSF)



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Faciliter la construction d'applications Java d'entreprise avec Spring en limitant les efforts habituellement liés aux problématiques techniques afin de se concentrer sur des problèmes du métier.
• Présenter les solutions que propose Hibernate afin de répondre efficacement aux problématiques du mapping objet / relationnel.
• Simplifier le développement Web avec le Framework JavaServer Faces (JSF) qui permet de rapprocher la création d'applications intranet / Internet des techniques éprouvées du développement rapide d'applications client / serveur.

Public :


Développeurs, chefs d'équipes et chefs de projets.

Pré-requis :


Expérience du développement avec java et design patterns.

Programme :


Partie 1 : Persistance avec Hibernate


• Processus de développement.
• Connexion à la base.
• Configuration d'Hibernate et Session Factory.
• Création, ajout et suppression d'objets.
• Session Hibernate.

Partie 2 : Conception avec Hibernate


• Design Patterns pour couche de persistance.
• Persistance du modèle objet.
• Gestion de l'héritage.
• Gestion des associations.

Partie 3 : Mapping objet / relationnel


• Ecriture du fichier de mapping.
• Utilisation des annotations.
• Gestion de l'identifiant.
• Types de données et personnalisation.
• Types de mapping (Top-Down, Bottom-Up, Meet in the Middle).
• Stratégies de mapping d'héritage (une table par classe, une table par hiérarchie...).
• Stratégies de mapping d'association (par clé étrangère, par table de jointure...).

Partie 4 : Introduction à Spring


• Origines de Spring.
• Inversion of Control.
• Programmation orientée aspect.
• Vue complète de Spring.

Partie 5 : Core Spring


• Bean Factory.
• Contexte applicatif.
• Gestion des ressources.
• Packaging et déploiement.

Partie 6 : AOP et Spring


• Proxies.
• Pointcuts.
• Advice.

Partie 7 : Configuration


• Centralisation de l'information.
• Initialisation tardive.
• Fichiers externes.

Partie 8 : Persistence avec Spring


• Data Access Objects.
• Templates JDBC.
• Intégration d'Hibernate.
• Gestion d'exception.

Partie 9 : Gestion efficace des transactions avec Spring


• La démarcation transactionnelle.
• Configuration.
• Exemple de gestion des transactions avec JDBC ou Hibernate.

Partie 10 : Test des applications Spring


• Test et injection de dépendance.
• Tests unitaires et Mock Objects.

Partie 11 : JavaServer Faces, les bases


• Historique.
• Pourquoi un nouveau Framework ?
• Caractéristiques essentielles.
• Les implémentations : JSF-RI, MyFaces, IBM-JSF...

Partie 12 : Fonctionnement de JSF


• Cycle de vie d'une page JSF.
• Règles de navigation.
• Managed et Backing Beans.
• Actions et gestion d'événements.
• TagLibs et JSF.

Partie 13 : Utilisation des composants JSF


• Affichage.
• Validation.
• Internationalisation.
• Tableaux de données.
• Convertisseurs.

Formation JAVA



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Réaliser et déployer des applications complètes, performantes et maintenables en Java et pouvoir réaliser des applets - Savoir choisir les technologies adaptées et mettre en place des interfaces efficaces - Connaître et maîtriser les concepts avancés de la programmation Java

Public :


Tous

Pré-requis :


Notions de programmation

Programme :


Partie 1 : Introduction


Historique
Utilisation, choix d’une solution
Installation
Compilation et interprétation
Manipulation de l’environnement
Lexique usuel

Partie 2 : Concepts et syntaxe


Affecter, modifier, calculer
Commentaires et code lisibles
L’application dans la console

Partie 3 : Les variables


Définition
Utilisation
Les types usuels
Créer et détruire une variable
Les opérations, les équations
Déclarer des constantes
Les tableaux et la mémoire : manipuler beaucoup de données

Partie 4 : Les structures


Conditions et blocs : réagir à l’information
Les boucles et la manipulation des tableaux

Partie 5 : L’objet


Classes et package
Utilisation d’une librairie externe
Attributs
Les méthodes, organisation du code et appels multiples
Structuration générale et cas de figure usuels

Partie 6 : Les fonctionnalités usuelles


Les flux, manipulation de fichiers et de connections réseaux
Les applets, l’interactivité sur le web
Les collections (listes, arbres...) et l’organisation des données en mémoire
Présentation d’AWT et Swing pour les interfaces graphiques

Partie 7 : Les interfaces de présentation


Swing : l’affichage d’une interface
AWT : interface utilisateur (menus, boutons, clavier...) et événements
Swing : une applet et une application interactive de A à Z
Présentation des extensions essentielles de Java : JEE (J2EE), JME (J2ME)

Partie 8 : Points avancés d’architecture


Rappels de programmation orientée objets
Présentation des Design Patterns utilisés courament en Java
Les processus : plusieurs choses à la fois
Synchronisations des processus
Atelier : une application de calcul en Java

Partie 9 : Les traitements de la vie réelle


Bases de données et JDBC : lire et écrire des données dans une base quelconque
Architecture d’une application, UML et Design Patterns
Prévoir le déploiement futur : les JAR et les ressources
Atelier : création et packaging d’une application de manipulation de données

Formation JEE - Servlets et JSP



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Savoir architecturer et concevoir des projets web JEE performants à base de Servlets et de JSP - Avoir une vision globale des frameworks MVC (Struts, JSF, Spring,...)

Public :


Pré-requis :


Maitrise des bases du langage Java et connaissance du XHTML

Programme :


Partie 1 : Introduction


Développement d'applications web dynamiques : panorama des technologies existantes
Plate-forme JEE : architecture, APIs et environnement d'exécution
Servlets et JSP par rapport aux autres services web

Partie 2 : Mise en place


Environnement de développement (Eclipse / NetBeans)
Eléments de base et optimisation du développement
Moteurs de servlets et JSP : présentation, choix (Tomcat, GlassFish, ...)
Structure d'un module web ; cycle de vie composants
Empaquetage et déploiement d'une application Web
Atelier pratique : installation des environnements de développement et d'exécution ; premier projet web minimal

Partie 3 : Servlets


Spécification et cycle de vie
Chainage de pages : liens et formulaires
Rappel sur les mécanismes et normes d'interaction du protocole HTTP
Gestion des erreurs http et journalisation
Sessions, cookies et autres espaces de persistance
JDBC pour l'accès à une base de données depuis une servlet
JavaMail pour l'envoi de mail depuis un formulaire
Multi-threading avec des servlets
Configurations avancées de déploiement
Atelier pratique : création, déploiement et test d'un projet complet à base de Servlets incluant des fonctionnalités de gestion avec un accès à une base, utilisation de la session et envoi de mails

Partie 4 : JSP (Java Server Pages)


Principe général et comparaison avec les Servlets
Les expressions : afficher des données dynamiques au milieu du XHTML
Les scriptlets - utilisation et limites
Déclarations et directives : la JSP est une classe
Inclusions et mécanismes de réutilisation
Javabeans : présentation, création
Accès et manipulation des Javabeans depuis JSP et Servlets
Modèle MVC
Etude de cas complète - Servlets et JSP en collaboration
Organisation mémoire du serveur
Gestion des erreurs
Atelier pratique : Développement d'applications web avec une architecture MVC et une présentation avancée à base de JSP

Partie 5 : Bibliothèques de balises (Taglibs)


Panorama des taglibs disponibles
Installation, utilisation d'une bibliothèque de balises
JSTL (JSP Standard Tag Lib) : présentation et test
Le language d'expressions (EL)
Définition de fonctions, création de TLDs et appels depuis une JSP
Création de taglibs : principe et apis disponibles
Atelier pratique : intégration de taglibs dans des JSP - implémentation d'une bibliothèque personnalisée de tags

Partie 6 : Concepts avancés


Templating : mécanisme, frameworks disponibles
Présentation de plusieurs frameworks MVC2 (Struts, JSP, Spring MVC)
JNDI et configuration de ressources (JDBC, mails,...) au niveau du serveur d'applications
Sécurité de l'application : présentation des apis, gestion des utilisateurs et des rôles
Gestion d'un projet web : de l'analyse au test
Architecture DMZ et mise en place d'un serveur web frontal
Notions de clustering : mécanismes de sessions distribuées
Atelier pratique :
mise en place de projets à base de frameworks MVC2 - configuration serveur et utilisation de ressources JNDI - Utilisation d'un moteur de templates

Formation JEE - EJB 3



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Maîtriser le développement d'EJB 3 - Gérer les performances d'une application distribuée - Mettre en place une architecture complète JEE

Public :


Tous

Pré-requis :


Connaissance des servlets et JSP - Maitrise du langage Java

Programme :


Partie 1 : Introduction


Spécifications JEE : composants, conteneurs
Principe des architectures n-tiers (applications distribuées), solutions
Les annotations
Présentation des EJB : historique et versions
Cycle de vie des EJB
Serveurs d'applications : JBoss, GlassFish, WebSphere,...

Partie 2 : Mise en place


Choix de l'environnement de développement (Eclipse/Netbeans), plugins disponibles
Installation de l'environnement d'exécution, apports spécifiques à chaque conteneurs
Structure d'un module web à base d'EJBs, empaquetage et déploiement
Rappels sur les servlets et JSPs (chainage, persistance en mémoire, ...)
Atelier pratique : préparation d'une plateforme de développement/test - manipulation de l'environnement - multiples exemples : java (annotations), servlets et jsp

Partie 3 : Spécifications EJB 3


Architecture (bean, interfaces, annotations), rôle du conteneur d'objets
Types d'EJB : session, entity, message-driven
Appels d'EJB (protole RMI/IIOP), clients (lourd/léger)
JNDI (Java Naming and Directory Interface) et collaboration entre outils (localisation de ressources)
Le Pattern Chain of Responsability et présentation des intercepteurs (bean, interface, annotations)
Atelier pratique : implémentation du design pattern chain of responsability - introduction aux intercepteurs

Partie 4 : EJBs Session


Définition, interaction et calculs
Types disponibles (stateless, stateful), cycle de vie
Accès à un EJB Session : visibilité (local/remote/webService), choix du type d'accès
Accès concurrents et optimisations au niveau du conteneur
Implémentation d'intercepteurs, changement des configurations par défaut
Timers services
Atelier pratique : implémentation de plusieurs EJBs Session (stateless/stateful) + intercepteur - déploiement et écriture de divers types de clients

Partie 5 : EJBs Entity


Mapping relationnel objet, spécification et frameworks ORM
EJBs entités : fonctionnalités, accès
Annotations JPA (Java Persistence API)
Contexte/unité de persistance
Gestion de l'état d'un EJB Entity
Relations entre entity beans (associations), traitements en cascade
Gestion de l'héritage : SINGLE_TABLE, TABLE_PER_CLASS, JOINED
EJB-QL (EJB Query Language) : présentation, syntaxe et constructions de requêtes
Atelier pratique : Développement d'applications web MVC avec des interractions entre EJBs session et divers Entity beans - utilisation du langage EJB-QL

Partie 6 : EJB-MDB (Message-Driven Beans)


Définition, Architecture (MOM, modèles de messages), APIs disponibles
Panorama des implémentations serveurs
Mise en oeuvre d'échanges de message (destination, envoi, réception, récupération par injection)
Gestion des transactions
Atelier pratique : Mise en place d'une application à base d'EJB messages , multiples échanges et transactions

Partie 7 : Concepts avancés


Sécurité de l'application : présentation des apis, gestion des utilisateurs et des rôles
Sécurisation de l'accès aux interfaces des EJBs
EJB et services web, protocoles et clients (statiques/dynamiques, synchrones/asynchrones)
EJB2 et EJB3 : différences, choix, évolution (migration)
Atelier pratique : Déploiement de services web à base d'EJB3 et écriture de plusieurs clients - sécurité d'une application distribuée

Formation JEE - Struts + Hibernate



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


- Apprendre à utiliser les frameworks Struts et Hibernate
- Etre capable de mettre en oeuvre un site complet avec JEE

Public :


Tous

Pré-requis :


Connaissance des servlets et JSP

Programme :


Partie 1 : Introduction


Historique et versions
Installation et manipulations d'Eclipse
Rappels : JEE, servlets, JSP

Partie 2 : Architecture générale


Principe des architectures MVC et MVC 2
Création d'un site interactif minimal avec Struts, des servlets et des JSP
Manipulation et mise en oeuvre complète avec Eclipse

Partie 3 : Éléments principaux du framework


Validation des formulaires et interactions avancées
Utilisation de javabeans et accès complet aux données
Les Taglibs Struts principales : un code de présentation simple et clair
Configuration additionnelle de Struts
Atelier pratique : un annuaire avec Struts

Partie 4 : Points avancés


Taglibs supplémentaires pour Struts
Internationalisation du site ; les messages
Application de l'internationalisation à l'étude de cas
Struts et Hibernate ou JDO : coopération et optimisation

Partie 5 : Introduction à Hibernate


Principe de l'accès aux données (ORM)
Rappels de SQL, JDBC
Les correspondances entre base et Java ; configuration du site et outils
Hibernate pour les applications web et les applications lourdes
Ajout et lecture de données quelconques
La structure relationnelle : configuration et utilisation
Diverses relations entre objets : OneToOne, OneToMany, ManyToOne, ManyToMany
Atelier pratique : un CMS avec MySQL, Hibernate, servlets et JSP

Partie 6 : Outils et environnement


Outils de génération, de configuration ou de SQL
Manipulation de sources de données (DataSources)
Utilisation dans l'étude de cas

Partie 7 : Eléments avancés d'Hibernate


Utilisation complète d'Hibernate Query Language
Augmentation de l'étude de cas avec des recherches et filtrages libres
Configuration avancée : performance et fonctionnalités
Stratégies de chargement des collections (lazy/eager loading)
Les transactions, bilan de la concurrence
Héritages des tables et des objets
Hibernate en collaboration avec Struts
Atelier pratique : exemple d'héritage - une mini-application de gestion

Formation JEE - Spring



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Utiliser Spring dans des environnements quelconques afin de disposer d'une architecture efficace - Realiser un site web dynamique rapidement avec Spring - Faire en sorte que ce site soit maintenable et performant

Public :


Tous

Pré-requis :


Connaissance des servlets et JSP

Programme :


Partie 1 : Introduction


Historique et versions
Alternatives diverses et cohabitations
Installation et manipulations de l'environnement
Rappels : JEE, servlets, JSP, JDBC

Partie 2 : Architecture générale


Principe des architectures MVC et MVC 2
Besoins pour la création d'un site interactif utilisant Spring
Abstractions de la présentation et de la persistance
Atelier pratique : un site Web complet

Partie 3 : Éléments principaux du framework


Création et manipulation de javabeans
Javabeans - multiples mécanismes avancés
Principes de programmation par aspects
Accès aux données par JDBC
Atelier pratique : étude de cas complète - une application de gestion avec Spring et MySQL

Partie 4 : La communication avec Spring


Présentation de JMS
Utilisation de JMS pour les envois de messages
Abstraction de l'envoi de mails
Autres éléments de communication

Partie 5 : Intégration de Spring dans un projet


Application lourde graphique ou console
Application lourde : proposition d'architecture
Spécificités diverses d'un projet Web
Formulaires multiparts : l'envoi de fichiers vers le serveur
Spring et Hibernate ou JDO
Atelier pratique : amélioration de l'application de gestion

Développement d'applications pour la plateforme JAVA EE6



S'inscrire
Obtenir un devis

Durée :


05 jours

Objectifs :


Connaître les objectifs et les composants de Java Enterprise Edition 6 (Java EE 6)
Développer des applications Java EE 6

Public :


Développeurs
Chefs de projet

Pré-requis :


Maîtriser le langage de programmation Java
Connaître les principes de la programmation distribuée, du web et des bases de données

Programme :


Partie 1 : Présentation de Java EE


Décrire les besoins des applications d'entreprise
Les services fournis par le serveur d'application
Les nouveautés de JAVA EE 6
Architectures et bonnes pratiques Java EE

Partie 2 : Composants Java EE et étapes de développpement


Objets distribués ou communication mode message
Packager et déployer des applications Java EE

Partie 3 : Implémentation des beans de session EJB3.x


EJB Session avec ou sans état (Stateful ou Stateless)
EJB Session Singleton et gestion de la concurrence
>> Ecrire un programme client d'EJB en utilisant l'API JNDI ou l'injection de dépendances
L'APLI Java Persistence

Partie 4 : Accéder à une base de données en utilisant les stratégies de persistance de type ORM (Object Relational Mapping)


Intégration de JPA dans Java EE
Ecrire des composants entité
Utiliser l'API de persistance : EntityManager

Partie 5 : Mise en place d'une politique de transaction


Gestion des transactions par le conteneur ou par programmation
Notion de verrouillage optimiste avec gestion de versions
Gestion des transactions distribuées
Effet des exceptions sur l'état des transactions

Partie 6 : Développement d'applications Java EE utilisant le mode message


Décrire la technologie JMS et son intégration dans un conteneur EJB
Ecrire un producteur de messages
Les nouveautés de JAVA EE 6
Ecrire un consommateur de messages de type EJB MDB (Message Driven Bean)

Partie 7 : Implémentation des services web dans Java EE avec JAX-WS et JAX-RS


Spécifications et API utilisées pour le traitement XML et les services web
Créer un service web à partir d'une Servlet ou d'un EJB

Partie 8 : Implémentation d'une stratégie de sécurité


Exploiter la sécurité gérée par conteneur (authentification et autorisation d'accès)