Concepteur développeur JAVA JEE

Documents pareils
Compte Rendu d intégration d application

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

OBJIS : 10 ans d'expérience en formation JAVA. Programme détaillé formation 'Développeur Java web Mobile' OBJIS Congo

CQP Développeur Nouvelles Technologies (DNT)

Cours en ligne Développement Java pour le web

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

F O R M A T I O N CATALOGUE

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Refonte front-office / back-office - Architecture & Conception -

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Expert technique J2EE

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Auto-évaluation Aperçu de l architecture Java EE

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Catalogue des Formations Techniques

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Devenez un véritable développeur web en 3 mois!

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA. 32 ans - 6 ans d'expérience

J2EE - Introduction. Développement web - Java. Plan du chapitre

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Formation en Logiciels Libres. Fiche d inscription

Environnements de Développement

LE CENTRE DE RÉFÉRENCE PROFESSIONNELLE TIC DE BRUXELLES TAKE I.T. EASY FORMATION TECHNIQUES IT & WEB POUR INFORMATICIENS

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Formations Cours du soir Coaching Stage intensif. Brochure Rencontrez-nous au salon «Solutions Linux» 2010, stand B14

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

NANTES ANGERS RENNES

Introduction à la plateforme J2EE

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Module BD et sites WEB

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - Android. 29 ans - 5 ans d'expérience

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Web Tier : déploiement de servlets

Groupe Eyrolles, 2004, ISBN :

Création d une application JEE

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

BES WEBDEVELOPER ACTIVITÉ RÔLE

1. Installation d'un serveur d'application JBoss:

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Formation : Langues : Types d Intervention et Secteurs d Activité :

31 ans - 8 ans d'expérience

Programme ASI Développeur

Formation : WEbMaster

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

10. Base de données et Web. OlivierCuré

Notre Catalogue des Formations IT / 2015

Vulgarisation Java EE Java EE, c est quoi?

CALENDRIERS DES FORMATIONS LILLE

Vérifier la qualité de vos applications logicielle de manière continue

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Consultant MOE/Référent technique JAVA/J2EE JSF, RICH FACES

DotNet. Plan. Les outils de développement

JOnAS Day 5.1. Outils de développements

Hébergement de sites Web

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Ociensa Technologies.

Introduction aux «Services Web»

Java pour le Web. Cours Java - F. Michel

Formation Certifiante Scrum Master

Application Web et J2EE

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

Catalogue des Formations

Outil de Demande de Backup Système

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Les formations. ENI Ecole Informatique

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Description de la formation

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Une Histoire de Migration Agile

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Celui qui vous parle. Yann Vigara

An Phong Do. 567 croissant des Glaïeuls Laval (Québec) H7X 3H2 Cellulaire : anphongdo@gmail.com

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Application web de gestion de comptes en banques

Point sur les solutions de développement d apps pour les périphériques mobiles

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Présentation de SOFI 2.0

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Mise en œuvre des serveurs d application

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Olivier Deheurles Ingénieur conception et développement.net

Architectures web/bases de données

AngularJS pour une application d'entreprise

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Messagerie asynchrone et Services Web

Transcription:

POEi inter-entreprises GT M Ingénierie Immeuble International 2 rue Stephenson 78180 Montigny le Bretonneux Téléphone :01 61 08 48 20 Fax : 01 61 08 48 25 R.C Versailles 40928926100037 - Code APE 8559 A - Registre Formation 11788133178 gtm@gtm-ingenierie.fr www.gtm-ingenierie.fr

Sommaire OBJECTIF PEDAGOGIQUE DU CURSUS :... 3 LES PUBLICS CONCERNES :... 3 LES PREREQUIS :... 3 LES METHODES ET MOYENS PEDAGOGIQUES :... 3 DEROULE DE LA FORMATION :... 4 ETUDE DE CAS «FIL ROUGE» : PROXIBANQUE... 5 ATELIER D INTRODUCTION DE L AGILITE... 6 INITIATION RESEAU... 8 DEVELOPPEMENT BASE SUR LA REALISATION DE MODELES AVEC UML... 10 PROGRAMMATION JAVA - FONCTIONS ESSENTIELLES... 12 TESTER UNITAIREMENT SON CODE AVEC JUNIT... 14 GESTION DE VERSION DE SOURCES AVEC GIT... 16 FONCTIONS AVANCEES DE JAVA SE... 18 AMELIORER LA CONCEPTION AVEC DESIGN PATTERNS... 19 PROJET FONCTIONS JAVA SE ET METHODES... 21 CONCEPTS DES BASES DE DONNEES RELATIONNELLES... 22 LE LANGAGE SQL... 24 PROGRAMMATION JAVA ET BASE DE DONNEES... 26 INITIATION WEB AVEC HTML5, CSS, JAVASCRIPT, BOOTSTRAP... 27 JAVA EE ET LES API SERVLET ET JSP... 29 GERER LES DEPENDANCES AVEC MAVEN... 31 PROJET JSP/SERVLET ET METHODES... 33 JAVA SERVER FACES (JSF)... 34 CONTEXT AND DEPENDENCY INJECTION (CDI)... 37 ENTERPRISE JAVA BEANS... 38 PROJET JSF/CDI/EJB/JDBC ET METHODES... 40 JPA AVEC HIBERNATE... 41 SERVICES WEB AVEC JAVA SE... 44 JAVA SECURITY... 45 SCRUM... 47 SPRING... 48 PROJET FINAL - APPLICATIONS METIER JAVA EE... 52 COMMUNIQUER EFFICACEMENT... 53 EVALUATION DES ACQUIS... 55 2

Objectif pédagogique du cursus : La formation permet aux participants d acquérir les compétences clés nécessaires et la maîtrise des pratiques recommandées pour intégrer des projets de conception, de développement ou de maintenance d application multi-tiers JAVA. Les publics concernés : La formation s adresse à tout demandeur d emploi, indemnisé ou non, titulaire d un BAC +5 (ou supérieur) d un domaine scientifique (Mathématiques, Physique, Chimie, Biologie, Mécanique, Electronique, etc.). Les prérequis : Réussir aux tests psychotechniques proposés par GT M ingénierie ; Etre présélectionné par l entreprise. Les méthodes et moyens pédagogiques : La formation est essentiellement pratique et chaque apport théorique fait l objet d une mise en œuvre technique, méthodologique ou comportementale. Notre démarche pédagogique s appuie sur différents facteurs clés de la réussite : La motivation des participants, en inscrivant clairement le projet de formation dans une trajectoire professionnelle ; Le développement d un esprit de corps, en définissant l objet de l apprentissage comme un problème à résoudre dont on confie la responsabilité à l équipe ; L acquisition d une identité professionnelle, en proposant un format d apprentissage original visant essentiellement à immerger les apprenants dans de nouveaux comportements, fondement d une identité professionnelle. Nous mettons constamment en avant les valeurs et principes directeurs des méthodes Agiles et nous utilisons le cadre méthodologique «Scrum» dans les projets pour favoriser l implication et les échanges. Nous pensons que la simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle. 3

Déroulé de la formation : Atelier d introduction de l agilité Initiation Réseau Développement basé sur UML Programmation Java Tester unitairement son code avec JUnit Gestion des sources avec Git Fonctions avancées de Java SE Améliorer la conception avec Design Patterns Projet fonctions Java SE et méthodes Concepts des bases de données relationnelles Le langage SQL Programmation Java et base de données HTML5, CSS, JAVASCRIPT, BOOTSTRAP Java EE et les API Servlet et JSP Gérer les dépendances avec Maven Projet JSP/Servlet et méthodes Java Server Faces (JSF) Context and Dependency Injection (CDI) Enterprise Java Beans Projet JSF/CDI/EJB/JDBC et méthodes JPA avec Hibernate Services Web avec Java SE Java Security SCRUM Spring Projet Final - Applications Métier Java EE Communiquer efficacement Evaluation des acquis 4

Etude de cas «fil rouge» : ProxiBanque La banque ProxiBanque souhaite créer une application permettant à ses conseillers de gérer leurs clients et les services à forte valeur ajoutée. A partir des spécifications fonctionnelles, conception UML des diagrammes de classe, diagrammes d'activités et diagrammes de séquence de l'application. Outil ArgoUML Création d'une maquette Web basée sur les technologies HTML5, CSS, JAVASCRIPT. 14 écrans : création / suppression / mise à jour / lecture conseiller création / suppression / mise à jour / lecture compte utilisateur création / suppression / mise à jour / lecture compte bancaire gestion des clients fortunés virement compte à compte Développement de l'application avec les technologies Java EE : Couche présentation (Front office) avec les technologies JSF2.2 / PrimeFaces5.1 Couche Persistance avec la technologie JPA2.1 / Hibernate4.3 Couche service avec technologies Spring4.2 et EJB3.2 Codage et publication de WebServices REST (JAX-RS / Jersey) et SOAP (JAX-WS / Jdk8) et accès à partir de l'application web. Création de deux livrables : un livrable pour le web services (basé sur JAX-WS RI), et un livrable pour l'application (écrans). Outils Architecture logique Conception Programmation Frameworks Serveur d application Méthodes Test Maven3, Eclipse4 (Luna) Architecture en couche (domaine, présentation, service, dao) Intégration CDI ou Spring UML2.4, Design pattern JAVA (JSE, JEE), JSF, JPA, CDI, JAX-WS, JAX-RS, SQL (Oracle, MySQL), XML, HTML5, JavaScript Bootstrap3.3, JSF2.2, PrimeFaces4, Hibernate 4.3, EclipseLink 2.6, Spring4.2, EJB 3.2, Weld2, Maven Tomcat8, Wildfly9 Principes et valeurs des méthodes Agile et de Scrum Junit Le projet ProxiBanque permet de mettre en place progressivement des environnements proches de la complexité professionnelle en favorisant le travail en équipe et la communication itérative. 5

Atelier d introduction de l agilité Objectifs métier : Durée : Constituer le groupe et son identité Comprendre tous les objectifs de la formation Valoriser les acquis et les connaissances métier des participants Mettre en avant l aspect narratif («voici ce qui se passe») et le point de vue non technique de l utilisateur ou du donneur d ordres («Client»). 1 jour Contenu de la formation Présentation des participants, constitution du groupe et de son identité Créer du lien social entre les membres du groupe Développer le sentiment d appartenance Présentation de la formation les modules l'encadrement l'organisation Présentation des architectures techniques qui seront misent en place durant le cursus Atelier d introduction de l agilité L état d esprit agile : valeurs et principes directeurs Principe de fonctionnement Le cadre méthodologique «Scrum» Bénéfices d une approche agile Difficultés des projets agiles 6

Mise en pratique Organisation des Équipes Définition du Projet Construction du Backlog Planning poker Planification du Sprint Sprint Revue Cycle des Versions Débriefing 7

Initiation Réseau Objectifs métier Appréhender le fonctionnement global des réseaux, d'internet et du Web Identifier les technologies utilisées par les systèmes informatiques en réseaux Savoir configurer son poste de travail pour l utiliser dans un environnement réseau professionnel Comprendre l'architecture des applications modernes d'entreprise Durée 1 jour Contenu de la formation Les systèmes informatiques Objectifs et principes du système d information Panorama des technologies utilisées par les systèmes informatiques Présentation des réseaux Les utilisateurs et leurs besoins Les différents éléments et leurs rôles Niveaux d'architecture : LAN/MAN/WAN Prise en main du poste de travail en réseau Gestion des dossiers et des fichiers Recherche avec l'explorateur de Windows Utilisation des partages en réseaux locaux ou dans le cloud Identifier les différents équipements réseau Les Répéteurs et Hubs Les ponts et Commutateurs (Switch) Les Routeurs : rôles et intérêt Passerelles 8

Firewalls Architecture Ethernet partagé, Ethernet commuté Les notions de base des réseaux TCP/IP Principes des protocoles IP, TCP et UDP Adressages et configuration Notion de numéro de port : le modèle client/serveur Présentation des adresses MAC, requêtes ARP, table ARP Présentation des mécanismes de routage et d'une table de routage Les services et protocoles de haut niveau Le serveur de nom DNS Le serveur de configuration DHCP Configurer son poste de travail Configuration réseau et Internet Architectures logicielles Notions d'architecture Les différents points de vue architecturaux Architectures métier, fonctionnelle, logique, applicative, système, etc. Architecture canonique d'un logiciel (les tiers ou niveaux) 9

Développement basé sur la réalisation de modèles avec UML Objectifs métier Durée Maîtriser les principes de l'approche objet et son vocabulaire. Etre en mesure de lire et de comprendre les principaux diagrammes UML. Etre en mesure de s'appuyer sur UML pour mener à bien le développement de systèmes informatiques basé sur la réalisation de modèles. 2 jours Contenu de la formation Modélisation objet Objectifs et principes d un développement basé sur la réalisation de modèles objets (MDE/MDA) Les concepts généraux de modélisation objet (abstraction, classe, encapsulation,...) Présentation UML & méthode (UP) Unified Modeling Language (UML) UML et les processus méthodologiques Présentation d Unified Process (UP) UML pour la maîtrise d œuvre Architecture Différents modèles d architecture Composants, programmation métier Conception Préliminaire De l analyse à la conception Projection du modèle d analyse sur l architecture Définition de contrats entre modules fonctionnels Interface d architecture, de métier, de contrôle 10

Conception de l implémentation métier Avantage du modèle objet Design Pattern métiers : adapteur, décorateur, etc. Framework, logiciels et outils Conception détaillée Diagramme de communication Diagramme de structure composite Conception de l IHM Le Design Pattern d IHM : Model View Controller Framework d IHM Conception d'architecture Styles et patterns d'architecture Architecture logicielle à base de composants L'approche par frameworks et composants Cycle de vie des logiciels et problèmes d'évolution et de maintenance Comment concevoir et réaliser des applications rapidement à partir de frameworks et de composants réutilisables? 11

Programmation Java - Fonctions essentielles Objectifs métier Connaître l architecture de Java SE Connaître les fonctions essentielles de Java SE Comprendre les principes de la programmation orientée objet Durée 4 jours Contenu de la formation Présentation de l architecture de Java SE Applications Java Compilation et exécution Kit de développement Java La compilation Just In Time et la technologie Hot Spot Déploiement des applications Eléments de base du langage types primitifs, structures de contrôle, tableaux, Java, un langage de classes Déclaration d une classe Visibilité d une classe et de ses membres. Bloc d initialisation statique Constructeurs Spécialisation des classes. Classes abstraites, classes d interface Les méthodes à arguments variables Les types énumérés. Les imports statiques 12

Transtypage des objets. Autoboxing des types primitifs Les types génériques Les classes internes Les collections Les entrées / sorties Les exceptions 13

Tester unitairement son code avec JUnit Objectifs métier : Comprendre la valeur ajoutée des tests unitaires Mettre en œuvre un test unitaire avec Junit Comprendre la notion de Mock et la mettre en oeuvre Durée : 0,5 jour Contenu de la formation Introduction aux Tests logiciels Processus de test Qualité logicielle Typologies de Test Test unitaire et test d intégration Codage de test unitaire avec Junit 4 Classe de test Méthode de test @Test @Before et @BeforeClass @After et @AfterClass Assert Intégration avec Eclipse Codage de Suite de Test Notion de Suite de test @RunWith Tests paramétrés 14

Les Mock Objects Définition d un Mock Quand les créer Types de Mock Types d implémentations Bibliothèques de Mocks Mise en œuvre Mockito 15

Gestion de version de sources avec Git Objectifs métier Comprendre les principes DVCS Savoir mettre en place et configurer Git Apprendre à gérer son code source avec Git Apprendre à collaborer avec les dépôts Git Savoir manipuler les outils annexes à Git Durée 0,5 jour Contenu de la formation Le contrôle de version Pourquoi versionner son code source? Les concepts de base du contrôle de version Le principe DVCS Qu'apporte la décentralisation? Principe de fonctionnement Branche, dépôt, merge, rebase et tous les concepts DVCSLe contrôle de version Pourquoi versionner son code source? Les concepts de base du contrôle de version Utilisation au jour le jour Créer/cloner un dépôt Consulter l'état de l'arbre de travail Visualiser les modifications Enregistrer les modifications Parcourir l'historique des révisions Retrouver l'auteur d'une modifications Les concepts de base du contrôle de version 16

Gestion de dépôt et branches Créer une branche Passer de branche en branche avec les merges ou le rebase Mettre à jour un dépôt Exporter son dépôt Les dépôts distants 17

Fonctions avancées de Java SE Objectifs métier Connaître les fonctions avancées de Java SE Savoir déployer et gérer des applications Java SE Durée 3 jours Contenu de la formation La méta-programmation par annotations Annotations standards Syntaxe des annotations. Déclaration et utilisation API JNDI (Java Naming and Directory Interface) pour les services de nommage et d annuaire API JDBC Gestion des données à l aide de JDBC. Utilisation de datasources avec JNDI Invocation dynamique DII L API JMX (Java Management extension) pour la supervision et l administration des applications Architecture JMX Agent JMX Mise en œuvre de JMX. Utilisation de datasources avec JNDI Mise en œuvre de Log4J pour la journalisation Les Sockets, HTTP et RMI pour les accès distants 18

Améliorer la conception avec Design Patterns Objectifs métier : Mettre en œuvre pragmatiquement les Design Patterns au sein d'une conception objet Appréhender la notion de langage de Patterns Mettre en œuvre une démarche globale basée sur les Design Patterns Durée : 1 jour Contenu de la formation Introduction aux Design Patterns Processus de développement agiles Analyse et conception La conception dans les processus agiles Découverte d'un Design Pattern Principes fondamentaux de conception Les principes fondamentaux de la conception objet Les outils de la conception objet Design Patterns du GoF et autres Patterns Les Design Patterns de comportement (Focus sur Observateur, Stratégie, Visiteur,) Les Design Patterns de création (Focus sur Singleton, Fabrique Abstraite) Les Design Patterns de structure (Focus sur Façade, Proxy, Adaptateur, Décorateur) Les interactions entre Design Patterns Les langages de Patterns 19

Patterns et architecture Couches logicielles Modèle Vue Contrôleur (MVC) et ses variantes Domain Driven Design Frameworks 20

Projet fonctions Java SE et méthodes Etude de cas «fil rouge» : ProxiBanque V1 Objectifs métier Savoir concevoir et implémenter une application en utilisant les possibilités de JavaSE, des principes de conception adaptés. Durée 2 jours Déroulement du module Les stagiaires travaillent en toute autonomie, en binômes. Ils sont libres d effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances. 21

Concepts des bases de données relationnelles Objectifs métier Connaître les principes de fonctionnement d une base de données relationnelle. Durée 1 jour Contenu de la formation Introduction Limites des systèmes à fichier Organisation base de données Définitions Objectifs des SGBD Fonctions des SGBD Processus de conception de base de données Le modèle Entité-relation Généralités Entités et attributs Types et occurrences Identifiants Associations et cardinalités Exemples Le modèle relationnel Généralités Relations, attributs et tuples Contraintes d'intégrité Traduction modèle E/A - modèle relationnel Problème de la redondance 22

Normalisation Algèbre relationnelle Architecture d'une base de données 23

Le langage SQL Objectifs métier Savoir écrire des requêtes simples ou complexes. Durée 2 jours Contenu de la formation Introduction Les requêtes simples Connaître la syntaxe de l ordre SELECT Connaître les prédicats simples Savoir écrire des requêtes sur une seule table Comprendre ce qu est une jointure Savoir écrire des requêtes sur plusieurs tables Connaître les fonctions utilisées dans les requêtes Les requêtes avec regroupement Comprendre le regroupement Savoir écrire une requête utilisant le regroupement Les requêtes ensemblistes Connaître les opérateurs ensemblistes Savoir écrire une requête utilisant des opérateurs ensemblistes Les requêtes imbriquées Connaître les opérateurs utilisés pour les sous requêtes Savoir écrire des requêtes imbriquées 24

Le langage de manipulation des données Savoir insérer une ligne dans une table Savoir modifier une ligne dans une table Savoir supprimer une ligne dans une table 25

Programmation Java et base de données Objectifs métier Savoir mettre en œuvre l accès aux données de bases relationnelles avec JDBC Durée 2 jours Contenu de la formation JDBC: API SQL pour Java JDBC, Java, ODBC, SQL Architecture, interfaces, exemples Java et le client-serveur Architecture classique Architecture revisitée: Java côté client, Java côté serveur Accès aux bases de données JDBC Utilisation de l'api JDBC Sélection des pilotes de base de données Connexion à une base de données Mise en œuvre Oracle SQl server MySQL 26

Initiation Web avec HTML5, CSS, JAVASCRIPT, BOOTSTRAP Objectifs métier S initier aux technologies standards du Web Comprendre le positionnement de ces technologies dans une architecture en couche Augmenter la productivité de création d écrans avec Bootstrap Durée 2 jours Contenu de la formation Introduction protocole HTTP Requêtes et Réponse HTTP En tête HTTP Codes retour serveur Analyse avec F12 Introduction langage HTML Contexte : web statique Balises HTML HTML et HTML 5 Formulaire Audio et Vidéo Validation de champs Introduction CSS Contexte : ergonomie et habillage web statique Feuille de style externe, interne et inline Notion de cascade Notion de class Notion de id Notion de block 27

Sizing et Positionning Introduction Javascript Contexte : web dynamique Spécification ECMA Script Les objets javascript Les objets du navigateur Validation des champs Gestion DOM : Document Object Model Gestion Evénements Introduction BOOTSTRAP Notion de framework Augmenter la productivité et l ergonomie des écrans web CSS et Javascript BOOTSTRAP Installation et mise en oeuvre 28

Java EE et les API Servlet et JSP Objectifs métier Comprendre et savoir utiliser les composants Web de l'architecture JEE (Servlet, JSP) Durée 3 jours Contenu de la formation L API Servlet Présentation Principales classes de l'architecture Servlet (ServletContext, ServletRequest, ServletResponse, ) Le cycle de vie d'une servlet et la gestion des servlets par le conteneur. Méthodes doget et dopost Déploiement des applications sur le serveur Web Fichiers WAR et EAR Fichier de configuration web.xml Déploiement sur un serveur à l'aide de Ant Paramétrisation des servlets Paramètres d'initialisation Exploration du client et du serveur Récupération des paramètres http Suivi de session Récriture d'url Champs cachés de formulaires Cookies Utilisation d'un objet session Contexte d'une servlet 29

Les JSP Présentation des JSP Forme des JSP Les étapes d'une requête JSP Composants d'une JSP Directives Scripts JSP (déclarations, expressions et scriplets) Les objets implicites et leur portée Traitement des erreurs JSP Les bibliothèques de balises Les taglibs et leur descripteur XML Balises personnalisées Balises d'actions prédéfinies Utilisation des JavaBeans dans les JSP Java Server Tags Librairies et Java Server Pages Langage EL Les librairies standards (core, fmt, ) Ecriture de librairies spécifiques 30

Gérer les dépendances avec Maven Objectifs métier : Comprendre la valeur ajoutée de Maven pour le développeur Mettre en œuvre la gestion de dépendances avec Maven Intégrer Maven dans Eclipse Durée : 1 jour Contenu de la formation Introduction Maven Définition de Maven pour un développeur Définition de Maven pour un chef de projet Règle du «Convention over configuration» dans Maven Valeur ajoutée de Maven par rapport à ANT Le POM (Project Object Model) Définition de Maven pour un développeur Présentation du modèle POM Maven et notion de coordonnées Détails et sections du fichier pom.xml de Maven Le «super POM» et les mécanismes d héritage de Maven Exploration de la structure des projets Maven Les types de projets Maven Notion de propriétés et de filtre des ressources dans Maven Repository Maven et coordonnées Repository local de Maven :.m2/repository Mécanisme de localisation d une librairie dans Maven Notion de repositories distants Outillage pour la gestion du cache et de la sécurité avec Nexus 31

Mise en place de Maven Présentation du modèle POM Maven et notion de coordonnées Détails et sections du fichier pom.xml de Maven Le «super POM» et les mécanismes d héritage de Maven Exploration de la structure des projets Maven Les types de projets Maven Notion de propriétés et de filtre des ressources dans Maven Gestion de dépendances Dépendance transitive dans Maven Optimisation des dépendances dans Maven Le cycle de construction d un projet Maven Les différents cycles de construction Comprendre les phases / goals /cycles Maven 32

Projet JSP/Servlet et méthodes Etude de cas «fil rouge» : ProxiBanque v2 Objectifs métier Savoir concevoir et implémenter une application en utilisant les possibilités des API Servlet et JSP, des principes de conception adaptés. Durée 2 jours Déroulement du module Les stagiaires travaillent en toute autonomie, en binômes. Ils sont libres d effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances. 33

Java Server Faces (JSF) Objectifs métier Savoir démarrer, maintenir et faire évoluer un projet basé sur le framework de création d écrans JSF 2 (annotations). Maîtrisez le cycle de requête JSF et savoir gérez la navigation entre écrans, ainsi que la validation / conversion des données de formulaires Durée 3 jours Contenu de la formation Introduction JSF 2 Rappels clés JEE 7 Les 8 Objectifs de JSF JSF : un framework orienté composant Implémentation de référence : Mojarra Les concurrents directs et indirects de JSF 2 Configuration JSF 2 Fichiers clés : web.xml et faces-config.xml Configuration du controleur FacesServlet dans web.xml Url gérés : *.faces, *.jsf, /faces/* Paramétrer le mode développement Annotations ou xml? Cycle de vie requête JSF 2 Les 6 étapes clés du cycle de vie requête JSF Etape 1 : restauration de la vue Etape 2 : application des paramètres de la requête Etape 3 : validation et conversion Etape 4 : mise à jour du model 34

Etape 5 : logique métier Etape 6 : rendu de la réponse Utilisation du Phaselistener Bean managés Rôle dans l architecture JSF Annotations : @ManagedBean, @ManagedProperty Annotation : @SessionScoped, @RequestScoped Propriétés par défaut : name, scope Facelets Besoin : industrialiser création écrans xmlns:ui="http://java.sun.com/jsf/facelets Utilisation XHTML Notion de template ui:composition, ui:define, ui:insert, ui:include Débogage Gestion des ressources d un projet JSF Convention : répertoire resources Gestion des feuilles de style : h:outputstylesheet Gestion des images : h:graphicimage Gestion des scripts javascript : h:outputscript attribut library attribut name Bibliothèque des composants standards 30 Composants JSF : visibilité, style CSS, binding Passage de paramètres aux composants Composants d affichage texte et image Composants de saisie et "value change event" Composants de commande "action event" 35

Combo-box, listes, cases à cocher et boutons radio PanelGroup et le PanelGrid DataGrid Gestion des messages utilisateur Structure des messages JSF : la classe FacesMessage Afficher un message avec HtmlMessage et HtmlMessages Créer un message applicatif avec la classe FacesContext Validation Principe de la validation JSF Méthode de validation dans un backing-bean Les validators standards de l API JSF Modèle de programmation pour écrire un validator personnalisé Validation avec implémentation JSR 303 : Hibernate validator Gestion des évènements Modèle évènementiel JSF Création d un évènement Ecouteurs d évènements Navigation JSF Règles de navigation : par page, globale, par action Formulaire JSF Création formulaire JSF (XHTML) : balises html et core Créer le @ManagedBean du formulaire Langage d expression JSF : Unified EL Validation des champs et cycle de vie Conversion implicite des champs 36

Context and Dependency Injection (CDI) Objectifs métier Savoir utiliser les techniques proposées par CDI : injection, interception, événements Savoir injecter des composants variés et proposer des techniques d événements, d interception ou de décoration Durée 2 jours Contenu de la formation Principes d architecture Les techniques d injection Premiers pas avec CDI Implémenter le composant Tester le composant Configurer CDI : fichier beans.xml Manipuler des beans La définition d un bean CDI L injection de bean Le cycle de vie et les portées Les fabriques de beans 37

Enterprise Java Beans Objectifs métier Comprendre le rôle et les fonctionnalités des composants EJB Savoir écrire et mettre en œuvre des composants EJB3 Durée 3 jours Contenu de la formation Introduction à JEE aux EJB Jee : architecture, services Serveurs d applications jee 5 Conteneur web et conteneur EJB EJB2 et EJB3 Service de nommage et JNDI Service de nomage (JNDI) : rôle et utilisation Configuration JNDI Présentation de JBossNS, InitialContext() Lookup JNDI fichier jndi.properties ENC Introduction aux EJB3 Historique et objectifs Services du conteneur EJB Les 3 types d EJB : Session, Entity et Message Beans Dynamic proxy Interfaces : Local, Remote 38

Les intercepteurs et proxy Compatibilité avec la version 2.x EJB3 Stateless Session Bean Présentation EJB Stateless Interface et implémentation (@Stateless) Cycle de vie Multithreading et Pool d EJB Configuration par annotation ou XML Statistiques d accès à un EJB Création d un webservice à partir EJB3 Session EJB3 Statefull Session Bean Présentation EJB Statefull ainsi Comparaison Stateless - Statefull @Statefull Les EJB Statefull dans les architectures cluster EJB3 Entité Présentation du nouveau modèle de persistence des EJB3 Clé primaire simple et composite @Entity, @Id, @Generated, @OneToMany Requêtage des EJB entité Présentation du pattern "injection de dépendance" Stratégie de mapping de fetching Gestion basique des datasource Transaction Notion de transaction Niveau d isolation Introduction au commit à deux phases (2PC) Gestion des exceptions 39

Projet JSF/CDI/EJB/JDBC et méthodes Etude de cas «fil rouge» : ProxiBanque v3 Objectifs métier Savoir concevoir et implémenter une application en utilisant les possibilités de CDI, de JSF et des EJB. Durée 2 jours Déroulement du module Les stagiaires travaillent en toute autonomie, en binômes. Ils sont libres d effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances. 40

JPA avec Hibernate Objectifs métier Savoir utiliser Hibernate comme fournisseur de persistance JPA (Java Persistence API) Durée 3 jours Contenu de la formation Introduction Notion de mapping Objet/Relationnel Historique d hibernate Hibernate et les spécifications JPA Concurrents : EclipseLink, ibatis Versions d hibernate Persistance avec JPA Spécification JPA 2.0 Fournisseur de persistence EntityManagerFactory EntityManager persistence.xml Persistence unit @ManyToOne, @ManyToMany Eager, Lazy Implications Jee Fetching Persistance avec Hibernate Processus de développement Top-down, Bottom-up, Meet in the meedle 41

Connexion à la base de données Configuration d Hibernate et Session Factory Création, ajout et suppression d objets Session Hibernate HibernateUtils Conception avec Hibernate Design Patterns pour couche de persistance Persistance du modèle objet Gestion de l héritage Gestion des associations HQL et JPQL Clauses des requêtes Les fonctions d aggrégation Les requêtes polymorphes Les sous requêtes Utilisation avancée d Hibernate Transactions Exceptions Gestion du cache Lazy-Loading Mapping objet relationnel Ecriture du fichier de mapping Gestion de l identifiant Types de données et personnalisation GTypes de mapping (Top-Down, Bottom-Up, Meet in the Midlle) Mapping d héritage (une table par classe, une table par hiérarchie... ) Mapping d association (par clé étrangère, par table de jointure...) 42

Architectures techniques Hibernate dans une application client / serveur Hibernate dans une application Web Hibernate dans une architecture distribuée Intégration frameworks Introduction Hibernate et Spring Intégration hibernate et Struts Designs pattern MVC, Business Delegate Cache Stratégies de cache Cache niveau 1 Cache niveau 2 Types de Cache Configuration statique Configuration dynamique Transactions Problématique Design pattern Niveau d isolation Appli multi bases Mise en oeuvre Implémentations 43

Services Web avec Java SE Objectifs métier Savoir écrire et mettre en œuvre des Webservices en Java Durée 2 jours Contenu de la formation Introduction aux web services Intérêt des Services Web Cycle d utilisation Java Api for XML Web Services (JAX-WS) Technologies Web Services SOAP/WSDL et REST Structure d un message SOAP WSDL UDDI Principes de REST et mise en oeuvre. Web services et Java Ecriture d un Service Web en Java SE Exemple d EJB stateless Web Service Exemple de client du Web Service sous forme de Cas d utilisation et d un dossier d analyse UML. 44

Java Security Objectifs métier Identifier les méthodes et les réflexes garantissant une sécurité optimale des applications Java Savoir sécuriser l accès aux applications JAVA EE avec JAAS Durée 1 jour Contenu de la formation Concepts théoriques clés Authentification Autorisation Confidentialité Intégrité Sécurité Java Bac à sable ClassLoader. SecurityManager AccessController Fichier java.policy PolicyTool Obfuscation. Applets Sécurité JEE Spécification JAAS Notion de Realm JDBCRealm, LDapRealm Subject, Principal 45

Filtre Windows Keystore JKS, cacerts Sécurité déclarative : annotations Sécurité par programmation 46

SCRUM Objectifs métier : Définition théorique et pratique des rôles Scrum dans un environnement projet Agile Durée 3 jours A noter qu une partie du programme est adapté en fonction des souhaits des participants et de leurs feedbacks durant la formation. Contenu de la formation Les méthodes Agile Principes et valeurs des méthodes Agile et de Scrum. Historique du Lean, d Agile et de Scrum. Le Produit, La vision, Le valeur métier (Business Value) Le Product Backlog et les requirements. Scrum Les différents rôles du framework Scrum. Caractéristiques, autorité, responsabilité. Les différentes réunions et activités de Scrum. Les différents artefacts ou livrables dans Scrum. Les estimations relatives et le plan de release. Comment estimer et planifier avec Scrum. Management visuel et autres outils. Démarrer un projet en utilisant Scrum. Sujets avancés (Ces sujets sont choisis en concertation avec le groupe) 47

Spring Objectifs métier Savoir créez une plateforme de développement fiable pour les applications Java/J2ee Savoir créer une architecture en couches avec Struts, Spring et hibernat. Durée 5 jours Contenu de la formation Comprendre le conteneur léger Notion clé : injection de dépendance Conteneur léger spring / conteneur lourd j2ee Fichier ApplicationContext.xml Cycle de vie d un bean Spring scope singleton, prototype Interfaces de callback Les post-processors Architecture Approche modulaire des librairies Spring 3 (jars) Noyau : Spring Core au coeur de l injection Accès données : Spring DAO, Spring ORM Applications web : Spring Web, Spring MVC Nouveauté Spring 3 : Spring Expression Language (spel) Tests avec Spring Paramétrage conteneur Propriétés simples (String, int,...) Propriétés de type collection (, ) Méthodes d injection (setter, constructeur) 48

Auto-câblage (Autowiring) byname, bytype Optimisation : autowiring annotation (context:annotation-config) Optimisation : auto-découverte (context:component-scan) Annotations @Component, @Service, @Controler Classe abstraite (abstract=true) Héritage (parent=true) Programmation orientée aspect Notion clé : Interception Pointcut, Advice, JoinPoint Notion de Tissage, Tisseur Présentation framework AOP AspectJ Comparaison tisseurs Spring AOP / AspectJ Accès données JDBC Les classes de la couche d abstraction Mise en oeuvre design pattern DAO Classes fournies : JdbcTemplate, JdbcDaoSupport Gestion des exceptions : gamme d exceptions Spring Exécuter des requêtes de lecture, ecriture Annotation @Repository Gestion des transactions Concept de transaction Gérer les transactions avec Spring Transactions programmatiques Transactions déclaratives Annotation @TransactionManagement 49

Création d écrans web avec Spring MVC Cinématique d une requête Spring MVC : 6 étapes clés Configuration Spring MVC : 4 étapes clés Comprendre le DispatcherServlet Création de controleurs Spring MVC 3 Annotations @Controller Formulaires Spring MVC : balises clés Formulaires Spring MVC : validation (@Valid, jsr 303) Formulaires Spring MVC : conversion Formulaires Spring MVC : internationnalisation Intégration Spring/Hibernate Techniques d intégration Spring/Hibernate Dao hibernate v1 : basé sur HibernateTemplate, Dao hibernate v2 : basé sur HibernateDaoSupport Dao hibernate v2 : non Intrusif Externaliser transactions hibernate avec l AOP Gérer les exceptions Valeur ajoutée du duo Struts / Spring Quand mettre en oeuvre spring/struts? Faire d une action Struts un bean Spring Comprendre la classe DelegationActionProxy Injection ban service dans le controleur Spring Comparaison Struts / Spring MVC Spécification JAAS Sécurité déclarative / programmative Royaume de de sécurité (Realms) 4 questions : QUOI, COMMENT, QUI, OU Authentification par formulaire (FORM) Authentification par popup (BASIC) 50

Authentification par certificat (CLIENT-CERT) Configuration : coté client + coté serveur fichier web.xml : security-constraint Tomcat : fichier context.xml Jboss : fichier jboss-web.xml GlassFish : fichier sun-web.xml Tests avec Spring Tests unitaires : lien entre JUnit 4 et Spring Tests d intégration : chargement du conteneur! Trest transactionnels Mock Tests avec Mockito 51

Projet Final - Applications Métier Java EE Etude de cas «fil rouge» : ProxiBanque v4 Objectifs métier Permettre aux participants de mettre en œuvre tout ce qu ils ont appris au cours des sessions de formations précédentes en en finalisant le projet ProxiBanque. Savoir développer une architecture en couche à forte valeur ajoutée en privilégiant les interfaces. Apprendre à gérer les risques d un projet et faire des choix de conception adaptés au problème. Apprendre à effectuer des tests de validation. Réaliser un ou plusieurs rédactionnels de suivi de projet. Durée 4 jours Déroulement du module Les stagiaires travaillent en toute autonomie, en binômes. Ils sont libres d effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances. 52

Communiquer efficacement Objectifs métier Savoir improviser, accrocher, débattre, conquérir un public à l oral comme à l écrit Savoir se faire comprendre, faire partager ses idées et faire participer ses auditeurs Adapter son style à la variété des situations et des interlocuteurs Savoir faire passer un message clair et convaincre dans la communication ascendante et descendante Apprendre à mieux mobiliser par le verbe. Durée 2 jours Contenu de la formation Maîtriser la communication interpersonnelle Définition et schéma de la communication Communication verbale et non verbale Les phénomènes de prisme et d inférences L écoute active Le questionnement La communication assertive Se connaître pour mieux communiquer Structurer ses présentations Les différents types de réunions et d entretiens Fixer le cadre (Thème, objectif, plan) Préparation et suivi Encourager l écoute et la mémorisation Respecter le cycle d attention des adultes Utiliser les outils d animation pertinents 53

Faire une introduction efficace Réagir positivement en toutes circonstances (Gestion des incidents) Soigner la conclusion Renforcer l efficacité de ses entretiens en face-à-face Respecter les 6 étapes d un entretien Présenter efficacement ses idées (Modèles SCORE et DESC) Obtenir l adhésion de ses interlocuteurs (Modèle CAP) Rebondir face aux attitudes négatives Appliquer les règles de rédaction du contexte professionnel Réaliser des PowerPoint efficaces Respecter les règles de rédaction et de présentation d un rapport Rédiger des mails professionnels Lexique de vocabulaire complémentaire 54

Evaluation des acquis Objectifs métier : Validation des acquis individuels des stagiaires Durée : 1 jour Contenu de la formation : Présentation individuelle de sa participation au projet métier final. Présentation du parcours individuel dans cette POE Formations technique Formation aux méthodes Formation à la communication Analyse : des bénéfices des difficultés rencontrées et des préoccupations Propositions : de solutions possibles permettant de remédier aux difficultés rencontrées d amélioration pour l ensemble du cursus de professionnalisation propositions individuelles d amélioration Remise officielle d une attestation pour le suivi du cursus de formation 55