PROGRAMME DE FORMATION Cursus Développeur architecte JAVA - 50 jours. Avril - Juin 2013 Casablanca, Maroc. www.objis.com

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

Compte Rendu d intégration d application

Android 4 Les fondamentaux du développement d'applications Java

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

CQP Développeur Nouvelles Technologies (DNT)

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

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

JOnAS 5. Serveur d application d

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

Développement d applications professionnelles avec Android 2

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

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

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

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

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

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

Cours en ligne Développement Java pour le web

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)

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

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

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

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Formation en Logiciels Libres. Fiche d inscription

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

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

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Introduction à la plateforme J2EE

Mettez les évolutions technologiques au service de vos objectifs métier

Les nouvelles architectures des SI : Etat de l Art

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

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

F O R M A T I O N CATALOGUE

Patrons de Conception (Design Patterns)

Messagerie asynchrone et Services Web

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

30 ans d ingénierie, 23 ans de conseil en architecture de SI

Mise en œuvre des serveurs d application

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

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

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

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

JOnAS Day 5.1. Clustering

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

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

Formation Certifiante Scrum Master

Expert technique J2EE

Introduction aux «Services Web»

Programme ASI Développeur

les techniques d'extraction, les formulaires et intégration dans un site WEB

Catalogue Formations Jalios

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

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

TD/TP 1 Introduction au SDK d Android

JOnAS Day 5.1. Outils de développements

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

Business Process Modeling (BPM)

Le moteur de workflow JBPM

Projet de développement

GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework

Vulgarisation Java EE Java EE, c est quoi?

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

1 JBoss Entreprise Middleware

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

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

BPEL Orchestration de Web Services

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

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

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Projet de Java Enterprise Edition

Notre Catalogue des Formations IT / 2015

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Catalogue des Formations Techniques

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

SITE WEB E-COMMERCE ET VENTE A DISTANCE

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

Les fondamentaux du développement d applications Java

Java pour le Web. Cours Java - F. Michel

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

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

IBM WebSphere Application Server 5.0 : Administration avancée

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Description de la formation

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

Environnements de Développement

DotNet. Plan. Les outils de développement

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

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

Le 09 et 10 Décembre 09

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)

Introduction au Déploiement

Intégration de systèmes

Android. Présentation d Android. Florent Garin

Formation : WEbMaster

Transcription:

PROGRAMME DE FORMATION Cursus Développeur architecte JAVA - 50 Avril - Juin 2013 Casablanca, Maroc www.objis.com

Prêt pour des projets ambitieux. Dans la dynamique impulsée par JMaghreb 2012, Objis met son expertise technique et son savoir-faire pédagogique au service du Maroc à travers d une part le déploiement en 2013 d une série de formations de haut niveau destinées à des développeurs JAVA expérimentés (minimum 2 ans d expérience développement Java/J2ee), d autre part la participation à des journées d échange autour de thématique BPM/ SOA. Nous déployons du 4 avril au 28 juin au Maroc (Casablanca) un cursus de formation inédit en 12 modules. Avec Objis, prenez du recul. Augmentez individuellement et en équipe votre productivité dans la conception, le développement, le test, la maintenance évolutive, l architecture d applications web/mobile basés sur technologies Java & Javascript. D. MBIANDOU Président Objis France Sommaire Module 1 : Formation Conception UML (2j) Session 4-5 avril 3 Module 2 : Formation Architecture JAVA (5j) Session 8-12 avril 6 Module 3 : Formation Développement framework SPRING + JPA + JSF (5j) Session 15-19 avril 10 Module 4 : Formation Développement JPA HIBERNATE (3j) Session 22-24 avril 13 Module 5 : Formation Développement & Test WEB SERVICES / SOAPUI (5j) Session 6-10 mai 15 Module 6 : Formation Développement Mobile ANDROID (5j) Session 13-17 mai 18 Module 7 : Formation Développement framework ExtJS (5j) Session 20-24 mai 22 Module 8 : Formation Intégration continue avec MAVEN/ JENKINS/ SONAR (5j) Session 3-7 juin 25 Module 9 : Formation Sécurité Java (3j) Session 10-12 juin 28 Module 10 : Formation Performance Java (2j) Session 13-14 juin 30 Module 11 : Formation Administration JBOSS 7 (5j) Session 17-21 juin 33 Module 12 : Formation Architecture SOA (5j) Session 24-28 juin 36 www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 2

Formation UML 2 Pourquoi souscrire à cette formation? La connaissance du langage UML est devenue incontournable pour les équipes de maîtrise d ouvrage et maîtrise d oeuvre. Le développeur Java /.NET / PHP s appuiera par exemple sur des diagrammes de classes pour mener à bien sa réalisation. De même L analyste et le concepteur collaboreront pour réaliser les diagrammes les plus descriptifs de l activité métier. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 7-9/01 4-5/04 3-5/07 Casablanca Lyon Inter : 1890 Intra : 4900 Développeur JAVA 70 % OUI Vous allez apprendre à Comprendre le rôle d UML dans un projet informatique Identifier la valeur ajoutée d UML pour MOE et MOA Comprendre les spécification de l organisation OMG Documenter vos projets avec UML activité Capturer les besoins utilisateurs Lire les 13 diagrammes UML 2.4 Créer des diagrammes statiques www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 3

Formation UML 2 Introduction UML Se libérer d un langage de programmation Approche MDA Consortium OMG Role d UML dans un projet Différence Modèle / Processus Historique UML : unifier 3 méthodes UML pour un client UML mour un chef de projet UML pour un développeur (MOE) UML pour maîtrise d ouvrage (MOA) UML : un langage graphique pour documenter Extensions UML : stéréotype, profils, contraintes, etc. Les 13 diagrammes d UML 2 UML et langages Consortium OMG Approche MDA PIM, PSM Générateurs de code UML et processus agiles RUP (Ratinal Unified Process) XP (extrem Programming) SCRUM Approche Objet Objets : identité, état et comportement. Popularité, avantages de l Orienté Objet. Abstraction, encapsulation, classification. Classes et instances. Classes abstraites. Héritage. Interfaces Polymorphisme. Surcharge et redéfinition. Notations communes aux 13 diagrammes Commentaire Contraintes Stéréotype Libellé Diagramme de cas d utilisation Quand l utiliser? Use case et analyse détaillée Acteurs, Interactions Frontières du système Granularité Inclusions, Extensions Fiche détaillée Préconditions, postconditions Contraintes Chemin nominal Alternatives Exceptions Diagramme d activité Quand l utiliser? Lien avec use cases Etat initial Etat final transitions Actions flux d activité Diagramme de classe Quand l utiliser? Association, multiplicités, Rôles, Généralisation, Agrégation, composition Visibilité Interfaces Packages Diagramme de séquence Quand l utiliser? Notion de séquence Ligne de vie Acteurs Message synchrone Message asynchrone Diagramme de package Quand l utiliser? Organisation logique Organisation physique Organisation projet Diagramme d Objet Quand l utiliser? Photo des instances d objet Performances Valeur ajoutée www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 4

Formation UML 2 Diagramme de composants Quand l utiliser? Qu est ce qu un composant? Notion d artéfact Notation DLL, JAR Composant distribué Diagramme de déploiement Quand l utiliser? Notation serveur Notation Firewall Lien avec Composants Valeur ajoutée Diagramme de structure composite Quand l utiliser? Lien avec diagrammes composant Frontières internes et externes Interfaces Outils Fonctionalités clés Génération code / orm Reverse ingeniering Documentation Outil : Visual Paradigm Outil : Enterprise Architect Outil : ArgoUML www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 5

Architecture JAVA Entreprise JEE 5 Pourquoi souscrire à cette formation? Notre formation Architecture JAVA fournit aux développeurs Java expérimentés (4 à 6 ans exp) les connaissances théoriques et pratiques nécessaires pour pouvoir prétendre à un rôle d architecte ou leader technique dans un projet Java / JEE. Identifiez les différentes problématiques (sécurité, persistance, transactions, intégration, monitoring, haute disponibilité, présentation, service...) et solutions synchrones ou asynchrones d architecture technique associées. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 18-22/03 8-12/04 3-7/06 22-26/07 Casablanca Lyon Inter : 2950 Intra : 9500 Développeur JAVA 50 % OUI Planning détaillé Cette formation se déroule sur 5 Jours, répartis de la manière suivante : MATINée APRèS-MIDI LUNDI Problématiques Architecte JEE/SOA Spécification JEE Injection de dépendances Programmation orientée aspects MARDI Couche accès données Couche service asynchrone Couche service synchrone Couche présentation java www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 6

Architecture JAVA Entreprise JEE 5 MERCREDI Couche présentation javascript MATINée APRèS-MIDI Transactions Sécurité Sécurité JEUDI Test Monitoring Performance Haut disponibilité VENDREDI Intégation continue & méthodes agiles Intégation continue & méthodes agiles Intégration (SI) Bus de service Vous allez apprendre à Concevoir un socle technique Java/J2ee pour vos architectures en couche JEE Comprendre l injection de dépendances et les produits associés (spring/guice/weld) Comprendre la programmation aspects et les produits associés (springaop/aspectj) et certificats Choisir entre une couche service synchrone (WS/EJB/ Pojo) ou asynchrone (MOM) Mettre en oeuvre une architecture asynchone via Spring JMS / EJB3 Créer votre couche d accès aux données (SGBDR/NoS- QL) basée sur meilleures pratiques Faire le bon choix entre framework d intégration (camel/ spring integ) et ESB (Fuse/Mule) - - - Programmation Aspects Principes et valeur ajoutée Différences avec la POO Tisseurs : Spring AOP, AspectJ, Jboss AOP Tissage à la compilation Tissage à l exécution Tissage et serveur d application Mise en oeuvre Audit Injection de dépendances Présentation du concept Problèmes du couplage fort Notion de Reverse JNDI Role du conteneur léger Injection avec Spring Injection avec Google Guice Injection avec Weld @Autowire / @Inject www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 7

Architecture JAVA Entreprise JEE 5 Architecture en couche Valeur ajoutée : conception, maintenance Interfaces entre les couches couche Service : synchrone ou asynchrone Mise en oeuvre avec Spring Quel choix? pourquoi? Couche d accès aux données (DAO) Interfaces générique et classes Abstraites Persistence relationnelle (sgbdr) Persistence non relationnelle (NoSQL) Les 4 types de bases NoSQL Spécification JPA et Implémentations Spring Data : CRUDRepository Bonne pratique : Spring Data jpa Quel choix? pourquoi? Architecture JAVA JEE Spécifications JEE 6 et livrables Approche logicielle : architecture en couches Problématiques : sécurité + transactions Problématiques : haute disponibilité + performance Choix frameworks : innovations ou spécifications? Choix d intégration : synchrone ou asynchrone? Choix présentation : Java ou javascript? Rôle de l architecte MOE / MOA Gérer la gouvernance Couche Service synchrone Couche service synchrone avec POJO/RMI Couche service synchrone avec Hessian/Burlap Couche service avec EJB3 / Web Services Comprendre la différence WebService Soap/ Rest Comprendre l orchestration de Web Services Quel choix? pourquoi? Couche Service asynchrone Pensez MOM! Spécification et API JMS Fournisseurs de messages JMS : standalone ou dans serveur Jee? Couche service asynchrone avec EJB Message Couche service asynchrone avec Spring JMS Quel choix? pourquoi? Couche Client Clients web Java : lequel choisir : Spring MVC, JSF, Struts2, Wicket? Client JavaScript : lequel choisir : ExtJS, GWT, jquery? Les API de présentation (AWT, SWING, SWT) Problématiques déploiement d un client riche Java WebStart ou Eclipse RCP Web Services Web Service SOAP Web Services REST Analyse de trames Comparaison SOAP / REST Test de conformité d un Web Service Mise en oeuvre framework Apache CXF Gouvernance et qualité de service Orchestration de WS avec BPEL Les services techniques Java EE Annuaire JNDI : ressources DB, JMS, EJB, Middleware JMS Sécurité JAAS, Persistance JPA, Transaction JTA Transactions distribuées (2PC) EJB 3 Services offerts par le conteneur Opposition EJB / SPRING Bonnes pratiques EJB session EJB et Web Services XML Définition et utilisations Complémentarité avec Java Les API standards comme JAXP Comprendre JAXB, JAXP SAX, DOM, STAX Intégration basée sur flux XML www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 8

Architecture JAVA Entreprise JEE 5 Sécurité Fichier java.policy API JAAS : Realms Sécuriser les composants EJB Sécuriser les applications Web @Interceptor EJB @Secured Spring Filtres Spring Security Monitoring JMX Spécification JMX 3 couches Instrumentation MBean Server Client JMX jvisualvm Mise en oeuvre Performances JAVA Méthodologie de tuning Analyse performances Outils : jconsole, jvisualvm Fonctionnement mémoire Java Garbage Collector paramètres JAVA_OPTS Tests performance avec JMeter Lancement Builds Jenkins Plugins Jenkins Intégration Java / SI Présentation SOA / ESB Critères de choix d un ESB Frameworks d intégration = ESB light EIP Patterns : Camel ou Spring Intégration? Urbanisme et intégration SOA et Web Services Orchestration : BPEL Processus métiers et BAM Osgi Contexte d utilisation Spécifications Implémentation : Felix Moteur de services Création composant OSGI Fichier MANIFEST.MF Serveur Glassfish Apache Karaf Tests Tests fonctionnel web avec SELENIUM Tests unitaires avec JUnit / TESTNG Tests d intégration avec Spring Haute disponibilité Load balancing avec mod_jk Reprise sur incident (Fail over) Réplication de session Affinité de session (sticky session) Cache niveau 2 des Entités JPA Multicast IP / Jgroups Intégration continue Briques clés projet intégration continue Maven : Build projet multi modules Maven : les rapports qualité Déploiement dans Nexus (Snapshots/Releases) Installation et configuration Jenkins/Hudson www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 9

Formation SPRING + JPA + JSF 5 Pourquoi souscrire à cette formation? Avec la formation Spring Objis, créez une architecture en couche fiable pour vos projets de développement applications Java Jee. Mettez en oeuvre les techniques d injection de dépendances et de programmation aspects proposés par Spring. Créez des interfaces web avec Spring MVC. Sécurisez vos écrans avec Spring Security. Enfin, couplez Spring avec une couche persistance JPA ainsi que le framework JSF. Soyez prêt à intégrer ou prendre le leadership d un projet java jee basé sur Spring. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 17-21/12 4-8/02 8-12/04 15-19/04 3-7/06 Casablanca Inter : 2750 Intra : 8500 Développeur JAVA 70 % OUI Planning détaillé Cette formation se déroule sur 5 Jours, répartis de la manière suivante : MATINée APRèS-MIDI LUNDI Introduction spring injection de dépendance travaux pratiques travaux pratiques MARDI Optimisation de la configuration SPRING JDBC travaux pratiques travaux pratiques www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 10

Formation SPRING + JPA + JSF 5 MATINée APRèS-MIDI MERCREDI SPRING AOP transaction spring travaux pratiques spring + hibernate JEUDI spring mvc spring mvc travaux pratiques spring + struts² VENDREDI spring sécurité spring test travaux pratiques travaux pratiques Vous allez apprendre à Créer une architecture en couches avec JSF, Spring, hibernate. Mettre en oeuvre l injection de dépendances avec Spring Data Spring Optimiser le paramétrage du conteneur léger de Spring Mettre en oeuvre la programmation Aspect (Spring AOP et AspectJ) Logiciels utilisés : Spring 3.2, Spring MVC 3.x, Spring Security 3.1, SpringSource Tool Suite (STS) 3, Hibernate 4, Tomcat 6, JSF 2, Junit 4, MySQL 5.1. Spring 3 : 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 Injection par setter Injection par constructeur Spring 3 : 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 www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 11

Formation SPRING + JPA + JSF 5 Spring 3 : paramétrage conteneur Propriétés simples (String, int,...) Propriétés de type collection (, ) Méthodes d injection (setter, constructeur) 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) Spring 3 : Programmation orientée aspect Notion clé : Interception Pointcut, Advice, JoinPoint Notion de Tissage, Tisseur Présentation framework AOP AspectJ Comparaison tisseurs Spring AOP / AspectJ Spring 3 : 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 Spring 3 : Gestion des transactions Concept de transaction Gérer les transactions avec Spring Transactions programmatiques Transactions déclaratives Annotation @TransactionManagement Spring 3 : 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 avec templates Tiles Spring 3 : intégration avec JSF Rappels JSF 2 : cycle de vie, facelets, @nnotations Faire d un Managed bean JSF un bean Spring ContextLoaderListener Injection bean service dans le controleur Spring Spring 3 : intégration Spring/JPA Hibernate Accéder aux bases de données relationnelles Accéder aux bases de NoSQL Lacunes des Daoa basés sur Template / Dao- Support. Bonne pratique : Spring data JPA Spring data : pagination, tri Spring Data : CRUDRepository Gérer les exceptions Tests avec Spring Tests unitaires : lien entre JUnit 4 et Spring Tests d intégration : chargement du conteneur! Trest transactionnels Mock Tests avec Mockito Sécurité j2ee avec Spring Security 3 Spécification JAAS : Authentification & Autorisation Sécurité déclarative / programmative Royaume de de sécurité (Realms) 4 questions : QUOI, COMMENT, QUI, OU Fichier web.xml : balise security-constraint Fichiers context.xml, jboss-web.xml, sun-web. xml Comprendre les filtres Spring Security Personnalisation et Paramétrage de filtres (ex : formulaire, cookies, session) www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 12

Formation JPA Hibernate 3 Pourquoi souscrire à cette formation? Avec la formation Hibernate Objis, développez les compétences clés et les réflexes permettant d intégrer un projet impliquant Hibernate comme fournisseur de persistance JPA (Java Persistence API). Maîtrisez aussi bien XML que les annotations pour la configuration de vos mappings Objet / Relationnels. Les nombreux travaux pratiques de cette formation JPA hibernate vous permettent d aborder sereinement les aspects statiques (configuration du mapping) et dynamiques (transactions, cache) d hibernate, ainsi que les architectures (couches DAO, Services) et Design patterns clés. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 28-30/01 Lyon 18-20/02 22-24/04 1-3/07 Casablanca Inter : 1890 Intra : 5800 Développeur JAVA 70 % OUI Vous allez apprendre à Comprendre la notion de mapping Objet/Relationnel Comprendre la différence entre JPA et Hibernate, Toplink, EclipseLink Rendre persistants vos objets avec Hibernate Utiliser le langage de requêtes HQL, JPAQL et l API Criteria Utiliser Hibernate avec une base de données existante Mettre en œuvre la boîte à outils hibernate : Hibernate Tools Intégrer Hibernate dans différentes architectures (Web et distribuées) Design Patterns hibernate Intégrer hibernate avec Struts Intégrer hibernate avec Spring Logiciels utilisés : SHibernate 3.6, EclipseLink 2, JDK 7, MySQL 5, Eclipse 3.7, Log4j 1.2, Tomcat 7, JSTL 1.2, WAMP 5 www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 13

Formation JPA Hibernate 3 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 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 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...) 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 Utilisation avancée d Hibernate Transactions Exceptions Gestion du cache Lazy-Loading www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 14

Formation web services : développement et test 5 Pourquoi souscrire à cette formation? Vous apprendrez durant cette formation Web services à concevoir, développer, tester, orchestrer, déployer et administrer des services Web et des clients de services Web modernes, basés sur SOAP ou dans un style REST. Comprenez la relation entre web service et architecture orientée services (SOA). Découvrez avec les spécifications WS-Addressing et WS-Security les éléments clés d une bonne gouvernance de web services. Testez, sécurisez, supervisez et améliorez la qualité de vos services. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 22-26/04 24-28/06 8-12/07 Casablanca Lyon Inter : 2750 Intra : 7800 Développeur JAVA 70 % OUI Vous allez apprendre à Développer, déployer et administrer des services Web JAX-WS et SAAJ Créer des clients de services Web avec JAX-WS Créer et déployer des services Web à partir de WSDL et à partir du code Développer des clients de service Web synchrones et asynchrones dans Java serveur par programme service) Logiciels utilisés : CXF 2, Axis 2, Tomcat 7, Jboss 5 www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 15

Formation web services : développement et test 5 Introduction : Architecture SOA et Web Services Synthèse : les 5 caractéristiques clés de SOA Méthodologie : les 7 briques clés d une architecture SOA Relation SOA / Web Services Technologies principales Web Services- : HTTP, XML, SOAP, WSDL, UDDI XML dans Java Syntaxe et espaces de nom XML Description de XML avec les schémas Conversion et déconversion de paramètres avec JAXB Personnalisation des liaisons XML-Java XML bien formé / XML valide Manipulation XML : SAX, DOM, StaX Messages SOAP Rôle de SOAP dans les services Web Structure des messages SOAP SOAP-ENV, Header, Body, Attachement Opération, messages et erreurs Interface avec WSDL Rôle de WSDL dans les Web Services Anatomie d un document WSDL : 5 sections clés Description du contrat / interfaces / opérations dans section porttype Comprendre les sections abstraites : messages, types Comprendre les sections concrètes : binding, services Spécification de l implémentation du service (service) Spécification du protocole d échange de messages (Binding) Gouvernance web services Gouvernance : brique N 2 d une architecture SOA Conformité avec les normes WSI (Web Service Interoperability) Intégration de proxies et d adaptateurs Mise en œuvre d une terminaison de service Web avec JAX-WS Personnalisation de services Web JAX-WS Déploiement d un fichier WAR de service Web Interception de trafic entre les services Web et les clients Optimisation de la transmission de messages Développement Web Services SOAP en Java 6 Méthodologie : créer WS à partir de WSDL (WSDL-first) ou à partir du code (code-first)? Comprendre l API de haut niveau JAX-WS : Java API for XML Web Services Comprendre l API de bas niveau SAAJ Valider la conformité de son WS avec les normes internationales WS-I Outils WS-I : outils : Analyzer, Monitor Création d intercepteurs (Handler) coté web service et coté client Optimisation de la transmission de messages avec MTOM Développement Web Services SOAP avec frameworks / IDE Valeur ajoutée d un framework Web Services Comparaison des frameworks : CXF, AXIS, METRO, Jboss WS Valider la conformité de son WS avec les normes internationales WS-I Outils WS-I : outils : Analyzer, Monitor Création de livrable Web Services WAR Création livrable Web Services type EJB Session (@Webservice) Création d intercepteurs (Handler) coté web service et coté client Assistants création et test de Web Services avec Eclipse et Netbeans Clients de services Web Accès à des services Web via leur WDSDL Création de fichiers sources clients à partir de WSDL Personnalisation des fichiers sources générés avec JAX-WS Conception et création de services et de clients de notification (one-way) Écriture de clients multithreadés Interception et modification de messages SOAP Requêtes asynchrones www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 16

Formation web services : développement et test 5 Orchestration avec BPEL Notion d orchestration WS Spécification BPEL BPEL et SOA Implémentations BPEL Balises BPEL clés Liens BPEL / BPMN SoapUI : Tests non fonctionnels Test conformité WS-I Tests WS-Addressing, WS-Security Test performance Test de charge Comparaison avec JMeter Approche REST Développement de services Web RESTful avec JAX-WS Caractéristiques clés : POJO annotés, HTTP, XML / JSON Créer de l interactivité du côté client Invoquer des services Web avec l API Dispatch Traitement des messages XML reçus Sécurité déléguée au transport Développement REST avec Framework Jersey et CXF Comparaison SOAP / REST Critère interopérabilité Critère- : transport Critère- : gouvernance Critère- : spécifications Critère- : sécurité SoapUI : introduction Besoin : tester web services Version Open Source Version Pro Périmètre Installation Configuration SoapUI : Tests fonctionnels TestCase TestStep Suite de test Assertions Propriétés www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 17

Formation ANDROID 5 Pourquoi souscrire à cette formation? Avec la formation ANDROID Objis, tirez parti des caractéristiques d Android, la plateforme Open source proposée par Google pour le développement d applications mobiles à forte valeur ajoutée. Comprenez les concepts clés et développez les reflexes vous permettant d être productif avec ANDROID. Découvrez en profondeur l architecture d ANDROID, les composants clés, les concepts d architecture clés, les outils clés. développez des interfaces ergonomiques et rapides. Testez et déployez vos applications sur différents terminaux mobiles Android! CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 13-17/05 8-12/10 Casablanca Inter : 2950 Intra : 8500 Développeur JAVA 70 % OUI Vous allez apprendre à Comprendre l architecture technique d ANDROID Maîtriser les concepts clés : Activity, Intent, Service, BroadCast Receiver, Content Provider Maîtriser la boîte à outil SDK Android Créer des interfaces utilisateur conviviales et interactives Travailler avec les contraintes du mobile (cpu, ram, dd...) Déployer Android sur différents périphériques et sur un émulateur Développer application pour Internet Logiciels utilisés : Android 4, Eclipse Juno. www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 18

Formation Android 5 Introduction ANDROID Un monde ouvert! Concurrents Architecture Android Android pour développeur Android pour constructeur Android et Java Android et C Android et Linux Boîte à outils SDK Android Plugin Eclipse ADT Virtual Device Manager SDK Manager Périphérique virtuel (AVD) Machine virtuelle Dalvik Dalvik Debug Monitoring Service (DDMS) Android Asset Packaging Tool (aapt) Création package (.apk) Android Debug Bridge (ADB) SQLite Traceview MkSdCard Dx ActivityCreator LayoutOpt Emulateur Compilation Conception Contraintes développement pour mobiles Développer pour Android Composants d une application Android Les 4 types d application Android Fichier et éditeur Manifest.xml Cycle de vie application Android Priorités des applications Etat des processus Ressources XML / Java Classe Application Activity : la classe Activity : le cycle de vie Interface utilisateur Fondamentaux Activity, View, View Group Views personalisées Widgets Android Layouts : Linearlayout, FrameLayout Layouts : RelativeLayout, TableLayout Gallery Ressources drawable Résolution Menus Balises dans Manifest.xml Optimisations Ecran d accueil Live Folders Recherche Quick Search Box Live WallPapers Boîtes de dialogue Classe Dialog Extensions classe Dialogs AlertDialog Activity à thème Dialog Toasts Intent Présentation Cas d utilisation Définition d un besoin Action et données d un Intent Types d action : VIEW, EDIT, DELETE, PICK... Constructeur Relation Intent / Activity Intent implicites Intent explicites Pending Intents Launch Intent Intent Filters Linkify Notifications BroadCast Receiver Présentation Cas d utilisation Services Présentation Cas d utilisation www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 19

Formation Android 5 Adapters Présentation Cas d utilisation Widgets Fichier Manifest Présentation Role Balise manifest Balise uses-sdk Balise uses-configuration Balise use-features Balise support-screen Balise application Balise provider Balise receiver Balise instrumentation Balise permission Balise intent-filter Ressources Répertoire res Externalisation ressources Ressources drawable Ressources layout Ressources strings Couleurs Dimensions Animations Menus Ressources dans code Référencement ressources Cycle de vie et état Cycle de vie d une activity Pile des activities Priorité Etats : Active, pause, stop, insactive Changement d état Cycles : complet, visible, actif Classe Activity ListActivity, MapActivity, TabActivity Persistance données Sauvegarde état Activity Sauvegarde choix utilisateur Shared Preferences Impact sur vitesse, efficité, robustesse Fichiers Internet Webkit Connection à Internet Flux de données WebView XmlPullParser Bande passante Cache Base de données SQlite Avantages SQlite Transactions Inconvénient SQlite Cursor Content Values CRUD Content provider Présentation Cas d utilisation Publication données Consommation de données Content :// Découplage appli/données Gestionnaire contacts Base médias Bases natives SQLiteOpenHelper SQLiteHelper Géolocalisation Géocodage avant / inverse Map Views Map activity Overlay Position Alertes Location Manager Location Provider Taches de fonds Création et démarrage services Priorités www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 20

Formation Android 5 Création threads Afficher Toasts Notification Manager Notifications continues Alarmes Multimedia Lecture fichiers audio, video Ressources Video View Media Recorder Intents audio / video Images EXIF Media Store Reconnaissance vocale Capteurs d orientation Vibreur Sécurité Sécurité Linux Sécurité Android Balise permissions du Manifest.xml Certificats Keystore Multithread Comprend Multitachge Android Communication ninter processus (IPC)DOM, Téléphonie et SMS Initier appel téléphoniques Etat téléphone, réseau, carte SIM Monitoring Envoi SMS, MMS Intents sms, mms SMS entrants Bluetooth Gérer périph. Bluetooth Mode de découverte Monitoring Réseau Monitorer connexion internet Préférences transfert données Tache de fond Wi-Fi Monitorer Wi-Fi Détails réseau Wi-Fi Configuration Wi-Fi Scanner points d accès Wi-Fi Capteurs Introduction Sensor Manager Monitoring capteurs Interprétation valeurs Compas, accéléromètre www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 21

Formation ExtJS 4 5 Pourquoi souscrire à cette formation? Initiez-vous efficacement au développement des interfaces ergonomiques et rapides basées sur le framework ExtJS 4. Maîtrisez en particulier les spécificités de la version 4 : l accès aux données et l approche architecture MVC, ainsi que les nouveautés liés au DataGrid Découvrez en profondeur l architecture d ExtJS, les composants clés, la gestion évènementielle, la manipulation DOM, les Templates, la création de formulaires évolués et les techniques d accès aux données avec GidPanel ExtJS. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 18-22/02 3-5/04 20-24/05 13-15/07 Casablanca Lyon Inter : 2750 Intra : 8500 Développeur JAVASCRIPT 70 % OUI Vous allez apprendre à Concevoir une application ExtJS 4 avec MVC : Model / Vue / Controlleur Maîtriser la couche d accès aux données : Model / proxy / store Manipuler plusieurs conteneurs : viewport, Panel, Window Manipuler plusieurs layouts : border, fit, hbox/vbox Maîtriser la notion d Objet config Extjs Maîtriser la gestion DOM ExtJS (Ext.get) Vous initier aux outils : SDKtools, Spket Logiciels utilisés : ExtJS 4.1.1, Sencha SDKTools 2, Plugin Eclipse Spket, Eclipse 3.7, JSLint, Notepad++, Firebug, Wamp 5. www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 22

Formation ExtJS 4 5 Introduction Plate forme Sencha : ExtJS + Sencha Touch Valeur ajoutée d ExtJS sur Yui, jquery, Gwt Installation & Documentation Application Hello ExtJS 4 Architecture ExtJS : 6 modules clés Intégration avec jquery, Yui, Prototype.js Internationalisation I18N Méthodologie création écrans Choix du conteneur : ViewPort, Windows, Panel, Body? Choix du Layout : Border, Fit, Hbox, Vbox? Choix des composants Insertion des composants (items) Création gestionnaires d évènement Association composant / gestionnaires Analyse classes Container, Component Architecture MVC Besoin : structurer l application Organisation répertoires & fichiers du projet Design pattern MVC Clés : name, appfolder, launch Controlleur : init, control, Vue : initcomponent Définition et méthodes Model ComponentQuery Création application ExtJS 4 MVC Objet config Comprendre la notation Valeurs par défaut Lisibilité Ordre paramètres Mise en oeuvre Objet Config Modèle de classe ExtJS 4 Instanciation : Ext.create Ext.define, Ext.require Gestion dépendances Mixins Clé config Création getters/setters Méthodes Statics Accès aux données Definir Model / Proxy / Store Model : associations, validation Proxy : client, server, reader, writer Store : filtre, tri, grouping La clé api de store Opérations CRUD HTML5 : webstorage, SessionStorage Composant GridPanel ExtJS 4 Clé store et columns Notion de features : SummaryFeatures Notion de plugins : RowEditorPlugin Gestion évènements Infinite Grid Manipulation DOM façon ExtJS 4 DOM bas niveau : document.getelementbyid DOM ExtJS : Ext.get, Ext.fly Type Ext.Element Effets spéciaux Habillage CSS dynamique Template ExtJS 4 Notion de template ExtJS Arbre DOM prédéfini Compilation template Notion de Template XTemplate Balise Tpl if, tpl for Gestion Evènement DOM façon ExtJS 4 Différences gestion évènements IE / Firefox Unification ExtJS gestion évènements Ext.util.Observable AddEvent, fireevent El.on, el.un Conteneur ExtJS 4 Modèle de composant ExtJS Différence entre composant et conteneur Notion de Conteneur Parent/enfant Panel, TabPanel, Viewport, Window xtype www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 23

Formation ExtJS 4 5 Layout ExtJS 4 Notion de Layout & valeur ajoutée Relation Conteneur / Layout BorderLayout, Layout accordéon Attributs : region, fit, strech Hbox, Vbox Gestion Evènements ExtJS 4 Ext.util.Observable El.on, el.un, addlistener, removelistener AddEvents, fireevents Scope Capture, bubble Composants ExtJS 4 Modèle de composant ExtJS Ext.Component Lazy rendering ComponentMgr RenderTo, applyto Cycle de vie Formulaires ExtJS 4 Validation champs Vtype Soumission formulaire Handler, listeners Chargement formulaire Thèmes ExtJS 4 Complexité et limites de CSS Saas : extension de CSS 3 Compass : framework Installation Ruby / Saas / Compass Création d un thème personalisé Mise en production Regrouper vos JS dans un seul fichier Compresser vos JS Gérer problèmes thème IE Outil : SDKTools Méthodologie Javascript : héritage Namespaces Ext.extend, Ext.reg Cycle de vie InitComponent(), onrender() Bonnes pratiques Création plugin ExtJS Différence Extension / Plugin Codage d un plugin ExtJS Utilisation d un Plugin ExtJS Attribut plugins Exemple de mise en oeuvre Glisser-Déposer Fondamentaux Drap&Drop ExtJS Classes ExtJS impliquées DDProxy Glisser-déposer de Widget Ext.Direct Concepts communication RPC Architecture Ext?Direct Router Exemple avec PHP Exemple avec JAVA Dessins et Graphes Création de graphes SVG, Canvas Store Mise oeuvre avec ExtJS3.3 / Flash Mise oeuvre avec ExtJS4 / Javascript Conception Namespace Arborescence Décomposition d écrans Segmentation Création composants ExtJS Valeur ajoutée Industrialisation www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 24

Formation intégration continue et méthodes agiles 5 Pourquoi souscrire à cette formation? Découvrez les meilleures techniques d automatisation de tâches récurrentes liées au développement d applications Java et les meilleurs outils de développement Agile, pour projets de toutes tailles. Automatisez vos builds et déploiements. Générez des rapports qualitatifs. Auditez le code source. Prévenez les bugs et la régression. Limitez les risques de dérive. Gérez les anomalies. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 23-27/01 3-7/06 Casablanca Inter : 2750 Intra : 8500 Développeur JAVA 70 % OUI Vous allez apprendre à Maîtriser les maillons d une chaîne d intégration continue développeurs Automatiser la construction de vos applications Tester vos applications en continue Mettre en place un tableau de bord de vos intégrations Générer des rapports liés à l activité de développement Logiciels utilisés : Subversion 1.6, Maven 3, Junit 4, Tomcat 6.20, Jenkins / Hudson, Nexus 2. www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 25

Formation intégration continue et méthodes agiles 5 Introduction Chaine d intégration continue les 7 étapes de mise en oeuvre intégration continue Role du serveur d Intégration continue La place des tests unitaires / intégration Historique Jenkins / Hudson Lequel choisir et quand : Jenkins OU Hudson? Maven pour de développeur Définition Comparaison Ant Conventions Installation Coordonnées Sections de pom.xml CréationProjet maven Plugin, goal, Mojo Phases maven Repository Plugin m2eclipse Plugin checkstyle Maven pour le chef de projet Projet multi-modules Héritage Composition Génération rapports Plugin jxr Plugin cobertura Plugin changelog Plugin pmd Plugin javadoc Plugin findbugs Plugin Sonar Repository d entreprise Définition Offre du marché Focus sur Nexus Proxy Livraisons Installation Intégration Serveur intégration continue Définition Avantages Positionnement Focus Hudson / Jenkins Rapports Build quotidiens Graphes Qualité Premiers pas Jenkins Préparer l environnement Installation rapide Configuration rapide Création premier Job Lancement premier Job Rapport Javadoc Rapport couverture de code Installation professionnelle de Jenkins Téléchargement et installation Configurer du serveur Installer Jenkins sous Linux Installer Jenkins sous Windows Installer Jenkins en tant que service Installer Jenkins derrier Apache Httpd Mémoire necessaire Répertoire USER_HOME/.jenkins Backup données Jenkins Upgrade Jenkins Configuration professionnelle de Jenkins Tableau de bord de la configuration Jenkins Configuration Variables d environnement Système Configuration Propriétés globales Configuration outils de build : Maven, Ant, Shell Configuration gestionnaire de source (Subversion, cvs) Configuration du serveur de mail Configuration du serveur proxy Les Jobs Notion de Job Jenkins Création d un job freestyle Configuration gestionnaire de source Les triggers Les étapes Actions post-build Lancement de build MAven Voir les résultats d un job www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 26

Formation intégration continue et méthodes agiles 5 Automatiser les tests Automatiser tests unitaires Automatiser tests d intégration Configurer les rapports de test dans Jenkins Afficher les résultats de test dans Jenkins Ignorer les tests Couverture de code Automatiser tests d acceptance Automatiser tests de performance avec JMeter Résoudre les problèmes de lenteur des tests Sécurité Authentification & Autorisation Activer la sécurité Jenkins Sécurité simple Realms : royaumes de de sécurités Audit de sécurité Jenkins Notification Introduction Notification mail Notification RSS Notification IRC Notification SMS Notification bruit Notification pda Qualité du code La qualité de code dans le processus de build Outils populaire : PMD, Checkstyle, FindBugs, CodeNarc Rapport outils qualité de code : plugin Violations Rapport sur la complexité du code Rapport sur les taches ouvertes (FIXME, TODO, ) Intégration avec l outil Sonar www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 27

Formation sécurité JAVA 3 Pourquoi souscrire à cette formation? Développez les compétences théoriques et pratiques clés, les méthodes et les réflexes qui vous permettront de concevoir et réaliser de bout en bout des applications Java en garantissant une sécurité optimale. Automatisez vos builds et déploiements. Générez des rapports qualitatifs. Auditez le code source. Prévenez les bugs et la régression. Limitez les risques de dérive. Gérez les anomalies. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 9-11/05 29-31/05 10-12/06 Lyon Casablanca Inter : 2150 Intra : 4800 Développeur JAVA 70 % OUI Vous allez apprendre à Contrôler les actions de tout code java sur votre système (fichier.policy) veur Comprendre l API d authentification et autorisation JAAS Mettre en oeuvre les API : JSSE et JCE sécurité Sécuriser l accès à vos écrans web JEE Sécuriser vos services web SOAP et REST Utiliser l outil keytool pour manipuler des certificats www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 28

Formation sécurité JAVA 3 Concepts théoriques clés Authentification Autorisation Confidentialité Intégrité Certificat numérique Cryptage symétrique Cryptage avec clé publique/privée Autorité de certification Annuaire d identité Attaques types Man in the Middle 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 Filtre Windows Keystore JKS, cacerts Sécurité déclarative : annotations Sécurité par programmation SSL Services apportés par SSL Chiffrement MD5, SHA DES, RSA Digest Signature, certificat Keytool Chainage API Java Secure Socket Extension (JSSE). Authentification X.509. TLS et SSL. Java Cryptography Extension (JCE). JEE : conteneur web Authentification et Autorisation Choix web.xml ou Annotations Security-constraint 7 méthodes pour le développeur Sécurité par programmation Bonnes pratiques gestion session HTTP Cookies, réécriture url, champs cachés Listeners, login, logout @ServletSecurity @HttpConstraint JEE : conteneur EJB Sécurité déclarative : annotations Choix XML / Annotations Sécurité par programmation Choix XML / Annotations @RunAs,DeclareRoles,@RolesAllowed, @DenyAll, @PermitAll... Intercepteurs AroundInvoke Web services Problématique JAX-WS Specs WS-* Handlers WS-Security WSS4j, XWSS SAML JEE : conteneur client Communication client lourd / EJB Application-client.xml. Handlers de sécurité IIOP Single Sign On Architecture Implémentations OpenSSO Annuaire d identité Serveurs JEE Bonnes pratiques Sécurité serveur JEE Focus sécurité serveur GlassFish Sécurité du système Spécificités Audit www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 29

Formation JAVA performance 2 Pourquoi souscrire à cette formation? Notre formation JAVA performance vous permettra d une part de mesurer les performances de vos applications Java/J2ee, d autre part de mettre en oeuvre des stratégies de tuning / optimisation de vos applications. Indispensable pour tout administrateur en charge d applications Java/J2ee stratégiques pour l entreprise, cette formation permettra aussi aux développeurs d identifier précisement les causes de problèmes de performance de mettre en oeuvre une stratégie impliquant toutes les étapes du cycle de vie applicatif : architecture, conception, développement, tests, pré-production, production. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 16-17/05 13-14/06 18-19/07 28-29/11 Casablanca Lyon Inter : 1890 Intra : 3950 Administrateurs Architectes 70 % OUI Vous allez apprendre à Mesurer les performances d une application JAVA / J2EE Réaliser l optimisation de la performance Mettre en oeuvre méthodologie de tuning Logiciels utilisés : Java Development Kit (JDK) 6, jvisualvm, VisualGC, Mat, jmap, jhat, jps, jstatd, Tomcat, Jboss, GlassFish, Netbeans, Eclipse TPTP. www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 30

Formation JAVA performance 2 Rappels J2EE Architecture et impact sur performance Services : JMX, JNDI, JTA, JDBC, Web, EJB Livrables : WAR, EAR, Jar Ejb, Jar client, RAR Fichiers web.xml, application.xml, ejb-jar.xml, application-client.xml, ra.xml Chargeur de classes (ClassLoader) Introduction Performance Java Définir la performance d une application Service Level Agreement (SLA) Critères de performance Temps de réponse Transactions par secondes Difficultés associés à l optimisation performances Méthodologie Tuning Tuning Matériel Tuning Os Tuning JVM Tuning Serveur d application Tuning Applicatif Monitoring avec JMX Spécification JMX Qu est ce qu un Mbean? Couche Instrumentation Couche Agent (MBean Server) Couche Client : connecteurs (RMI, HTTP, SNMP) Monitoring local / distant Fichier jmxremote.password Fichier jmxremote.access JMX pour l administrateur / le développeur Ouverture explicite d un port JMX par l administrateur Limiter l accès distant JMX à une seule machine Propriété système : -Dcom.sun.management. jmxremote Propriété système : -Dcom.sun.management. jmxremote.authenticate Propriété système : -Dcom.sun.management. jmxremote.ssl Propriété système : -Dcom.sun.management. jmxremote.authenticate Propriété système : -Dcom.sun.management. jmxremote.password.file Propriété système : -Dcom.sun.management. jmxremote.access.file Adaptation à Tomcat, Jboss, GlassFish Création d un Mbean par le développeur Outil : jvisualvm Jvisualvm dans JDK / en standalone Plugins MBeans et VisualGC Connection locale / distante Auto découverte Processus java (jps) Première Analyse rapide : cpu, heap, threads Instrumentation : Profiling Mémoire, profiling CPU Identifier fuites de mémoire (objets occupant le plus de place) Identifier goulots d étranglement (méthode occupant le plus de cycle cpu) Snapshots, Dump (HeapDump, ThreadDump) Mise en oeuvre avec JStatd + fichier policy Fichiers hprof Mesure & Instrumentation Mesure manuelle : System.currentTimeMillis() Mesures du Garbage Collector Verbosegc, GCViewer, visualgc Mesures de temps de d appels de méthode Profiling de création d objets Mesure de l allocation mémoire (young, old) Mesure communication client / serveur Djava.rmi.server.logCalls=true CheckList outils performance bas niveau Motitoring JMX : comprendre les MBeans Jconsole, JVisualVM Tuning applicatif Création d Objets Chaînes (Strings) Collections (tableau, vecteurs) Boucles, Switch, Recursivité Entrées/sorties fichier, réseau Multithread Complexité Utilisation Patterns Logs Tuning Serveur d application Tuning Pool de connexion Tuning Pool de thread www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 31

Formation JAVA performance 2 Tuning services J2EE (HTTP(S), JDBC, JMS, JPA) Tuning matériel Tuning carte réseau Tuning mémoire Tuning cpu Tuning conteneur Web Tuning JSP Tuning Servlets Tuning conteneur Ejb Tuning EJB Tuning JVM Comprendre le fonctionnement mémoire Young, old, PermGen, Survivor space Choix -Xmx, -Xms en fonction RAM Choix PermSize, MaxPermSize Choix -client / -server Ratios Young/old Paramètres GC Simuler et analyser fuites mémoire Outil VisualGC Exploitation des résultats www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 32

Formation JBOSS 7 5 Pourquoi souscrire à cette formation? Maîtrisez l administration du serveur JBOSS 7 : installation, configuration, déploiement d applications, sécurité, haute disponibilité, monitoring, Tuning. Comprenez la toute nouvelle architecture de JBOSS, basée sur OsGI. Comprenez la notion de profile, ainsi que les configurations en standalone et en domain. En particulier, comprenez comment l administration est facilitée grâce à la notion de domaine ainsi qu avec la nouvelle interface web d administration. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 22-26/04 17-21/06 Casablanca Inter : 2750 Intra : 7850 Administrateur Exploitation 70 % OUI Vous allez apprendre à Maîtriser l installation de JBOSS 7 (standalone, domain) Comprendre la nouvelle architecture basée sur modules OsGI Comprendre l impact migration Jboss 5 vers Jboss 7 Maîtriser l intégration avec votre base de données Configurer un pool de connexions et pool de threads JAAS cation - www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 33

Formation JBOSS 7 5 Vous allez apprendre à Mettre en œuvre le custering et la haute disponibilité Mettre en œuvre une véritable stratégie de tuning Déployer des services web Paramétrer la JVM Logiciels utilisés : JBOSS 7.1.1, Apache 2.2, mod_jk 1.2,30, Ant 1.7.1, Log4j 1.2.14, Postgresql 5, jvisualvm, Glassbox, HermesJms DéConcepts techniques clés Jboss 7 Technologie OSGI : présentation Technologie OSGI : role du MANIFEST.MF Isolation des Classloaders Programation Orentée Aspect (POA) Java Management Extension (JMX / MBEAN) Rappels clés Java/J2ee Points forts JAVA : portabilité, réseau, sécurité, mémoire J2EE : Architecture, conteneurs, services Conteneur web / Conteneur EJB Service JEE : JTA, JCA, JPA, JAAS, JMS, Annuaire d objets : service JNDI Livrables, war, ear, jar, rar, sar Comparaison serveurs J2EE Interfaces / Implémentations J2EE Comprendre les frameworks L offre Jboss de RedHat : JEMS Historique et positionnement Jboss L offre Jboss pour l entreprise : JEMS Produits : JEAP, JDS, JPP, JON, SOA, Metamatrix Licence Jboss Les niveaux de support RedHat Installation / démarrage / arrêt Jboss 7 Installation manuelle (zip) Répertoires clés : bin, modules, domain, standalone, logs Démarrage : standalone.bat/standalone.sh ou domain.bat/domain.sh Test démarrage : http://localhost:8080 Création utilisateur pour CLI avec script add-user Connexion port administration natif 9999 CLI avec script jboss-cli.bat Connexion port administration web 9990 CLI avec script jboss-cli.bat Désinstallation Domaine Jboss 7 Notion administrative de domaine jboss 7 Objectif : centralisation de l administration plusieurs instances Analyse fichiers clés : host.xml et domain.xml Controleur de domaine Mâitre / esclave : balise domain-controller Création d un domaine jboss 7 Création d un groupe de serveur Configuration JVM par server/groupe/host Royaume de sécurité associés aux domaines Déploiement d applications sous JBOSS 7 Stratégies de déploiement : manuel, CLI, console web Standalone : déploiement manuel (Répertoire, fichiers.dodeploy,.doskip) Standalone : déploiement automatique dans deployments Domaine : déploiement CLI ou console web CLI : commande deploy Console web : manage deployments Déploiement WAR, EAR, JArs EJB, RAR, SAR Visibilité des classes, scoping Notion de root-context, page d accueil www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 34

Formation JBOSS 7 5 Intégration base de données Installation driver sous forme de module jboss 7 Configuration section datasource de domain. xml/standalone.xml Déploiement DataSource via CLI ou console web Atout et Paramétrage Pool de connexion Monitoring pool de connexion via CLI Monitoring pool de connexion via console web Gestion des Logs Stratégie de Log de JBoss 7 : extension de JUL Extension Logging de Jboss 7 Répertoire Log master : fichier process.log et host.log Répertoire log des instances : server.log, boot.log Déployer une application possédant son propre log4j.properties ou log4j.xml Isolation du lo4j de Jboss Fichier : MANIFEST.MF, jboss-subsystem-deployment.xml Présentation Log4j : Appender, Caterory, Layout, Logger Niveaux de log : TRACE, DEBUG, INFO, WARN, ERROR Création de logs pour chaque application Sécuriser les applications 3 niveaux de sécurité Notion de Domaine de Sécurité JAAS : Authentification et autorisation utilisateurs Notion de Login Module Sécurité conteneu web : web.xml, jboss-web.xml, Sécurité conteneur EJB Annotations @SecurityDomain, @RolesAllowed Sécurisation sécurité de la web console Sécurité via HTTPS / SSL Intégration Jboss, Tomcat, Apache HTTPD Valeur ajoutée de l intégration Architecture horizontale, verticale Exécuter des requêtes de lecture Exécuter des requêtes d écriture Récupérer les valeurs des auto-incréments Conteneur web : JBoss Web Comparaison avec Tomcat Serveur statique : coyotte Serveur dynamique : catalina Hotes virtuels Connecteurs http: port 8080, Connecteur AJP : port 8009, Connecteur https: port 8443 Transalation de ports Paramétrage pool de threads http Load Balancing Principes répartition de charge Avantage couplage Apache HTTPD + Jboss Limites de Coyotte Notion d affinité de session Connecteur AJP Technique N 1 : mod_jk Technique N 2 : mod_proxy Technique N 3 : mod_cluster Clustering : reprise sur incident Clustering horizontal / vertical Reprise sur incident Réplication de session HTTP Réplication des entités JPA Réplication des EJB Sessions Stateful Haute disponibilité Multicast IP avec Jgroups Cache avec Infinispan Tuning Stratégie de Tuning Tuning matériel Tuning OS Analyse gestion mémoire Paramètres JAVA_OPTS Tuning JVM Tuning JBoss Tuning Applications Boîte à outils Messages asynchrones Rappel API JMS JBoss Message client/server Service de Message Queues, Topics Déploiement Sécurisation EJB3 MDB Web Services Rappel définition et API Web Services Service Web services de Jboss Interface d administration Wsconsume,wsprovide,wsrunclient,wstools Déploiement, analyse. www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 35

Formation Architecture SOA 5 Pourquoi souscrire à cette formation? Identifiez et choisissez les briques nécessaires à tout projet SOA ambitieux : Bus de service (ESB), processus métier (BPM), moteur d évènements complexe (CEP), moteur de règle (BRE), composition de services (BPEL/SCA). Mesurez le caractère SOA d un projet avec notre pyramide SOA. Enfin, mettez en oeuvre une bonne gouvernance SOA alliant qualité de service, sécurité et intégrité transactionnelle. CALENDRIER DE FORMATION Dates LIEUX TariFs ( ) AUDIENCE PRATIQUE FINANCEMENT 25/02-01/03 8-12/04 24-28/06 15-19/07 7-11/10 Casablanca Lyon Inter : 2950 Intra : 8500 Développeur JAVA Pro 50 % OUI Planning détaillé Cette formation se déroule sur 5 Jours, répartis de la manière suivante : MATINée APRèS-MIDI LUNDI Introduction et caracteristiques Gouvernance services synchrones services Asynchrones MARDI Sécurtié Sécurtié Orchestration services Composition de services www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 36

Formation Architecture SOA 5 MATINée APRèS-MIDI MERCREDI Moteur de règles métiers Gestion règles métiers Intégration (si) BuS de service JEUDI BuS de service BuS de service processus métiers processus métiers VENDREDI évènements complexes monitoring activité métiers gestion décision synthèse-bilan Vous allez apprendre à Comprendre les 5 caractéristiques d une architecture SOA Comprendre le rôle et la valeur ajoutée d un Bus de service (ESB) WS-security Mettre en œuvre des patterns d intégration (EIP Patterns) Comprendre le rôle des processus métiers (BPM) dans SOA Comprendre le rôle d un moteur d évènements complexes (CEP) Comprendre les spécifications clés : WS-*, JBI, SCA Mettre en oeuvre un Bus de service JBI : ServiceMix 4, Fuse ESB, Mule ESB Introduction SOA Problématiques métiers Historique architectures Les limites de l EAI Interopérabilité standards ouverts 5 Caractéristiques SOA Contrat de service Transparence Granularité Composition Publication Les briques SOA Notion de Pyramide SOA Services bas niveau (EJB, WS) Annuaire (Registry) Messagerie (MOM) Bus de service (ESB) www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 37

Formation Architecture SOA 5 Moteur de règle (BRE/BRMS) Processus métiers (BPM) Flux d évènements (CEP) Moteur de règle (BRMS) Définition d un moteur de règle Rôle dans une architecture SOA Lien avec brique EDM et BAM Comparaison oteurs de règle Gestion de flux d évènement (CEP) Définition CEP (Complex Event Processing) Rôle dans une architecture SOA Comprendre le moteur CEP Open Source Esper Comprendre l offre d IBM, Logica, Microsoft, SoftWare AG, Progress, TIBCO Business Process Management (BPM) Notion de processus métier BPM et SOA BAM (Business Activity Monitoring) BMPN (Business Process Modeling Notation ) BPEL (Business Process Execution Langage) Comparaison produits : Jbpm, Bonita, Apache ODE, Intalio BPMS, WSO2 BPS Patterns d intégration Notion de patterns d intégration EAI Patterns : Recipient List, Aggregator, Chanel Implémentations Produits Open Source : Apache Camel, Spring Integration Annuaire de services Définition Rôle dans une architecture SOA Types d annuaires L échec d UDDI Comparaisons produits : OpenDS, Galaxy, WSO2 Registry Règles métier avec Drools Problématique Avantages et inconvénients moteur de règles Management de règles (BRMS) Mise en oeuvre Jboss Rules (Drools Expert) Misene oeuvre BRMS Drools Guvnor Langage DRL Intégration Spring Performances Concurrents Web Services Rappels XML et définition Web Services Interface WSDL : type rpc et type document Analyse de web services existants Interopérabilité : WS-I, WSIT, Tango Transparence de la localisation du web services : WS-Adressing Implémentation Java 6 et Spécifications JAX- WS, SAAJ Création web services Approches top-down et bottom-up Comparaison frameworks Axis, CXF, Metro, JBoss WS Bus de service / ESB Définition & Rôle ESB dans SOA les 7 services d un ESB Les Connecteurs Flux de messages Intégration moteur de règle Intégration moteur de processus métier Spécifications JBI et SCA Comparaison produits : ServiceMix, Synapse, Mule, Spring Integration Benchmark ESB : le classement de Forrester Aspects transverses Gouvernance SOA Qualité de service Sécurité Transactions Supervision Performance ESB servicemix Architecture et positionnement Routage intelligent avec camel Scénarios d intégrations simples et complexes Comprendre les Endpoints Intégration Apache ODE Intégration Drools www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 38

Formation Architecture SOA 5 Orchestration Web Services avec Ode Composition de web services Langage BPEL Comparaison BPEL, BPMN, jpdl Analyse fichier BPEL Suivi de scénario web service Monitoring Apache ODE Outil graphique : BPEL DEsigner Middleware MOM Architectures asynchrones Spécification JMS Intégration EJB : EJB Messages Intégration Spring : Spring JMS Comparaisons ActiveMQ, OpenMQ, JBossMQ Transformations de données Manipulation XML API SAX et DOM La révolution Stax XSLT, XQuery, XPath. ServiceUnit servicemix-saxon Sécurité SOA Problématiques Erreurs fréquentes Spécification WS-Security et WS-Trust Fédération d annuaires XML Encryption Spécification SAML Produits : OpenAM, Shibboleth www.objis.com +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com 39

Profitez de nos 200 tutoriaux en libre accès sur www.objis.com Consultés par 2000 personnes chaque jour, ils fournissent un aperçu de notre approche pédagogique et technique. Objis Centre d affaires Regus 72 rue du Faubourg St-Honoré 75008 +33 (0)1 40 07 81 28 +33 (0)9 58 40 67 02 contact@objis.com #objis www.objis.com