Développement logiciel, Java, JEE
Transcription
Développement logiciel, Java, JEE
Développement logiciel, Java, JEE Plébiscité par la communauté informatique, le langage Java est supporté par un outillage diversifié et de qualité. Cette richesse, associée à sa portabilité, en fait une technologie incontournable. Fruits de plus de 15 années d'expérience de formation Java, les cursus Orsys permettent d'atteindre tous les niveaux de spécialisation et couvrent tous les domaines d'application : le Web, les composants distribués, les terminaux mobiles, le temps réel. Ils s'appuient sur les méthodes les plus efficaces de modélisation, de tests, et d'optimisation comme sur les outils et frameworks les plus utilisés : Eclipse, JSF, Hibernate, Spring... Cycles certifiants Cycle certifiant Développeur d'applications Java .... p.4 (réf. KDJ) Formations mixtes tutorées Développer des sites Web avec Java EE Cycle certifiant Développeur JEE (réf. ACB) New Mixte tutoré (réf. KJE) .... p.6 .... p.8 Cycle certifiant Développeur Web en Java (réf. KWJ) .... p.10 Conception, architecture Conception d'applications Java/JEE, synthèse (réf. TEE) Concevoir une application Java/JEE avec UML 2 Frameworks Java/Java EE, état de l'art .... p.12 .... p.13 (réf. JAE) .... p.14 (réf. FJE) Les fondamentaux du langage Introduction à la programmation avec Java Initiation à la programmation Objet/Java L'essentiel de Java et de l'objet (réf. INJ) Best .... p.18 (réf. IPJ) Best (réf. LJO) Best .... p.16 .... p.20 Développer en Java, pour programmeurs C/C++ (réf. LJV) .... p.22 Java 8, découvrir par la pratique les nouveautés (réf. JVA) .... p.24 Bonnes pratiques en programmation Java (réf. BPJ) Maîtriser l'environnement Eclipse .... p.27 (réf. DEC) .... p.26 Test et performance Java, optimisation (réf. JOT) .... p.29 Performances des applications, mesures et améliorations Java, tests et qualité (réf. JTS) (réf. PFR) .... p.31 .... p.33 Outils de tests Open Source, choix et mise en oeuvre (réf. OUS) .... p.35 SoapUI Pro, automatiser les tests de vos services web Rest et SOAP Test Driven Development en Java/JEE (réf. RSO) New .... p.37 .... p.39 (réf. DDJ) Interfaces utilisateurs Swing, développement de clients riches en Java (réf. SWI) JavaFX 8, créer des interfaces graphiques riches Développer des plug-ins Eclipse et clients RCP (réf. FXA) (réf. PLU) Framework JSF 2, développer des applications Web Struts 2, développer des applications Web MVC .... p.41 .... p.43 .... p.45 (réf. JSF) (réf. SRB) .... p.47 .... p.49 ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 1 Développer une application Web 2.0/GWT Java EE, introduction pratique (réf. JIP) (réf. GWT) .... p.51 .... p.53 Java EE 7, conception et développement d'applications Web (réf. APJ) Best Java EE 6, développer des applications d'entreprise .... p.56 Java, développement de servlets et JSP Java/JEE, sécurité des applications (réf. JEF) .... p.58 (réf. JSP) Best (réf. JAS) .... p.54 .... p.60 Développer avec les frameworks Java/Java EE (réf. DFJ) Développer des EJB3 en Open Source (réf. JEB) .... p.64 JPA, persistance des données en Java (réf. JPA) .... p.66 Hibernate, mapping objet/relationnel (réf. HIB) .... p.68 Hibernate, mise en oeuvre avancée (réf. BER) .... p.70 .... p.62 Apache Hadoop, développer des applications pour le Big Data Spark, développer des applications pour le Big Data (réf. SPK) New Apache Storm, développer des applications pour le Big Data Data Clustering, organiser les données du Big Data Développer des applications de DataVisualisation .... p.74 (réf. ASB) (réf. DAU) New MapReduce et Aggregation Framework pour MongoDB .... p.72 (réf. APH) .... p.76 .... p.78 (réf. RAG) New .... p.80 .... p.81 (réf. DTV) New Framework Spring 3, développer des applications d'entreprise (réf. FSP) Framework Spring 4, développer des applications d'entreprise (réf. SDA) Best Framework Spring 4, mise en œuvre avancée (réf. SPD) .... p.83 .... p.85 .... p.87 Spring Integration, concevoir des solutions d’intégration d’applications d'entreprise p.88 (réf. SPR) New .... Techniques avancées Java, programmation avancée (réf. JAP) Best .... p.90 SOA, mise en œuvre en Open Source/Java (réf. SOD) .... p.92 Java OSGi, développement d'applications modulaires C/C++, programmer vos applications en Multicore (réf. OSG) (réf. MUC) .... p.94 .... p.96 Internet des objets, développer des applications connectées en Java (réf. IBO) .... p.98 Smartphones et tablettes Android, développer des applications pour mobiles Android, perfectionnement (réf. IOD) New (réf. AMA) Best .... p.100 .... p.102 Web Services Développer des Web Services en Java (réf. DSJ) Best .... p.104 Web Services RESTful, développement avancé en Java Web Services SOAP, développement avancé en Java (réf. WER) (réf. SEO) .... p.106 .... p.108 Cloud Google App Engine, développer une application Cloud en Java Amazon Web Services, architecture et mise en œuvre (réf. GOO) (réf. AMZ) Best .... p.109 .... p.110 Amazon Web Services, développer des applications Web "scalable" pour le Cloud ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 (réf. JCL) .... p.112 page 2 Déploiement et exploitation Maven, gérer le cycle de vie d'un projet (réf. MAV) .... p.114 Java/JEE, déployer et administrer vos applications Tomcat, administrer un serveur Web Java EE GlassFish, administrer un serveur Java EE (réf. JBA) JOnAS, administrer un serveur Java EE .... p.116 (réf. TOC) Best (réf. GLA) JBoss WildFly, administrer un serveur Java EE JBoss WildFly, haute disponibilité (réf. AJJ) .... p.117 .... p.119 (réf. JBO) Best .... p.121 .... p.123 (réf. JON) .... p.124 ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 3 Stage pratique de 15 jour(s) Réf : KDJ Participants Cycle certifiant Développeur d'applications Java certificat professionnel FFP > Développement logiciel > Java, JEE Développeurs, ingénieurs, consultants, chefs de projets proches du développement. Ce cycle intensif vous permettra d'acquérir la maîtrise approfondie du langage Java et de la programmation Objet. Vous verrez entre autres les principales librairies, comment les utiliser efficacement et apprendrez à mettre en œuvre une méthodologie d'optimisation pour améliorer les performances de vos applications. Pré-requis OBJECTIFS PEDAGOGIQUES Bonne expérience de la programmation avec un langage évolué. Le langage C serait un plus non négligeable. La connaissance des bases de la programmation orientée Objet n'est par contre pas nécessaire. Maîtriser la programmation Objet en Java Concevoir des interfaces graphiques Gérer des données Maîtriser la programmation concurrente Maîtriser la programmation des communications distantes Optimiser des applications Prix 2017 : 5360€ HT 1) La programmation Objet en Java 2) La conception d'interfaces graphiques 3) La gestion des données Dates des sessions Paris 13 mar. 2017, 15 mai 2017 3 juil. 2017, 11 sep. 2017 Composition du cycle - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, optimisation Réf : JOT, Durée : 4 j - Java, programmation avancée Réf : JAP, Durée : 5 j - Certification Développeur d'applications Java Réf : KDX, Durée : 1 j - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des EJB3 en Open Source Réf : JEB, Durée : 4 j - Certification Développeur JEE Réf : KJX, Durée : 1 j - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j 4) La programmation concurrente 5) La programmation des communications distantes 6) L'optimisation des applications Méthodes pédagogiques Le socle des apprentissages en développement Java est fondamental. Le stage correspondant, LJV, doit être suivi en premier. Les deux autres stages peuvent être suivis dans l'ordre de son choix. 1) La programmation Objet en Java - Les techniques Objet. Les principes généraux de la modélisation et de la programmation Objet. - Les éléments de base du langage Java. - La définition et l'instanciation des classes. Les champs, les méthodes, les constructeurs... - Les unités de compilation et packages. - Les différentes formes d'héritage. - Les interfaces et leur implémentation. Polymorphisme. L'extension. - Les classes abstraites. Travaux pratiques L'application des concepts à une étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. 2) La conception d'interfaces graphiques - La gestion des événements. Listeners et Adapters. - Les particularités de Swing. Le Web et les Applets. Travaux pratiques Construction de petites applications et d'une interface graphique pour l'étude de cas. Gestion du dialogue homme-machine via les événements. Mise en place d'une Applet. 3) La gestion des données - Les entrées/sorties et quelques classes utilitaires. - La connexion aux bases de données : JDBC. Travaux pratiques Lecture et écriture de données dans des fichiers. Sauvegarde et consultation de données dans une BD. - Java, développement de servlets et JSP 4) La programmation concurrente Réf : JSP, Durée : 5 j Réf : DSJ, Durée : 5 j - Les Threads. - Création et destruction. - Ordonnancement. - Synchronisation. - Certification Développeur Web en Java Travaux pratiques Construction d'une application concurrente avec synchronisation et résolution d'interblocage. - Développer des Web Services en Java Réf : KWX, Durée : 1 j 5) La programmation des communications distantes Dates d'examen 21 avril 17 26 juin 17 28 août 17 23 octobre 17 - La communication par socket. - La communication par invocation de méthodes distantes : RMI. - La communication par messages : JMS. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 4 29 décembre 17 Programmation de l'étude de cas : en mode client/serveur (séquentiel et concurrent), avec RMI, avec JMS. Modalités d’évaluation 6) L'optimisation des applications Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, une journée d’examen est mise en place. - Les éléments intervenant dans l'optimisation. - Quelques outils associés : Eclipse TPTP, JUnit. - Autres éléments à prendre en compte : l'environnement d'exécution ; les Design Patterns, les I/O, le multithreading. Travaux pratiques Utilisation des profilers HPROF et JMP. Utilisation de JUnit. Optimisation d'une application par une meilleure gestion des objets. Application de Design Patterns. Utilisation des Threads pour les IO. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 5 Mixte tutoré de 2 jour(s) Réf : JSB Développer des sites Web avec Java EE Prix 2017 : 1800€ HT > Développement logiciel > Java, JEE New Mixte tutoré Dates des sessions Paris 6 juin 2017, 9 oct. 2017 13 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. OBJECTIFS PEDAGOGIQUES Maîtriser l’architecture des applications JavaEE Développer des composants de contrôle et de navigation basés sur des servlets Mettre en place Spring sur les différentes couches d’une application n-tiers Développer des vues basées sur des JSP, des librairies de balises (taglib) Gérer l’accès à une base de données 1) 1. DISTANCIEL / E-LEARNING sur 4 semaines 2) 2. PRESENTIEL sur 2 jours 3) 3. DISTANCIEL / E-LEARNING sur 4 semaines 4) 4. BILAN 1) 1. DISTANCIEL / E-LEARNING sur 4 semaines Je fais un quiz - Evaluer mon niveau - Etablir une référence pour mesurer ma progression. Je me prépare, j’assimile les fondamentaux - Qu’est-ce que Java EE ? - Le modèle MVC, l’environnement de développement - leçon 20’ + quiz de 5 questions. - Comprendre les Servlets et les JSPs - Créer une Servlet, les inclusions, les Java - leçon 70’ + quiz de 10 questions. - Exercice : Développez votre propre calculatrice. - Des vues puissantes avec la JSTL - Qu’est-ce que la JSTL ? Les variables, conditions et boucles - leçon 30’ + quiz de 10 questions. - Développer une application web - Les formulaires avec Java EE, envoyer des fichiers, Gérer les sessions - leçon 50’+ quiz de 10 questions. Boite à outils - Fiches de synthèse sur les points clés de la formation à utiliser dans mon quotidien professionnel et des leçons complémentaires - Développer une application web et des formulaires avec Java EE, envoyer des fichiers, gérer les sessions. - Implémenter une base de données, travailler avec JDBC, lire et enregistrer des données en SQL. 2) 2. PRESENTIEL sur 2 jours Base de données relationnelle - Mise en place de la base de données et du pilote JDBC. - Connexion à la base, récupération d’informations, mise à jour de données. - Gestion des transactions. Utilisation d’un pool de connexions (DataSource). - Mapping BDR/Modèles objet (ORM) : objectifs, approches et outils Java. - JPA et les différentes solutions du marché (Hibernate...). - Exercice : évolution d’une application Web présentant des données d’un SGBDR. Spring MVC - Présentation du framework Spring MVC. - Configuration de l’application. - Mapping des url de requête sur les contrôleurs. - Configuration des ViewResolver, utilisation de JSP. - Exercice : Adaptation de l’application au modèle MVC. Sécurisation des applications Web - Authentification et autorisation. Sécurité et programmation de servlets. - Certificats numériques, SSL. Tomcat. - Exercice : Ajout de la sécurisation d’accès au site construit. Plan d’actions - Bilan des compétences acquises. - Plan de progrès individuel. 3) 3. DISTANCIEL / E-LEARNING sur 4 semaines Je complète ma formation selon mes objectifs - Développer une application web - Stocker les cookies, Quiz. - Utiliser une base de données - Utiliser le modèle DAO, gérer ses erreurs avec son DAO. - Exercice : Améliorer l’accessibilité avec un éditeur de sous-titres (programme de traduction de sous-titres) + Quiz. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 6 CAS PRATIQUE : Dès mon retour en entreprise je mets en application les connaissances acquises - le développement de site avec l’adaptation d’un site bancaire existant pour consulter ses comptes, catégoriser ses débits et crédits, obtenir des projections de soldes sur la fin du mois. CORRIGE TYPE / Je reçois un corrigé type avec des commentaires sur chaque ligne et bloc d’instructions. - Assimiler la solution de mon tuteur. - Comparer sa solution avec la mienne. 4) 4. BILAN - Je donne mon avis et j’évalue la formation. - Je teste mes connaissances et mesure ma progression. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 7 Stage pratique de 15 jour(s) Réf : KJE Participants Cycle certifiant Développeur JEE certificat professionnel FFP > Développement logiciel > Java, JEE Développeurs d'applications, ingénieurs, chefs de projets proches du développement. Ce cycle intensif qui vous permettra de découvrir les principes de la programmation Objet, la syntaxe et les bases utiles des langages. Vous apprendrez à développer des solutions Web professionnelles et des applications d'entreprise JEE avec les EJB. Pré-requis OBJECTIFS PEDAGOGIQUES Bonne expérience de la programmation avec un langage comme le C, le C+ + ou tout autre langage du même type. Il est important d'avoir également des bases en HTML. Le XML est un plus appréciable. Maîtriser les concepts objet Maîtriser le langage de programmation Java Développer des applications Web JEE à base de Servlet, de JSP et d’EJB 1) L'Objet en Java 2) Les packages Java 3) Le développement d'applications Web/JEE 4) Les compléments utiles 5) Le développement d'EJB 3 Prix 2017 : 5360€ HT Méthodes pédagogiques Dates des sessions Paris 13 mar. 2017, 15 mai 2017 3 juil. 2017, 11 sep. 2017 Composition du cycle Le socle des connaissances en développement Java est fondamental. Le stage correspondant, réf LJV, doit être le premier stage du cycle, suivi des stages JSP, puis EJB, dans cet ordre. 1) L'Objet en Java Réf : LJV, Durée : 5 j - Les principes de la programmation Objet. - Une introduction aux modèles et à la notation UML. - Les éléments de base du langage Java. - La définition de classe. - L'héritage, les interfaces et le polymorphisme. - Java, développement de servlets et JSP Travaux pratiques Prise en main de l'environnement de développement. - Développer en Java, pour programmeurs C/C++ Réf : JSP, Durée : 5 j - Développer des EJB3 en Open Source Réf : JEB, Durée : 4 j - Certification Développeur JEE Réf : KJX, Durée : 1 j - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j 2) Les packages Java - La conception d'interfaces graphiques. - La virtualisation des composants graphiques. - La gestion des événements. Les Listeners et Adapters. - Introduction à la programmation Web. Les Applets. - La connexion aux bases de données. Travaux pratiques Construction de petites applications avec IHM. - Java, développement de servlets et JSP 3) Le développement d'applications Web/JEE Réf : JSP, Durée : 5 j - Rappel sur le contexte des applications Web. - Serveur et client Web. Protocole HTTP. - La plateforme JEE. - L'environnement de développement et d'exploitation. - Les servlets et les pages JSP. Concepts. - La gestion de formulaires HTML. - Suivi de session. Les différentes méthodes. - Les Java Server Pages pour le développement Web. - Développer des Web Services en Java Réf : DSJ, Durée : 5 j - Certification Développeur Web en Java Réf : KWX, Durée : 1 j Dates d'examen 22 mai 17 25 septembre 17 04 décembre 17 Modalités d’évaluation Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, une journée d’examen est mise en place. Travaux pratiques Mise en place de l'environnement JEE/Eclipse/Tomcat. Développement d'une application Web mettant en œuvre servlets et JSP. Développement de librairies de balises. 4) Les compléments utiles - Accès aux bases de données. JDBC. Transaction. - Le Mapping Objet-relationnel. - Utilisation d'un framework MVC, introduction à Struts. Travaux pratiques Développement d'une application Web présentant des données d'un SGBDR. Adaptation de l'application au modèle MVC avec Struts. Ajout de la sécurisation d'accès. 5) Le développement d'EJB 3 - Les architectures à composants distribués et EJB 3. - Les serveurs d'applications JEE. Eléments constitutifs et fonctionnalités des serveurs. - Les serveurs d'applications Open Source Jboss et GlassFish. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 8 Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - La spécification EJB 3. Les EJB sessions, entités et message-driven. - Architecture : la classe Bean, les interfaces métiers, les annotations, le descripteur de déploiement XML optionnel. Travaux pratiques Mise en oeuvre d'EJB sessions et d'EJB entités. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 9 Stage pratique de 16 jour(s) Réf : KWJ Participants Développeurs, ingénieurs, chefs de projets proches du développement. Pré-requis Bonne expérience de programmation avec un langage comme le C, le C ++ ou un autre langage du même type. Il est important d'avoir également des bases en HTML. Le XML est un plus appréciable. Cycle certifiant Développeur Web en Java certificat professionnel FFP > Développement logiciel > Java, JEE Un cycle intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java pour développer des applications Web JEE et mettre en œuvre des Web Services. OBJECTIFS PEDAGOGIQUES Maîtriser les concepts objet Maîtriser le langage de programmation Java Savoir développer des applications Web JEE à base de Servlet, de JSP et de Web Services 1) L'Objet en Java 2) Les packages Java 3) Le développement d'applications Web/JEE 4) Les compléments utiles 5) Les Web Services Prix 2017 : 5480€ HT Méthodes pédagogiques Dates des sessions Le socle des connaissances en développement Java est fondamental. Le stage correspondant, réf LJV, doit être le premier stage du cycle, suivi des stages DSJ, puis JSP, dans cet ordre. Paris 13 mar. 2017, 15 mai 2017 3 juil. 2017, 11 sep. 2017 1) L'Objet en Java Composition du cycle - Les principes de la programmation Objet. - Une introduction aux modèles et à la notation UML. - Les éléments de base du langage Java. - La définition de classe. - L'héritage, les interfaces et le polymorphisme. - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des EJB3 en Open Source Réf : JEB, Durée : 4 j - Certification Développeur JEE Réf : KJX, Durée : 1 j - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des Web Services en Java Réf : DSJ, Durée : 5 j - Certification Développeur Web en Java Réf : KWX, Durée : 1 j Dates d'examen 27 février 17 21 avril 17 03 juillet 17 28 août 17 23 octobre 17 18 décembre 17 Modalités d’évaluation Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, Travaux pratiques Prise en main de l'environnement de développement. 2) Les packages Java - La conception d'interfaces graphiques. - La virtualisation des composants graphiques. - La gestion des événements. Les Listeners et Adapters. - Introduction à la programmation Web. Les Applets. - La connexion aux bases de données. Travaux pratiques Construction de petites applications avec IHM. 3) Le développement d'applications Web/JEE - Rappel sur le contexte des applications Web. - Serveur et client Web. Protocole HTTP. - La plateforme JEE. - L'environnement de développement et d'exploitation. - Les servlets et les pages JSP. Concepts. - La gestion de formulaires HTML. - Suivi de session. Les différentes méthodes. - Les Java Server Pages pour le développement Web. Travaux pratiques Mise en place de l'environnement JEE/Eclipse/Tomcat. Développement d'une application Web mettant en œuvre servlets et JSP. Développement de librairies de balises. 4) Les compléments utiles - Accès aux bases de données. JDBC. Transaction. - Le Mapping Objet-relationnel. - Utilisation d'un framework MVC, introduction à Struts. Travaux pratiques Développement d'une application Web présentant des données d'un SGBDR. Adaptation de l'application au modèle MVC avec Struts. Ajout de la sécurisation d'accès. 5) Les Web Services - Le rôle des Web Services. - Principales technologies (SOAP, WSDL, UDDI). - Architecture orientée service (SOA). - Rappel sur XML et les API Java. Echange de données. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 10 une journée d’examen est mise en place. - Créer et utiliser des Web Services avec les API JAX-WS, JAX-RS. - Signatures digitales XML, cryptage XML. Compétences du formateur Travaux pratiques Manipuler des données XML via les API SAX, DOM et JAXB. Programmation de Web Services avec les JAXWS et JAX-RW. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 11 Cours de synthèse de 2 jour(s) Réf : TEE Conception d'applications Java/JEE, synthèse Participants Ce séminaire vous propose une analyse complète et approfondie de la plate-forme JEE. Vous apprendrez à différencier les composants JEE et à les situer par rapport aux couches de présentation, de service, de gestion métier et de persistance. Vous verrez également les points clés pour mener à bien un projet JEE. Architectes techniques, chefs de projets JEE. Pré-requis Connaissances de base en technologies Objet et architectures multiniveaux. > Développement logiciel > Java, JEE OBJECTIFS PEDAGOGIQUES Découvrir la plate-forme Java EE Identifier les différentes couches d'une application Java EE Maîtriser les points clés pour mener à bien un projet Java EE. Reconnaître les principales plate-formes commerciales Java EE du marché Prix 2017 : 1730€ HT Dates des sessions Paris 23 mar. 2017, 8 juin 2017 5 oct. 2017, 7 déc. 2017 Modalités d’évaluation L’objectif de cette formation étant essentiellement de fournir une synthèse des méthodes et technologies existantes, il n’est pas nécessaire d’avoir recours à une évaluation des acquis. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction à Java et aux applications distribuées 2) Les clients de JEE et gestion de la présentation 3) Les conteneurs de composants JEE 4) Les services JEE 5) Développement d'une architecture distribuée en Java 6) Panorama des offres JEE du marché 1) Introduction à Java et aux applications distribuées - La plateforme Java et les machines virtuelles. - Comparaison avec les autres environnements. - Structure d'une application : le modèle MVC-2, notion de composant. - Les différentes couches d'une application, typologie des applications Java. - Panorama des technologies JEE. 2) Les clients de JEE et gestion de la présentation - Clients Web. Applets. Applications clientes " lourdes ", riches (RIA) et mobiles. - HTML et autres services de présentation, DOM, XHTML, Ajax. - Les servlets et le container Web. Les JSP, JavaBean, librairies de balises, CustomTag. Le framework Struts et JSF. 3) Les conteneurs de composants JEE - Rôles et apports : états, multithreading, pooling et réutilisation, etc. - Modèle de sécurité de JEE. Les transactions dans le JEE. - Le JNDI et l'accès aux ressources. - Paquetage de déploiement : modules Web, EJB, connecteur et clients. 4) Les services JEE - Les différents types d'EJB et leur rôle : Entity Bean, Session Bean et Message Driven Bean. - Gestion de la persistance. Principe du Mapping Objet/relationnel. JPA et ses implémentations : EJB entités, Hibernate... - Architecture orientée message. Le service de messagerie de Java : le JMS (Java Message Service). - XML, SOAP et les services Web. Les différentes API du JEE : JAX-WS et JAX-RS. 5) Développement d'une architecture distribuée en Java - Démarche d'analyse et de conception d'un projet JEE : l'approche orientée composant. - Règles de conception et Design Patterns. - Cycle de vie des projets JEE. - Mesure des performances d'une architecture multiniveaux distribuée. - La haute disponibilité, la tolérance aux pannes et les différents niveaux de Clustering. 6) Panorama des offres JEE du marché - Plateformes commerciales : IBM WebSphere, BEA WebLogic, Borland AppServer, Oracle AS, Sun One App Server. - Briques JEE libres : JBoss, Jonas, Apache Tomcat, Open JMS, Axis, etc. - Environnements et outils de développement : Eclipse, rôle de JUnit et d'Apache ANT dans le développement. - Rôles des AGL et des outils MDA. - Etudes et comparaison. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 12 Stage pratique de 5 jour(s) Réf : JAE Participants Toutes les personnes impliquées dans un projet JavaEE : architectes, analystes, concepteursdéveloppeurs, chefs de projets. Pré-requis Bonnes connaissances de la programmation Java et de la modélisation UML. Connaissances de base des concepts JEE. Expérience requise en développement d'applications Java. Concevoir une application Java/JEE avec UML 2 > Développement logiciel > Java, JEE OBJECTIFS Vous aborderez concrètement dans ce cours les différentes étapes de réalisation d'une application JavaEE, notamment la modélisation UML, la conception à l'aide des patterns Blueprints et la réalisation à l'aide de frameworks et serveurs courants. Les différents concepts sont illustrés à l'aide de travaux pratiques. 1) Rappels UML 2) Eléments techniques 3) La définition de l'architecture 4) Le niveau présentation 5) Le niveau Métier 6) La couche d'intégration et l'existant 7) Les Web Services Travaux pratiques Vous concevrez une application synthétisant les différents concepts. Elle se basera sur JSF, des POJO ou des EJB3, JPA ainsi que des Web Services. Prix 2017 : 2610€ HT Dates des sessions Paris 6 mar. 2017, 29 mai 2017 3 juil. 2017, 25 sep. 2017 27 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Rappels UML - Principes essentiels d'UML. - Le formalisme des diagrammes de cas d'utilisation, la notion de scénarios. - La notion de paquetage. - Les diagrammes de séquences, d'états-transitions, d'activités et concepts du diagramme de classes. 2) Eléments techniques - La plateforme JavaEE et les notions de confinement et de services techniques. - Le niveau présentation avec les servlets et pages JSP. Le framework JSF. - Le Web 2.0 et Ajax. - Le niveau métier avec les composants EJB. - La couche d'intégration et les services techniques. - Les services Web. - Les principes d'une architecture SOA et le concept d'orchestration. Présentation de BPEL. - La spécification JBI (Java Business Integration). 3) La définition de l'architecture - Les différents types d'architectures JavaEE. 4) Le niveau présentation - La modélisation des aspects statiques et dynamiques des servlets et JSP. - La modélisation de l'automate de navigation à l'aide du diagramme états/transitions. - La représentation UML des patterns #Blueprint spécifiques au niveau présentation. - Les particularités liées à l'emploi d'un framework de type Struts ou JSF. - Les patterns #Blueprint pour l'emploi d'Ajax. 5) Le niveau Métier - La modélisation des aspects statiques et dynamiques des composants EJB et Javabeans. - Représentation UML des patterns #Blueprint spécifiques au niveau métier : ValueObject, ServiceLocator, SessionFacade. 6) La couche d'intégration et l'existant - Les diagrammes adaptés à ce niveau. - La représentation d'une base de données ou d'une application externe. - La représentation UML des patterns #Blueprint spécifiques : DataAccessObject... - Les patterns liés à l'usage de Java Persistence API. 7) Les Web Services - La représentation d'un Web Service avec UML. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 13 Cours de synthèse de 2 jour(s) Réf : FJE Frameworks Java/Java EE, état de l'art Participants Ce séminaire vous permettra de découvrir les principaux frameworks Java EE. Vous apprendrez à choisir les plus utiles en fonction de vos besoins et comprendrez comment en tirer parti pour améliorer vos développements au niveau des différentes couches applicatives (présentation, service, persistance, métier). Chefs de projets, architectes, analystes, concepteursdéveloppeurs désirant comprendre les enjeux du développement d'applications dans l'écosystème Java. Pré-requis Connaissances de base en développement Java. Prix 2017 : 1730€ HT Dates des sessions Paris 2 mar. 2017, 22 juin 2017 21 sep. 2017, 9 nov. 2017 Modalités d’évaluation L’objectif de cette formation étant essentiellement de fournir une synthèse des méthodes et technologies existantes, il n’est pas nécessaire d’avoir recours à une évaluation des acquis. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. > Développement logiciel > Java, JEE OBJECTIFS PEDAGOGIQUES Découvrir l'architecture des applications Java EE Comprendre l'intérêt d'un serveur d'applications Découvrir les principaux Frameworks Java EE (présentation, service, persistance, métier) 1) Introduction 2) Avènement des conteneurs légers 3) Persistance des données, mapping objet relationnel 4) Le Web 5) Architectures distribuées et intégration au SI 6) Déploiement et serveurs d'applications 7) Les langages alternatifs Démonstration Un projet Java fil conducteur permettra d'illustrer les points du cours. Il sera validé par des tests unitaires puis déployé sous Glassfish. 1) Introduction - Les enjeux du développement d'application : découpage en composants, découpage en couches. - Que signifie "Java" ? Un langage, une machine virtuelle, des librairies, une spécification (Java EE). - Présentation de l'écosystème Java. - Emulation entre le standard Java EE et les frameworks alternatifs (Spring, Struts, Hibernate...). - Rôles : développeur, architecte, DBA, testeur... 2) Avènement des conteneurs légers - Le rôle d'un conteneur : gestion du cycle de vie des objets, injection, interception... - Les retours d'expériences des EJB 2.x et la montée en puissance du conteneur Spring. - L'intérêt d'un serveur d'applications. - L'approche POJO (Plain Old Java Objects). - Le retour en force des EJB avec Jaca EE5 (EJB 3.0) et Java EE6 (EJB 3.1.), comparaison avec Spring. - Vers une unification EJB/Spring ? - Les serveurs d'applications. 3) Persistance des données, mapping objet relationnel - Les différentes bases de données. - Le rôle d'un framework de mapping objet/relationnel. - La déferlante Hibernate. - La difficulté à maîtriser un framework de mapping objet/relationnel. D'Hibernate à JPA puis à JPA 2. - Quid du noSQL. 4) Le Web - L'offre historique : JSP/Servlet. - Les différentes approches : MVC, Composant. - Le standard JSF et les frameworks concurrents : Spring MVC, Struts 2... - Les frameworks JavaScript (Angular, Backbone...) et leur approche client/serveur. - Les servlets 3.0, Comet. - Les nouveaux protocoles d'HTML5 (WebSocket, SSE). 5) Architectures distribuées et intégration au SI - L'enjeu des transactions distribuées et le rôle d'un moniteur transactionnel. - Les Web Services : JAX-WS, JAX-RS (REST). - L'échange de message avec JMS. JCA. - Les ESB. Présentation de JBI à travers ServiceMix. 6) Déploiement et serveurs d'applications - Différents livrables pour différents types d'applications. - Comparaison : serveurs d'applications Java EE, conteneurs de servlets, serveur Spring. - La nouvelle donne posée par Java EE6 web profile. OSGI. - L'industrialisation du packaging et des déploiements. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 14 7) Les langages alternatifs - Support d'autres langages par la JVM. JSR 223 et 292. - Quels sont ces autres langages (Groovy, Ruby, Scala) ? - Couplage avec des programmes Java existants. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 15 Stage pratique de 3 jour(s) Réf : INJ Participants Toute personne devant apprendre à programmer. Pré-requis Aucune connaissance particulière. Prix 2017 : 1880€ HT Dates des sessions Paris 3 avr. 2017, 26 juin 2017 21 aoû. 2017, 23 oct. 2017 4 déc. 2017 Aix 2 mai 2017, 11 sep. 2017 18 déc. 2017 Bordeaux 9 mai 2017, 18 sep. 2017 11 déc. 2017 Introduction à la programmation avec Java Best > Développement logiciel > Java, JEE Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous acquerrez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests. OBJECTIFS PEDAGOGIQUES Structurer des programmes selon un algorithme Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme Compiler et exécuter un programme Déboguer et tester un programme Accéder à une base de données Comprendre les grands principes de la programmation orientée objet 1) Les fondements de la programmation 2) Genèse d'un premier programme 3) Règles de programmation 4) Les variables 5) Opérateurs et expressions Bruxelles 6) Les structures de contrôle 7) Les procédures et les fonctions 8) Introduction à la programmation objet 9) L'accès aux bases de données 10) Maintenance, débogage et test des programmes 13 mar. 2017, 19 juin 2017 4 sep. 2017, 11 déc. 2017 Travaux pratiques Geneve Ce stage contient plus de 60 % de travaux pratiques effectués selon les besoins en Visual Basic (cours réf INP), en Java (cours réf INJ), en C# (cours réf OGR) ou en Python (cours réf THO). 13 mar. 2017, 19 juin 2017 4 sep. 2017, 11 déc. 2017 Grenoble 9 mai 2017, 18 sep. 2017 11 déc. 2017 Lille 13 fév. 2017, 2 mai 2017 11 sep. 2017, 18 déc. 2017 Luxembourg 13 mar. 2017, 19 juin 2017 4 sep. 2017, 11 déc. 2017 Lyon 9 mai 2017, 18 sep. 2017 11 déc. 2017 Montpellier 2 mai 2017, 11 sep. 2017 18 déc. 2017 Nantes 2 mai 2017, 11 sep. 2017 18 déc. 2017 Rennes 2 mai 2017, 11 sep. 2017 18 déc. 2017 Sophia-antipolis 2 mai 2017, 11 sep. 2017 18 déc. 2017 Strasbourg 2 mai 2017, 11 sep. 2017 18 déc. 2017 Toulouse 9 mai 2017, 18 sep. 2017 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). 1) Les fondements de la programmation - Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour quelle application ? - Les compilateurs. Les exécutables. - Les responsabilités d'un programmeur. - Qu'est-ce qu'un algorithme ? - Les besoins auxquels répond un algorithme. - Le concept de pseudo-langage. Travaux pratiques Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d'un premier algorithme en pseudo-langage. 2) Genèse d'un premier programme - Ecriture d'un programme simple : syntaxe et instructions. - Compilation et exécution du programme. - Qu'est-ce qu'une librairie ? Son rôle, son usage. Travaux pratiques Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un premier programme. 3) Règles de programmation - Convention de nommage. - Convention syntaxique. - Utilisation des commentaires. Pourquoi commenter les développements ? - Améliorer la lisibilité des programmes : indentation du code, découpage du code... 4) Les variables - Qu'est-ce qu'une variable ? - Pourquoi typer une variable ? - Les types primitifs : entiers, chaînes de caractères, nombres réels, autres. - Déclaration, définition et initialisation d'une variable. - Les constantes. - Saisie, affichage, affectation, conversion de type. - Organiser ses données sous forme de tableaux. - Les types évolués : enregistrement, matrice, arbre. Travaux pratiques Ecriture de plusieurs programmes simples manipulant les variables. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 16 Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 5) Opérateurs et expressions - Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation). - Combinaison d'opérateurs. - Expression booléenne. Travaux pratiques Manipulation des opérateurs et des expressions booléennes. 6) Les structures de contrôle - Les sélections alternatives (si, si-alors-sinon, sélection cas). - Les blocs d'instructions (notion de Début... Fin). - Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à). - Imbrication des instructions. - Les commentaires. Travaux pratiques Utilisation des structures de contrôle pour implémenter un algorithme. 7) Les procédures et les fonctions - Définitions : procédure, fonction. - Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ? - Le passage de paramètres. - Le code retour d'une fonction. - Sensibilisation aux limites du passage de la valeur d'une variable. - Notion de passage par adresse. - Appel de fonctions. 8) Introduction à la programmation objet - Les concepts associés à la programmation objet : classe, attribut, méthode, argument. - La modélisation objet à partir des exigences fonctionnelles. - Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme. Travaux pratiques Illustration des concepts objets. 9) L'accès aux bases de données - Organisation et stockage des données. - Les traitements de base (connexion, requêtes, récupération des données). - Application cliente et serveur de données. - Affichage et manipulation des données dans l'application cliente. Travaux pratiques Création d'un formulaire de recherche d'informations dans une base de données. 10) Maintenance, débogage et test des programmes - Savoir lire et interpréter les différents messages d'erreurs. - Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant l'exécution. - Prévoir les tests unitaires. Travaux pratiques Utilisation d'un débogueur pour contrôler l'exécution des programmes. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 17 Stage pratique de 3 jour(s) Réf : IPJ Participants Initiation à la programmation Objet/Java Best > Développement logiciel > Java, JEE Chefs de projets voulant acquérir une vision précise des techniques employées par leurs collaborateurs ou sous-traitants. Développeurs traditionnels voulant évoluer vers l'objet. Ce stage aborde par la pratique l'intégralité des principes fondamentaux du développement objet. Il apporte aux participants une compréhension claire et solide leur permettant, selon leur besoin, de maîtriser les relations techniques avec leurs sous-traitants, d'encadrer en toute connaissance de cause leurs équipes de développement, ou même de mieux maîtriser la construction de spécifications fonctionnelles de type Objet. Il est aussi régulièrement utilisé comme un tremplin de reconversion vers le développement Objet. Pré-requis OBJECTIFS PEDAGOGIQUES Connaissances de base en programmation. Comprendre les principes fondateurs de l'Objet Appréhender la syntaxe du langage Java Maîtriser les échanges techniques avec des équipes de développement Maîtriser la construction de spécifications fonctionnelles de type Objet Prix 2017 : 1960€ HT Dates des sessions Paris 6 mar. 2017, 3 avr. 2017 9 mai 2017, 6 juin 2017 3 juil. 2017, 21 aoû. 2017 25 sep. 2017, 23 oct. 2017 27 nov. 2017, 18 déc. 2017 Aix 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bordeaux 24 avr. 2017, 26 juin 2017 9 oct. 2017, 4 déc. 2017 Bruxelles 27 mar. 2017, 26 juin 2017 25 sep. 2017, 18 déc. 2017 Geneve 27 mar. 2017, 26 juin 2017 25 sep. 2017, 18 déc. 2017 Grenoble 24 avr. 2017, 26 juin 2017 9 oct. 2017, 4 déc. 2017 Lille 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Luxembourg 27 mar. 2017, 26 juin 2017 25 sep. 2017, 18 déc. 2017 Lyon 24 avr. 2017, 26 juin 2017 9 oct. 2017, 4 déc. 2017 Montpellier 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Nantes 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Rennes 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Sophia-antipolis 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Strasbourg 28 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Toulouse 24 avr. 2017, 26 juin 2017 9 oct. 2017, 4 déc. 2017 Modalités d’évaluation 1) Présentation générale 2) Aspects syntaxiques, types et expressions 3) Méthodes et instructions 4) Utilisation de l'abstraction 5) Utilisation de l'héritage 6) Utilisation du mécanisme d'interface 7) Développement de classes 8) Développement d'interfaces 9) Développement de classes dérivées 10) Les exceptions 1) Présentation générale - Principes fondateurs de l'objet : abstraction/encapsulation. Héritage, mise en oeuvre. - Présentation générale : le langage, les outils, la bibliothèque. - Distributions de Java. 2) Aspects syntaxiques, types et expressions - Structuration syntaxique d'une application Java. - Exemple de syntaxe sur une application simplifiée. - Vue externe d'une classe : syntaxe d'utilisation. - Vue interne d'une classe : syntaxe d'implémentation. - Notion de type. Utilisation comparée des types de base et des types Objet. - Utilisation simple des types de base : les nombres entiers, les flottants, les types Char et Boolean. - Notion d'expression. - Exemples de déclarations : variables et constantes. - Désignation comparée des types de base et des types Objet. - Utilisation des opérateurs avec les objets. - Cas des champs static ou variables de classes. - Complément sur les types : utilisation de base des tableaux. - Conversion types de base/type objet. - Conventions d'écriture. 3) Méthodes et instructions - Syntaxe d'invocation des méthodes. - Méthodes de classes et méthodes d'instances. - Définition et utilisation des méthodes. - La surcharge des méthodes. - Notion de sous-bloc. - Catégories d'instructions. - Principales instructions de contrôle : if, while, for, return, break. 4) Utilisation de l'abstraction - Exemple simple d'utilisation d'un objet : déclaration, instanciation ou fabrication, délégation. - Utilisation des constructeurs d'objets : découverte de la documentation en ligne. - Utilisation de l'interface programmatique des objets : exemple de la classe Date. - Une classe très utilisée : la classe String. - Particularités liées aux chaînes de caractères. - Utilisation de la classe StringBuffer : exemple d'utilisation de la surcharge de méthodes. 5) Utilisation de l'héritage - Rappel du principe d'héritage et terminologie. - Utilisation de l'héritage. - Exemple de graphe d'héritage. - La classe Object et la généricité. - Utilisation du polymorphisme. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 18 L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Spécialisation d'une référence polymorphe. - Typage des références/typage des objets. - Comportement des méthodes et typage. - Généricité des classes conteneurs : exemple de la classe Vector. - Les ajouts de JAVA 5 (TIGER) : les generics. 6) Utilisation du mécanisme d'interface - Interface implicite et explicite d'une classe. - Syntaxe associée aux interfaces explicites. - Cas d'utilisation des références d'interfaces : flexibilité, limitation de la portée, polymorphisme. - Exemple d'implémentation multiple d'interfaces. - Synthèse sur l'intérêt des interfaces pour les méthodes. - Utilisation des interfaces pour les constantes. - Exemples avancés d'utilisation d'interfaces. 7) Développement de classes - Approche méthodologique, analyse statique, dynamique, métier. - Notation UML : diagramme de classe, d'état/transition, de séquence. - Squelette d'une classe : constituants de base, outils de génération automatique. - Compléments sur les droits d'accès. - Organisation en packages. - Contraintes liées aux packages. - Ecriture des constructeurs. - Constructeur par défaut. - Compléments sur l'écriture des constructeurs. - L'auto-référence "this". - Champs et méthodes statiques. - La méthode Main. 8) Développement d'interfaces - Rappels et compléments sur les principes. - Syntaxe associée aux interfaces, cas des constantes. - Définition d'interfaces pour les méthodes. - Implémentation et extensions multiples d'interfaces. - Implémentation partielle d'interface. - Exemples sur l'utilisation d'interfaces. 9) Développement de classes dérivées - Rappels des principes. - Approche méthodologique pour le découpage en classes. - Méthodes et classes abstraites. - Classes abstraites et interfaces. - Droit d'accès aux champs et héritage. - Enchaînement des constructeurs et héritage. - Redéfinition et surcharge. 10) Les exceptions - Principes et cinématique générale. - Détection, constat et notification d'une situation exceptionnelle. - Report d'une exception : Clause Throws de la signature, bloc Try/Catch. - Exceptions non vérifiées. - Exemple avec gestion d'exception. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 19 Stage pratique de 5 jour(s) Réf : LJO Participants Développeurs non confirmés, ingénieurs, chefs de projets proches du développement. Pré-requis Connaissances de base en programmation. Expérience souhaitable en développement d'applications. Prix 2017 : 2610€ HT Dates des sessions Paris 13 fév. 2017, 6 mar. 2017 10 avr. 2017, 15 mai 2017 12 juin 2017, 3 juil. 2017 21 aoû. 2017, 11 sep. 2017 16 oct. 2017, 20 nov. 2017 18 déc. 2017 Aix 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Bordeaux 6 mar. 2017, 26 juin 2017 11 sep. 2017, 13 nov. 2017 Bruxelles 6 mar. 2017, 19 juin 2017 18 sep. 2017, 18 déc. 2017 Geneve 6 mar. 2017, 19 juin 2017 18 sep. 2017, 18 déc. 2017 Grenoble 6 mar. 2017, 26 juin 2017 11 sep. 2017, 13 nov. 2017 Lille 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Luxembourg 6 mar. 2017, 19 juin 2017 18 sep. 2017, 18 déc. 2017 Lyon 6 mar. 2017, 26 juin 2017 11 sep. 2017, 13 nov. 2017 Montpellier 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Nantes 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Rennes 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Sophia-antipolis 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 Strasbourg 20 mar. 2017, 26 juin 2017 25 sep. 2017, 27 nov. 2017 L'essentiel de Java et de l'objet Best > Développement logiciel > Java, JEE Ce cours vous permettra de maîtriser les principes de l'approche Objet et les mécanismes du langage. Les constructions du langage seront progressivement introduites à partir des concepts fondamentaux. Le cours abordera aussi les problèmes de conception (via la notation UML) et présentera les principales librairies standards : les entrées/sorties, les utilitaires, les classes graphiques (AWT et Swing), les Applets. Ce cours vous présentera également les spécificités de Java 5. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les principes de la programmation orientée objet Maîtriser la syntaxe du langage Java Maîtriser les principales librairies standards Java Maîtriser un environnement de développement intégré pour programmer en Java 1) Les techniques Objet 2) Les constructions de base du langage 3) La définition et l'instanciation des classes 4) L'héritage Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques Objet - Les principes généraux de la modélisation et de la programmation Objet. - L'abstraction et l'encapsulation : les interfaces. - Les différentes formes d'héritage, le polymorphisme. - Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios. Travaux pratiques La spécification UML d'une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) Les constructions de base du langage - Les variables : déclaration et typage. - La définition des champs. - Les méthodes : définition. - Les expressions. - Les instructions de contrôle : les instructions conditionnelles, de boucle, de branchement. - Les tableaux. - Les types énumérés, l'autoboxing. - Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les imports statiques. Travaux pratiques Suite d'exercices simples permettant la prise en main de l'environnement de développement et la réalisation d'un programme simple. Utilisation des packages. 3) La définition et l'instanciation des classes - Les classes et les objets. - Les champs, les méthodes. - Les constructeurs. - L'autoréférence. - Les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. - Les aspects méthodologiques : la conception des classes. Toulouse Travaux pratiques Programmation de l'étude de cas. 6 mar. 2017, 26 juin 2017 11 sep. 2017, 13 nov. 2017 4) L'héritage Modalités d’évaluation 5) Les exceptions 6) La programmation des entrées/sorties 7) La programmation graphique 8) Quelques classes utilitaires - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. Le polymorphisme et sa mise en oeuvre. - L'extension. La définition des classes dérivées, les constructeurs, les références. Les aspects méthodologiques. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 20 L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - La construction de hiérarchies de classes. La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. Les classes abstraites. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. - La construction de hiérarchies de classes et d'interfaces. - La généricité. Travaux pratiques Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité dans l'étude de cas. 5) Les exceptions - Les blocs de Try, la génération des exceptions. - L'algorithme de sélection du catch(). - Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions. Travaux pratiques Introduction des exceptions dans l'étude de cas. 6) La programmation des entrées/sorties - La hiérarchie des classes d'entrée/sorties. - Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrées/sortie travaillant sur les flots de bytes, sur les flots de Char. - Les entrées/sorties clavier. Travaux pratiques Lecture/écriture dans des fichiers. 7) La programmation graphique - Les concepts de base : les principes de la visualisation et de la gestion des événements depuis jdk1.1. - La visualisation des composants graphiques : les conteneurs et les Layouts. - Quelques composants graphiques : labels, boutons, zones de texte. - La gestion des événements : les Listeners et Adapters. L'association de gestionnaires aux composants graphiques. Travaux pratiques Construction d'une IHM. 8) Quelques classes utilitaires - Les classes système. - Les classes de conteneur. Travaux pratiques Mise en oeuvre de classes utilitaires. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 21 Stage pratique de 5 jour(s) Réf : LJV Participants Concepteur, développeur, ingénieur, chef de projets opérationnel. Pré-requis Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Développer en Java, pour programmeurs C/C++ > Développement logiciel > Java, JEE Un cours intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java 5 dans l'application des principes de la programmation Objet. Vous utiliserez les librairies graphiques (AWT et Swing), les librairies d'entrées/sorties et d'accès aux bases de données (JDBC). Vous aborderez aussi les bases de la programmation Web et la programmation des Applets. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les principes de la programmation orientée objet Maîtriser la syntaxe du langage Java Maîtriser les principales librairies standards Java Maîtriser un environnement de développement intégré pour programmer en Java Prix 2017 : 2610€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) Paris 13 mar. 2017, 10 avr. 2017 15 mai 2017, 12 juin 2017 3 juil. 2017, 21 aoû. 2017 11 sep. 2017, 16 oct. 2017 20 nov. 2017, 18 déc. 2017 Aix 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 4) Introduction à la programmation Web : les applets 5) Les entrées/sorties et quelques classes utilitaires 6) La connexion aux bases de données : JDBC Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques Objet Bordeaux 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Bruxelles 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 - Les principes généraux de la modélisation et de la programmation Objet. - L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios. Geneve Travaux pratiques L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 2) La programmation objet avec Java Grenoble 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Lille 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Luxembourg 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 Lyon 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Montpellier 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Nantes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Rennes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Sophia-antipolis 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Strasbourg 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Toulouse 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 - Les bases de la syntaxe : variables, types, expressions, instructions, tableaux, structures de contrôle et autoboxing. - Définition et instanciation des classes. Les champs, les méthodes, les constructeurs, les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes. - Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. - Le polymorphisme et sa mise en oeuvre. - La construction de hiérarchies de classes. - La définition des classes dérivées, les constructeurs, les références. - La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. - Les classes abstraites. - Les types génériques. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. Travaux pratiques Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité. Introduction des exceptions. 3) La conception d'interfaces graphiques (AWT, Swing) - Concepts de base : principes de la visualisation et de la gestion des événements, quelques classes génériques. - Visualisation des composants graphiques. - Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout. - Construction de conteneurs hiérarchiques. - Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas. - La gestion des événements. Les Listeners et Adapters. - L'association de gestionnaires aux composants graphiques. - Les particularités de Swing. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 22 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas. 4) Introduction à la programmation Web : les applets - Les principes et les constituants du Web. - Les Applets : principes, cycle de vie, la classe Applet. - Intégration d'une Applet dans une page# HTML, le passage des paramètres, les problèmes de sécurité. Travaux pratiques Construction d'une Applet. 5) Les entrées/sorties et quelques classes utilitaires - Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier. - La sérialisation. - Les classes d'encapsulation des types. - Les classes système. - Les classes de conteneur. - Les classes d'observateur. 6) La connexion aux bases de données : JDBC - Le modèle de JDBC et les principes généraux. - Rappels de SQL. - Connexion à un SGBD. - Exécution des requêtes et traitement des réponses. - L'utilisation des requêtes précompilées. - Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité. Travaux pratiques Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 23 Stage pratique de 3 jour(s) Réf : JVA Participants Concepteurs, développeurs, responsables de projets Java. Pré-requis Pratique du développement Java, connaissance de Java 5, 6 ou 7 et des bases JavaScript. Java 8, découvrir par la pratique les nouveautés > Développement logiciel > Java, JEE Cette formation vous permettra d'appréhender et de pratiquer les nouveautés de la version 8 de Java. Vous découvrirez les expressions lambda et exploiterez les possibilités de la programmation fonctionnelle. Vous apprendrez à faire interagir du code JavaScript avec du code Java et découvrirez de nouvelles API. OBJECTIFS PEDAGOGIQUES Utiliser les expressions lambda Exploiter les possibilités de la programmation fonctionnelle Utiliser des codes JavaScript depuis Java 8 Connaître la nouvelle API de gestion des dates et du temps Prix 2017 : 1960€ HT Dates des sessions Paris 13 fév. 2017, 18 avr. 2017 6 juin 2017, 25 sep. 2017 27 nov. 2017 Aix 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Bordeaux 20 mar. 2017, 26 juin 2017 18 sep. 2017, 20 nov. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 18 sep. 2017, 4 déc. 2017 Geneve 13 mar. 2017, 12 juin 2017 18 sep. 2017, 4 déc. 2017 Grenoble 20 mar. 2017, 26 juin 2017 18 sep. 2017, 20 nov. 2017 Lille 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Luxembourg 13 mar. 2017, 12 juin 2017 18 sep. 2017, 4 déc. 2017 Lyon 20 mar. 2017, 26 juin 2017 18 sep. 2017, 20 nov. 2017 Montpellier 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Nantes 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Rennes 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Sophia-antipolis 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Strasbourg 27 mar. 2017, 29 mai 2017 2 oct. 2017, 4 déc. 2017 Toulouse 1) Synthèse des nouveautés de Java 8 2) Les expressions lambda 3) La programmation fonctionnelle avancée Travaux pratiques Des exercices et travaux pratiques permettront de mettre en œuvre les concepts abordés. 1) Synthèse des nouveautés de Java 8 - Vue d'ensemble des ajouts : 195 nouvelles entités (classes, interfaces...). - Les expressions lambda. - Ecrire du code SQL dans un code Java 8. - Les implémentations par défaut des interfaces et @FunctionalInterface, les nouvelles annotations. - Les évolutions des streams. - La nouvelle API de gestion des dates et des heures. - Les évolutions d'API de java.lang, java.util, java.net... - La possibilité d'exécuter du code JavaScript avec Java 8 Nashorn. Travaux pratiques Vérification de l'installation du JDK 8 (outils, javadoc...). 2) Les expressions lambda - Notion de classe anonyme imbriquée, améliorations apportées par le concept d'expression lambda. - Les aspects syntaxiques (déclaration, implémentation, passage de paramètres, portée des variables...). - Le concept de "foncteur" à travers les interfaces "fonctionnelles" et le package java.util.function. - Utiliser les lambda-expressions pour manipuler les collections. - Apports dans l'écriture de code SQL Les Listeners... Travaux pratiques Découverte des lambda-expressions. 3) La programmation fonctionnelle avancée - L'usage de @FunctionalInterface. - Les interfaces fonctionnelles fournies par le JDK 8. - Predicate, Function, Supplier, Consuler... - Références aux méthodes et aux constructeurs. Travaux pratiques Mise en œuvre d'aspects avancés. 4) Java 8 Nashorn - Du JavaScript au sein de Java ? De Rhino présent en Java 7 à Oracle Nashorn, moteur ECMAScript-262 de Java 8. - Utilisation de la ligne de commande jjs. - Appeler du code JavaScript depuis une application Java, soit directement soit à l'aide d'un fichier séparé .js. - Appeler du code Java depuis un script JavaScript. 20 mar. 2017, 26 juin 2017 18 sep. 2017, 20 nov. 2017 Travaux pratiques Appels de JavaScript depuis Java. Modalités d’évaluation 5) Nouvelle API Date et Time L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à 4) Java 8 Nashorn 5) Nouvelle API Date et Time 6) Autres nouveautés - Les difficultés engendrées par les API de Date et GregorianCalendar, l'alternative JodaTime et la JSR 310. - Les concepts de temps machine et temps humain, les principes de base de la nouvelle API. - La gestion du temps machine avec java.time.Instant et java.time.Duration. - Le temps humain avec java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 24 réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Utilisation de la nouvelle API de gestion des dates et temps. 6) Autres nouveautés - Les nouveaux streams. - Map-reduce. Travaux pratiques Mise en œuvre des nouveautés. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 25 Stage pratique de 3 jour(s) Réf : BPJ Participants Développeurs d'applications Java, architectes et chefs de projets. Bonnes pratiques en programmation Java > Développement logiciel > Java, JEE Cette formation traite des points particulièrement sensibles du langage Java et des API de la plate forme Java SE. Elle permet d'assimiler les bonnes pratiques du développement Java et d'acquérir les automatismes indispensables à la conception d'applications d'entreprises robustes. Pré-requis OBJECTIFS PEDAGOGIQUES Bonnes connaissances en programmation Java. Expérience requise en développement d'applications Java. Assimiler les bonnes pratiques du développement Java Découvrir les subtilités du langage Java et de sa plate forme Java SE Acquérir les automatismes indispensables à la conception d'applications d'entreprises robustes Prix 2017 : 1960€ HT 1) Subtilité du langage 2) Interfaces et génériques 3) Gestion de la mémoire Dates des sessions 4) La classe Object et quelques interfaces de base 5) Les collections 6) Bonnes pratiques de conception d'une application Paris 27 fév. 2017, 22 mai 2017 21 aoû. 2017, 23 oct. 2017 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Les points abordés sont mis en œuvre grâce à des exercices sous Eclipse. Tout exercice sera validé par l'écriture et le lancement de tests unitaires. 1) Subtilité du langage - Etude approfondie de tous les mots clés (final, static, throw, throws, volatile, native...). - Les niveaux de visibilité. - Les Initializers. - Les Classloader. Travaux pratiques Test du meilleur usage des mots clés, des niveaux de visibilité... 2) Interfaces et génériques - Interfaces. - Generics (y compris leur traitement par le compilateur). - Classe anonymes. - Inner Class. Travaux pratiques Utilisation d'interfaces et de generics. 3) Gestion de la mémoire - Compréhension du Garbage Collector. - Détection et résolution d'une fuite mémoire. Travaux pratiques Analyse mémoire, résolution de problème de fuite. 4) La classe Object et quelques interfaces de base - Etudes des méthodes de la classe Object (getClass, hashCode, equals, toString, wait, notify...). - Etudes des principales interfaces proposées par le framework (Comparable, Serializable...). Travaux pratiques Manipulation des méthodes de la classe dans des classes dérivées. Manipulation d'interfaces. 5) Les collections - L'interface collection et les principales implémentations (List, Set, Queue, Deque, Stack). - De la bonne utilisation au bon moment du bon type de collection. - L'interface Map et les différentes implémentations. Travaux pratiques Utilisation de collections, test et choix des bons objets. 6) Bonnes pratiques de conception d'une application - Découpage en couche. - Présentation des enjeux d'un développement d'entreprise. - Introduction à l'écosystème Java (JEE, Spring, Hibernate, Struts...). Travaux pratiques Réflexion sur la conception en couche. Démonstration de l'utilisation de frameworks. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 26 Stage pratique de 2 jour(s) Réf : DEC Participants Développeurs et chefs de projet. Pré-requis Connaissances de base du langage Java. Prix 2017 : 1440€ HT Dates des sessions Paris 9 mai 2017, 24 juil. 2017 4 sep. 2017, 9 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Maîtriser l'environnement Eclipse > Développement logiciel > Java, JEE Les outils mis à la disposition des développeurs Java. Les concepts généraux. Le JDT (l'IDE Java intégré), les fonctions d'édition, de compilation, de debug, de tests unitaires. Introduction à SVN et à Maven. Configuration d'Eclipse. OBJECTIFS PEDAGOGIQUES Prendre en main l'interface de développement Eclipse Mettre en œuvre des différents outils Eclipse pour développer des applications Java : édition, compilation, debug Configurer Eclipse pour qu'il corresponde à vos besoins de développement Mettre en place des tests unitaires avec JUnit Automatiser les tâches de construction d'une application Java avec Maven Gérer les versions d'une application Java avec SVN 1) Introduction 2) La programmation avec Java Development Toolkit 3) Le test unitaire : JUnit 4) Le debug 5) La gestion des versions : introduction à SVN 6) L'automatisation des tâches : Maven 7) La configuration d'Eclipse Travaux pratiques Mise en oeuvre des différents outils Eclipse dans le cadre du développement d'applications Java. 1) Introduction - Les objectifs et les principes d'Eclipse. - Les concepts de base : vue, éditeur, perspective, espace de travail, projet, répertoire, fichier, nature. - Le démarrage d'Eclipse. Fonctions d'aide. Gestion des vues et des perspectives. Gestion des ressources. - Fonctions de navigation, de recherche. Gestion des projets. Travaux pratiques Création de projets, manipulation générale de ressources... 2) La programmation avec Java Development Toolkit - Les principaux concepts. - L'organisation et l'édition de code. - Les mécanismes de complétion, de correction assistée. - Les fonctions de génération de code. Les fonctions de Refactoring. Lancement des programmes. Travaux pratiques Développement d'une application minimale faisant appel à l'ensemble des fonctions offertes par l'environnement. 3) Le test unitaire : JUnit - Les principes du test unitaire. - L'écriture des cas de tests et des suites des tests, exécution du test. Le lancement des tests. Travaux pratiques Mise en place de tests unitaires avec JUnit. 4) Le debug - La perspective Debugger dans Eclipse. - Les différents Breakpoints et Watchpoints. - L'inspection des variables ou expressions, la navigation dans la pile d'exécution. - Le contrôle de l'exécution. Le debug réparti. 5) La gestion des versions : introduction à SVN - Les concepts généraux liés à la gestion de versions. - Les concepts SVN : dépôt, projets, révisions, tronc, branches et tags. - Les principales opérations offertes au développeur. La gestion des conflits. - La gestion des branches. Les perspectives SVN proposées par les plug-ins Eclipse. Travaux pratiques Gestion des versions de l'application développée avec le plug-in SVN Subversive ou Subclipse. 6) L'automatisation des tâches : Maven - Définition de la structure d'un projet. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 27 - Les conventions. Les dépendances entre projets. Les tâches prédéfinies : compilation, génération d'archives... - Les perspectives Maven proposées par les plug-ins Eclipse. Travaux pratiques Build d'une application Web avec le plug-in Maven m2Eclipse ou q4e. 7) La configuration d'Eclipse - La gestion des préférences. La gestion des propriétés. - Les références entre projets. L'ajout de Plug-ins et Features. Le paramétrage d'Eclipse. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 28 Stage pratique de 4 jour(s) Réf : JOT Participants Développeurs, ingénieurs, chefs de projets proches du développement. Pré-requis Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2017 : 2440€ HT Dates des sessions Paris 28 fév. 2017, 9 mai 2017 5 sep. 2017, 28 nov. 2017 Aix Java, optimisation développer des applications efficaces et fiables > Développement logiciel > Java, JEE Vous découvrirez les spécificités de Java permettant d'améliorer les performances des applications. Vous étudierez l'optimisation de la JVM et du Garbage Collector, les bons usages de Java et de ses principales librairies. Vous verrez enfin les bonnes pratiques de conception au travers de quelques Design Patterns. OBJECTIFS PEDAGOGIQUES Optimiser le code Java d'une application pour en améliorer les performances Maîtriser les outils d'aide à l'optimisation Optimiser le fonctionnement de la machine virtuelle Optimiser l'utilisation des librairies standards Mettre en œuvre des Design Patterns significatifs 1) Méthodologie et outils pour l'optimisation 2) L'optimisation et le langage 3) L'optimisation et les librairies standard 4) L'optimisation et quelques Design Patterns 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Bordeaux 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Bruxelles 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 Geneve 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 Grenoble 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Lille 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Luxembourg 5) L'optimisation et les I/O 6) L'optimisation et le multithreading 7) L'optimisation et la gestion de la mémoire 8) L'optimisation et l'utilisation de librairies C et C++ 1) Méthodologie et outils pour l'optimisation - Les éléments impliqués dans l'optimisation. - Le choix d'un environnement d'exécution performant. - Les éléments de la méthodologie. - Outils de profiling et de visualisation de la mémoire. Outils de tests et d'aide (findBugs, CheckStyle...). - Le choix du compilateur et de la JVM. Travaux pratiques Utilisation des profilers hprof et jmp. Utilisation de JUnit. Profiling d'une application simple. 2) L'optimisation et le langage - Identifier les vraies sources d'inefficacité. - Connaître les bons usages qui les évitent. - L'optimisation et la gestion des objets, les évaluations, les tests. Travaux pratiques Démonstrations de l'amélioration des performances de l'application. 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 3) L'optimisation et les librairies standard Lyon - La manipulation des Strings. Les classes Collections. 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Travaux pratiques Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des Strings et des Collections. Montpellier 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 4) L'optimisation et quelques Design Patterns Nantes - L'utilisation des interfaces et des classes abstraites. - L'utilisation de fabriques. - L'utilisation d'adaptateurs, décorateurs, proxies. 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Rennes 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Sophia-antipolis 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Strasbourg 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Toulouse 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Modalités d’évaluation Travaux pratiques Design Patterns pour l'optimisation des applications. 5) L'optimisation et les I/O - Le choix des bonnes classes de Stream. - L'optimisation de la sérialisation. - L'optimisation spécifique aux IO réseaux. Travaux pratiques Amélioration des performances de l'application témoin par une meilleure gestion des IO. 6) L'optimisation et le multithreading - Le modèle d'activité de Java. - La synchronisation des threads. - L'optimisation des Threads. Travaux pratiques Démonstrations de l'optimisation des Threads. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 29 L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 7) L'optimisation et la gestion de la mémoire - Les principes généraux des GC (principaux algorithmes, collaboration avec l'allocateur). - L'organisation de la mémoire des principales JVM. - La saturation mémoire (cause, diagnostic, solutions). - Les évolutions Java6 : le Garbage Collector. Travaux pratiques Utilisation d'outils de visualisation de la mémoire, de l'activité du GC. 8) L'optimisation et l'utilisation de librairies C et C++ - Les principes généraux de JNI : les étapes du développement. L'API JNIEnv. JNI et les performances. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 30 Stage pratique de 3 jour(s) Réf : PFR Participants Testeurs, développeurs, exploitants d'applications Java EE et chefs de projet. Performances des applications, mesures et améliorations > Développement logiciel > Java, JEE Vous apprendrez dans ce cours à réaliser les mesures de performance associées à la montée en charge de vos applications. Au travers des plateformes de tests JMeter et HP LoadRunner, vous simulerez une montée en charge applicative et analyserez les mesures collectées en vue d'améliorer les performances constatées. Pré-requis OBJECTIFS PEDAGOGIQUES Connaissances de base de l'architecture Java EE et en tests logiciels. Tester la montée en charge de vos applications et en mesurer les performances Faire varier les paramètres d'exécution et interpréter les résultats Optimiser les performances de vos applications Prendre en main les plateformes de tests JMeter et HP LoadRunner Prix 2017 : 1960€ HT Dates des sessions Paris 27 mar. 2017, 29 mai 2017 16 oct. 2017, 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Qu'est-ce qu'une mesure de performance ? 2) A quelle phase du projet étudier les performances ? 3) Quoi mesurer et comment le faire ? 4) Prise en main de JMeter 5) Prise en main de HP LoadRunner 6) Comment améliorer les performances des applications ? 7) Conclusion Travaux pratiques Les travaux pratiques seront réalisés à partir des outils de tests de montée en charge JMeter 2.8 et HP LoadRunner 11.5. 1) Qu'est-ce qu'une mesure de performance ? - Critères de performance des applications : architecture, qualité du code, réglage serveurs, disponibilité réseau. - Performance et charge des applications. - Les facteurs aggravants. 2) A quelle phase du projet étudier les performances ? - Durant le développement : pour vérifier le comportement de l'application en accès simultanés et déboguer le code. - En fin de projet : pour régler les serveurs et optimiser les performances. 3) Quoi mesurer et comment le faire ? - L'activité du système. L'activité du réseau. - L'occupation mémoire. L'occupation du processeur. - Les moniteurs des serveurs Web, de composants et de bases de données. - Mettre en place la plateforme de test. Installer un outil de simulation de charge. Définir un protocole de mesures. - Conformer les plateformes de test et de production. - Simuler, mesurer, collecter. - Interpréter les mesures de charge et de performance. 4) Prise en main de JMeter - Installer et configurer JMeter. Créer des scripts. - Enregistrer des scripts à partir d'une navigation. - Montée en charge (configuration du proxy, simulation). - Collecte des données. Créer des scripts paramétrables. Travaux pratiques Installer et configurer JMeter. Tester la montée en charge d'une application. 5) Prise en main de HP LoadRunner - Installer et configurer LoadRunner. - Le générateur d'utilisateurs virtuels (VuGen). - Enregistrer un script Web. - Exécuter des scripts créés dans VuGen. - Créer, planifier et exécuter des tests de charge. - Les différents types de scénarii, leurs éléments. - Les moniteurs de performance. - Analyser les résultats, travailler avec les graphiques. Travaux pratiques Installer et configurer LoadRunner. Tester la montée en charge d'une application. 6) Comment améliorer les performances des applications ? ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 31 - Ordres SQL, MPD et réglages du SGBD. - Configuration et trafic sur le réseau. - Bon usage et réglage du serveur Web. - Bon usage et réglage du serveur de composants. - Le code, bonnes et mauvaises pratiques. - Qualité versus rapidité. 7) Conclusion - Anticiper les tests de montée en charge. - Veiller à la qualité du code. - Opérer un "Refactoring" régulier. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 32 Stage pratique de 3 jour(s) Réf : JTS Participants Développeurs Java/Java EE, responsables qualité et chefs de projets. Java, tests et qualité > Développement logiciel > Java, JEE La qualité des logiciels est devenue un enjeu primordial. Vous mettrez en œuvre des outils open source afin d'industrialiser vos développements et garantir cette qualité. Vous apprendrez à gérer les sources, la documentation, les anomalies et les évolutions d'une application ainsi que l'ensemble des tests associés. Pré-requis OBJECTIFS PEDAGOGIQUES Bonnes connaissances en programmation Java. Industrialiser le développement logiciel Gérer les sources d'un développement via un système centralisé ou décentralisé Gérer les anomalies et les évolutions fonctionnelles d'une application Mettre en place les normes de codage et la documentation d'un logiciel Mettre en œuvre différents types de tests (tests unitaires, fonctionnels, de robustesse et de performance) Automatiser des tâches définies Prix 2017 : 1960€ HT Dates des sessions Paris 10 avr. 2017, 19 juin 2017 11 sep. 2017, 6 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction générale 2) Gestion des sources 3) Outil de gestion des bugs, anomalies et évolutions fonctionnelles 4) Règles de codage et documentation 5) Tests 6) Procédures de livraison 7) Automatisation des tâches 8) Conclusion générale : mesures de la qualité 1) Introduction générale - Qu'est-ce que la qualité logicielle ? Pourquoi en faire ? Comment industrialiser le développement logiciel ? 2) Gestion des sources - Définition, intérêt dans l'organisation du travail, unicité de l'environnement de développement. Travaux pratiques Présentation des logiciels libres de gestion des sources CVS et/ou Subversion (SVN). 3) Outil de gestion des bugs, anomalies et évolutions fonctionnelles - Description fonctionnelle, intérêt pour les développeurs, les utilisateurs, les managers. - Définition et intérêt du tri des bugs, anomalies et évolutions fonctionnelles. Travaux pratiques Présentation des logiciels libres de gestion des bugs, anomalies et évolutions fonctionnelles Bugzilla et/ou Mantis. 4) Règles de codage et documentation - Intérêt (au-delà des oppositions de clans). Au-delà du style : règles d'organisation des fichiers... - Intérêt de la documentation, documentation du code et autre documentation (HOWTO...). Travaux pratiques Revue des recommandations et règles de codages de Sun. Présentation et paramétrage de CheckStyle. Exercices de documentation de code. 5) Tests - Pourquoi faire des tests ? - Présentation des différents types de tests : tests unitaires, fonctionnels, de robustesse et de performance. - Quels tests lancer et quand ? - Utilité des objets " Mock " et " Fake " durant les tests unitaires. Couverture des tests unitaires. Travaux pratiques Pratique des tests unitaires avec JUnit (logiciel libre) et d'autres outils. Présentation des tests fonctionnels avec les outils Mercury (logiciel commercial), HttpUnit (logiciel libre). 6) Procédures de livraison - Intérêt des procédures de livraison. Etapes classiques et non classiques (tests manuels, de robustesse). 7) Automatisation des tâches - Présentation de tâches devant être automatisées. Travaux pratiques Présentation et introduction à Ant (logiciel libre). 8) Conclusion générale : mesures de la qualité ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 33 - Synthèse des mesures qualité : convention de codage, documentation, couverture de tests, automatisation des procédures. - Mise en place d'un tableau de bord de la qualité. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 34 Stage pratique de 3 jour(s) Réf : OUS Participants Développeurs/testeurs, maîtres d'œuvre, homologateurs, maîtres d'ouvrage, ingénieurs qualité. Pré-requis Connaissances de base de l'ingénierie logicielle, du développement, des méthodes et des techniques de test. Prix 2017 : 1960€ HT Outils de tests Open Source, choix et mise en oeuvre > Développement logiciel > Java, JEE OBJECTIFS Le test est une activité importante dans le cadre de la qualité logicielle. De bonnes pratiques de tests lors des différentes étapes du développement contribuent à la qualité du produit final. Ce stage se concentre sur les outils Open Source dédiés aux tests et à leur mise en œuvre dans les projets. 1) Introduction au monde de l'Open Source 2) Les outils de tests unitaires 3) Les outils de test d'intégration 4) Les outils de test de performance 5) Les outils de gestion des anomalies 6) Les outils de test de validation Travaux pratiques Les exemples et TP sont réalisés sur différentes familles d'outils (Testlink, xUnit, TestNG, Hudson, Cobertura, Findbug, Selenium, Mantis, etc.). Dates des sessions Paris 20 mar. 2017, 10 avr. 2017 26 juin 2017, 2 oct. 2017 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction au monde de l'Open Source - Open Source versus logiciel libre. - Le modèle économique de l'Open Source. - Les licences (GPL, LGPL, BSD). - Les projets communautaires. - Les phases et axes du test. - Le panorama des outils de test Open Source. - La problématique d'acquisition d'un outil Open Source. 2) Les outils de tests unitaires - Les besoins en test unitaire. - Le test fonctionnel et le TDD. - Les xUnit. - Le test structurel et l'analyse de couverture. - Les critères d'analyse de couverture (branch, BCCC). - Les analyseurs dynamiques. - Le test structurel et l'analyse statique. - Les outils d'analyse de la qualité. Travaux pratiques Mise en œuvre de tests unitaires à l'aide d'un framework dédié. Mesures de la couverture à l'aide d'un analyseur dynamique. Mesure de la qualité du code à l'aide d'outils dédiés. 3) Les outils de test d'intégration - Les besoins en test d'intégration. - Les outils de gestion de configuration. - Les générateurs de builds. L'intégration continue. - Les outils d'intégration continue. Travaux pratiques Mise en œuvre d'un générateur de build et mise en place d'une intégration continue. 4) Les outils de test de performance - Les besoins en test de performance. La typologie des outils. Les profilers. - Les robots de test de charge. Les analyseurs de fuite mémoire. - Les analyseurs de trafic réseau. Travaux pratiques Mise en œuvre d'outils de profiling, d'un robot de test de charge, d'un outil de détection de fuites mémoire. 5) Les outils de gestion des anomalies - Les besoins en gestion des anomalies. - Les attributs d'une anomalie. - Les fonctionnalités des outils de gestion des anomalies. - Les outils de Bug Tracking. Travaux pratiques Prise en main d'outils de gestion d'anomalies. 6) Les outils de test de validation - Les besoins en test de validation. - Les référentiels de test et leur mise en œuvre. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 35 - Les générateurs de données de test. - Les fonctionnalités des robots de test. - Les robots de test d'IHM. - Les robots de test d'applications Web. Travaux pratiques Mise en œuvre d'un référentiel de test, d'un générateur de données de test, de robots de test d'IHM, de robots de test d'applications Web. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 36 Stage pratique de 2 jour(s) Réf : RSO Participants Développeurs, équipes de tests et de qualification, chefs de projet. Pré-requis Bonnes connaissances des services Web SOAP et REST. Connaissances de base en tests logiciels. Prix 2017 : 2210€ HT Dates des sessions SoapUI Pro, automatiser les tests de vos services web Rest et SOAP New > Développement logiciel > Java, JEE SoapUI répond au besoin d'automatisation des tests des applications intégrant des services Web. Vous apprendrez à l'installer et à le configurer. Vous mettrez en œuvre à travers un projet SoapUI des tests fonctionnels et des tests de charge, générerez vos jeux de données en entrée et exporterez vos résultats de tests. OBJECTIFS PEDAGOGIQUES Installer et configurer SoapUI Créer, configurer et gérer un projet SoapUI Construire et exécuter des tests fonctionnels et des tests de charges Générer des données de tests en entrée et exporter les résultats Paris 9 mar. 2017, 8 juin 2017 7 sep. 2017, 7 déc. 2017 Modalités d’évaluation 1) Introduction aux tests de Web Services avec SoapUI 2) Mise en place de l'environnement SoapUI 3) Mise en œuvre de tests fonctionnels L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Travaux pratiques Compétences du formateur - Rappel des concepts de base du test logiciel. - Rappels sur les Web Services : SOAP, WSDL, REST... - Le test logiciel appliqué au Web Services. - Les différents outils de tests logiciels existants. - Présentation des particularités de SoapUI. - Présentation des différents cas d'utilisation de SoapUI. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 4) Mise en oeuvre de tests de charge 5) Créer et utiliser les services Mock 6) Génération de data en entrée avec DataGen Prise en main de SoapUI. Création et lancement de tests. Création de "faux" services (Mock). Utilisation de tests "Point and Click". 1) Introduction aux tests de Web Services avec SoapUI 2) Mise en place de l'environnement SoapUI - Installation et configuration de SoapUI sous Windows. - Présentation de l'interface graphique de SoapUI. - Création d'un premier projet SoapUI. - Rajouter un WSDL à un projet SoapUI. Travaux pratiques Installation et configuration de SoapUI. Création d'un premier projet SoapUI. 3) Mise en œuvre de tests fonctionnels - Pourquoi faire des tests fonctionnels ? - Définir des points de contrôle (assertions). - Mettre en œuvre des scénarios de tests (TestCase, TestSuite et TestStep). - Présentation de l'éditeur de formulaire de SoapUI. - Présentation de l'éditeur de "contours" de SoapUI. - Présentation de l'option "Point and Click" des tests. - Export et analyse des résultats (DataSink). Travaux pratiques Création et lancement de tests fonctionnels avec SoapUI. Export des résultats. 4) Mise en oeuvre de tests de charge - Qu'est-ce qu'un test de charge (load testing) ? - Plan de test de charge. - La particularité du Load Testing avec SoapUI. - Ajout d'assertions au test de charge. - Création et lancement d'un test de charge dans un projet SoapUI. - Export et analyse des résultats. Travaux pratiques Création et lancement d'un test de charge avec SoapUI. 5) Créer et utiliser les services Mock - Comprendre l'importance des services Mock pour les tests. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 37 - Création et édition d'un service Mock. - Présentation de l'appel de services Mock. - Customisation de la réponse du service Mock. Travaux pratiques Création et utilisation d'un service Mock dans un projet SoapUI. 6) Génération de data en entrée avec DataGen - Présentation du type de test dit "data-driven". - Présentation de DataGen : la génération de data en entrée des tests. - Les différents types de DataGen. Travaux pratiques Génération de données en entrée d'un scénario de tests. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 38 Stage pratique de 3 jour(s) Réf : DDJ Participants Ingénieurs ou chefs de projets en développement logiciel. Pré-requis Connaissances de base de la programmation objet avec Java. Test Driven Development en Java/JEE > Développement logiciel > Java, JEE Ce cours vous apportera toutes les connaissances nécessaires pour développer vos applications Java/Java EE autour des meilleurs outils et pratiques de tests unitaires et de recettes. Vous apprendrez à intégrer le test dans votre cycle de développement, le Refactoring, la conception émergente et les pratiques agiles. OBJECTIFS PEDAGOGIQUES Maîtriser la démarche et la mise en œuvre du Test Driven Development Intégrer les tests dans le cycle de développement d'une application Java/Java EE Prendre en main les principaux outils de tests et d'intégration continue Prix 2017 : 1960€ HT Dates des sessions Paris 6 fév. 2017, 22 mai 2017 2 oct. 2017, 11 déc. 2017 1) Définition et principes du TDD 2) Tests automatisés avec le framework JUnit 3) Les bonnes pratiques de développement Agiles 4) Techniques avancées avec le TDD 5) Les objets Mock et Stub 6) Techniques d'écriture de tests 7) Test de code hérité 8) Les outils Modalités d’évaluation 1) Définition et principes du TDD L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). - Le test dans le processus de développement. Processus, qualité, tests. Typologie des tests. - Origine du TDD. L'agilité et les tests. - Cycle de développement. Les 3A. - Gestion des exceptions. - Refactoring et conception émergente. - Gestion des scénarios. Gains du TDD ? Compétences du formateur Travaux pratiques Conception et intégration de tests dans le cycle de développement d'#un projet. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 2) Tests automatisés avec le framework JUnit - Le besoin d'un framework de test. JUnit. - Alternatives (TestNG) et outillage complémentaire. - Bonnes pratiques associées à JUnit. Travaux pratiques Mise en oeuvre de JUnit. 3) Les bonnes pratiques de développement Agiles - TDD et gestion des données SGBDR, des interfaces graphiques, des interfaces Web. Travaux pratiques Mise en oeuvre de pratiques. 4) Techniques avancées avec le TDD - Corriger des anomalies. - Gérer la montée en charge, la sécurité des produits. - Gestion de la sécurité logicielle. - Gestion de la performance. Stress tests. Travaux pratiques Gestion des anomalies. Tests de performance. 5) Les objets Mock et Stub - La théorie. - Application de la théorie sans utiliser de bibliothèque. - Découverte des bibliothèques du marché. - Etude en détail de JMOCK ou MockObject. Travaux pratiques Utilisation des objets Mock. 6) Techniques d'écriture de tests - Fixtures. Qualités d'un code de test. - Tests basés sur la responsabilité, l'implémentation. - Styles de TDD. Travaux pratiques Améliorer la qualité des tests écrits. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 39 7) Test de code hérité - Qu'est-ce que du code hérité ? - Cycle d'évolution du code hérité. - Tests fonctionnels avec Fit et FitNesse. - Tests fonctionnels et TDD. - Exécution de tests fonctionnels avec FitNesse. 8) Les outils - Les outils Open Source et commerciaux. - Architecture matérielle de tests. - Etude d'un outil d'intégration continue. - Etude et choix d'un intégrateur continu. - Etude d'un outil de couverture de test. - Etude d'un outil de gestion des tests et de communication entre MOA et MOE : Fitnesse. Travaux pratiques Mise en oeuvre de plusieurs outils. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 40 Stage pratique de 4 jour(s) Réf : SWI Participants Développeurs Java, ingénieurs, chefs de projets proches du développement. Swing, développement de clients riches en Java > Développement logiciel > Java, JEE Vous découvrirez dans ce cours la bibliothèque graphique Swing permettant de développer des interfaces Java de type client riche. Vous étudierez les composants et leurs interactions avec les utilisateurs, les environnements de conception graphique et déploierez vos applications via Java Web Start. Pré-requis OBJECTIFS PEDAGOGIQUES Connaissances de base de la programmation Java. Définir le squelette d'une application Swing à l'aide de conteneurs Organiser des composants graphiques au moyen de layouts Créer des éléments d'interaction avec les utilisateurs Déployer une application Swing avec Java Web Start Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction 2) Principaux conteneurs 3) Principaux layouts 4) Principaux composants 5) Fonctions avancées 6) Environnements Swing 1) Introduction - Présentation et origine de Swing. Evolutions des toolkits graphiques Java. Les principes de base. - Intégration à J2SE. Plateforme MVC. - "Lightweight" et "Heavyweight" composants. - Présentation d'AWT et de Java2D, liaison avec Swing. - Notions de Layout et de LookAndFeel, d'événements. 2) Principaux conteneurs - Les conteneurs pour la réalisation de fenêtres, boîtes de dialogue et panneaux divers. - JFrame et JDialog : fenêtres et boîtes de dialogue. - JMenu, JMenuPopup, etc. - JPanel : conteneur générique. - JScrollPane : conteneur scrollable. - JToolBar, JDesktopPane. JFileChooser... Travaux pratiques Définition de la maquette de l'application. Création du squelette de l'IHM avec fenêtre, boîtes de dialogue, etc. 3) Principaux layouts - Le layout, pour la disposition des éléments de l'affichage. Objectifs et principes. - Layouts standard BorderLayout, GridBagLayout... - Usage de TableLayout, FormLayout et SwingLayout. - Création d'un nouveau layout. Travaux pratiques Organisation des composants IHM au moyen de layout. 4) Principaux composants - JLabel : intégration texte simple ou HTML. - Composants texte : JTextField, JTextArea, JEditorPane. - Boutons : JButton, JComboBox, JCheckBox... - JList, JTree, JTable (modèles, Renderer, Editor). Travaux pratiques Création des éléments d'interaction, gestion des événements utilisateurs, développement de l'application. 5) Fonctions avancées - Création d'un composant. - Usage des actions (toolbars, menu, popup, bouton). - Mécanisme de Drag'n Drop. - Usage/installation et adaptation d'un Look & Feel. - Framework de Binding (JGoodies). - Traitements asynchrones avec SwingUtilities, SwingWorker. - Internationalisation. - Mécanisme du undo/redo. Travaux pratiques Mise en œuvre de techniques avancées. 6) Environnements Swing ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 41 - Alléger le travail par l'usage d'environnement de conception graphique et d'API divers. - Frameworks : SwingX, Jide, SwingAppKit. - Présentation de Matisse et de Plug-ins Eclipse. - Déploiement avec Java Web Start. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 42 Stage pratique de 4 jour(s) Réf : FXA Participants Développeurs, architectes, chefs de projet voulant se familiariser avec le développement d'applications RIA avec JavaFX. Pré-requis Bonnes connaissances de la programmation Java SE. JavaFX 8, créer des interfaces graphiques riches > Développement logiciel > Java, JEE Durant ce stage, vous exploiterez les composants graphiques de la librairie JavaFX, standard Oracle pour le développement d'interfaces graphiques en Java. Vous apprendrez à architecturer vos applications et à améliorer la réactivité de vos interfaces. Vous packagerez également vos applications en vue de les déployer. OBJECTIFS PEDAGOGIQUES Concevoir et développer une application JavaFX Exploiter les différents composants d'interface graphique Mettre en oeuvre les bonnes pratiques d'architecture JavaFX Packager et déployer une application JavaFX Prix 2017 : 2440€ HT Dates des sessions Paris 14 mar. 2017, 13 juin 2017 19 sep. 2017, 14 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Démarrer avec JavaFX 2) Les composants d'interface graphique 3) Architecture d'une application JavaFX 4) Concurrence et interopérabilité 5) Graphismes 6) Effets, animations et multimédia 7) Packager et déployer les applications Méthodes pédagogiques Pédagogie axée sur la pratique, réalisation de nombreux exercices et travaux pratiques guidés. 1) Démarrer avec JavaFX - Applications graphiques clientes riches. - Qu'est-ce que JavaFX ? - Environnements d'exécution. - Environnements et outils de développement. - Concepts d'architecture de base. - Documentations de référence, communautés et sites Web de référence. Travaux pratiques Première application JavaFX. 2) Les composants d'interface graphique - Contrôles UI : textes, listes, tables, contenus HTML... - Mise en forme d'écrans : les layouts. - Graphiques de type chart. - Habillage d'application via feuilles de style CSS. Travaux pratiques Parcours de l'application de démonstration officielle. Mise en oeuvre des différents composants d'interface graphique. 3) Architecture d'une application JavaFX - Construire l'interface : SceneBuilder, langage FXML. - Travailler avec l'API Scene Graph : nodes, parents, groupes, régions... - Gestion des événements : clavier, souris, drag and drop. - Propriétés et binding, collections écoutables. - Composants personnalisés et redistribuables. - Applications hybrides JavaFX / HTML 5 + JavaScript. Travaux pratiques Réalisation d'une application complète mettant en oeuvre les bonnes pratiques d'architecture JavaFX. 4) Concurrence et interopérabilité - Modèle de thread d'une application JavaFX. - Exécution de tâches de fond : le framework JavaFX concurrent. - Intégration JavaFX et Swing. Travaux pratiques Mise en œuvre de tâches de fond et optimisation de l'interface utilisateur. 5) Graphismes - API de gestion d'image. - Dessiner via le canvas. - Graphismes 3D. Travaux pratiques Intégration de graphismes 2D et 3D au sein d'une application. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 43 6) Effets, animations et multimédia - Créer des effets visuels. - Transformations 2D et 3D. - Transitions et animations. - Incorporer des médias : audio et vidéo. Travaux pratiques Réalisation d'un lecteur multimédia. 7) Packager et déployer les applications - Démarrage et exécution d'applications JavaFX. - Internationaliser une application JavaFX. - Packaging d'applications. - Déploiement : standalone, applet, Java Web Start. Travaux pratiques Packaging d'une application et démonstration des différents modes de déploiement. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 44 Stage pratique de 3 jour(s) Réf : PLU Participants Développeurs, chefs de projet et architectes logiciels. Pré-requis Bonnes connaissances en Java et connaissances de base de l'utilisation d'Eclipse. Prix 2017 : 1960€ HT Dates des sessions Paris 13 mar. 2017, 6 juin 2017 18 sep. 2017, 13 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Développer des plug-ins Eclipse et clients RCP > Développement logiciel > Java, JEE Ce cours présente l'architecture et les mécanismes fondamentaux à la base d'Eclipse et de RCP. Il vous montre ensuite les différents aspects du développement et de l'intégration des Plug-ins dans le cadre d'Eclipse et de RCP. OBJECTIFS PEDAGOGIQUES Développer des applications clientes riches avec Eclipse RCP Maîtriser le cycle de développement de plug-ins Eclipse Manipuler les composants graphiques SWT et JFace Améliorer les plug-ins installés sur la plateforme via des points d'extensions. 1) Concepts et architecture d'Eclipse et de RCP 2) Bases graphiques nécessaires à la création de clients riches 3) Le développement de Plug-ins 4) Les composants complémentaires 5) Développement d'une application RCP 6) Packager et deployer 7) Programmation d'application RCP en eclipse 4 Travaux pratiques Réalisation d'une application cliente illustrant les points importants (graphique, visualisation, édition, préférences, internationalisation, etc.). 1) Concepts et architecture d'Eclipse et de RCP - Les objectifs d'Eclipse et de RCP. - L'architecture générale. - L'organisation des informations. Utilisation du PDE. Travaux pratiques Utilisation du PDE et création d'un Plug-in minimal. 2) Bases graphiques nécessaires à la création de clients riches - Les composants SWT (Controls, Layout, Dialog, Composite... ). - Traitement des événements. - Les composants JFace (TableViewer,TreeViewer, Wizard, Dialog,...). 3) Le développement de Plug-ins - La déclaration dans le plugin.xml. manifest.mf. - L'API et son implémentation. La construction et l'intégration. - Visualiser et éditer les informations : les Views et leurs synchronisation, les Editors et EditorInput. - Ajouter des Actions/Commandes dans les menus contextuels et barre d'outils. Travaux pratiques Ecriture de plusieurs Views simples synchronisées. Utilisations des actions. 4) Les composants complémentaires - Définir des points d'extension. Le pattern d'intégration. Les proxies paresseux. - Création et extension d'une perspective. L'internationalisation. Les fragments. La documentation. - Ecrire des tests automatisés avec SWTBot. Travaux pratiques Construction d'un point d'extension. Internationalisation et intégration des Views et Editors dans une perspective existante. 5) Développement d'une application RCP - Créer une application RCP. - Gérer les configurations de lancements. - Livrer une application RCP Travaux pratiques Construction d'une application RCP, construction d'un exécutable. 6) Packager et deployer - Présentation du mécanisme de feature et d'udpate site. - Automatiser la construction des livrables avec Tycho. 7) Programmation d'application RCP en eclipse 4 ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 45 - Vue générale de la nouvelle architecture. - Editer le modèle d'une application RCP. - Utilisation des annotations et de l'injection de dépendance. - Utilisation des fragments d'applications. - Intégration des services e4. - Utilisation du bus d'événements. - L'intégration des CSS. - Portabilité eclipse 3.x vers eclipse 4.x. Travaux pratiques Construction d'une application e4, mise en pratique de l'injection et des services. Personnalisation par CSS. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 46 Stage pratique de 3 jour(s) Réf : JSF Participants Développeurs et chefs de projets. Pré-requis Connaissance du langage Java. La connaissance de la plate-forme Java EE est un plus, mais non indispensable. Framework JSF 2, développer des applications Web > Développement logiciel > Java, JEE Ce cours vous permettra de prendre en main les composants JSF 2 afin de construire des solutions Web facilement extensibles. Il propose, entre autres, une introduction au développement Server Side Scripting. OBJECTIFS PEDAGOGIQUES Maîtriser le cycle de vie d'une requête JSF 2 Utiliser les composants graphiques JSF 2 et gérer les événements sur ces composants Définir et utiliser des beans managés Configurer une application JSF Utiliser des composants Ajax dans JSF 2 Prix 2017 : 1960€ HT Dates des sessions Paris 6 mar. 2017, 29 mai 2017 4 sep. 2017, 6 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Premiers pas avec JSF 2) Concepts JSF 3) Définir et utiliser des ManagedBeans 4) Composants standards 5) Configurer une application JSF 6) Compléments 7) Facelets et Ajax Travaux pratiques Le conteneur de Servlet/JSP utilisé est Tomcat ou GlassFish. L'environnement de développement utilisé est Eclipse ou Netbeans. 1) Premiers pas avec JSF - Rappels : Servlet, JSP, MVC 2. Frameworks du marché. - Compatibilité entre JSF 1 et JSF 2. - Configurer l'application Web. Configurer JSF. - Créer un backing-bean et un formulaire. - Configuration simplifiée avec JSF 2.0. Travaux pratiques Première application JSF. 2) Concepts JSF - Composants graphiques. Représentation côté client et serveur. Arbre de composants. - Cycle de traitement d'une requête. - Validation des données saisies. - Backing beans et beans managés. - Ajouter un listener. Evénements. - Afficher des messages. Naviguer entre les pages. - Langage d'expression (EL). 3) Définir et utiliser des ManagedBeans - Utiliser les annotations JSF 2. - La notion de scope et le lien avec les concepts de request, session, application. - L'injection de dépendances (autres beans, ejb...). - Affecter des propriétés à partir de données saisies. - Définir des méthodes de navigation statique ou dynamique. Travaux pratiques Saisie de données via un formulaire, affectation d'un bean à l'aide des informations saisies. 4) Composants standards - Les familles de composants. Les propriétés. - Vue racine. Paramètres. Sorties formatées. - Images. Formulaires. Saisies simples. Panneaux. Travaux pratiques Créer un formulaire de recherche. Afficher les résultats dans un Datatable. 5) Configurer une application JSF - Archive Web. Configurer web.xml. - Déclarer la Servlet JSF. Structure du fichier de configuration JSF. - Configurer les backing beans et la navigation à l'aide du fichier faces-config.xml. Travaux pratiques Faire coopérer des backing beans. 6) Compléments ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 47 - Afficher des messages utilisateur. - Conversion et validation des données. - Principe. Converters et validators standards et personnalisés avec un backing bean. - Internationalisation. La classe locale. Configuration. Travaux pratiques Ajouter des contraintes de validation à un formulaire. 7) Facelets et Ajax - Présentation de Facelets. Gérer des layouts. - Présentation de composants Ajax. Le tag <f:ajax>. Travaux pratiques Définition d'une nouvelle classe de composant. Usage de composants Ajax dans JSF. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 48 Stage pratique de 4 jour(s) Réf : SRB Participants Développeurs Java impliqués dans le développement d'une couche de présentation Web. Struts 2, développer des applications Web MVC > Développement logiciel > Java, JEE Ce cours vise à fournir une compréhension globale du framework Struts 2 vous permettant d'exploiter ses possibilités dans le cadre d'un développement Web. Les éléments d'architecture seront abordés théoriquement puis mis en oeuvre dans le cadre de la migration d'une application Servlet/Jsp en Struts2. Pré-requis OBJECTIFS PEDAGOGIQUES Expérience requise en programmation Servlet et JSP. Maîtriser les composants d'architecture Struts 2 (contrôleur, actions, intercepteurs...) Accéder aux objets Java avec OGNL Construire la couche de présentation à l'aide de la taglib Struts 2 Concevoir un formulaire avec validation Implémenter un modèle CRUD Internationaliser une application Prix 2017 : 2440€ HT Dates des sessions Paris 14 mar. 2017, 6 juin 2017 5 sep. 2017, 14 nov. 2017 Modalités d’évaluation 1) Rappels et compléments sur l'API Servlet 2) Présentation du framework Struts 2 3) Le "front Controller" de Struts 2 4) La pile d'objets et langage d'expressions OGNL 5) Les classes d'actions Struts 2 6) La librairie de tags "struts-tags" 7) L'approche "Model Driven" 8) Compléments L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Travaux pratiques Compétences du formateur - Rappel sur les mécanismes de base de l'API Servlet/JSP. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Les exercices ont été conçus pour illustrer tous les éléments du framework et leur mise en oeuvre dans le cadre d'un développement industriel. 1) Rappels et compléments sur l'API Servlet Travaux pratiques Appropriation d'une application Web développée en Servlet/JSP, fil directeur pour la migration. 2) Présentation du framework Struts 2 - Principales caractéristiques de Struts 1. - Principales caractéristiques de Struts 2. - Les constituants de base d'une application Struts 2. Travaux pratiques Configurer un projet Eclipse pour un développement Struts 2 (librairie et fichier web.xml). Implémenter une fonctionnalité d'authentification. 3) Le "front Controller" de Struts 2 - Les fichiers de configuration : struts.xml... - Le rôle de la classe FilterDispatcher. - Rôle des intercepteurs, règles de configuration. - L'intercepteur ServletConfigInterceptor. - Création de ses propres intercepteurs. - Contexte d'exécution d'une action : l'ActionContext. Travaux pratiques Intégrer la fonctionnalité d'authentification Struts 2 au projet d'origine sans régression. Tracer le temps de traitement en utilisant l'intercepteur "TimeInterceptor". 4) La pile d'objets et langage d'expressions OGNL - Rôles de la pile d'objets et du langage OGNL. - Organisation de la pile d'objets et positionnement dans l'ActionContext. 5) Les classes d'actions Struts 2 - Les différentes classes d'action. - Mapping des paramètres des requêtes sur les propriétés de l'action. - Traitement des exceptions. Travaux pratiques Traiter toutes les "RuntimeException" et les erreurs d'authentification au niveau de l'action. Utiliser OGNL. 6) La librairie de tags "struts-tags" - Organisation de la librairie de tags. - Les control-tags, les data tags et les form-ui-tags. - Traitement d'un upload de fichier. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 49 7) L'approche "Model Driven" - Implémentation du modèle CRUD en Struts 2. 8) Compléments - Internationalisation d'une application Struts 2. - Les techniques de validation de Struts 2. - Les balises actionerror, fielderror et actionmessage. - Utilisation du framework Tiles. - Le fichier de configuration "tiles.xml". - Intégration de Tiles à Struts 2. Travaux pratiques Externaliser les libellés des actions et des JSP dans des fichiers de propriétés. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 50 Stage pratique de 3 jour(s) Réf : GWT Participants Développeurs et chefs de projets. Pré-requis Bonnes connaissances des langages Java et JavaScript. Expérience souhaitable en programmation Java/Web. Prix 2017 : 1960€ HT Dates des sessions Paris 6 fév. 2017, 2 mai 2017 4 sep. 2017, 20 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Développer une application Web 2.0/GWT le Google Web Toolkit > Développement logiciel > Java, JEE Ce cours a pour objectif de présenter le Google Web Toolkit (GWT) en tant que solution pour la mise au point d'applications Web riches basées sur Ajax. Il détaille le modèle applicatif et les mécanismes de base de GWT qui sont nécessaires à la réalisation d'applications plus ergonomiques et plus réactives. OBJECTIFS PEDAGOGIQUES Créer des interfaces web riches et ergonomiques avec les composants GWT Mettre en œuvre une communication client-serveur avec GWT Intégrer GWT dans une architecture existante Tester une application GWT Analyser les performances d'une application GWT 1) Présentation 2) La bibliothèque de composants graphiques 3) JavaScript Native Interface et composants personnalisés 4) Accès au serveur 5) Concepts GWT avancés 6) Implémenter une politique de tests 7) Considérations architecturales 8) L'écosystème GWT 1) Présentation - Présentation du Web 2.0 et des technologies Ajax. - Mécanismes de Google Web Toolkit. - Utilisation sur Chrome du Super Dev Mode. Travaux pratiques Créer un projet GWT sous Eclipse. 2) La bibliothèque de composants graphiques - Utilisation de l'API et des composants de base. - Construction d'écrans à l'aide des panels de placement. - Nouveau système de positionnement par CSS. - Construction d'interfaces par déclaration (UiBinder). - Mise en œuvre du modèle événementiel. - Utilisation des composants CellTable, DataGrid... - Construction de composants personnalisées. - Data-binding entre les données et les formulaires. Travaux pratiques Conception d'écrans avec composants GWT. CSS personnalisés. 3) JavaScript Native Interface et composants personnalisés - Interactions entre JavaScript et GWT. - Utiliser les types JavaScript en GWT. - Intégrer une librairie JavaScript avec GWT. Démonstration Intégration jQuery/GWT. 4) Accès au serveur - Architecture de type Ajax. - Communication asynchrone via RPC. - Gérer la sérialisation, les exceptions. - Formats d'échange JSON et XML. - Invocation d'un service de type REST. Travaux pratiques Ecrire un service GWT. 5) Concepts GWT avancés - Gérer la session et la navigation. - Internationalisation. - Organisation par modules GWT. - Le modèle MVP. - Construire un projet Maven GWT. - Code splitting, ClientBundle. - Analyse des performances avec Speed Tracer. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 51 - Paramétrage du compilateur GWT. Travaux pratiques Utilisation de Speed Tracer. Impact du code splitting sur le chargement d'une application. 6) Implémenter une politique de tests - Mise en place de JUnit avec GWTTestCase. - Intégration de l'outil HTMLUnit. Travaux pratiques Tester une application GWT. 7) Considérations architecturales - Position de GWT au sein d'une architecture JavaEE. - Modèles d'architectures : MVC/MVP, Portail, SOA... - Intégration avec d'autres technologies : EJB3, JSF... Démonstration Intégrer GWT dans une architecture JEE. 8) L'écosystème GWT - Librairies Sencha-GXT, Smart GWT, Vaadin. - Librairies GWT-DnD, GWD Chart. Démonstration Manipulation de GXT, GWT-DnD et Chart. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 52 Stage pratique de 3 jour(s) Réf : JIP Participants Développeurs, architectes, ingénieurs d'étude et chefs de projets. Pré-requis Connaissances de base en développement Java. Expérience requise. Prix 2017 : 1960€ HT Java EE, introduction pratique > Développement logiciel > Java, JEE Vous découvrirez la plateforme Java EE et la façon de structurer les applications qui y seront déployées. Vous développerez des IHM Web (servlets/JSP, frameworks...), mettrez en œuvre des composants distribués sous forme d'EJB, implémenterez des Services Web SOAP/REST et découvrirez les services transverses Java EE. OBJECTIFS PEDAGOGIQUES Maîtriser les différents composants de la plateforme Java EE Développer des interfaces graphiques Web Développer des EJB Développer des Web Services REST et SOAP Déployer des applications Web Java EE Dates des sessions Paris 3 avr. 2017, 26 juin 2017 11 sep. 2017, 13 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction à Java EE 2) Les technologies Web de Java EE 3) Les Enterprise Java Beans 4) Les Web Services 1) Introduction à Java EE - Les apports de l'architecture N-tiers (cluster, réutilisation de services...). - Les principaux concepts Java EE. - Les services Java EE (JNDI, Web, EJB, JTA, JAAS, JMX...). - Les offres du marché (JBoss, GlassFish, WebSphere, Jonas...). - Panorama de l'écosystème Java/Java EE : composants, Design Pattern et les principaux frameworks utilisables. Travaux pratiques Mise en place de l'environnement : installation d'un JDK, d'un serveur d'application Open Source (JBoss, GlassFish...) et d'un IDE (Eclipse, NetBeans...). Démonstrations d'applications. 2) Les technologies Web de Java EE - Architecture Web, serveur HTTP et client léger. - Protocole HTTP, requête cliente et réponse serveur. - Fonctionnement et rôle des Servlets et des JSP. - Les librairies de balises ou taglibs. - Structure standard d'une application Web Java EE. - Le fichier de configuration normalisé web.xml. - Déploiement des applications Web Java EE, les archives JAR, WAR et EAR. - Les frameworks MVC (JSF, Struts 2...). Travaux pratiques Démonstration et détail du fonctionnement et du paramétrage d'une application Web Java EE. 3) Les Enterprise Java Beans - Problématique de réutilisation et d'accès distant aux services. - Principes et technologies des EJB (Stub, Skeleton, Remote, Local, RMI, IIOP...). - Les annotations. - Les différentes spécifications (EJB1.x, 2.x et 3.x). - Besoin de simplification de l'architecture EJB2. - Description de l'architecture EJB 3.x. - Les différents types d'EJB (session, entité et message). - Interopérabilité EJB 2.x avec EJB 3.0. Travaux pratiques Mise en œuvre des EJB. Développer un exemple d'EJB. Explication de cas d'usage et démonstrations. 4) Les Web Services - Qu'est-ce qu'un Web Service ? Objectif. Principe. - Principales technologies (REST, SOAP/WSDL/UDDI). - Les contrats de services. - Le rôle de XML et de la plateforme Java. - Architecture orientée service (SOA). - Description du protocole SOAP. Le langage WSDL de description des Web Services. Publication de Web Services avec UDDI. - Description des services REST. Les ressources. Les URI. - Les outils de programmation pour la création et l'utilisation de Web Services (Axis, JAX-WS, JAX-RS...). Travaux pratiques Mise en œuvre des Web Services REST et SOAP. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 53 Stage pratique de 5 jour(s) Réf : APJ Participants Développeurs, architectes et chefs de projets. Pré-requis Bonnes connaissances en Java ainsi que des bases du Web : HTTP, HTML, CSS, JavaScript. Prix 2017 : 2610€ HT Dates des sessions Paris 10 avr. 2017, 12 juin 2017 28 aoû. 2017, 23 oct. 2017 18 déc. 2017 Aix 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Bordeaux 20 mar. 2017, 15 mai 2017 11 sep. 2017, 20 nov. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Java EE 7, conception et développement d'applications Web Best > Développement logiciel > Java, JEE La plateforme Java EE 7 améliore de manière significative la productivité des développeurs et offre une meilleure intégration du HTML 5. Cette formation vous permettra de développer des applications d'entreprise en vous basant sur les API Java EE 7: JPA, JMS, CDI, EJB, JSF, JAX-RS et WebSocket. OBJECTIFS PEDAGOGIQUES Concevoir et développer une application n-tiers basée sur les spécifications Java JEE 7 Mettre en place une couche d'accès aux données avec JPA. Mettre en place une architecture distribuée avec EJB et JMS Mettre en place une couche de présentation avec JSF et Ajax Développer et consommer des webservice REST Mettre en place un canal de communication entre un navigateur HTML5 et un serveur via les Websockets 1) Introduction 2) Environnement de travail 3) Découpage n-tiers et injection de dépendances 4) Accès aux données avec JPA 5) Architecture distribuée avec EJB et JMS 6) Web et JSF 7) Web Services REST 8) Websockets Méthodes pédagogiques Un exercice "fil rouge" sera déroulé. Les différents modules seront validés par des tests unitaires (lancé avec le conteneur embarqué) et seront déployés sur un serveur d'application Java EE 7. Geneve 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 1) Introduction Grenoble Lille - Briques de la spécification Java EE 7. - Bonnes pratiques de conception : séparation des responsabilités, KISS, DRY, POJO. - Nouveautés par rapport à la version 6. - Panorama de l'offre Java EE, le framework Spring. 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 2) Environnement de travail Luxembourg - Environnement Eclipse. Dépendances Maven. - Tests unitaires avec le conteneur embarqué. - Utilisation des webtools, prise en main du serveur. 20 mar. 2017, 15 mai 2017 11 sep. 2017, 20 nov. 2017 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Lyon 20 mar. 2017, 15 mai 2017 11 sep. 2017, 20 nov. 2017 Montpellier 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Nantes 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Rennes 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Sophia-antipolis 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Strasbourg 27 mar. 2017, 29 mai 2017 4 sep. 2017, 27 nov. 2017 Toulouse Travaux pratiques Installer l'IDE et le serveur. 3) Découpage n-tiers et injection de dépendances - Découpage en couche, approche POJO. - Scopes et gestion de l'état. - Injection de dépendances. - Intercepteurs. Travaux pratiques Mise en place d'une application n-tiers, utilisation de CDI (injection de dépendance...). 4) Accès aux données avec JPA - Mapping objet relationnel (xml, annnotations). - Lazy loading. - Manipulation de l'API 2.1 : EntityManager... - JPA-QL, API Criteria, MetaModel, EntityGraph. - Transactions, l'annotation @Transactional JTA 1.2. 20 mar. 2017, 15 mai 2017 11 sep. 2017, 20 nov. 2017 Travaux pratiques Mise en place de la couche d'accès aux données. Modalités d’évaluation 5) Architecture distribuée avec EJB et JMS L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à - Services techniques de l'API EJB : sécurité, remoting, accès concurrents, accès asynchrones, timers. - Positionnement des EJB par rapport aux beans CDI. - JMS 2.0 pour les échanges de messages. Travaux pratiques Mise en place de services avec les EJB Sessions et d'un bus d'échange de messages avec JMS. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 54 réaliser (50 à 70% du temps). 6) Web et JSF Compétences du formateur - Concepts (MVP, Presenter, View). - Facelets, taglibs, jsf-el. - Validation JSR303. - Mise en oeuvre d'Ajax. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Mise en oeuvre de JSF 2.2 et d'Ajax. 7) Web Services REST - API JAX-RS 2.0 pour les services web RESTful. - Rappels HTTP : les verbes, les contentType... - CORS : Cross origin shared ressource. HATEOAS. - Produire et consommer des objets via l'API Java de traitement JSON. Travaux pratiques Exposant des services, consommer ces services REST via un client web (AngularJS). 8) Websockets - Concepts du web "real time". - Support par les navigateurs, mécanismes de fallback. - Mise en place côté serveur et client. Travaux pratiques Ajout d'une connexion websocket au client web. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 55 Stage pratique de 5 jour(s) Réf : JEF Participants Développeurs, architectes et chefs de projets. Pré-requis Bonnes connaissances de Java. Connaissances de base d'Eclipse. Prix 2017 : 2610€ HT Java EE 6, développer des applications d'entreprise > Développement logiciel > Java, JEE Cette formation vous permettra d'être opérationnel sur le développement d'applications d'entreprise en Java et de comprendre le fonctionnement d'un serveur d'applications. Elle met en avant les dernières tendances (objets POJO, configuration XML...), les principaux frameworks et les nouveautés Java EE 6. OBJECTIFS PEDAGOGIQUES Maîtriser l'environnement de développement d'applications Java EE Mettre en place la couche d'accès aux données avec JPA Développer des services distants basés sur des EJB Développer l'interface utilisateur de l'application avec JSF et Ajax Développer et exposer des services web en SOAP et REST Dates des sessions Paris 20 mar. 2017, 26 juin 2017 9 oct. 2017, 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction 2) L'environnement de travail 3) L'accès aux données avec JPA 4) Les EJB Session 5) Les Messages Driven Beans (MDB) 6) Le Web et Java Server Faces 7) Les Web Services Travaux pratiques Les développements seront validés par des tests unitaires et déployés sur un serveur d'applications Java EE 6. 1) Introduction - Les briques de Java EE. Les apports de Java EE 6. - Architectures Stateful (DDD) versus Stateless. - Panorama de l'offre Java EE. 2) L'environnement de travail - Les outils de développement. L'environnement Eclipse. - Dépendances Maven. Les "deployment assembly". - Les tests unitaires (avec JUnit et JeeUnit). - Le fichier domain.xml. - JNDI, la standardisation proposée par Java EE 6. - Le moniteur transactionnel. Le serveur Web. - Le fonctionnement modulaire : OSGI. Travaux pratiques Installer l'IDE et le serveur. 3) L'accès aux données avec JPA - Les principes et le fonctionnement du mapping. - La manipulation des instances persistées. - Le Lazy loading. Le metamodel. - Les interfaces entityManager, Query et Criteria. - La gestion de l'entityManager par le conteneur. Travaux pratiques Mise en place d'entités persistantes dans un projet Java. Mise en place de la couche d'accès aux données avec JPA au sein de l'application fil rouge. 4) Les EJB Session - Déclaration d'une classe en tant qu'EJB Session. - La gestion du cycle de vie (@Stateless...). - Les apports de Java EE 6. - L'injection de dépendances. Injection hors CDI. - Les interceptions. Transactions. La sécurité. - Les timers. - Le remoting. Travaux pratiques Mise en place de services avec les EJB Sessions. 5) Les Messages Driven Beans (MDB) - Le dialogue asynchrone entre les applications. - L'API JM. Les concepts. - Les éléments JMS : connectionFactory, connection, session, destination, message, messageProducer, messageConsumer... ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 56 - La configuration sous Glassfish. - Les fonctionnalités avancées. Travaux pratiques Mise en place d'un système de notification d'applications clientes. 6) Le Web et Java Server Faces - JSF 2.0 et la configuration par annotations. - Les concepts (MVP, Presenter, View). - Les facelets, taglibs, jsf-el. La validation JSR303. - Mise en œuvre d'Ajax. Travaux pratiques Mise en œuvre de JSF et d'Ajax au sein d'une application Web. 7) Les Web Services - Les possibilités offertes. Les API JAX-WS et JAX-RS. - Utilisation d'un Custom Serializer dans les deux cas. Travaux pratiques Développement d'une façade Web exposant les services de l'exercice développé. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 57 Stage pratique de 5 jour(s) Réf : JSP Participants Informaticiens souhaitant développer des applications Web avec les technologies Java/Java EE. Pré-requis Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2017 : 2610€ HT Java, développement de servlets et JSP Best > Développement logiciel > Java, JEE Ce cours vous permettra de développer des projets Web d'entreprise basés sur la plateforme Java EE. Vous découvrirez les architectures MVC au travers de l'implémentation d'une couche de présentation basée sur des JSP puis sur JSF 2. Vous découvrirez les mécanismes des Servlet, apprendrez à persister vos données et à sécuriser vos applications Java. Vous mettrez en œuvre l'IDE Eclipse afin de construire et déployer vos solutions sur les différents serveurs d'applications Java EE du marché comme JBoss Wildfly ou WebSphere. OBJECTIFS PEDAGOGIQUES Maîtriser l'architecture des applications Java EE Développer une couche présentation basée sur des JSP, des librairies de balises et JSF Développer des composants de contrôle et de navigation basés sur des Servlets Gérer l'accès à une base de données Sécuriser une application Java EE Dates des sessions Paris 13 fév. 2017, 10 avr. 2017 12 juin 2017, 21 aoû. 2017 16 oct. 2017, 11 déc. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 1) Rappel sur le contexte des applications Web d'entreprise 2) Architecture des applications Java Web 3) Pages JSP : composants de présentation 4) API Servlet 3.0 : composants de contrôle et de navigation 5) Accès aux bases de données 6) Le Framework de présentation JSF 2 7) Sécurisation d'une application Web Java EE Geneve Travaux pratiques 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Développement d'une application Web en Java. Utilisation du conteneur de Servlet/JSP, Tomcat. Environnement de développement Eclipse. Luxembourg 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Rappels sur les URLs. - Gestion des sessions. - Accès aux ressources de l'entreprise. - La plateforme Java EE. - Modèles d'architectures multiniveaux. 2) Architecture des applications Java Web - Les composants nécessaires à l'utilisation de Java côté serveur. La Java Virtual Machine. - Les serveurs Web et serveurs d'applications Java EE. - Rôle du conteneur (moteur de Servlets). - Structure normalisée d'une application Web Java EE. - Les principaux composants : Servlets, pages JSP, JSF. - Les API Java EE. - Modèles d'architectures JSP/Servlet - Architecture du conteneur Web Tomcat d'Apache. - Le descripteur de déploiement web.xml. - Notion de pluggability. - Outils de développement, de test et de débogage : Eclipse, Netbeans, IntelliJ. - Déploiement et packaging des applications Java EE. Travaux pratiques Installer un environnement de développement et un serveur d'applications Web Tomcat Apache. Déployer une application Java EE sur un conteneur Tomcat . 3) Pages JSP : composants de présentation - Qu'est-ce qu'une page JSP ? - Cycle de vie des JSP. - Les objets prédéfinis. - Les Scriplets, les directives, les expressions, les actions... - La gestion des erreurs. - Les scopes. La communication entre composants WEB. - Utilisation de JavaBeans à partir de pages JSP. - Présentation du langage Unified Expression Language (UEL). - Présentation de la JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. - Principe des librairies (taglib). - Développement d'extension de balises. Balises simples, avec attributs, avec corps. - Déployer et exploiter une librairie. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 58 Travaux pratiques Développer la couche présentation (JSP, JSTL et librairies de balises). 4) API Servlet 3.0 : composants de contrôle et de navigation - Le conteneur de Servlets. - Le cycle de vie d'une Servlet. Initialiser une Servlet. Ecrire les méthodes de services. - L'interface Servlet. Les servlets HTTP. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - La récupération des paramètres HTTP. - Filtrage des requêtes/réponses. Programmation des filtres de Servlets. - La récupération d'information : du serveur Web, du client et de l'environnement. Invocation d'autres ressources Web. - Inclusion et transfert du contrôle. - Gestion des erreurs d'exécution. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. - Combinaison JSP et Servlets. Travaux pratiques Développement d'une application à base de Servlets exploitant l'environnement du conteneur Web. 5) Accès aux bases de données - Mise en place de la base de données relationnelles et de l'interface JDBC. - Connexion à la base, récupération d'information, mise à jour de données. - Transaction. Pool de connexions. Les DataSources. L'annotation Ressource. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). - Les concepts de JNDI. - Accès aux ressources via JNDI. Déclarer une ressource de type JavaBean, DataSource. Travaux pratiques Présenter des données issues d'un SGBDR dans l'application. 6) Le Framework de présentation JSF 2 - Présentation du Framework. Les Composants essentiels. - Cycle de vie du traitement d'une page JSF. - Les composants UI. Facelets. - La Servlet « FacesServlet ». Notion de FacesContext. - Mise en œuvre des Managed Beans. - Définir la navigation entre pages. - Convertir et valider des données. Travaux pratiques Adaptation de l'application existante avec le Framework JSF 2. 7) Sécurisation d'une application Web Java EE - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité déclarative. - Sécurité et programmation de Servlets. - Choix d'un mécanisme d'authentification. - Configurer les restrictions d'accès. - Lister les rôles applicatifs. - Mise en place d'un Realm. Configuration de Tomcat. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. Travaux pratiques Sécuriser l'accès au site construit. Mise en place d'un Realm DataSource. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 59 Stage pratique de 3 jour(s) Réf : JAS Participants Développeurs et chefs de projets amenés à sécuriser des applications Java et JEE. Java/JEE, sécurité des applications > Développement logiciel > Java, JEE Cette formation vous permettra d'appréhender les mécanismes de gestion de la sécurité proposés par Java, grâce à l'étude théorique des concepts et à leur mise en œuvre progressive, au sein d'applications autonomes, de serveurs d'applications JEE ainsi que de services Web SOAP et REST. Pré-requis OBJECTIFS PEDAGOGIQUES Très bonnes connaissances du langage Java. Bonnes connaissances des concepts JEE. Expérience requise en programmation Java. Mettre en oeuvre de la sécurité au niveau de la machine virtuelle Java Exploiter des API spécifiques telles que JAAS, JSSE et JCE pour sécuriser vos applications. Sécuriser vos services web avec les API WS-Security et oAuth Prix 2017 : 1960€ HT Dates des sessions Paris 27 mar. 2017, 29 mai 2017 11 sep. 2017, 20 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Présentation des concepts liés à la sécurité 2) Sécurité de la machine virtuelle Java 3) Java Authentication and Authorization Service 4) SSL avec Java 5) La sécurité d'une application JEE 6) La sécurité des services web SOAP 7) La sécurité des services web REST Travaux pratiques Mise en oeuvre de la sécurité au niveau de la machine virtuelle Java, l'emploi des API spécifiques telles que JAAS, JSSE, JCE, WS-Security et oAuth. 1) Présentation des concepts liés à la sécurité - Identification et méthodes d'authentification. - Autorisations et permissions. - Confidentialité, non-répudiation, cryptage, clés publiques/privées, autorités de certification. - Pare-feu et DMZ, rupture de protocole. - Les types d'attaques. 2) Sécurité de la machine virtuelle Java - Chargement des classes. Concept de "bac à sable". - SecurityManager, AccessController et définition des permissions (fichiers .policy). - Créer ses permissions avec Java Security Permission. - Mécanismes de protection de l'intégrité du bytecode, la décompilation et l'obfuscation du code. - Spécificités des Applets en matière de sécurité. Travaux pratiques Définition de .policy spécifiques. 3) Java Authentication and Authorization Service - Architecture de JAAS. - Authentification via le PAM, notion de Subject et de Principal. - Gestion des permissions, les fichiers .policy. - Utiliser JAAS avec Unix ou Windows, JNDI, Kerberos et Keystore. Le support du SSO. Travaux pratiques Configurer la politique de contrôle d'accès, mise en œuvre de l'authentification. 4) SSL avec Java - Fonctions de Java Secure Socket Extension (JSSE). - Authentification via certificats X.509. TLS et SSL. - Encryption à base de clés publiques, Java Cryptography Extension (JCE). - Utilisation de SSL avec HTTP. Travaux pratiques Configurer SSL et mise en œuvre de sockets SSL. Utiliser des outils du JDK (Keystore). 5) La sécurité d'une application JEE - Authentification au niveau des conteneurs Web et EJB. - Rôles applicatifs, permissions et descripteurs de déploiement XML. - Contrôles dynamiques via les API Servlets et EJB. - La sécurité dans les API : JDBC, JNDI, JTA, JMS, JCA. Travaux pratiques Sécurité d'une application déployée dans Tomcat. 6) La sécurité des services web SOAP - Sécurité au niveau HTTP. - Sécurité au niveau SOAP & WSDL avec WS-Security (WSS4J, XWSS...) & WS-Policy. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 60 - Les handlers SOAP WS-Security exploitant JAAS. Travaux pratiques Mise en pratique avec une implémentation de WS-Security (XWSS). 7) La sécurité des services web REST - Utilisation de SSL avec JAX-RS. - Les apports de oAuth (authentification sur Internet). - oAuth 1.0 et 2.0. Travaux pratiques Mise en pratique avec une implémentation Apache CXF de JAX-RS. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 61 Stage pratique de 5 jour(s) Réf : DFJ Participants Développeurs Java, chefs de projets Java/Java EE. Pré-requis Bonnes connaissances des technologies Web. Expérience requise en programmation d'applications Web en Java. Prix 2017 : 2610€ HT Développer avec les frameworks Java/Java EE > Développement logiciel > Java, JEE Cette formation vous permettra de développer des applications Java d'entreprise évolutives et modernes. Vous traiterez les problématiques de découpage en couches d'une application et le moyen de les adresser en appliquant les bons Designs Patterns et en capitalisant sur les API et frameworks les plus aboutis du marché. OBJECTIFS PEDAGOGIQUES Découvrir le principe de découpage en couches d'une application Utiliser le conteneur Spring Accéder aux données avec Hibernate Développer une API REST exposant des ressources Consommer une API REST depuis une application cliente HTML/JS AngularJS Dates des sessions Paris 27 fév. 2017, 24 avr. 2017 26 juin 2017, 21 aoû. 2017 11 sep. 2017, 13 nov. 2017 1) Introduction 2) Environnement de travail 3) Mise en place d'une architecture multicouche avec Spring 4) Accès aux données avec Hibernate et JPA 5) Web Services REST, API JAX-RS vs Spring MVC 6) Client HTML/JavaScript avec AngularJS Bruxelles 13 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Geneve 13 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Luxembourg 13 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction - Bonnes pratiques : séparation des responsabilités, DRY, KISS, classes agnostiques, POJO. - Principe du découpage en couches : accès aux données, métier et Web. - Rôle des Spring, Hibernate, Jersey et AngularJS. - Librairies complémentaires : logging avec slf4j et logback, tests unitaires avec JUnit, les mocks. - Le principe des "Single Page Application". 2) Environnement de travail - L'environnement Eclipse. - Le plug-in Spring Tool Suite (STS). - Les dépendances Maven. Travaux pratiques Installation de l'IDE et du plug-in Spring Tool Suite. 3) Mise en place d'une architecture multicouche avec Spring - Le découpage en couches, l'approche POJO. - La gestion de l'état. - L'injection de dépendances. - Les interceptions. - Les invocations planifiées. - La supervision avec JMX. - La configuration du conteneur (annotations, par XML). - Le test des beans managés. Travaux pratiques Mise en place d'une application multicouche, utilisation de Spring comme factory pour gérer nos objets (cycle de vie, injection de dépendance...). 4) Accès aux données avec Hibernate et JPA - Le mapping objet relationnel (XML, annotations). - Le Lazy Loading. - L'API EntityManagerFactory et EntityManager. - JPA-QL, API Criteria, MetaModel, EntityGraph. - La gestion des transactions, le lien entre couplage entre JPA et JTA. Travaux pratiques Mise en place d'entités persistantes. Gestion Spring du cycle de l'entityManager JPA, usage du moniteur transactionnel de Spring et des annotations JTA. 5) Web Services REST, API JAX-RS vs Spring MVC - Qu'est-ce qu'une URI ? - Rappels HTTP : les verbes (GET, PUT...), les retours, les contentType, les en-têtes, la gestion du cache. - CORS : Cross Origin Shared Resource. - HATEOAS. - Mise en place de services REST (JAX-RS et Jersey). - Comparaison avec Spring MVC. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 62 Développement d'une API REST exposant les ressources de l'exercice précédent. 6) Client HTML/JavaScript avec AngularJS - L'avantage des IHM "côté client". - L'écueil que représente la manipulation du DOM. - L'approche proposée par AngularJS. - Isomorphic JavaScript pour le rendu côté serveur. Travaux pratiques Création d'un client HTML/JavaScript avec AngularJS consommant l'API REST développée précédemment. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 63 Stage pratique de 4 jour(s) Réf : JEB Participants Développeurs d'applications, architectes et chefs de projets. Pré-requis Très bonnes connaissances du langage Java. Connaissances de base des servlets et des JSP. Expérience requise en développement d'applications Java. Développer des EJB3 en Open Source > Développement logiciel > Java, JEE L'architecture des EJB3 à considérablement simplifié la mise en œuvre des EJB. Vous apprendrez dans ce cours à développer des EJB3 Sessions, Entités et Messages et à les intégrer dans vos applications d'entreprise. Vous mettrez en œuvre les concepts de persistance des données, de transaction et de sécurisation au sein des EJB3 et à transformer certains d'entre eux en Services Web. Vous apprendrez afin à packager et à déployer des EJB3 sur un serveur d'applications. OBJECTIFS PEDAGOGIQUES Découvrir l'architecture des EJB3 Développer des EJB3 Sessions, Entités et Messages Gérer la persistance des données, les transactions et la sécurisation au sein des EJB3 Créer des Services Web avec des EJB3 Maîtrisez le packaging et le déploiement des EJB3 Prix 2017 : 2440€ HT Dates des sessions Paris 7 fév. 2017, 16 mai 2017 19 sep. 2017, 28 nov. 2017 1) L'architecture et les serveurs d'applications 2) Rappels sur les Servlets et JSP 3) L'architecture EJB3 4) EJB sessions : création de services 5) EJB entités : persistance de données 6) EJB message-driven : traitement de messages 7) Les services Web et les EJB 8) Le service timer 9) Les transactions et les EJB 10) Sécuriser l'accès aux EJB Modalités d’évaluation Travaux pratiques L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). 1) L'architecture et les serveurs d'applications Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Les environnements de développement utilisés seront au choix Eclipse ou NetBeans. Les serveurs d'applications ciblés dans ce cours seront JBoss et GlassFish. - Architectures n-tiers. Evolution du client-serveur. - Architectures distribuées : .NET, RMI, CORBA, EJB. - Java EE : définition, présentation. - Relations entre servlets, JSP et EJB. - Eléments constitutifs et fonctionnalités d'un serveur d'applications. - Compatibilité des serveurs d'applications avec les spécifications Java EE. - Le serveur d'applications Open Source JBoss : architecture, marché, perspectives. - Eclipse/JBoss-IDE, un standard pour le développement Java EE en Open Source. - NetBeans IDE, l'IDE Open Source émergent pour le développement Java EE. 2) Rappels sur les Servlets et JSP - Eléments de base HTTP. - Rappels sur les URL (Uniform Resource Locator). - Notion de conteneur Web. - Structure normalisée d'une application Web J2EE. - Principe de fonctionnement et architecture d'une servlet. - Gestion des sessions. Espace de stockage. - Principe d'une JSP (scriplets, objets, actions). - Architecture MVC. 3) L'architecture EJB3 - La spécification EJB3. Architecture : classe Bean, interfaces " métiers ", annotations, descripteur de déploiement XML. - Les différents types d'EJB : session, entité et message-driven. - Packaging et déploiement des EJB3. - Le rôle du conteneur d'EJB. - Principe et rôle de JNDI (Java Naming and Directory Interface). Localisation des EJB3 avec JNDI. - Injection de dépendances. - Principe et rôle des intercepteurs. - Compatibilité avec les EJB 2.x. - Les applications "standalone" clientes d'un EJB. - Les applications Web clientes d'un EJB. - Mise en œuvre d'une architecture MVC avec EJB. 4) EJB sessions : création de services - A quoi sert un EJB session ? - Comparaison EJB session " Stateless " et " Stateful ". - EJB session " Stateless " et " Stateful ". Cycle de vie. - Méthodes " callback ". - Les accès concurrents sur les EJB sessions. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 64 - Configuration dans les architectures en cluster. - Le bon usage des EJB sessions. 5) EJB entités : persistance de données - A quoi sert un EJB entité ? - Mapping objet-relationnel, rôle de la clé primaire. - Clé primaire simple ou composite. - Le nouveau modèle de persistance EJB3 et ses API JPA. - Rôle de l'Entity Manager. - Opérations sur les EJB entités. - Cycle de vie d'un EJB entité. - Méthodes " callback " et listeners. - Les accès concurrents sur les EJB entités. - Le langage EJB-QL : syntaxe et utilisation. - Relations entre EJB entités : du modèle Objet au modèle EJB. Héritage. Mapping. - Associations : de un vers un, de un vers plusieurs, de plusieurs vers plusieurs. Mise en œuvre. 6) EJB message-driven : traitement de messages - Principe des MOM (Middleware Orientés Message), l'API JMS (Java Message Service). - Modèles de messages Publish/Suscribe et Point-To-Point. - Structure d'un message JMS. - Principe, mise en œuvre et cycle de vie d'un EJB message-driven. - Le client d'un EJB message-driven. - Configuration des objets JMS administrés. 7) Les services Web et les EJB - Principe d'un service Web. Les technologies fondatrices : HTTP, XML, SOAP, WSDL et UDDI. - API JAX-RPC et JAX-WS. - Transformation d'un EJB session Stateless en service Web. 8) Le service timer - Objectifs. Présentation des API. - Mise en œuvre dans les EJB sessions et dans les EJB message-driven. 9) Les transactions et les EJB - Principe des transactions distribuées : commit à deux phases. - Les API JTA : Java Transaction API. - Gestion déclarative et attributs transactionnels. - Gestion programmée des transactions. 10) Sécuriser l'accès aux EJB - La sécurité d'une application Java EE. - Authentification des utilisateurs. - Les rôles, les droits d'accès aux méthodes. - Sécurité déclarative ou programmée sur les EJB. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 65 Stage pratique de 3 jour(s) Réf : JPA Participants Développeurs, architectes logiciels et chefs de projets. Pré-requis Bonnes connaissances de Java et de l'API JDBC. Prix 2017 : 1960€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions Paris 2 mai 2017, 11 sep. 2017 13 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. JPA, persistance des données en Java > Développement logiciel > Java, JEE S'inspirant des frameworks Hibernate et Toplink, JPA est devenu le standard pour la gestion de la persistance des objets Java dans une base de données. Vous mettrez en œuvre dans cette formation le concept de mapping objet-relationnel garantissant une meilleure portabilité de vos applications Java EE. OBJECTIFS PEDAGOGIQUES Etablir un mapping entre des objets java et des tables relationnelles Créer, mettre à jour et supprimer des objets persistants Maîtriser le langage de requêtes JPQL Gérer des transactions 1) Techniques de persistance Java et JPA 2) Développement d'une classe persistante 3) Mapping Objet/relationnel avec JPA 4) Manipuler les objets persistants 5) Utilisation avancée du mapping 6) Le langage JPQL 7) Transactions et accès concurrents Travaux pratiques Les exercices sont réalisés avec l'implémentation JPA d'Hibernate, Eclipse 3, MySQL et JBoss. 1) Techniques de persistance Java et JPA - Les différents mécanismes de persistance : API Java et frameworks. - La solution Java Persistence API (JPA). - Intégration de JPA dans une application Java EE. 2) Développement d'une classe persistante - Coder la classe persistante. - Effectuer le mapping Objet/relationnel. - Configurer et démarrer le moteur JPA. - Effectuer une requête JPQL. - Sauvegarder un objet persistant. Travaux pratiques Mapping d'une classe. Exécution d'une requête JPQL. 3) Mapping Objet/relationnel avec JPA - Contexte et objectifs d'un ORM. - Principe de développement des classes persistantes. - Utilisation des annotations pour configurer un mapping Objet/Relationnel. - Mapping des classes et des associations. - Stratégie de mapping pour l'héritage. Travaux pratiques Choisir un générateur d'identifiant. Mise en oeuvre d'une relation one-to-one, one-to-many et d'héritage. 4) Manipuler les objets persistants - Les différentes techniques de lecture. - Les stratégies de chargement. - Principe du lazy loading. - Les opérations CRUD (Create/Read/Update/Delete). - Cycle de vie des objets persistants. - Synchronisation avec la base de données. Travaux pratiques Créer, mettre à jour et supprimer des objets persistants. 5) Utilisation avancée du mapping - Clé primaire composée, mapping multitables. - Contrôler les requêtes INSERT et UPDATE. - Associations de type list, map et many-to-many. Travaux pratiques Mapping d'une table secondaire. Mise en oeuvre d'une association many-to-many. 6) Le langage JPQL - Les requêtes d'interrogation. - Opérations sur les chaînes de caractères et les données temporelles. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 66 - Jointures internes, externes et rapportées. - Principe des sous-requêtes. - Requêtes sur les ensembles. Travaux pratiques Effectuer une requête JPQL optimisée. 7) Transactions et accès concurrents - Rappel des propriétés d'une transaction. - La gestion transactionnelle avec JPA. - Intégration dans une application Web et EJB. - Verrouillage pessimiste et optimiste. Travaux pratiques Mise en œuvre de la gestion transactionnelle. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 67 Stage pratique de 3 jour(s) Réf : HIB Participants Chefs de projets, analystes, concepteurs, architectes logiciels et développeurs. Pré-requis Connaître Java et l'API JDBC. Prix 2017 : 1960€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions Paris 27 fév. 2017, 6 juin 2017 16 oct. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Hibernate, mapping objet/relationnel > Développement logiciel > Java, JEE L'écriture d'une couche d'accès aux données persistantes en Java se révèle rapidement complexe et coûteuse à développer. L'objectif du framework Hibernate est d'en simplifier le développement. Ce cours vous apportera tous les éléments nécessaires pour développer avec efficacité une couche de persistance via Hibernate. OBJECTIFS PEDAGOGIQUES Réaliser un mapping objet / relationnel avec Hibernate Créer, mettre à jour, supprimer et charger des objets persistants Effectuer des requêtes avec le langage HQL et l'API Criteria Gérer les transactions et les accès concurrents Configurer le cache Hibernate 1) Techniques de persistance Java 2) Développer une classe persistante simple 3) Mapping objet / relationnel avec Hibernate 4) Manipuler les objets persistants 5) Langage HQL et API Criteria 6) Transactions et accès concurrents 7) Utiliser le cache Hibernate 8) Génération automatique des ressources Travaux pratiques Les TP sont réalisés avec Hibernate, Eclipse et MySQL. 1) Techniques de persistance Java - Techniques de persistance. Framework de persistance. Le projet Hibernate. Hibernate vs JPA. 2) Développer une classe persistante simple - Installer le framework. Coder la classe persistante. - Définir les propriétés de configuration. - Exécuter Hibernate. Effectuer une requête HQL. Travaux pratiques Mapping d'une classe simple. Exécution d'une requête HQL. 3) Mapping objet / relationnel avec Hibernate - Objectifs. Développement des classes persistantes. - Effectuer le mapping des cas les plus courants. Annotations Hibernate vs annotations JPA. - Choisir un générateur d'identifiant. Mise en oeuvre d'une relation one-to-one, one-to-many et d'héritage. 4) Manipuler les objets persistants - Les opérations CRUD. Cycle de vie des objets. - Synchronisation avec la base de données. Persistance en cascade. - Charger les objets persistants. - Améliorer le mapping des classes et des propriétés. - Mapping des associations bag, list et map. Travaux pratiques Créer, mettre à jour, supprimer et charger des objets persistants. Utiliser un attribut dérivé. Mapping d'une collection de valeurs. Mise en œuvre d'une association many-to-many. 5) Langage HQL et API Criteria - Créer des requêtes avec jointure, d'interrogation. - Utiliser des projections avec HQL. Requêtes sur les ensembles. Travaux pratiques Effectuer une requête HQL optimisée. Coder une requête à l'aide de l'API Criteria. 6) Transactions et accès concurrents - Présentation des propriétés d'une transaction. Gestion de l'atomicité. Gestion de l'isolation des données. - Technique de verrouillage. Travaux pratiques Mise en oeuvre d'une transaction. 7) Utiliser le cache Hibernate - Objectifs. Cache de premier et de second niveau. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 68 Travaux pratiques Configuration du cache Hibernate. 8) Génération automatique des ressources - Hibernate Tools. Génération du fichier de configuration hibernate.cfg.xml. - Génération des classes du modèle (DAO/POJO) à partir du schéma SQL (Reverse Engineering). - Automatisation avec les tâches ANT. - hbm2ddl (SchemaExport). Génération des tables à partir de fichiers de mapping. Travaux pratiques Installation du Plug-in Eclipse Hibernate tools. Reverse Engineering d'une base existante. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 69 Stage pratique de 2 jour(s) Réf : BER Participants Ingénieurs, architectes, chefs de projets. Pré-requis Bonnes connaissances de base d'Hibernate. Très bonnes connaissances du langage Java. Prix 2017 : 1440€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions Paris 13 avr. 2017, 1 juin 2017 5 oct. 2017, 14 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Hibernate, mise en oeuvre avancée > Développement logiciel > Java, JEE Réaliser un mapping objet-relationnel adapté à votre besoin demande une bonne maîtrise d'Hibernate. Vous verrez les concepts avancés qui vous permettront d'affiner votre approche, de répondre à vos problématiques de performance et de mettre en place des stratégies de chargement. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les différentes stratégies de chargement Mettre en œuvre le cache de session et le cache de second niveau. Mettre en place un cache "clusterisé" avec JBoss TreeCache Mettre en œuvre un mapping d'héritage de classes Optimiser des associations Suivre les performances d'une application Hibernate 1) Stratégies de chargement 2) Mécanismes de caches 3) Partage des données 4) Optimisation des associations 5) Mapping d'héritage de classes 6) Suivi des performances 7) Projets annexes 1) Stratégies de chargement - Problématiques liées au chargement des données, l'impédance mismatch, les stratégies de fetch. - Le chargement par select et sous-select. - Le chargement par jointure, par lot. Travaux pratiques Mise en oeuvre de différentes stratégies de chargement. Etude de différents cas d'anomalie de chargement. 2) Mécanismes de caches - La gestion des caches. Le cache de session. - Le cache de second niveau, configuration (cache de cluster ou de JVM), types de cache (EHCache, JBossTreeCache...). - Mappages de cache. - Les différentes stratégies : lecture seule, lecture/écriture, lecture/écriture non stricte, transactionnelle. - Compatibilités entre les caches et les stratégies de concurrence. Le cache de requêtes. Travaux pratiques Mise en oeuvre du cache de session et du cache de second niveau. 3) Partage des données - Transactions et accès concurrents. - Gestion de la concurrence par contrôle optimiste. - Verrouillage pessimiste. Mise en cluster. Travaux pratiques Cas d'utilisation du verrouillage optimiste. Mise en place d'un cache "clusterisé" avec JBoss TreeCache. 4) Optimisation des associations - Gestion des associations bidirectionnelles. - Attribut de mapping " inverse". - Associations polymorphes. Travaux pratiques Manipulation des associations bidirectionnelles. 5) Mapping d'héritage de classes - Les stratégies d'héritage. - Une table par hiérarchie de classe. - Une table par sous-classe. - Une table par classe concrète. - Le polymorphisme implicite. Travaux pratiques Mise en oeuvre et analyse structurelle des différents héritages. 6) Suivi des performances - Activation des métriques (statistiques). - Les différents métriques disponibles. - L'accès aux métriques (SessionFactory). ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 70 - Publication des métriques via JMX. Travaux pratiques Analyse de différentes métriques. 7) Projets annexes - Hibernate Validator. Hibernate Search. Hibernate Shards. Travaux pratiques Mise en oeuvre de validation. Activation/désactivation de la validation. Déclenchement de validation autonome. Mise en oeuvre de requêtes Hibernate Search. Mise en oeuvre de Shards et discussion. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 71 Stage pratique de 4 jour(s) Réf : APH Participants Apache Hadoop, développer des applications pour le Big Data > Développement logiciel > Java, JEE Concepteurs, développeurs. Pré-requis Bonne expérience en développement Java. Des connaissances en architecture Web constituent un plus. Prix 2017 : 2440€ HT Dates des sessions Paris 21 mar. 2017, 6 juin 2017 5 sep. 2017, 21 nov. 2017 Aix 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Bordeaux 21 mar. 2017, 16 mai 2017 12 sep. 2017, 21 nov. 2017 Grenoble 21 mar. 2017, 16 mai 2017 12 sep. 2017, 21 nov. 2017 Lille 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Lyon 21 mar. 2017, 16 mai 2017 12 sep. 2017, 21 nov. 2017 Montpellier 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Nantes 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Rennes 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Sophia-antipolis 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Strasbourg 28 mar. 2017, 30 mai 2017 5 sep. 2017, 28 nov. 2017 Toulouse 21 mar. 2017, 16 mai 2017 12 sep. 2017, 21 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le Ce stage vous apprendra à développer des applications vous permettant de traiter des données distribuées en mode batch. Vous collecterez, stockerez et traiterez des données de formats hétérogènes avec Apache Hadoop afin de mettre en place des chaînes de traitement intégrées à votre système d'information. OBJECTIFS PEDAGOGIQUES Construire un programme à base de Map Reduce Intégrer Hadoop HBase dans un workflow d'entreprise Travailler avec Apache Hive et Pig depuis HDFS Utiliser un graphe de tâches avec Hadoop 1) Le Big Data 2) Collecte de données et application de Map Reduce 3) Le stockage des données avec HBase 4) Le stockage des données sur HDFS 5) Spring Data Hadoop Méthodes pédagogiques Cours 30%, travaux pratiques 70%. Travaux pratiques Développement d'applications pour le Big Data. 1) Le Big Data - Définition du périmètre du Big Data. - Le rôle du projet Hadoop. - Les concepts de base des projets Big Data. - Présentation du Cloud Computing. - Différence entre Cloud Computing privé et public. - Les architectures Big Data à base du projet Hadoop. Démonstration Usage d'Hadoop et de GoogleApp. 2) Collecte de données et application de Map Reduce - Analyse des flux de données dans l'entreprise. - Données structurées et non-structurées. - Les principes de l'analyse sémantique des données d'entreprise. - Graphe des tâches à base de MapReduce. - La granularité de cohérence des données. - Transfert de données depuis un système de persistance dans Hadoop. - Transfert de données d'un Cloud dans Hadoop. Travaux pratiques Gérer la collecte d'informations clientèles par Map Reduce. Configuration de l'implémentation YARN. Développement d'une tâche basée sur Map Reduce. 3) Le stockage des données avec HBase - Plusieurs types de base de données XML. - Patterns d'usages et application au Cloud. - Application de Hadoop database au sein d'un workflow. - Utilisation des projets Hive/Pig. - Utilisation du projet HCatalog. - L'API Java HBase. Travaux pratiques Gérer les modifications d'un catalogue de données fournisseur. 4) Le stockage des données sur HDFS - Patterns d'usages et application au Cloud. - Architecture et installation d'un système HDFS, journal, NameNode, DataNode. - Opérations, commandes et gestion des commandes. - L'API HDFS Java. - Analyse de données avec Apache Pig. - Le langage Pig Latin. Utiliser Apache Pig avec Java. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 72 plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Requêtage avec Apache Hive. - Réplication de données. Partage de données sur une architecture HDFS. Travaux pratiques Administrer un référentiel client partagé sur Hadoop. Utilisation de la console de visualisation. 5) Spring Data Hadoop - Introduction à Spring et Spring Data. - Le namespace Hadoop pour Spring. - Utiliser Spring pour simplifier la configuration Hadoop. - Configuration du cache distribué. - Définition des Jobs et dépendance entre Jobs. - Intégration des outils (Pig, Hive...). Travaux pratiques Refondre la gestion du catalogue de données fournisseur via Spring Data. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 73 Stage pratique de 3 jour(s) Réf : SPK Participants Développeurs, architectes. Pré-requis Bonnes connaissances du langage Java. Prix 2017 : 1960€ HT Dates des sessions Paris 13 mar. 2017, 12 juin 2017 11 sep. 2017, 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Spark, développer des applications pour le Big Data New > Développement logiciel > Java, JEE Vous développerez des applications en Java en vue de traiter en temps réel des données issues du Big Data. Vous collecterez, stockerez et traiterez avec Spark des données de formats hétérogènes afin de mettre en place des chaînes de traitement intégrées à votre système d'information. OBJECTIFS PEDAGOGIQUES Maîtriser les concepts fondamentaux de Spark Développer des applications avec Spark Streaming Faire de la programmation parallèle avec Spark sur un cluster Exploiter des données avec Spark SQL Avoir une première approche du Machine Learning 1) Présentation d'Apache Spark 2) Programmer avec les Resilient Distributed Dataset (RDD) 3) Manipuler des données structurées avec Spark SQL 4) Spark sur un cluster 5) Analyser en temps réel avec Spark Streaming 6) Manipuler des graphes avec GraphX 7) Machine Learning avec Spark Travaux pratiques Mise en pratique des notions vues en cours à l'aide du langage Java. 1) Présentation d'Apache Spark - Historique du Framework. - Les différentes versions de Spark (Scala, Python et Java). - Comparaison avec l'environnement Apache Hadoop. - Les différents modules de Spark. Travaux pratiques Installation et configuration de Spark. Exécution d'un premier exemple avec le comptage de mots. 2) Programmer avec les Resilient Distributed Dataset (RDD) - Présentation des RDD. - Créer, manipuler et réutiliser des RDD. - Accumulateurs et variables broadcastées. - Utiliser des partitions. Travaux pratiques Manipulation de différents Datasets à l'aide de RDD et utilisation de l'API fournie par Spark. 3) Manipuler des données structurées avec Spark SQL - SQL, DataFrames et Datasets. - Les différents types de sources de données. - Interopérabilité avec les RDD. - Performance de Spark SQL. - JDBC/ODBC server et Spark SQL CLI. Travaux pratiques Manipulation de Datasets via des requêtes SQL. Connexion avec une base externe via JDBC. 4) Spark sur un cluster - Les différents types d'architecture : Standalone, Apache Mesos ou Hadoop YARN. - Configurer un cluster en mode Standalone. - Packager une application avec ses dépendances. - Déployer des applications avec Spark-submit. - Dimensionner un cluster . Travaux pratiques Mise en place d'un cluster Spark. 5) Analyser en temps réel avec Spark Streaming - Principe de fonctionnement. - Présentation des Discretized Streams (DStreams). - Les différents types de sources. - Manipulation de l'API. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 74 - Comparaison avec Apache Storm. Travaux pratiques Consommation de logs avec Spark Streaming. 6) Manipuler des graphes avec GraphX - Présentation de GraphX. - Les différentes opérations. - Créer des graphes. - Vertex and Edge RDD. - Présentation de différents algorithmes. Travaux pratiques Manipulation de l'API GraphX à travers différents exemples. 7) Machine Learning avec Spark - Introduction au Machine Learning. - Les différentes classes d'algorithmes. - Présentation de SparkML et MLlib. - Implémentations des différents algorithmes dans MLlib. Travaux pratiques Utilisation de SparkML et MLlib. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 75 Stage pratique de 3 jour(s) Réf : ASB Participants Apache Storm, développer des applications pour le Big Data > Développement logiciel > Java, JEE Concepteurs, développeurs. Pré-requis Il est important d'avoir une expérience dans le développement, si possible en Java. Une compréhension des problèmes liés au Big Data est un plus. Prix 2017 : 1960€ HT Dates des sessions Paris 27 fév. 2017, 15 mai 2017 18 sep. 2017, 20 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Vous apprendrez dans cette formation à développer des applications vous permettant de traiter en temps réel des données et services placés dans le Cloud. Vous découvrirez également les atouts de Storm par rapport au Big Data traditionnel et comprendrez son système de calcul distribué temps réel. OBJECTIFS PEDAGOGIQUES Traiter en temps réel des données placées dans le Cloud Coordonner des échanges Développer des services pour le Cloud Synchroniser des données entre un Cloud privé et un réseau social 1) Le Big Data 2) Introduction au projet Apache Storm 3) Scalabilité horizontale 4) Traitement des messages garantis 5) Tolérance aux pannes 6) Développement de services pour le Cloud 7) Interconnexion avec les réseaux sociaux Méthodes pédagogiques Cours 30% travaux pratique 70%. Travaux pratiques Développement d'applications pour le Big Data. 1) Le Big Data - Définition du périmètre du Big Data. Le projet Hadoop, positionnement du projet Storm. - Les concepts de base des projets Big Data. - Différence entre Cloud Computing privé et public. - Les architectures Big Data à base du projet Storm. Démonstration Exemples d'utilisation de Storm. 2) Introduction au projet Apache Storm - Définition de l'environnement de développement. - Création de projets basés sur Storm. - Définition des composants Storm (spout et bolt). - Définition des flux Storm. - Modèle de données (clé, valeur). Travaux pratiques Utiliser l'API Storm pour gérer les enregistrements d'utilisateurs. 3) Scalabilité horizontale - Définition de la haute disponibilité. - Les topologies possibles. - Parallélisation des calculs et traitement de données. - Scalabilité des serveurs Web. - Utilisation de Storm cluster. - Scalabilité des bases de données. Travaux pratiques Gérer la montée en charge via l'augmentation des serveurs Web. 4) Traitement des messages garantis - Définition d'un message "entièrement traité". - Cycle de vie d'un message. - L'API Storm pour la définition de la fiabilité. - Stratégie de mise en place de la fiabilité pour une application utilisant le Big Data. Travaux pratiques Réguler les messages client et assurer leur suivi. 5) Tolérance aux pannes - Gestion des Bolts. - Le projet Apache Kafka. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 76 - Définition des transactions. - Topologie transactionnelle et Storm cluster. - Rôles des Nimbus et ZooKeeper. Travaux pratiques Utiliser ZooKeeper pour la négociation distribuée. 6) Développement de services pour le Cloud - Programmation de services avec les différents langages Clojure, Java, Ruby, Python. - Introduction à de nouveaux langages. Travaux pratiques Appliquer l'interopérabilité dans le Big Data temps réel. 7) Interconnexion avec les réseaux sociaux - L'utilisation de Twitter4J. - Configuration de la sécurité d'accès. - Gestion d'événements avec Storm. - Définition de callback. Travaux pratiques Synchroniser des données entre un Cloud privé et un réseau social. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 77 Stage pratique de 2 jour(s) Réf : DAU Data Clustering, organiser les données du Big Data New Participants > Développement logiciel > Java, JEE Data analyst, développeurs, chefs de projets ou toutes personnes s'intéressant aux techniques de clustering de données. Le clustering de données vise à regrouper, au sein de "données massives", des données similaires afin d'identifier des connaissances pertinentes et permettre une prise de décision adaptée. Ce cours vous permettra de comprendre les fondamentaux du clustering de données et de les mettre en pratique sur des cas concrets. Pré-requis OBJECTIFS PEDAGOGIQUES Connaissances de base de la programmation. Prix 2017 : 1600€ HT Dates des sessions Paris 6 avr. 2017, 8 juin 2017 5 oct. 2017, 7 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Découvrir les principaux aspects du clustering de données Comprendre les approches et les techniques de clustering de données Appliquer les outils et algorithmes pour le clustering de données Savoir mesurer les performances et la qualité d'un jeu de données 1) Introduction au clustering de données 2) Clustering simple et clustering hiérarchique 3) Techniques de clustering 4) Outils pratiques et algorithmes pour le clustering de données 5) Mesures Qualité et Performance 6) Clustering de données à partir d'un réseau lexical 7) Clustering de documents 1) Introduction au clustering de données - Approches supervisées et non supervisées. - Méthodes floues et strictes. - Théorie des graphes, différents types de structures de données. - Calcul de similarité (TF, TF-IDF...). - Propriétés des jeux de données. 2) Clustering simple et clustering hiérarchique - Clustering simple. - Clusterings hiérarchiques et composés. - Utilité du clustering hiérarchique. - Présentation du résultat. Démonstration Cas d'utilisations de techniques de clustering. 3) Techniques de clustering - Approches orientées K-means. - Approches par agglomération. - Approches basées sur un modèle physique (modèle énergie, ressort...). - Approches "divisives". - Approches par marche aléatoire. - Algorithmes incrémentaux. Démonstration Avantages/inconvénients des approches étudiées. 4) Outils pratiques et algorithmes pour le clustering de données - K-means simple, Graclus, Cluto. - Algorithme hiérarchique : Louvain. - InfoMap, Fast Modularity. - NCut, approche Girvan Newman... - Extraction d'arbres couvrants et composition. Travaux pratiques Application de K-means sur un jeu de données. Application de "Fast Modularity" sur un jeu de données simple. 5) Mesures Qualité et Performance - Introduction à la performance et à la complexité. - Mesures de qualité. - Critères : Cut, Perf, Cond, Cov, MQ, Mod, Critère de Dunn... - Trouver le bon algorithme : technique des diagrammes d'Inselberg. Travaux pratiques Mesure de la qualité sur un jeu de données. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 78 6) Clustering de données à partir d'un réseau lexical - Présentation du jeu de données. - Analyse des propriétés du réseau. - Exécution d'algorithmes de clustering. - Affichage du résultat. - Calcul de la qualité des partitionnements effectués. Travaux pratiques Mise en œuvre d'algorithmes de clustering sur un réseau lexical et sur des documents Web, pdf... 7) Clustering de documents - Présentation du jeu de données. - Analyse des propriétés du réseau. - Calcul de mesures de similarité. - Exécution d'algorithmes de clustering. - Affichage du résultat. - Calcul de la qualité. Travaux pratiques Mise en œuvre d'algorithmes de clustering sur une base documentaire, calcul de mesures de similarité, clustering, analyse de la qualité. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 79 Stage pratique de 3 jour(s) Réf : RAG MapReduce et Aggregation Framework pour MongoDB New Participants > Développement logiciel > Java, JEE Responsables de projets, développeurs désirant comprendre l'agrégation de données sur MongoDB. L'agrégation de données sert particulièrement à la génération des graphiques et à la synthèse des données permettant la prise de décisions. Cette formation vous permettra de mettre en pratique l'agrégation de données sous MongoDB en utilisant les outils 'Aggregation framework' et 'MapReduce'. Pré-requis OBJECTIFS PEDAGOGIQUES Connaissances de base de MongoDB. Prix 2017 : 1960€ HT Dates des sessions Paris 20 mar. 2017, 19 juin 2017 18 sep. 2017, 11 déc. 2017 Comprendre ce qu'est l'agrégation de données Comprendre la logique et le fonctionnement de MapReduce Savoir appliquer l'environnement d'Aggregation Framework Comprendre les différences en termes de performances et les cas d'utilisations. 1) Introduction 2) Aggregation Framework 3) Map Reduce 4) Comparaison des performances 5) Conclusion Modalités d’évaluation 1) Introduction L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). - Pourquoi agréger les données ? - Principe de l'agrégation de données. - Problématiques générales liées à l'agrégation de données. - Présentation des différents outils pour l'agrégation de données sous MongoDB. - Présentation de l'environnement, de l'évolution et du contexte de développement des Frameworks MapReduce et Aggregation. - Présentation des deux Frameworks (fonctionnement et cas d'utilisations). Compétences du formateur 2) Aggregation Framework Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Etude des différents opérateurs et fonctions, mesures de performances. Pratique finale sur un cas concret. - Principe et fonctionnement. - Exemple simple d'agrégation. - La notion de "pipeline" d'agrégation. - Parallèle entre SQL et Aggregation. - Études des différentes étapes du pipeline : $match, $group, $project, $skip, $limit, $unwind... - Études des différentes fonctions d'agrégation : $min, $max, $push, $addToSet, $first, $last... - Études des autres fonctions : booléennes, manipulation de données, manipulation de dates... - Études des limites du Framework d'agrégation. 3) Map Reduce - Pourquoi utiliser MapReduce ? - Le principe et le fonctionnement (fonction map, reduce et finalize). - Exemple simple d'utilisation. - Comprendre la logique et le fonctionnement de manière détaillée. - Utilisation Full et Incrémentale : exemple et impact sur les performances. - Personnalisation de la structure de sortie. - La double agrégation. - Étude des limites de l'outil. Travaux pratiques Etude de cas allant des cas les plus courants aux cas les plus complexes. 4) Comparaison des performances - Présentation du cas d'utilisation de MapReduce et d'Aggregation Framework. - Comparaison sur un jeu de données concrètes. - Mesures de performances. Travaux pratiques Comparaison des deux Frameworks. Identification des avantages et des inconvénients des deux approches sur différents jeux de données. 5) Conclusion - Bilan sur la formation. - Revue des notions abordées. - Questions et discussions autour de ces deux Frameworks. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 80 Stage pratique de 4 jour(s) Réf : DTV Participants Développeurs Java et/ou JavaScript souhaitant réaliser de manière pratique des visualisations de données. Pré-requis Connaissances de base en développement Java et/ou JavaScript. Prix 2017 : 2440€ HT Développer des applications de DataVisualisation outils et frameworks New > Développement logiciel > Java, JEE Après avoir découvert les concepts de base et les techniques liés à la représentation visuelle des données, vous apprendrez à développer des applications de visualisation de données basées sur les principaux outils et Frameworks Java/JavaScript de DataVisualisation. OBJECTIFS PEDAGOGIQUES Découvrir ce qu'est la visualisation de données Comprendre les clés pour la conception de visualisations de données Utiliser des APIs pour la visualisation des données Développer avec les principaux Frameworks de visualisation des données Dates des sessions Paris 21 mar. 2017, 20 juin 2017 19 sep. 2017, 12 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Introduction à la visualisation d'information 2) Sémiologie graphique : la base de la visualisation 3) Transitions animées et légendes interactives 4) Outils pour la visualisation d'informations 5) Visualisation de réseaux 6) Visualisation de diagrammes 1) Introduction à la visualisation d'information - Définition, notions et objectifs. - Rôle de l'utilisateur et de l'interaction. - Diagrammes courants : histogrammes, pie chart, 3D. - Visualisation multidimensionnelles : nuages de points, diagrammes d'inselberg. - Visualisation multi-niveaux : données hiérarchiques, full zoom. - Techniques de visualisations : fisheyes, vue hyperbolique. - Visualisation de réseaux : hiérarchiques, radiales. - Visualisation par modèle de force : modèle énergie, ressort. Echanges Discussions et échanges sur les techniques de visualisation traitées. 2) Sémiologie graphique : la base de la visualisation - Le système visuel humain. - Les variables visuelles. - Les propriétés perceptives. - Extension de la sémiologie : le mouvement. Etude de cas Utilisation des différentes variables visuelles. 3) Transitions animées et légendes interactives - Définition, notions et buts. - Animations et légendes interactives dans des visualisations. - Manipulation des variables visuelles. - Règles à respecter. - Valeurs ajoutées. Travaux pratiques Manipulation des variables visuelles. 4) Outils pour la visualisation d'informations - Frameworks JavaScript de DataVisualisation. - Frameworks Java de DataVisualisation. - Quelques outils supplémentaires. Travaux pratiques Prise en main de Frameworks. 5) Visualisation de réseaux - Types de réseaux (sans échelle, petit monde...). - Analyse d'un réseau (réseau lexical, réseau social, corpus de textes...). - Réalisation d'une visualisation orientée réseaux (en Java/JavaScript). - Mise en place et choix des différents leviers d'interaction : full zoom, sélection... - Expériences d'utilisation. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 81 Développement d'applications de visualisation orientée réseaux. 6) Visualisation de diagrammes - Etude d'un jeu de données. - Réalisation de plusieurs visualisations interactives orientées diagrammes (en Java/JavaScript). - Mise en place et choix de différents leviers d'interaction : légendes interactives, survol etc. - Expériences d'utilisation. Travaux pratiques Développement d'applications de visualisation orientée diagrammes. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 82 Stage pratique de 5 jour(s) Réf : FSP Participants Framework Spring 3, développer des applications d'entreprise > Développement logiciel > Java, JEE Développeurs Java/Java EE. Pré-requis Bonnes connaissances de Java et Java EE. Expérience souhaitable en développement d'applications Java/Java EE. Prix 2017 : 2610€ HT Dates des sessions Ce cours vous apprendra à utiliser le framework Spring pour développer des applications Java plus robustes et plus efficaces, en facilitant la configuration de leurs différents composants et la réalisation des tests, tout en réduisant les efforts de développement. OBJECTIFS PEDAGOGIQUES Concevoir des applications web basées sur un conteneur léger Mettre en pratique l'injection de dépendance au sein d'une application. Mettre en pratique la programmation par aspect au sein d'une application Intégrer les principaux modules Spring au sein d'une application (Spring Core, Spring MVC, Spring Security...) Implémenter une couche d'accès aux données Paris 27 fév. 2017, 29 mai 2017 4 sep. 2017, 11 déc. 2017 Aix 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Bordeaux 13 mar. 2017, 19 juin 2017 18 sep. 2017, 11 déc. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 11 sep. 2017, 11 déc. 2017 Geneve 13 mar. 2017, 12 juin 2017 11 sep. 2017, 11 déc. 2017 Grenoble 13 mar. 2017, 19 juin 2017 18 sep. 2017, 11 déc. 2017 Lille 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Luxembourg 13 mar. 2017, 12 juin 2017 11 sep. 2017, 11 déc. 2017 Lyon 13 mar. 2017, 19 juin 2017 18 sep. 2017, 11 déc. 2017 Montpellier 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 1) Introduction 2) Conteneur léger et inversion de contrôle 3) La Programmation Orientée Aspect 4) Tests unitaires 5) Mise en oeuvre de l'accès aux données 6) Le Web 7) La sécurité 8) Spring Remoting 9) Spring et JMS 10) Spring et JMX 1) Introduction - Présentation de l'écosystème Java EE. - La place de Spring dans cet écosystème, notamment par rapport aux EJB. - L'état de l'art des bonnes pratiques de conception d'une application. - Le rôle d'un conteneur léger. 2) Conteneur léger et inversion de contrôle - La prise en charge des objets par Spring. - La gestion du cycle de vie des objets confiés à Spring (pattern Singleton, Prototype). - La programmation par interface et le couplage faible (pattern Strategy). - L'injection de dépendance. - Présentation de l'injection par setter et par constructeur : quel type d'injection dans quel cas ? - L'accès programmatique au conteneur. - La configuration par annotations. Travaux pratiques Installation de Spring et de son environnement. Mise en pratique de l'injection de dépendance au sein d'une application. 3) La Programmation Orientée Aspect Sophia-antipolis - Présentation du concept de Programmation Orientée Aspect (AOP). Vocabulaire (aspect, join point, pointcut, advice...). - Spring AOP versus AspectJ. - Les proxies (ProxyFactory...). - Les types d'advice (@Before, @AfterReturning...). - Déclaration et implémentation d'un aspect. - Les différents formats d'expression de Pointcut. - Configuration XML versus annotations. 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Travaux pratiques Mise en pratique de la programmation par aspect au sein d'une application. Nantes 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Rennes 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Strasbourg 6 mar. 2017, 12 juin 2017 4 sep. 2017, 13 nov. 2017 Toulouse 13 mar. 2017, 19 juin 2017 18 sep. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à 4) Tests unitaires - Amélioration de la qualité par les tests unitaires avec JUnit et les mocks. - L'apport de l'IOC. - Intégration de JUnit à Spring. Travaux pratiques Mise en place de tests unitaires au sein de Spring. 5) Mise en oeuvre de l'accès aux données - Couplage Spring/JDBC (JdbcTemplate). - Présentation des enjeux du mapping relationnel. - JPA (et JPA 2) comme API de normalisation de la persistance en Java. - Hibernate comme implémentation de JPA. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 83 réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Couplage Spring / JPA. - Mise en oeuvre des transactions : par aspect, par annotation, programmatique. Travaux pratiques Implémentation d'une couche de persistance des données avec JPA. 6) Le Web - Le modèle MVC. - La mise en oeuvre du pattern MVC avec Spring Web-MVC. - Utilisation des annotations dans la mise en œuvre du modèle MVC. - Couplage Spring - JSR 303 (Bean Validation) pour la validation de la saisie. - Mise en oeuvre d'Ajax avec Spring MVC. Travaux pratiques Implémentation de la couche de présentation avec Spring-MVC. 7) La sécurité - Présentation de Spring Security pour la gestion de l'authentification et des autorisations. - Création, chargement et récupération d'un contexte de sécurité. - Activation d'un filtre. - Création d'un formulaire de login. - Sécurisation des méthodes. - Application d'une stratégie de sécurité par aspects, par annotations. Travaux pratiques Mise en place de la sécurité avec Spring Security. 8) Spring Remoting - Que fait Spring Remoting ? - Les différents types d'accès distants (RMI, JAX-WS, JAX-RPC...). - Rappel sur RMI et la sérialisation. Utilisation de RMI avec Spring. Configuration du client et du serveur. - Rappel sur les Web Services REST. Intégration de REST et de Spring MVC. Paramétrer la requête, transformer la réponse. Travaux pratiques Intégration RMI et des Web Services REST dans l'application. 9) Spring et JMS - Notion de communication synchrone ou asynchrone. - Rappels JMS. Notion de producteur et de consommateur. Type de destination possible : Queue, Topic. Les implémentations. - Intégration et configuration de JMS dans Spring. Utilisation du mode "Point to Point" et "Publish/Subscribe". - Définition d'un JmsTemplate. - Réception synchrone et asynchrone de messages. Envoi de messages. Travaux pratiques Produire et consommer des messages JMS déposés dans un Topic depuis Spring. 10) Spring et JMX - Présentation de l'architecture et des concepts de JMX (Managed Beans, agents JMX, MBean Server). - Bean Spring. Les annotations (@ManagedResource, @ManagedAttribute, @ManagedOperation...). - Configuration Spring. Création d'un MBean Server. - Outil de supervision et d'administration de MBeans : la JConsole. Travaux pratiques Administration de Beans Spring via la JConsole. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 84 Stage pratique de 5 jour(s) Réf : SDA Participants Développeurs Java/ Java EE ayant une réelle expérience en développement d'applications Java/JEE. Pré-requis Bonnes connaissances de Java et Java EE. Prix 2017 : 2640€ HT Dates des sessions Paris 6 fév. 2017, 10 avr. 2017 26 juin 2017, 21 aoû. 2017 16 oct. 2017, 18 déc. 2017 Aix 29 mai 2017, 25 sep. 2017 27 nov. 2017 Bordeaux 3 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bruxelles Framework Spring 4, développer des applications d'entreprise Best > Développement logiciel > Java, JEE Ce cours vous apprendra à utiliser le framework Spring 4 pour développer des applications Java plus robustes et plus efficaces. Vous verrez aussi comment faciliter, au moyen du framework, la configuration des différents composants de vos applications Web et la réalisation des tests, tout en réduisant vos efforts de développement. OBJECTIFS PEDAGOGIQUES Mettre en place Spring sur les différentes couches d'une application n-tiers Mettre en place une façade Web REST et MVC Assurer la persistance de vos données Sécuriser votre application avec Spring Security Coupler Spring à d'autres technologies de l'écosystème Java JEE 1) Introduction 2) Présentation du conteneur Spring 3) L'environnement de travail 4) Découpage n-tiers, injection de dépendances et interceptions 5) Accès aux données et gestion des transactions 6) IHM Web avec Spring MVC 7) Mise en oeuvre de Web Services REST 8) Mise en oeuvre des websockets 9) Eléments de sécurité 10) Intégration de Spring à d'autres technologies 6 mar. 2017, 19 juin 2017 4 sep. 2017, 4 déc. 2017 Méthodes pédagogiques Geneve Support de cours (30%-40%), exercices (60%-70%). Un exercice " fil rouge " sera déroulé. Les différents modules seront validés par des tests unitaires (Junit) et seront déployés sur un serveur Apache Tomcat. 6 mar. 2017, 19 juin 2017 4 sep. 2017, 4 déc. 2017 Grenoble 3 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Lille 29 mai 2017, 25 sep. 2017 27 nov. 2017 Luxembourg 6 mar. 2017, 19 juin 2017 4 sep. 2017, 4 déc. 2017 1) Introduction - Les bonnes pratiques de conception : séparation des responsabilités, KISS, DRY, POJO. - Positionnement de Spring par rapport à la spécification Java EE et aux serveurs d'applications Java EE. - Les nouveautés par rapport à la version 3. 2) Présentation du conteneur Spring Montpellier - Les technologies " core " : cycle de vie des objets, injection de dépendances et interceptions. - L'accès aux données : JDBC, JPA, Hibernate. La gestion des transactions. - Le Web : webmvc et REST. - L'intégration aux autres technologies. - Les stratégies de déploiement : servlet container, serveur d'applications, TC Server, Cloud. - Au-delà de Spring Framework : Spring Data, Spring Batch... 29 mai 2017, 25 sep. 2017 27 nov. 2017 3) L'environnement de travail Lyon 3 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Nantes 29 mai 2017, 25 sep. 2017 27 nov. 2017 Rennes 29 mai 2017, 25 sep. 2017 27 nov. 2017 Sophia-antipolis 29 mai 2017, 25 sep. 2017 27 nov. 2017 Strasbourg 29 mai 2017, 25 sep. 2017 27 nov. 2017 Toulouse 3 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à - L'environnement Eclipse. - Le plug-in Spring Tool Suite (STS). - Les dépendances Maven. Travaux pratiques Installation de l'IDE et du plug-in Spring Tool Suite. 4) Découpage n-tiers, injection de dépendances et interceptions - Le découpage en couches, l'approche POJO. - La gestion de l'état : application stateful vs application stateless. - L'injection de dépendances par setter, par constructeur. - Les intercepteurs et la programmation orientée aspect, couplage avec AspectJ. - Les invocations asynchrones. - Les invocations planifiées (task et scheduling). - La configuration du conteneur (par annotations ou par xml), les profils. - Le test des beans managés : couplage avec JUnit, utilisation des Mocks. Travaux pratiques Mise en place d'une application n-tiers, utilisation de Spring comme factory pour gérer nos objets (cycle de vie, injection de dépendance, interception). 5) Accès aux données et gestion des transactions - Le couplage avec Spring JDBC et le JDBCTemplate. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 85 réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Utilisation de bases de données embarquées : H2, HSQL, Derby. - Couplage avec l'API JPA et le framework Hibernate. - Le moniteur transactionnel de Spring, couplage avec JTA 1.2. - Le support des transactions au sein des tests. - Introduction à Spring Data pour les bases NoSQL. Travaux pratiques Mise en place d'entités persistantes dans un projet Java. Gestion par Spring du cycle de vie de l'entityManager JPA, utilisation du moniteur transactionnel de Spring et des annotations JTA. 6) IHM Web avec Spring MVC - Rappel du pattern MVC. - Le 2 ways binding à base de POJO. - Les vues : JSP et JSTL, Freemarker, Velocity, JasperReports... - La validation de surface avec JSR 303. - L'internationalisation. - La gestion des exceptions. Travaux pratiques Mise en oeuvre de Spring MVC au sein d'une application Web qui expose la couche métier développée précédemment. 7) Mise en oeuvre de Web Services REST - Qu'est-ce qu'une URI ? - Rappels des bases du protocole http : les verbes, les codes de retours, les contentType, les en-têtes http. - Utilisation de Spring MVC pour mettre en place une application Web RESTFUL. - Cross Origin Shared Ressource. - Utilisation de Spring cache pour mettre en cache les réponses des endpoints REST. - Mise en place d'une API découvrable avec HATEOAS. Travaux pratiques Développement d'une façade Web exposant les services développés précédemment, consommation des Web Services REST par un client html / javascript (utilisation d'angularJS). 8) Mise en oeuvre des websockets - Les concepts du Web " real time ". - Présentation de STOMP et SockJS. - Le support par les navigateurs, les mécanismes de fallback. - La mise en place côté serveur. - La mise en place côté client (HTML, iOS, Android). Exercice Ajout d'une connexion websocket au client html/javascript développé précédemment. 9) Eléments de sécurité - Présentation de Spring Security pour la gestion de l'authentification et des autorisations. - Création, chargement et récupération d'un contexte de sécurité. - Activation d'un filtre. - Création d'un formulaire de login. - Sécurisation des méthodes. - Application d'une stratégie de sécurité par aspects, par annotations. Travaux pratiques Mise en place de la sécurité avec Spring Security et couplage avec Spring MVC. 10) Intégration de Spring à d'autres technologies - L'enjeu posé par l'intégration entre Spring et des technologies tierces. - Le couplage entre Spring et JMX : managedResource et managedOperation. - Activation de la console Web JMX de Sun (HtmlAdaptorServer). - Exposition avec http Invoker. Travaux pratiques Supervision avec JMX, mise en place d'un endpoint avec http Invoker afin d'exposer les services développés précédemment. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 86 Stage pratique de 3 jour(s) Réf : SPD Participants Développeurs Java/Java EE. Pré-requis Bonnes connaissances de Java/Java EE. Expérience opérationnelle en Spring. Prix 2017 : 1960€ HT Dates des sessions Paris 24 avr. 2017, 19 juin 2017 4 sep. 2017, 27 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Framework Spring 4, mise en œuvre avancée > Développement logiciel > Java, JEE Ce stage vous présentera d'une façon claire l'ensemble de l'écosystème Spring. Il vous montrera comment sécuriser une application Web, accéder à des données au travers d'une couche d'abstraction commune à de multiples sources de données et développer des applications de traitement par lots. OBJECTIFS PEDAGOGIQUES Sécuriser une application Web avec Spring Security Accéder à des données de sources multiples avec Spring Data Traiter automatiquement de grandes quantités de données avec Spring Batch 1) Introduction 2) Spring Security 3) Spring Data 4) Spring Batch 1) Introduction - Rappels sur le framework socle Spring. - Revue de l'ensemble des projets du portforlio afin de redéfinir l'écosystème Spring. - Les nouvelles orientations de Spring framework. - Spring Security, Spring Data et Spring Batch. Démonstration Mise en place de l'environnement de développement. 2) Spring Security - Sécurisation des URL et des appels de méthodes. - Le processus d'authentification, les principales abstractions du modèle Spring. - Les implémentations par défaut et les stratégies d'authentification nativement supportées. - Personnalisation du processus d'authentification. - Les autorisations pour le Web : chaîne de filtres. - Les autorisations pour l'invocation de méthodes : intercepteurs AOP. - API : les annotations, les taglibs, la manipulation programmatique. - Configuration : via XML ou via JavaConfig. Travaux pratiques Sécurisation d'une application au niveau URL et appel de méthodes. Configuration par JavaConfig. Ecriture des tests. 3) Spring Data - La notion de "Repository". - Le requêtage (Query method, l'annotation "Query"... - Les points d'extensions (intégration à la couche Web). - Spring Data JPA : requêtage JPA et Query DSL, transaction, configuration. - Spring Data MongoDB : requêtage MongoDB et Query DSL, utilisation du template, configuration. - Spring Data Rest : exposer les "repository" en tant que ressources REST. - Spring Data Rest : rendre les ressources découvrables au travers d'une architecture orientée HATEOAS. Travaux pratiques Ecriture d'une couche de persistance. Illustrer le principe d'architecture HATEOAS avec l'outil REST Shell de Spring. 4) Spring Batch - Mise en place de batchs managés et monitorés. - Définition d'un batch à l'aide des abstractions "Job", "Step", "ItemReader"... - Exécution d'un batch : les notions de "Job", "JobInstance" et "JobExecution". - Exécution d'un batch : la configuration via les abstractions "JobLaucnher", "JobRepository"... - Définition d'une étape d'un batch : Chunck vs Tasklet, Sequential vs Parallel Flow, Conditional Flow. - Ecriture de tests pour : une étape (test unitaire), le batch complet (test d'intégration). - Le monitoring : Start/ReStart/Stop a job, interagir avec le cycle de vie d'un job. - Le monitoring : la console "Spring Batch Admin". Travaux pratiques Chargement d'une base de données à partir de fichiers. Monitoring via la console de Spring. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 87 Stage pratique de 3 jour(s) Réf : SPR Participants Développeurs JEE, architectes logiciels. Pré-requis Expérience dans le développement d'applications Spring. Prix 2017 : 1960€ HT Dates des sessions Paris 15 mar. 2017, 22 mai 2017 4 sep. 2017, 20 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Spring Integration, concevoir des solutions d’intégration d’applications d'entreprise New > Développement logiciel > Java, JEE Spring Integration étend le framework Spring par un modèle de communication par messages et le support des Enterprise Integration Patterns (EIP). La formation couvre la mise en œuvre de ces patterns dans le cadre d'applications Spring interagissant avec des applications externes via SOAP, REST, TCP, JMS ou encore FTP. OBJECTIFS PEDAGOGIQUES Exploiter les EIP pour concevoir un système d'intégration Implémenter des communications synchrones et asynchrones en mode point à point et publication/ souscription Concevoir des routes, effectuer des traitements sur le contenu des messages Configurer les adaptateurs et les gateways prédéfinis pour communiquer avec les systèmes externes Assurer le monitoring des composants de l'application d'intégration 1) Introduction à Spring Integration 2) Construction de messages, mise en œuvre des channels 3) Traitement des messages 4) Communication avec les systèmes externes 5) Suivi des activités de la solution d'intégration Méthodes pédagogiques Exposés théoriques accompagnés d'exemples de mise en œuvre puis utilisation des connaissances acquises pour la réalisation d'un mini-projet. Travaux pratiques Suite de travaux pratiques permettant le développement incrémental d'une véritable solution d'intégration d'applications d'entreprise. 1) Introduction à Spring Integration - Intégration d'applications d'entreprise, catalogue d'EIP. - Les buts de Spring Integration, positionnement vis à vis des ESB open source. - Architecture et principaux composants (Message, Channel, Endpoints, Adapters, Gateway, ServiceActivator). - Namespaces de Spring Integration, Plug-in STS d'Eclipse. Travaux pratiques Illustration des concepts de Spring Integration via l'éditeur graphique de STS. 2) Construction de messages, mise en œuvre des channels - L'interface Message et ses classes d'instanciation : GenericMessage et MessageBuilder. - Les interfaces MessageChannel, PollableChannel, SuscribableChannel : les principales implémentations. - Modes de réception synchrone et asynchrone des messages. - Les intercepteurs : ChannelInterceptorAdapter et implémentations spécifiques. - Mise en œuvre des Wire-Tap, production de traces. Travaux pratiques Implémenter des communications asynchrones en mode point à point et publication/souscription, tracer le contenu des messages dans un fichier de log. 3) Traitement des messages - Les filtres prédéfinis et personnalisés, les expressions de filtrage (SpEL, Xpath). - Transformations par expression SpEL et Xpath, transformations par POJO. Les transformations prédéfinies. - Enrichissement de headers et de payload. - Routeurs prédéfinis et routeurs personnalisés via des POJO, routage sur exception. - Décomposition/agrégation de messages, gestion de la corrélation. Travaux pratiques Implémentation du pattern VETRO sur un flux métier. 4) Communication avec les systèmes externes - Typologie d'adaptateurs (inbound et outbound), les adaptateurs "POJO style". - Les adaptateurs prédéfinis : File, Mail, HTTP, JPA... - Les Gateways : buts, typologie, rôle de la classe GatewayProxyFactoryBean. - Les Gateways d'intégration prédéfinis : JMS, Web Services SOAP et REST... ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 88 Travaux pratiques Interconnexion de systèmes existants (SOAP, REST et JMS), notification par mail d'une liste de correspondants. 5) Suivi des activités de la solution d'intégration - Gestion des métriques. - Historisation et persistance des messages. - Monitoring JMX. - Utilisation du Control Bus. Travaux pratiques Intégration du monitoring via JMX et Control Bus. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 89 Stage pratique de 5 jour(s) Réf : JAP Participants Développeurs, ingénieurs, chefs de projets proches du développement. Pré-requis Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2017 : 2610€ HT Dates des sessions Paris 10 avr. 2017, 19 juin 2017 21 aoû. 2017, 16 oct. 2017 18 déc. 2017 Aix 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Bordeaux Java, programmation avancée Best > Développement logiciel > Java, JEE Ce cours a un double objectif. D'une part, approfondir certains aspects avancés du langage (les types génériques, les annotations, la programmation réflexive, le chargement des classes). D'autre part, présenter un panorama synthétique des principales librairies concernant les thèmes suivants : la gestion des Threads, les communications via le réseau, l'administration et la supervision des applications. Ce cours insiste par ailleurs sur les techniques architecturales associées. OBJECTIFS PEDAGOGIQUES Maîtriser les aspects avancés du langage Java Mettre en œuvre la programmation concurrente à base de Threads Mettre en œuvre différentes techniques de communication (Socket, RMI, JMS) Comprendre le modèle de sécurité et le chargement des classes Java Administrer une application Java via JMX, surveiller la JVM Mettre en œuvre la programmation réflexive 1) Quelques aspects avancés du langage 2) La programmation concurrente 3) La communication par socket 4) La communication par invocation de méthode distante : RMI 5) La communication par messages : JMS 6) La sécurité et le chargement de classes 7) Présentation de JMX (Java Management Extension) 8) La programmation réflexive 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Travaux pratiques Bruxelles Ce cours illustre les principes exposés par la construction progressive d'une application en Java. 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Geneve 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Grenoble 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Lille 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Luxembourg 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Lyon 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Montpellier 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Nantes 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Rennes 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Sophia-antipolis 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Strasbourg 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Toulouse 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à 1) Quelques aspects avancés du langage - Les Inner Classes. Les classes anonymes. - La redéfinition covariante des méthodes (jdk1.5). - Les nouvelles boucles for (jdk1.5). - Les Import Static (jdk1.5). - L'auto-boxing, auto-unboxing (jdk1.5). Les varargs (jdk1.5). - Les types énumérés (jdk1.5). Utilisation et définition. - Les types génériques (jdk1.5). L'utilisation et la définition de types génériques simples. - La généricité et la relation de sous-typage. - Les types génériques à l'exécution, les types génériques et l'instanciation, les types génériques et les tableaux. - Les méthodes génériques. L'utilisation simultanée des types génériques et non génériques. - Les annotations (jdk1.5 et jdk1.6). Principes. Les annotations prédéfinies (@override, @deprecated, @generated...). - La définition de nouvelles annotations. - Les méta-annotations (@Retention, @Target, @Documented, @Inherited). L'utilisation réflexive des annotations.. - Support du wildcard dans le classpath (jdk1.6). - Nouveautés sur les collections (jdk1.5 et jdk1.6) : les Queues, les ConcurrentMap... Travaux pratiques Utilisation des types génériques et des annotations. 2) La programmation concurrente - Définitions relatives à la programmation concurrente : les Threads. - La création/destruction des Threads. Ordonnancement des Threads. - La synchronisation des Threads. Le verrouillage des méthodes et des instructions (synchronized). Les moniteurs. - Principes méthodologiques pour la conception d'applications multithreadées. - Les problèmes posés par la programmation multithread. - Le problème de l'interblocage (caractérisation, évitement, prévention, détection). Le problème de la famine. - La librairie concurrente de JDK1.5. Les nouvelles collections. - Les nouveaux outils de synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques. Travaux pratiques Construction d'une application concurrente avec synchronisation et résolution d'interblocage. 3) La communication par socket - Rappels sur les principaux concepts réseaux. - La programmation en mode non connecté (par datagram). Le modèle Peer to Peer. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 90 réaliser (50 à 70% du temps). - La communication en mode connecté (par stream). - Le modèle client/serveur. Serveur séquentiel vs serveur concurrent. Utilisation de la sérialisation. - La librairie nio. Les buffers, channels. Les sélecteurs et leur utilisation. Compétences du formateur Travaux pratiques Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent). Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 4) La communication par invocation de méthode distante : RMI - Les principes généraux. - Les classes de base. - Le service de nommage. - Le processus de développement du client et du serveur. - Les contraintes de sécurité et de chargement de classes. Travaux pratiques Programmation de l'étude de cas à l'aide de RMI. 5) La communication par messages : JMS - Les principes généraux de la communication par messages. - Les concepts de JMS, les interfaces et les classes correspondantes. - Les différentes formes de messages. - La communication en mode point à point. - La communication en mode publish/subscribe. Travaux pratiques Programmation de l'étude de cas à l'aide de JMS. 6) La sécurité et le chargement de classes - Les aspects avancés et moins connus de la JVM. - Les mécanismes liés à la JVM pour assurer la sécurité. - Le modèle de sécurité de Jdk1.2 : les permissions, les politiques, les domaines de sécurité. - Le gestionnaire de sécurité et le contrôleur d'accès. - Les mécanismes de chargement de classes. - Le développement de chargeurs de classes spécifiques. 7) Présentation de JMX (Java Management Extension) - La distinction entre l'application à administrer et l'application d'administration. - Les concepts de JMX : MBean, MBeanServer, Agent, Connector. - Les API JMX. - La mise en œuvre des différentes catégories de Mbeans (standard, dynamiques, model). - L'utilisation des adaptateurs et des connecteurs. - Les consoles d'administration. Travaux pratiques Mise en place d'une couche d'administration-supervision pour l'étude de cas. 8) La programmation réflexive - Objectifs et principes. - Le chargement de classes. L'objet Class. - Découverte dynamique des informations (propriétés et méthodes) relatives à une classe ou à un objet. - Instanciation dynamique. - Invoquer une méthode. - La réflexivité des annotations en Java 5. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 91 Stage pratique de 5 jour(s) Réf : SOD Participants Développeurs et chefs de projets amenés à mettre en place une architecture SOA, et plus particulièrement un bus ESB à l'aide d'outils Open Source basés sur des standards issus du monde Java. Pré-requis Bonnes connaissances de la programmation Java, des technologies XML et des Web Services. Expérience requise en développement d'applications Java. SOA, mise en œuvre en Open Source/Java > Développement logiciel > Java, JEE OBJECTIFS Ce cours vous permettra de comprendre la mise en œuvre d'une architecture SOA à travers l'utilisation d'outils Open Source basés sur des standards tels que JBI, XML, SOAP, BPEL. Il met l'accent sur le traitement des messages entrants, les transformations de données, le routage intelligent et l'orchestration. 1) Introduction aux architectures SOA 2) Principaux outils Open Source 3) Les services Web 4) Java Business Integration (JBI) 5) Java Message Service 6) Les transformations de données 7) Le routage intelligent des messages 8) L'orchestration des services 1) Introduction aux architectures SOA Paris - Rappels sur les concepts et l'utilité des services Web. - Les différents modèles d'intégration d'applications et les principes d'une architecture orientée services (SOA). - Constituants d'un bus de messages ESB. - Les notions de base des middlewares orientés messages (MOM). - Les notions de base du routage intelligent des messages, des transformations XML, de l'orchestration avec BPEL. 3 avr. 2017, 12 juin 2017 18 sep. 2017, 20 nov. 2017 2) Principaux outils Open Source Prix 2017 : 2610€ HT Dates des sessions Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Panorama. Fondation Apache. Communauté FUSE. - L'offre JBossESB. Les projets OpenESB, MULE, PEtALS. - Les moteurs BPEL : Apache ODE, ActiveBPEL, PXE... - Les frameworks WebServices, tels que CXF ou Axis. - Les MOM de type JMS, tels qu'ActiveMQ. 3) Les services Web - Rappels sur le protocole SOAP, sur la description des services avec WSDL. Travaux pratiques Mise en œuvre d'un service Web simple avec Apache CXF ou Axis. 4) Java Business Integration (JBI) - Les concepts de la spécification JBI (JSR 208). - Le NMR (Normalized Message Router). - Les liens entre JBI et WSDL. Les messages JBI. - La notion de " Binding Components ". - Les traitements au sein de JBI avec les " Services Engines " ou SE. Les SE dédiés BPEL, XSLT... - Le packaging et le déploiement de composants JBI. Travaux pratiques Configuration de BC et SE JBI au sein de ServiceMix. 5) Java Message Service - Le positionnement d'un MOM JMS dans une SOA. - Introduction aux concepts JMS : types de destinations, formats de messages, envoi et réception... - Le lien entre un ESB et un middleware JMS. Travaux pratiques Mise en œuvre à l'aide d'Apache ActiveMQ. 6) Les transformations de données - L'utilité des transformations XML dans une infrastructure de type SOA. Possibilités. - Introduction aux concepts de base XSLT, XQuery, XPath. 7) Le routage intelligent des messages - Principes du routage basé sur le contenu. - Le framework d'intégration Apache Camel. - Configuration des règles de routage. - L'intégration avec un ESB, un MOM JMS et une implémentation Web services (type CXF). Travaux pratiques Mise en œuvre de différents types de routage. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 92 8) L'orchestration des services - Orchestration des services Web. Langage WS-BPEL. Travaux pratiques Mise en œuvre d'une orchestration de services. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 93 Stage pratique de 3 jour(s) Réf : OSG Participants Développeurs, chefs de projets et architectes. Pré-requis Bonnes connaissances du langage Java. Expérience requise en programmation Java EE. Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Java OSGi, développement d'applications modulaires > Développement logiciel > Java, JEE Ce stage vous apprendra à maîtriser le standard OSGi afin de concevoir des applications Java modulaires et évolutives. Vous découvrirez les principaux éléments d'une architecture OSGi et verrez comment remédier aux problématiques récurrentes de gestion de versions, de résolution des dépendances et de déploiement. OBJECTIFS PEDAGOGIQUES Mettre en œuvre OSGi dans le cadre du développement d'une application Java/Java EE modulaire. Installer et utiliser une implémentation du Framework OSGi Créer, déployer et exécuter des bundles dans un conteneur OSGI. Implémenter et utiliser des services OSGi standards, spécifiques ou accessibles à distance Déployer dynamiquement une application Java EE dans Spring Dynamic Modules. 1) Présentation de la spécification OSGI 2) Les implémentations OSGi existantes 3) La gestion des bundles 4) Le cycle de vie des bundles 5) Les services OSGi 6) Guide des bonnes pratiques 7) Utilisation distante 8) Spring Dynamic Modules for OSGi Service Platforms Travaux pratiques Les concepts OSGi seront illustrés au travers d'Eclipse, de Spring Dynamic Modules et des Framework OSGI Apache Felix et Eclipse Equinox. 1) Présentation de la spécification OSGI - Les limites actuelles des applications Java. - La modularité des applications. - La notion de conteneur et de bundle (composant) OSGi. - Le modèle en couche (Module, Lifecycle, Service). 2) Les implémentations OSGi existantes - Des outils : Eclipse Equinox, Apache Felix... - Présentation des projets s'appuyant sur OSGI : Eclipse, Jboss, ServiceMix... Travaux pratiques Installation d'une implémentation du Framework OSGi. Utilisation de la console d'administration. 3) La gestion des bundles - Mise en oeuvre des bundles dans un conteneur. - Le fichier MANIFEST.MF et sa syntaxe. - La gestion des dépendances. - Les chargeurs de classe. La sécurité. - La notion de package. La visibilité des composants. 4) Le cycle de vie des bundles - Les différents états (installed, resolved, active, ...). - Initialisation et interaction avec le conteneur OSGI. - API standardisées : BundleActivator, BundleContext... Travaux pratiques Création et exécution d'un bundle avec Eclipse. Exécution sur serveur OSGi standalone. 5) Les services OSGi - Les services standard d'OSGi. - Les services systèmes : Logging, IO, Connector... - Les services liés aux protocoles : http Services... - Les services divers : Wire Admin, XML parser. - Mise en application des services. La gestion des services : enregistrement et mise à disposition. - API standardisées : ServiceRegistration, ServiceReference, ServiceTracker, ... - Apache Felix, Equinox OSGi, Spring OSGi ... Travaux pratiques Implémentation et usage de services OSGi standard et spécifiques. 6) Guide des bonnes pratiques - Directives de codage et règles syntaxiques. - Les recommandations liées aux différentes couches : Module, LifeCycle, Service. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 94 7) Utilisation distante - Distributed OSGi versus Remote OSGi. - Import/export de code. Contrainte temporelle sur l'appel de méthodes distantes. Intégration dans un bus applicatif ESB. Travaux pratiques Mise en oeuvre d'Apache CXF Distributed OSGi ou de Remote OSGi. 8) Spring Dynamic Modules for OSGi Service Platforms - OSGi dans Spring. - Les apports en matière de déploiement. - Extension du Framework Spring DM : les annotations. Travaux pratiques Déploiement dynamique d'une application Web dans Spring DM. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 95 Stage pratique de 3 jour(s) Réf : MUC Participants Développeurs, architectes logiciels, chefs de projet. Pré-requis Bonnes connaissances de C ou de C++. Connaissances de base des concepts liés aux applications Multicore. C/C++, programmer vos applications en Multicore > Développement logiciel > Java, JEE Vous découvrirez les architectures Multicore et leur programmation, les techniques de mise en œuvre d'une approche multithread ou multiprocessus et les langages dédiés à la programmation parallèle. Vous étudierez également les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre. OBJECTIFS PEDAGOGIQUES Maîtriser les enjeux de la programmation Multicore Concevoir et développer des applications à base de threads et de processus Maîtriser les modèles de programmation parallèle et les librairies disponibles Déboguer et profiler des applications Multicore Prix 2017 : 1880€ HT Dates des sessions Paris 6 mar. 2017, 29 mai 2017 11 sep. 2017, 27 nov. 2017 1) Introduction 2) Modélisation des applications 3) Threads 4) Processus 5) La programmation parallèle 6) Synthèse et conclusion Travaux pratiques Modalités d’évaluation Les travaux pratiques seront réalisés en C/C++ sous Visual Studio en environnement Windows. L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). 1) Introduction Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Enjeux de la programmation Multicore. - Tableau des technologies utilisables : processus, thread et parallélisme. - Description du fonctionnement d'un processeur. - Architecture en "Hyperthreading". - Architectures des processeurs INTEL et AMD. - Architectures NVidia et API. - Architecture en mémoire partagée vs mémoire distribuée. 2) Modélisation des applications - Importance des aspects modélisation. - Patterns de mise en parallèle des traitements. - Utilisation des mécanismes asynchrones. - Développer une nouvelle application : précautions et modélisation. Eviter les "singletons". - Modifier une application existante en Multicore. - Choix d'architecture : un compromis synchronisation et performance. Choix multiprocessus/multithreads. 3) Threads - Apport des threads dans une application industrielle. - Ordonnancement des threads. - Gestion des stacks et "call stack" dans les threads. - Débogueurs multithreads. - Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores. - Développer "Thread safe". - APIs de threads TBB, Clik++, C++11, boost threads, pthreads. Travaux pratiques Threads et synchronisation en C/C++. 4) Processus - Espaces d'adressage des processus, organisation. - Critères de choix d'une approche multiprocessus. - Techniques de communication interprocessus (IPC). - Outils de debugging multiprocessus. - Avantage et inconvénients des techniques multiprocessus. Travaux pratiques Gestion de traitements asynchrones avec l'API C/C++. 5) La programmation parallèle - Apport et objectifs de la programmation parallèle. - La librairie « OpenMP » C++ (programmation mémoire partagée). - La librairie « OpenMPI » (programmation mémoire distribuée). - Utiliser les GPU des cartes graphiques pour le calcul. - Kits de NVidia (CUDA) et ATI. - La librairie « OpenAcc » pour la programmation GPU. - La librairie « OpenCL » pour la programmation parallèle CPU et GPU. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 96 Travaux pratiques Paralléliser des algorithmes avec « OpenMP » en C++. Utilisation de l'API OpenCL. 6) Synthèse et conclusion - Conclusion des techniques étudiées. - Avenir du C++ avec le multicore. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 97 Stage pratique de 5 jour(s) Réf : IBO Participants Développeurs désireux de développer un projet autour de l'Internet des objets. Pré-requis Bonnes connaissances en Java. Pratique du développement Java souhaité. Prix 2017 : 2970€ HT Dates des sessions Paris 13 mar. 2017, 12 juin 2017 11 sep. 2017, 27 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Internet des objets, développer des applications connectées en Java > Développement logiciel > Java, JEE Cette formation vous permettra de comprendre l'architecture typique d'un réseau IoT et de mettre en place une chaine IoT complète, depuis la remontée d'informations émises par des capteurs connectés LPWAN jusqu'à la DataVisualization en passant par la collecte Cloud/BigData et l'exploitation logicielle Java. OBJECTIFS PEDAGOGIQUES Définir une architecture IoT complète. Connaître les réseaux IoT disponibles. Utiliser différents types de capteurs et moyens de détection. Prototyper à l'aide de Raspberry/Arduino. 1) Introduction à l'Internet des Objets 2) Architectures IoT 3) Réseaux et détections de proximité 4) Le réseau LPWAN 5) Le prototypage 6) Exploitation logicielle Travaux pratiques Un cas concret permettra de déployer une chaîne IoT complète. Les éléments impliquant d'autres techniques de programmation seront fournis. 1) Introduction à l'Internet des Objets - Concepts de base IoT. Liens avec M2M. Architectures IoT. - Problématiques de la communication et de l'énergie. - Les offres et acteurs. 2) Architectures IoT - Schéma général d'architecture, des capteurs au serveurs. - Les systèmes d'exploitation adaptés à l'IoT (Linux, Raspbian, Win10 IoT...). - Liens avec les différents Cloud (MS Azure IoT...). - L'exploitation et l'indispensable corrélation de données avec les outils BigData. - Sécurité et confidentialité des données, respect de la vie privée. Echanges Echanges autour de cas concrets (compteur intelligent...). Installation de systèmes dédiés IoT. 3) Réseaux et détections de proximité - Technologies disponibles: wifi, Bluetooth, NFC, RFID... - Echanges avec Bluetooth et Wifi Direct. - Fonctionnement des systèmes RFID et NFC. Les QR codes. - Les possibilités offertes par les Smartphones. Travaux pratiques Exploitation de tags NFC. Utilisation de Bluetooth ou Wifi direct. 4) Le réseau LPWAN - Les spécificités des réseaux IoT (distance, positionnement des équipement, autonomie). - Caractéristiques des réseaux LPWAN. Etude de SigFox et LoRaWan. Quelle programmation ? - Les offres disponibles (opérateurs). - Sécuriser un réseau IoT. Travaux pratiques Exploitation de données remontées par un réseau LPWAN et utilisation des capteurs destinés au développement. 5) Le prototypage - Présentation des solutions Arduino et Raspberry. - Les possibilités Arduino Harware (capteurs, shield, GPIO) et la programmation embarquée. - Les environnements disponibles sur Raspberry et le lien avec Arduino. - Le choix d'un système d'exploitation et des outils de développement. Travaux pratiques Mise en place d'une solution intégrant un capteur et plusieurs composants parmi ceux présentés. 6) Exploitation logicielle - Les plateformes de communication logicielle (Technicolor Qeo, Google Weave...). ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 98 - Les APIs de type REST et outils de développement. - Les solutions d'injection de données dans une base NoSQL BigData. - Les différents Cloud (Google Cloud Platform, ThingPlus...). - Les moyens logiciels permettant de sécuriser une solution IoT. - Les techniques de Data Visualization (mobile et ordinateur). Travaux pratiques Mise en place d'une communication d'un capteur vers une base NoSQL BigData. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 99 Stage pratique de 4 jour(s) Réf : AMA Participants Développeurs Java. Android, développer des applications pour mobiles Best > Développement logiciel > Java, JEE Bonnes connaissances de Java. Connaissances de base d'XML. Vous découvrirez dans ce cours les fonctionnalités et les capacités de la plate-forme Android dédiée au développement d'applications mobiles. Vous étudierez le modèle de composants Android à la base de toute application. Vous apprendrez à développer des interfaces graphiques ergonomiques et exploiterez les fonctionnalités de votre Smartphone Android (géolocalisation, capture multimédia...). Vous mettrez en œuvre également les mécanismes de persistance des données et d'accès au réseau. Prix 2017 : 2440€ HT OBJECTIFS PEDAGOGIQUES Pré-requis Dates des sessions Paris 14 fév. 2017, 7 mar. 2017 4 avr. 2017, 9 mai 2017 13 juin 2017, 25 juil. 2017 22 aoû. 2017, 19 sep. 2017 17 oct. 2017, 21 nov. 2017 12 déc. 2017 Aix 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Découvrir la plateforme Android et les outils de développement associés Découvrir le modèle de composants Android Développer des interfaces utilisateurs Gérer la persistance des données Gérer le réseau et les échanges de données Exploiter les fonctionnalités d'un Smartphone Android 1) Découvrir la plateforme Android 2) Développement Android 3) Les interfaces utilisateurs avec Android 4) Le modèle de composants 5) La persistance des données 6) La gestion réseau 7) Compléments Bordeaux Travaux pratiques 14 mar. 2017, 16 mai 2017 25 juil. 2017, 3 oct. 2017 19 déc. 2017 Un Smartphone sera mis à la disposition des participants afin qu'ils puissent tester leurs développements. Bruxelles 1) Découvrir la plateforme Android 14 mar. 2017, 6 juin 2017 5 sep. 2017, 28 nov. 2017 Geneve 14 mar. 2017, 6 juin 2017 5 sep. 2017, 28 nov. 2017 Grenoble 14 mar. 2017, 16 mai 2017 25 juil. 2017, 3 oct. 2017 19 déc. 2017 Lille 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Luxembourg 14 mar. 2017, 6 juin 2017 5 sep. 2017, 28 nov. 2017 Lyon 14 mar. 2017, 16 mai 2017 25 juil. 2017, 3 oct. 2017 19 déc. 2017 Montpellier 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Nantes 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Rennes 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Sophia-antipolis 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Strasbourg 7 mar. 2017, 9 mai 2017 25 juil. 2017, 10 oct. 2017 12 déc. 2017 Toulouse - Les utilisations de la plateforme Android. - Le modèle Android et son architecture. - Présentation du système d'exploitation (fonctionnalité, version, outils, etc). - Les applications clés pour l'utilisation d'un terminal. - Les outils de développement, l'environnement de développement : Android Studio, Eclipse, plug-in ADT, SDK Android. - La mise en œuvre du SDK Android. - Les terminaux cibles (Smartphones, tablettes, assistants de navigation personnels, virtuels, etc). - L'internationalisation des applications Android. - Android et Linux. Travaux pratiques Mise en place d'un environnement de développement avec Android Studio et le SDK Android. 2) Développement Android - Les concepts de base d'une application Android. - Le cycle de vie de l'application (de l'édition du programme au test). - Présentation du framework de développement, des librairies. - Présentation des classes de base et utilitaires. - Création de son premier projet : code, ressource, propriété et détail du projet. - Exécuter son application sur le simulateur du SDK et la tester. - Le SDK Manager et la configuration des terminaux virtuels Android (AVD) : target, SDCard... - Utilisation d'un débogueur pour contrôler l'exécution des programmes. - Comment accéder aux logs de l'application ? - L'identification de l'application et le fichier manifest (version, minSDK, nom de l'application...). - La mise à disposition de son application. Travaux pratiques Développement d'une première application suivant le cycle de réalisation étudié. 3) Les interfaces utilisateurs avec Android - Vue d'ensemble du layout et de la place du composant. - Les spécificités des terminaux mobiles en matière d'affichage et d'interaction avec l'utilisateur. - Les composants graphiques : layouts, menus, listes... - Créer une interface graphique avec les views. - La mise en place de menus (principal, icône, sous-menu...). - La mise en place des conteneurs layouts (Gallery, GridView, ScrollView...). - La gestion événementielle (mise en place, réaction, écoute). - Styles et thèmes appliqués aux widgets. - Notification de l'utilisateur (barre de notification, toast, boîtes de dialogue). - Ressources alternatives : multi-devices, localisation. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 100 14 mar. 2017, 16 mai 2017 25 juil. 2017, 3 oct. 2017 19 déc. 2017 Modalités d’évaluation Travaux pratiques Réalisation d'une application avec interface graphique. 4) Le modèle de composants L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). - Le concept de base : activité et cycle de vie. - Les composants fondamentaux : Activity, Service, BroadcastReceiver, ContentProvider, Intents. - L'arrêt des composants (finish, stopSelf...). - Les activités (cycle de vie, navigation entre les activités, communication interactivités...). - Les services (cycle de vie, tâches de fond...). Les types de services (locaux et distants). - Les différences entre une activité et un service. - Le lancement d'une activité, ses principaux états. - Le langage AIDL (Android Interface Description Language). Le bus de messages et les Intents. Compétences du formateur Travaux pratiques Transmission d'informations d'une Activity à une autre à l'aide du mécanisme d'Intents. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 5) La persistance des données - Comment partager des données entre les applications ? - La sauvegarde de données simple. - Utilisation des préférences (SharedPreferences, le mode de lecture). Récupération d'un ensemble de préférences. - Utilisation du système de fichiers (dont XML). - L'emplacement des fichiers contenant les données (zone internal/external). - Utilisation de la base de données embarquée (SQLite), insertion de données. - Utilisation de l'API Android. Travaux pratiques Mise en œuvre de fonctionnalités de stockage sur un terminal avec une base de données. 6) La gestion réseau - Rappels sur la programmation réseau. - Communication avec une Socket serveur. - Utiliser HTTP avec les API Android. - Introduction à la consommation des services Web. - Parser du JSON avec la librairie Gson pour Android, utilisation de la librairie Gson. Travaux pratiques Echange de données. 7) Compléments - Gestion de la téléphonie. Appels. Gestion des SMS. Interactions avec la carte SIM. - Multimédia. Dessin et animations. Lecture audio et vidéo. - La capture multimédia (son, image, vidéo...). - Les API de (géo)localisation avec Google Maps. - Configurer l'émulateur pour tester la géolocalisation. Travaux pratiques Réalisation d'une application géolocalisée présentée à l'aide de Google Maps. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 101 Stage pratique de 4 jour(s) Réf : IOD Participants Développeurs Android. Pré-requis Très bonnes connaissances du langage Java. Expérience demandée dans le développement Android. Prix 2017 : 2380€ HT Android, perfectionnement New > Développement logiciel > Java, JEE Vous aborderez dans ce cours les aspects avancés du développement d'applications Android portant sur la conception d'IHM ou l'utilisation de capteurs. Vous apprendrez à contrôler les fonctionnalités avancées d'Android Studio (build Gradle, test) et à utiliser les librairies et services tiers utiles au développement. OBJECTIFS PEDAGOGIQUES Découvrir les outils de développement liés à Android Studio Appréhender le développement des fonctionnalités avancées liées aux IHM, capteurs, services et threads Intégrer des librairies tierces à un projet Android Mettre au point, tester et optimiser une application Android Dates des sessions Paris 7 mar. 2017, 6 juin 2017 5 sep. 2017, 7 nov. 2017 Aix 1) Introduction 2) Outils avancés de développement 3) Création d'IHM avancées 4) Utilisation des capteurs 5) ContentProvider et Services 6) Tester une application Android 7) Librairies et services utiles pour le développement Android 28 mar. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Les travaux pratiques seront réalisés en Java. 1) Introduction - Rappels des principes de base Android. Présentation du développement natif avec NDK. JNI. - Présentation des fonctionnalités avancés Android Studio (Instant Run, debug, profiling...). - Apports du dernier SDK. Les permissions à la demande. 2) Outils avancés de développement - Paramétrer le build avec Gradle. Comprendre les Build Variants. - Améliorer son code-source avec Lint. - Mettre au point et profiler/monitorer une application. - Optimisation de l'APK avec ProGuard. Travaux pratiques Utilisation des différents outils. 3) Création d'IHM avancées - Construction d'IHM avancées suivant les préconisations Material Design. Utilisation des styles. - Mécanismes des widgets. - Présentation OpenGL/ES. Travaux pratiques Réalisation d'une activité complexe avec des fragments. Réalisation d'une application graphique. 4) Utilisation des capteurs - Mise en œuvre de capteurs. Accéléromètre, proximité, température, luminosité, baromètre, GPS... - Paramétrage dans le simulateur des capteurs. - Utilisation d'outils pour la simulation d'événements. Travaux pratiques Réalisation d'une application intégrant différents capteurs. 5) ContentProvider et Services - Créer un ContentProvider. Cycle de vie des services. Arrière-plan et premier plan. Lier services et activités. - Utiliser des threads depuis un service. Utiliser des Intents. Définir des alarmes. Travaux pratiques Réalisation d'un service et contrôle depuis une activité. 6) Tester une application Android - Présentation des outils adaptés aux différents types de tests. Rappels sur JUnit. - Simulation d'interactions utilisateur avec Espresso. - Paramétrage d'Android Studio pour les tests. Utilisation de Cloud Test Lab. - Présentation de Firebase Test Lab for Android. Travaux pratiques Mise en œuvre de tests avec Espresso. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 102 7) Librairies et services utiles pour le développement Android - Utiliser les Google Play Services. - Intégrer des bibliothèques tierces à un projet Android. - Simplifier l'accès à des ressources REST avec Retrofit. - Maîtriser le chargement des images avec Picasso. - L'injection de dépendances (Dagger). Travaux pratiques Sélection et mise en place de librairies. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 103 Stage pratique de 5 jour(s) Réf : DSJ Participants Développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Pré-requis Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement Java. Prix 2017 : 2610€ HT Développer des Web Services en Java Best > Développement logiciel > Java, JEE Ce cours vous permettra de comprendre l'intérêt et les enjeux des Web Services pour l'intégration d'applications (EAI). Il met l'accent sur les mécanismes de communication XML, SOAP et REST. Il présente les concepts de base et montre comment créer, déployer, mettre à disposition et utiliser des Services Web par l'emploi de JAX-WS (SOAP) et JAX-RS (REST). De nombreux exemples mettent en avant l'utilité des Services Web dans des contextes aussi variés que le Web, le B2C, le A2A et le B2B. OBJECTIFS PEDAGOGIQUES Découvrir les principales technologies des Web Services (REST, SOAP, WSDL, UDDI) Manipuler des données XML via les API SAX, DOM et JAXB Développer des services Web en SOAP via l'API JAX-WS Développer des services Web REST via l'API JAX-RS Sécuriser des services Web Dates des sessions Paris 20 fév. 2017, 10 avr. 2017 26 juin 2017, 21 aoû. 2017 16 oct. 2017, 11 déc. 2017 Aix 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bordeaux 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bruxelles 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Geneve 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Grenoble 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Lille 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Luxembourg 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Lyon 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Montpellier 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Nantes 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Rennes 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Sophia-antipolis 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Strasbourg 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Toulouse 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 1) Introduction aux Web Services 2) Rappel sur XML et les API Java 3) Web Services SOAP/WSDL et REST 4) Le langage de description des Web Services 5) Mise en place des Web Services avec SOAP/ WSDL et REST 6) Publication et recherche de Web Services 7) Projets CXF, JAX-WS RI et Axis 8) Projet Jersey pour les services REST 9) Sécurisation des services Web Travaux pratiques Un exercice global permettra de mettre en place une architecture complète basée sur les Web Services : définition, développement, déploiement, configuration et sécurisation de Web Services. 1) Introduction aux Web Services - Définir le rôle des Web Services et l'intérêt de leur utilisation. - Rappel sur le contexte des architectures n-tiers, applications et composants distribués. - Approche Web Services, qu'est-ce qu'un Web Service ? Objectif, principe. - Web Services et EAI, A2A, B2C, B2B. - Principales technologies des Web Services (REST, SOAP, WSDL, UDDI). - Architecture orientée service (SOA). - Le rôle de XML et de la plate-forme Java. - Exemples mettant en oeuvre des Web Services. Exercice Exemples d'applications, comment invoquer un Web Service. 2) Rappel sur XML et les API Java - Place du XML par rapport aux Web Services. - Les langages à balises, domaines d'application de XML, le concept de document, objectifs. - Echange de données, XML et SOAP. - Besoins pour la création de requêtes SOAP et la manipulation des réponses. - Les modèles de données : XML Schema. - Les parseurs XML (API SAX et DOM) et autres API. Travaux pratiques Manipuler des données XML via les API SAX, DOM et JAXB. Traiter les informations XML échangées via le protocole SOAP. 3) Web Services SOAP/WSDL et REST - Description du protocole SOAP. - De XML à SOAP, anatomie d'un message SOAP, enveloppe SOAP. - Gestion des erreurs avec SOAP Fault. - Transmission de contenus binaires MTOM. - Le langage de description des Web Services, WSDL (Web Services Description Language). - Référencement de Web Services, les solutions : UDDI, WS-Inspection, solutions de gouvernance OSS (Mule Galaxy)... - Utilisation, architecture, rôle pour les services Web, publication et localisation, sécurité. - Principes de REST, comment les mettre en oeuvre. Modalités d’évaluation Travaux pratiques Envoi de requêtes SOAP. Interprétation des réponses. Déploiement d'un Web Service. L’évaluation des acquis se fait tout au long de la 4) Le langage de description des Web Services ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 104 session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Comprendre comment décrire un Web Service en XML. - Introduction à WSDL. Anatomie d'un document WSDL. - WSDL et Java. Travaux pratiques Créer un fichier WSDL décrivant un Web Service. 5) Mise en place des Web Services avec SOAP/WSDL et REST - Les outils de programmation pour la création et l'utilisation de Web Services. - Construire des Web Services et des clients avec JAX-WS. Types supportés par JAX-WS et JAX-RS. - Outils wsgen. - Projet Open Source SOAP du groupe Apache. - Utilisation de SOAP dans des contextes RPC. - Les Web Services depuis des terminaux mobiles. Possibilités et restrictions. Travaux pratiques Programmation de Web Services de type échange SOAP/WSDL et REST. Utilisation des API Java JAX-WS et JAX-RS. 6) Publication et recherche de Web Services - Le rôle des annuaires dans les applications mettant en oeuvre des Web Services. Rôle et limites d'UDDI. - La différence entre annuaires runtime et annuaires design-time. - Mettre à disposition des Web Services via des annuaires UDDI. - Programmation UDDI, structure de données UDDI. - Vue d'ensemble et architecture de JAXR. - Création et exécution d'un client JAXR, accès au registre, interrogation, gestion des données. - Utilisation de descriptions WSDL avec UDDI. Travaux pratiques Publication d'un fichier d'un Web Service sur un annuaire UDDI. Recherche de Web Services. 7) Projets CXF, JAX-WS RI et Axis - Les mécanismes des principales boîtes à outils de nouvelle génération SOAP. - Architecture et composants des projets, CXF, JAX-WS RI et Axis. - Installation, configuration, déploiement de services SOAP/WSDL. - Consommer et publier des Web Services, correspondance données XML/Java. - Utilisation des annotations spécifiques à JAX-WS (JSR 224) et des annotations pour le mapping Java/XML. - Au moyen de Java : obtention du WSDL d'un service déployé et construction d'un WSDL. - Outils : TCPMon, SOAP Monitor, SOAP UI version OSS. Travaux pratiques Mise en place d'une solution complète de communication entre applications avec SOAP/WSDL grâce à une de ces implémentations. 8) Projet Jersey pour les services REST - Les mécanismes de mapping entre Java et le monde REST. - Architecture et composants du projet Jersey. - Installation, configuration, déploiement de services REST. - Consommer et publier des Web Services REST. - Utilisation des annotations spécifiques à JAX-RS (JSR 311) et des annotations pour le mapping Java/XML. - Comment utiliser JAX-RS et Jersey pour publier des Services REST. Implémentations alternatives à Jersey (Restlet...). - Outils : TCPMon, SOAP Monitor, SOAP UI version OSS. Travaux pratiques Mise en place d'une solution complète de communication entre applications avec une philosophie REST grâce à Jersey. 9) Sécurisation des services Web - Authentification, autorisation, cryptage. - Signatures digitales XML, cryptage XML des informations, toolkit Java, gestion des clés. - Authentification personnalisée : les en-têtes SOAP. - Extension de sécurité SOAP. - Web Services Security Specifications (WS-Security). Travaux pratiques Sécurisation de l'application globale. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 105 Stage pratique de 2 jour(s) Réf : WER Participants Développeurs, chefs de projets. Pré-requis Connaissances de base en architecture et des applications Web. Bonnes connaissances de XML. Très bonnes connaissances en programmation Java. Expérience requise en développement JAX-RS et JAXB. Prix 2017 : 1410€ HT Dates des sessions Paris 16 mar. 2017, 15 juin 2017 28 sep. 2017, 30 nov. 2017 Aix 4 mai 2017, 7 sep. 2017 16 nov. 2017 Bordeaux 16 mar. 2017, 6 juin 2017 5 oct. 2017, 7 déc. 2017 Grenoble Web Services RESTful, développement avancé en Java > Développement logiciel > Java, JEE OBJECTIFS Cette formation vous permettra de compléter vos connaissances REST et de développer en Java avec JAXRS des solutions complètes de type RESTful. Le cours présente notamment la spécification WADL, JSON et OAuth. 1) Rappels sur REST et JAX-RS 2) Invocation d'un service RESTful en Java 3) Description d'un service REST avec WADL ou WSDL 4) JavaScript Object Notation 5) Sécurisation d'un service REST 6) Eléments d'architecture 1) Rappels sur REST et JAX-RS - Rappels sur les concepts Representational State Transfer et architecture RESTful. - Rappels sur l'API JAX-RS. - Rappels sur XML et JAXB. Travaux pratiques Installation de Jersey, développement d'une classe ressource. Développement d'un service complet. 2) Invocation d'un service RESTful en Java - Utiliser l'API Java de base pour récupérer une ressource. - Utiliser l'API cliente de Jersey pour invoquer un service RESTful. - Jakarta Commons HTTP Client. Travaux pratiques Invocation de services RESTful par diverses méthodes en Java. 16 mar. 2017, 6 juin 2017 5 oct. 2017, 7 déc. 2017 3) Description d'un service REST avec WADL ou WSDL Lille - Présentation de la spécification Web Application Description Language (WADL). - Positionnement par rapport à WSDL 2.0, utilisable avec des services REST. 4 mai 2017, 7 sep. 2017 16 nov. 2017 Lyon Travaux pratiques Analyse d'une description WADL de services RESTful. Utilisation de l'outil wadl2java. 16 mar. 2017, 6 juin 2017 5 oct. 2017, 7 déc. 2017 4) JavaScript Object Notation Montpellier 4 mai 2017, 7 sep. 2017 16 nov. 2017 Nantes 4 mai 2017, 7 sep. 2017 16 nov. 2017 Rennes 4 mai 2017, 7 sep. 2017 16 nov. 2017 Sophia-antipolis 4 mai 2017, 7 sep. 2017 16 nov. 2017 Strasbourg 4 mai 2017, 7 sep. 2017 16 nov. 2017 Toulouse 16 mar. 2017, 6 juin 2017 5 oct. 2017, 7 déc. 2017 - Intérêt des flux JSON dans les architectures RESTful. - Manipulation de données JSON en Java. Travaux pratiques Développement d'un service RESTful retournant un flux JSON. Invocation du service et parsing du résultat en Java. 5) Sécurisation d'un service REST - Rappels des possibilités d'action au niveau transport HTTP. - Présentation du protocole OAuth permettant une authentification sur Internet, utilisé par Google, Flickr, Yahoo ... - Mise en oeuvre avec JAX-RS. Travaux pratiques Sécurisation de services REST avec OpenAM, OAuth et JAX-RS. 6) Eléments d'architecture - Les différentes possibilités d'emploi de REST dans une architecture ouverte. Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 106 Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 107 Stage pratique de 3 jour(s) Réf : SEO Participants Ce cours est destiné aux développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Web Services SOAP, développement avancé en Java > Développement logiciel > Java, JEE OBJECTIFS Ce cours détaille les fonctionnalités et API avancées des Web Services SOAP/JAX-WS ainsi que les extensions WS-ADDRESSING et WS-SECURITY. Il montre comment travailler au niveau du message SOAP, mettre en oeuvre des handlers côté client ou serveur, optimiser les flux XML et invoquer un service de façon asynchrone. Pré-requis Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement JAX-WS. Prix 2017 : 1960€ HT 1) Rappels SOAP/WSDL et JAX-WS 2) Travail au niveau du message SOAP 3) Handlers SOAP et optimisation MTOM / XOP 4) Autres fonctionnalités 5) Sécurisation des services Web par WSSecurity Travaux pratiques Mise en oeuvre des notions présentées, avec l'implémentation de référence proposée par GlassFish et quelques extensions. Dates des sessions Paris 3 avr. 2017, 12 juin 2017 25 sep. 2017, 20 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Rappels SOAP/WSDL et JAX-WS - Rappels sur les principales technologies des Web Services (SOAP, WSDL, UDDI). - Rappels sur JAX-WS. - Présentation des APIs étudiées. Exercice Analyse d'un document WSDL. Configuration de l'environnement de travail et réalisation d'un petit exercice de rappel de la mise en oeuvre de JAX-WS dans Eclipse. 2) Travail au niveau du message SOAP - Pourquoi travailler au niveau du message ? - Présentation de l'API Provider. - Présentation de l'API Dispatch. - Utiliser SAAJ pour construire et exploiter des messages SOAP. Exercice Comment manipuler des données XML dans une application Java via les APIs SAX, DOM et JAXB. Comment traiter les informations XML échangées via le protocole SOAP. 3) Handlers SOAP et optimisation MTOM / XOP - Utilité d'un handler SOAP. Présentation du mécanisme. - Création de handlers côté client et serveur, mise en place de chaînes de handlers. - Optimisation des attachements binaires avec MTOM / XOP. Exercice Ajout de fonctionnalités à un service par mise en place de handlers. Optimisation du transfert d'images en attachement. 4) Autres fonctionnalités - Invocation asynchrone d'un service. - Utiliser JAX-RPC. - Les concepts WS-ADDRESSING et leur mise en oeuvre. Exercice Invocation asynchrone d'un service et utilisation de WS-Addressing. 5) Sécurisation des services Web par WS-Security - Présentation des concepts de l'extension WS-Security - Authentification, autorisation, cryptage. - Signatures digitales XML. - Cryptage XML des informations. Gestion des clés. - Authentification personnalisée : les en-têtes SOAP. - Présentation de l'API JAAS. - Politiques de sécurité avec WS-POLICY. Exercice Mise en oeuvre d'une authentification WS-SECURITY. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 108 Stage pratique de 3 jour(s) Réf : GOO Participants Chefs de projets, développeurs d'application web. Pré-requis Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Google App Engine, développer une application Cloud en Java > Développement logiciel > Java, JEE OBJECTIFS Cette formation vous permettra de maîtriser l'architecture et le fonctionnement de la plateforme Google App Engine (GAE). Vous apprendrez à utiliser les outils et services disponibles pour développer vos applications Web et à les déployer sur cette plateforme de Cloud Computing. 1) Présentation du Cloud Computing 2) Présentation de Google App Engine 3) Mise en oeuvre d'une application simple 4) La gestion des données 5) Les services de Google App Engine 6) Configuration de Google App Engine avec YAML 1) Présentation du Cloud Computing - Notions du Cloud Computing. - Différents types d'offres (IaaS, PaaS, SaaS). Acteurs du marché. - Google App Engine. 2) Présentation de Google App Engine - Environnement d'exécution. Services proposés. - Outils d'administration et d'exploitation. - Mode de facturation. Gestion des quotas. - Sensibilisation aux limitations du développement d'applications (Sandbox). 3) Mise en oeuvre d'une application simple - SDK Java et plug-in Eclipse. - Moteur local de test Google App Engine. - Configuration d'une application Google App Engine. - Test en local d'une application. - Mise en production. - Utilisation des outils d'administration. Travaux pratiques Mise en place d'un environnement de développement, configuration et test d'une application Google App Engine. 4) La gestion des données - Présentation du DatatStore. Le concept NoSQL. Implémentation NoSQL Bigtable. - Paramétrage de "DataStore". Création d'un modèle de données. - Utilisation de Slim3. Présentation des implémentations JDO/JDOQL et JPA/JPQL. - Présentation de Objectify. - Manipulation des données du "DataStore". Le langage de requêtes GQL associé à Bigtable. - Appels asynchrones. Présentation de Google Cloud SQL (MySQL As A Service). Travaux pratiques Création du modèle de données dans le DataStore. Manipulation des données associées. 5) Les services de Google App Engine - Utilisation des services proposés par Google App Engine. - Le cache mémoire. La redirection de requêtes réseau (http et https). - La gestion des mails. La gestion des tâches (Task Queue et Scheduled Tasks). - La gestion des images. Messagerie instantanée (XMPP). Travaux pratiques Utilisation de la gestion des tâches, de XMPP et du cache mémoire. 6) Configuration de Google App Engine avec YAML - Bénéfices. Structure du fichier app.yaml et éléments obligatoires. - Ressources, fichiers statiques et gestion des erreurs. - Gestion du cache web et des sessions http. - Configuration de l'environnement d'exécution Java et des éléments de sécurité et du cryptage. - Configuration des outils d'administration et des tâches. - Protection contre le DoS. Travaux pratiques Configurer le fichier app.yaml. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 109 Stage pratique de 3 jour(s) Réf : AMZ Participants Architectes, développeurs, administrateurs systèmes. Pré-requis Connaissances de base du Cloud Computing et d'un langage shell Unix/Linux. Prix 2017 : 1960€ HT Dates des sessions Paris Amazon Web Services, architecture et mise en œuvre Best > Développement logiciel > Java, JEE OBJECTIFS Cette formation vous propose de plonger au cœur de l'offre Amazon Web Services. Vous découvrirez les possibilités de cette plateforme, ses services, ses API et interfaces. Vous verrez comment l'utiliser de manière industrielle, apprendrez à créer des services et à les utiliser au sein de vos applications. 1) Introduction 2) Les outils de base d'Amazon Web Services 3) Les coûts d'utilisation d'Amazon Web Services 4) Les outils en ligne de commande 5) Mise en œuvre des composants AWS 6) Industrialisation et pratiques DevOps 7) Création d'images Cloud AMI 6 mar. 2017, 26 juin 2017 25 sep. 2017, 20 nov. 2017 Méthodes pédagogiques Aix Tout au long de la formation, un parallèle sera fait avec les offres et SDK des Clouds publics "Microsoft Azure" et "OVH Public Cloud" ainsi qu'avec VMWare vCloud. 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Bordeaux Exercice 13 mar. 2017, 26 juin 2017 9 oct. 2017, 18 déc. 2017 Des exercices vous permettront de mettre en pratique la majeure partie des concepts présentés, en utilisant les outils AWS et des outils tiers. Grenoble 13 mar. 2017, 26 juin 2017 9 oct. 2017, 18 déc. 2017 Lille 1) Introduction Lyon - Définitions. Clouds publics, privés, privés externalisés. - Différences entre IaaS, PaaS et VDC (Virtual Data Center). - Rôle des API et SDK. Des API pour les offres PaaS ? - Notions de CloudApp et de CloudPlatform. Introduction de l'offre AWS d'Amazon. 13 mar. 2017, 26 juin 2017 9 oct. 2017, 18 déc. 2017 2) Les outils de base d'Amazon Web Services 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Montpellier 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Nantes 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Rennes 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Sophia-antipolis 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Strasbourg 6 mar. 2017, 19 juin 2017 2 oct. 2017, 11 déc. 2017 Toulouse - Présentation du SDK et des API (SOAP, REST). - La console Amazon. - Les outils de base pour EC2, S3 et SQS. - Le modèle de sécurité AWS (SecurityGroups...). - IAM. Exemple de politiques de sécurité. Exercice Mise en œuvre de AWS grâce à la console Web. Définition de profils et utilisateurs Amazon IAM. 3) Les coûts d'utilisation d'Amazon Web Services - Modèle des comptes Amazon. Notion de Consolidated Account. - Modèle de coût. Quota d'utilisation gratuite. - Facteurs influents sur les coûts. Outils pour le suivi et l'analyse des coûts. Démonstration Analyse de coûts. Mise en place d'une solution de suivi des coûts. 13 mar. 2017, 26 juin 2017 9 oct. 2017, 18 déc. 2017 4) Les outils en ligne de commande Modalités d’évaluation - Les outils CLI dédiés aux composants EC2, ELB et RDS et de l'outil S3CMD. - Mise en œuvre de ces outils sous Linux. L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le Exercice Création de scripts permettant de mettre en place l'infrastructure virtuelle d'une application. 5) Mise en œuvre des composants AWS - Les possibilités des services EC2, S3, SQS, RDS et de leur modèle de programmation. - Comment les applications Java peuvent-elles utiliser ces ressources ? - Composants Amazon AWS avancés. - Les services Virtual Private Cloud, Beanstalk et leur modèle de programmation. Exercice Création de ressources virtuelles avec les services EC2, S3, SQS, RDS. Déploiement d'une application Java. 6) Industrialisation et pratiques DevOps - Besoin de traçabilité, de répétabilité. Infrastructure as Code (IaC). - Bonnes pratiques et outils disponibles. - Définition et utilité des architectures Cloud avec des instances basées sur les rôles. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 110 plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Mécanisme Cloud-Init et notion de UserData. Exercice Création de scripts et exécution "tracée et contrôlée". 7) Création d'images Cloud AMI - Les images virtuelles. Créer des AMI avec Amazon. - Intégration avec la Software Factory. Usine à création d'images en mode SaaS - CloudImageFactory. Exercice Création d'images AMI AWS. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 111 Stage pratique de 2 jour(s) Réf : JCL Participants Chefs de projets, architectes, développeurs. Pré-requis Connaissance de base en programmation. Prix 2017 : 1440€ HT Dates des sessions Paris 23 fév. 2017, 6 avr. 2017 22 juin 2017, 21 sep. 2017 23 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Amazon Web Services, développer des applications Web "scalable" pour le Cloud > Développement logiciel > Java, JEE Cette formation vous montrera comment tirer parti d'une infrastructure Cloud IaaS/PaaS pour déployer des applications scalables et résilientes. Vous découvrirez comment cette infrastructure ouvre la voie à la conception d'applications innovantes (persistence polyglot, real time data processing, data streaming...). OBJECTIFS PEDAGOGIQUES Comprendre le coût total de possession d'un environnement Cloud Computing Mettre en place une approche polyglotte de la persistance de données avec DynamoDB, Redshift et Cloudsearch Utiliser à bon escient le stockage de fichiers et le cache HTTP avec Amazon S3 et Amazon Cloudfront Comprendre le principe d'architecture stateless résiliente basée sur EC2 et les autoscaling group Appliquer le zero downtime deployment avec Route 53 et Beanstalk 1) Introduction 2) Le stockage des données 3) Scaling horizontal, architectures résilientes et applications stateless 4) Single Page Application et serveur de fichiers 5) Un CDN pour le cache HTTP 6) Streaming de données et "near real time" data processing 7) Le zero downtime deployment Méthodes pédagogiques Présentation théorique accompagnée de travaux pratiques sur de cas donnant lieu à des discussions et des réflexions collectives. Travaux pratiques Les exercices se baseront sur les produits Amazon RDS, DynamoDB, Cloudsearch, Redshift, Kinesis, Lambda et Beanstalk. 1) Introduction - Les enjeux du Cloud Computing. - Différence et complémentarité entre IaaS et PaaS. Exercice Mise en application de RDS, DynamoDB, Cloudsearch, Redshift et de Kinesis. 2) Le stockage des données - Le principe de la persistance polyglotte. - Les bases NoSQL (DynamoDB), de documents (Cloudsearch), SQL (RDS). - Le datawarehouse (Redshift). - Quel type de base pour quel besoin ? - Comment synchroniser les données ? 3) Scaling horizontal, architectures résilientes et applications stateless - Principe du découpage n-tiers, architectures stateless. - Rendre des applications accessibles par HTTP via REST. - Utilisation d'un load balancer, configuration du scaling automatique. - Mise en place de websocket. Exercice Déployer une application RESTful avec Beanstalk, configurer le load balancer pour gérer les appels websockets, synchroniser des instances EC2 avec SNS. 4) Single Page Application et serveur de fichiers - Le principe des Single Page Web Applications. - Le déploiement sur un serveur de fichiers statiques des fichiers HTML, CSS et JavaScript. - L'appel à des endpoints REST, principe des Cross Origin Resource Access. - L'optimisation des coûts. Exercice Déployer une SPA AngularJS sur un bucket Amazon S3, communication avec l'API REST. 5) Un CDN pour le cache HTTP - Le stockage des fichiers avec Amazon S3. - Qu'est-ce qu'un Content Delivery Network ? - Un CDN pour les ressources statiques. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 112 - Optimiser les coûts via l'usage d'un CDN pour les réponses HTTP des endpoints REST. Exercice Créer une distribution Cloudfront pour les fichiers statiques et pour les endpoints REST. 6) Streaming de données et "near real time" data processing - Traitement distribué des Big Data : MapReduce, Pregel, Dremel, Percolator. - Traitement en mode batch avec MapReduce. - Consommation de stream avec AWS Lambda. Exercice Couplage des streams dynamoDB avec une fonction Lambda. 7) Le zero downtime deployment - Les problématiques posées par le scaling automatique. - Qu'est ce que le zero downtime deployment ? - Le blue-green deployment avec Beanstalk. - L'URL swapping avec Amazon Route53. Exercice Déployer une application avec Amazon Beanstalk. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 113 Stage pratique de 2 jour(s) Réf : MAV Participants Développeurs, architectes, chefs de projet techniques. Pré-requis Connaissances de base du langage Java et de JEE. Prix 2017 : 1440€ HT Dates des sessions Paris 16 mar. 2017, 4 mai 2017 7 sep. 2017, 2 nov. 2017 Modalités d’évaluation Maven, gérer le cycle de vie d'un projet > Développement logiciel > Java, JEE Maven est devenu le standard de la gestion du cycle de vie des projets. Il constitue une agrégation d'outils, de bonnes pratiques et d'éléments structurants. Ce stage vous apportera une réelle maîtrise de sa configuration et vous fera comprendre son rôle central dans une démarche d'intégration continue en Java. OBJECTIFS PEDAGOGIQUES Structurer un projet autour de Maven Gérer les dépendances et les repositories Générer le site d'un projet Générer des rapports personnalisés Mettre en place une intégration continue avec Jenkins 1) Présentation 2) Mise en place d'un premier projet Maven 3) Les dépendances 4) Les repositories 5) Utilisation courante 6) Génération d'un site Maven 7) Les rapports Maven 8) Intégration continue L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). 1) Présentation Compétences du formateur - Installation de Maven. Le POM (Project Object Model). - Repository local et repository distant. - Qu'est-ce qu'un plug-in Maven ? Qu'est-ce qu'un goal ? - Structure standard d'un projet Maven. Contrôle du cycle de vie : installation, compilation, déploiement... - Notions d'archétype, groupe, artefact, version, assemblies. - Découpage d'un projet en modules. - Héritage entre fichiers POM ; le super-POM. Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Au delà d'un simple outil de build. Le monde Maven : gestionnaire de sources, tests automatisés, documentation... 2) Mise en place d'un premier projet Maven Exercice Installation de Maven et création d'un premier projet Maven. 3) Les dépendances - Notion de dépendance et de dépendance transitive. - Déclaration des dépendances dans le POM. - Comment résoudre un conflit de dépendances ? Exercice Paramétrage de dépendances simples et transitives. 4) Les repositories - Limites du repository par défaut. Déclaration de plusieurs repositories. Gestion de priorités. - Outils de gestion de repository (Nexus, Artifactory...). Exercice Migration d'un projet non structuré vers Maven. Paramétrage de dépendances et de repositories. 5) Utilisation courante - Les core plug-ins : compiler, déployer, installer... - Les plug-ins pour la génération d'applications JEE... - Les versions. Les snapshots. Les profils. - Maven et le travail en équipe. CVS SVN. - Intégration de Maven aux IDE (Eclipse...). - Génération de la documentation. Exercice Configuration du cycle de vie complet d'un projet. 6) Génération d'un site Maven - Le plug-in site. Le site descriptor. Le site layout. - Skins par défaut, création d'une Skin personnalisée. Exercice Génération d'un site personnalisé. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 114 7) Les rapports Maven - Génération de rapports sur les tests. - Checkstyle, changelog, changes. Exercice Génération de rapports personnalisés. 8) Intégration continue - Définition. Best Practices. Présentation de Jenkins comme serveur de build et d'intégration continue. Configuration. Exercice Mise en place de Jenkins. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 115 Stage pratique de 3 jour(s) Réf : AJJ Participants Architectes d'intégration, responsables de déploiement, architectes de production, intégrateurs, analystes et ingénieurs d'exploitation. Pré-requis Connaissances de base des architectures techniques (système, notions de déploiement et d'intégration, n-tiers). Prix 2017 : 1960€ HT Java/JEE, déployer et administrer vos applications > Développement logiciel > Java, JEE Ce cours vous permettra de maîtriser le processus de déploiement de solutions Java. Vous découvrirez les éléments indispensables d'une architecture JEE. Vous packagerez des applications et les déployerez sur un serveur d'applications. Vous apprendrez enfin à monitorer ces applications et à en analyser les performances. OBJECTIFS PEDAGOGIQUES Maîtriser les différentes architectures Java EE Packager des applications Java EE et les déployer sur un serveur d'applications Monitorer des applications Java EE et en analyser les performances 1) Introduction au langage et à la plateforme 2) Une plateforme, différentes architectures 3) Le packaging des applications et l'intégration 4) Le déploiement d'applications JEE 5) Monitoring d'applications JEE 6) La performance des applications JEE Dates des sessions Paris 1) Introduction au langage et à la plateforme 6 mar. 2017, 22 mai 2017 28 aoû. 2017, 2 oct. 2017 4 déc. 2017 - Java : concepts du langage. L'objet, le Garbage Collector. JVM, JRE, JDK. - L'architecture Java. J2SE, son évolution, celle des JVM. - Java pour l'entreprise. JEE : Java 2 Enterprise Edition. JSP/servlets/EJB. Modalités d’évaluation 2) Une plateforme, différentes architectures L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Les architectures : de 1 à n-tiers. Qu'entend-on par tiers ? Du Java, mais où ? - La brique métier : le serveur d'applications. Les conteneurs Web et EJB, les queues de message. - La gestion de l'accès aux données. JDBC. EJB 2.x entités, Hibernate et TopLink. EJB3/JPA. Drivers XA. 3) Le packaging des applications et l'intégration - Vue d'ensemble. JAR, WAR, EAR. JAR. - Les outils pour packager. Ant et Maven : concepts et mise en œuvre. - La coordination avec le développement. L'outil de développement. La gestion de configuration. - L'intégration et ses tests. L'intégration des composants. Comment suivre les dépendances ? 4) Le déploiement d'applications JEE - Les différentes topologies. Conteneur Web et d'EJB. Le découplage : HTTP, WEB, EJB. Les ressources statiques à part. - Stratégies de déploiement. 1, 2, n-serveurs ? Session : que maintient-on ? - La sécurité : vue générale. - Le clustering. Matériel ou logiciel ? L'affinité de session. - Automatisation des déploiements. Les solutions éditeurs, les scripts. - Archivage des versions, rythmes de déploiement. 5) Monitoring d'applications JEE - Les sources d'information. Les logs http, applicatifs, de l'OS et des SGBD. - La génération des logs Java (Java, Log4J, common loggings). - Analyse des logs. Outils Open Source (Chainsaw...), le lien avec les logs HTTP. - Monitoring temps réel. Le support de SNMP dans Java, la MIB, JMX et la Jconsole. - Points à surveiller. Mémoire, utilisation par la JVM, fuites. I/O disques. Les pools. 6) La performance des applications JEE - Quelle performance ? Temps de réponse. Comportement de la JVM. - Focus sur les temps de réponse. Analyse de bout en bout. Tests de charge. - Stabilité et montée en charge du serveur d'applications. Tuning de la JVM. - Le GC selon les versions de Java. - Anticiper l'évolution de la plateforme. Améliorations matérielles et applicatives. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 116 Stage pratique de 3 jour(s) Réf : TOC Participants Administrateurs système, exploitants et intégrateurs. Pré-requis Connaissances de base des technologies Web, d'une architecture Java/Web (JSP/ Servlet) et des serveurs. Prix 2017 : 1880€ HT Dates des sessions Paris 20 fév. 2017, 24 avr. 2017 19 juin 2017, 28 aoû. 2017 9 oct. 2017, 4 déc. 2017 Aix 9 mai 2017, 18 sep. 2017 11 déc. 2017 Bordeaux 15 mai 2017, 25 sep. 2017 27 nov. 2017 Bruxelles 6 mar. 2017, 6 juin 2017 11 sep. 2017, 11 déc. 2017 Geneve 6 mar. 2017, 6 juin 2017 11 sep. 2017, 11 déc. 2017 Tomcat, administrer un serveur Web Java EE Best > Développement logiciel > Java, JEE La maîtrise et l'optimisation des fonctionnalités du conteneur de servlets et de JSP Tomcat peuvent se révéler complexes. Ce cours vous apprendra à l'installer, l'administrer et à l'intégrer au serveur Apache. Il vous montrera comment configurer, déployer, sécuriser vos applications et assurer leur connexion aux BD. OBJECTIFS PEDAGOGIQUES Installer et configurer un serveur Tomcat Déployer des applications JavaEE Mettre un place un pool de connexions vers une base de données Optimiser les performances d'un serveur Tomcat Sécuriser un serveur Tomcat et ses ressources 1) Contexte des applications JavaEE 2) Installation 3) Configuration 4) Les connecteurs 5) Sécurité 6) Journalisation 7) Performances et tests Travaux pratiques Les participants pourront mettre en œuvre les différentes techniques abordées sur des plateformes Linux et Windows. 1) Contexte des applications JavaEE - Les projets Apache. Les distributions de Tomcat. - JavaEE, Servlet, JSP et composants : architecture. 2) Installation Grenoble 15 mai 2017, 25 sep. 2017 27 nov. 2017 Lille 9 mai 2017, 18 sep. 2017 11 déc. 2017 - Installation et configuration de la JVM. - Installation du serveur. Les options. - Installation et compilation de Tomcat avec Ant. - Les éléments de Tomcat : répertoires, moteur, connecteurs... Luxembourg Travaux pratiques Installation de Tomcat et paramétrage de base. 6 mar. 2017, 6 juin 2017 11 sep. 2017, 11 déc. 2017 3) Configuration Lyon 15 mai 2017, 25 sep. 2017 27 nov. 2017 Montpellier 9 mai 2017, 18 sep. 2017 11 déc. 2017 Nantes 27 fév. 2017, 9 mai 2017 18 sep. 2017, 11 déc. 2017 Rennes 9 mai 2017, 18 sep. 2017 11 déc. 2017 Sophia-antipolis 9 mai 2017, 18 sep. 2017 11 déc. 2017 Strasbourg 9 mai 2017, 18 sep. 2017 11 déc. 2017 - Configurations : composants, utilisateurs, déploiement, contrôle d'accès, application Web. - Outils de configuration. Automatisation avec Ant. - Filtrage de requêtes (les "Valves"), de logging. Single Sign On. Les Realms. - Configuration de la persistance de sessions. Les ressources JNDI : JDBC et Mail. - Analyse du chargement des classes Java. Travaux pratiques Configuration d'une application fournie. 4) Les connecteurs - HTTP 1.0 et 1.1 et connecteur Coyote. - Utilisation de Tomcat avec un Reverse Proxy. - Intégration avec IIS et Apache. - Intégration via mod_proxy (HTTP et AJP). - Intégration via mod_jk. - Optimisation. Répartition de la charge. - Connecteurs JDBC : alternative et configuration. Toulouse Travaux pratiques Accès à l'application fournie à travers un serveur Web et connexion à une base de données. 15 mai 2017, 25 sep. 2017 27 nov. 2017 5) Sécurité Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à - Principes. Sécurisation du système de fichiers. Les permissions. Java Security Manager et Tomcat. - Les "Realms" : message Digest, rôles, fichiers, JDBC. - Le protocole SSL. Travaux pratiques Sécurisation de l'application. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 117 réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 6) Journalisation - JULI, configuration logging.properties. - Projet Log4J. Sorties : console, fichier, syslog... - Logger. Niveaux de log. Lecture du journal. - Configuration par XML ou Java. - Remplacer JULI par Log4J. Travaux pratiques Implémentation et configuration de logging de l'application. 7) Performances et tests - Configuration "standalone" ou avec serveur Web. - JVM, usage de la mémoire. - Mise à l'échelle. - Tests de charge avec JMeter. - Charge du serveur et charge de l'application. - Le monitoring JMX. Travaux pratiques Etablissement d'un plan de test pour l'application. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 118 Stage pratique de 4 jour(s) Réf : GLA Participants Ce stage est destiné aux administrateurs systèmes, exploitants, intégrateurs et consultants voulant mettre en œuvre et maintenir GlassFish Server. Pré-requis Connaissances de base de XML et des concepts liés à la plateforme Java EE. Expérience requise en administration de systèmes. Prix 2017 : 2440€ HT Dates des sessions Paris 4 avr. 2017, 25 juil. 2017 12 sep. 2017, 21 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. GlassFish, administrer un serveur Java EE > Développement logiciel > Java, JEE OBJECTIFS Cette formation pratique vous permettra de maîtriser les concepts de base et les fonctionnalités avancées du serveur. Vous verrez notamment la configuration, l'administration et le déploiement des applications Web, d'entreprise, des EJB ainsi que des Web Services. 1) Vue d'ensemble de la plateforme Java EE 2) Architecture de GlassFish Server 3) Administration de base 4) Administration par scripts 5) Configuration des ressources 6) Déploiement d'applications 7) Administration avancée 8) Haute disponibilité (HADB) 1) Vue d'ensemble de la plateforme Java EE - Les bases de l'architecture N-tiers. - La plateforme Java EE (JSP/Servlet, EJB 3...). - Services de supports (JCA, Java Mail, JDBC, JNDI...). 2) Architecture de GlassFish Server - L'architecture de GlassFish : modularité OSGI. - Les instances du serveur d'applications GlassFish. - Les agents de nœuds, les domaines, les clusters. Travaux pratiques Installation de GlassFish Server. 3) Administration de base - Présentation de la console d'administration. - Gestion et configuration des logs. Examen des logs. - Supervision de GlassFish avec la console. Travaux pratiques Création et configuration d'un domaine, agents de nœud et instances. Configuration des logs. Démarrage et arrêt des instances. Supervision des instances. 4) Administration par scripts - Présentation d'outils : asadmin, appclient, asant... - Automatisation des tâches administratives récurrentes. Travaux pratiques Administration avec asadmin. 5) Configuration des ressources - Annuaire JNDI. - Ressources JDBC. Différents types de pilote JDBC. - Configuration des sessions JavaMail. - Ressources JMS et JTA. - Configuration des transactions distribuées. - Sécurité JAAS et JAAC. Les bases de JAAS. Travaux pratiques Configuration de ressources (DataSource, Session JavaMail et Queue/Topic). Configuration de GlassFish Realm. 6) Déploiement d'applications - Structures des unités de déploiement. - Assemblage d'applications. - Gestion des sessions http. Travaux pratiques Installation des composants Web, EJB, Web Services et Entreprise. 7) Administration avancée - Paramètres de tunning de la JVM. - Configuration et gestion des pools de threads. - Optimisation de la configuration des conteneurs. - Mise en place de la récupération automatique des transactions. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 119 8) Haute disponibilité (HADB) - Le load balancing. - La haute disponibilité. - Mécanisme de la réplication de la session. Travaux pratiques Mise en place d'un loadbalancer et d'un cluster. Configuration de la réplication de session. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 120 Stage pratique de 3 jour(s) Réf : JBO Participants Développeurs, exploitants ou intégrateurs d'applications Java EE. Pré-requis Connaissances de base dans l'administration d'un système d'exploitation et en Java. Prix 2017 : 1880€ HT Dates des sessions JBoss WildFly, administrer un serveur Java EE Best > Développement logiciel > Java, JEE Ce cours présentera l'ensemble des caractéristiques de base de WildFly/JBoss. Il permettra aux administrateurs d'acquérir toutes les compétences nécessaires à l'exploitation d'applications en production et à la mise en oeuvre d'une configuration optimisée. OBJECTIFS PEDAGOGIQUES Installer un serveur d'application WildFly/JBoss Maîtriser les modes de déploiement des composants war, jar et ear Configurer un domaine avec plusieurs hosts Superviser l'activité du serveur d'application WildFly/JBoss Optimiser les performances du serveur d'application WildFly/JBoss Sécuriser les accès aux applications déployées Paris 20 fév. 2017, 29 mai 2017 3 juil. 2017, 11 sep. 2017 20 nov. 2017 Aix 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Bordeaux 6 mar. 2017, 6 juin 2017 2 oct. 2017, 4 déc. 2017 Bruxelles 29 mai 2017, 25 sep. 2017 27 nov. 2017 Geneve 29 mai 2017, 25 sep. 2017 27 nov. 2017 Grenoble 6 mar. 2017, 6 juin 2017 2 oct. 2017, 4 déc. 2017 Lille 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Luxembourg 29 mai 2017, 25 sep. 2017 27 nov. 2017 Lyon 6 mar. 2017, 6 juin 2017 2 oct. 2017, 4 déc. 2017 Montpellier 1) Introduction à Java EE 2) Introduction à JBoss et WildFly 3) Bases de l'administration JBoss/WildFly 4) Configuration en mode autonome 1) Introduction à Java EE - Principes fondamentaux de Java et de Java EE. - Architectures des applications Java EE. - Les serveurs d'applications. 2) Introduction à JBoss et WildFly - Principes de l'Open Source. - L'Open Source professionnel avec RedHat. - JBoss EAP vs WildFly, serveurs certifiés Java EE 7. - L'architecture de WildFly. Travaux pratiques Installation du serveur WildFly. 3) Bases de l'administration JBoss/WildFly - Principe des configurations. - Déploiement d'applications Java EE (ear), d'applications Web (war) et de composants EJB (jar). - Déploiement de Driver JDBC 4, de DataSources et de modules partagés. Travaux pratiques Déploiement d'une DataSource et d'un driver JDBC 4. 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 4) Configuration en mode autonome Nantes Rennes - Description des modes autonome et domaine. - Les configurations autonomes (default, full, ha, full-ha). - Les outils de configuration : console Web, jboss-cli. - Modes de déploiement : autonome, partiel... 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Travaux pratiques Déployer des war, jar et ear. 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Sophia-antipolis 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Strasbourg 27 fév. 2017, 29 mai 2017 9 oct. 2017, 18 déc. 2017 Toulouse 6 mar. 2017, 6 juin 2017 2 oct. 2017, 4 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à 5) Suivi du serveur 6) Administration d'un domaine 7) Optimisation des performances 8) Sécurité 5) Suivi du serveur - Les outils d'inspection intégrés. - Outils de supervision JMX : jconsole, jvisualvm. - Paramétrage des logs d'accès Web. - Exploitation des logs du serveur. - Intégration de logs applicatifs avec Log4J et SLF4J. Travaux pratiques Configurer les logs. 6) Administration d'un domaine - Organisation d'un domaine. - Services administratifs d'un domaine : Host Controller Slave ou Master, Process Controller. - Configuration de plusieurs hosts de domaine. - Déploiement d'applications en domaine avec la console web ou jboss-cli. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 121 réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Configurer un domaine avec plusieurs hosts. 7) Optimisation des performances - Réglage VM : profil client/serveur, mémoire heap, GC. - Réglage des pools (EJB, DataSource, threads). - Optimiser le chargement de classes : stratégie de chargement de modules, dépendances entre modules. - Introduction à la haute disponibilité. Travaux pratiques Optimisation de la JVM. 8) Sécurité - Principes de sécurisation du serveur. - Gestion des accès aux outils d'administration. - Gestion des autorisations et des authentifications. - Les méthodes d'authentification : basic, form... - Les Realms : JDBCRealm, LDAPRealm... - Sécuriser les échanges avec SSL. Travaux pratiques Contrôler l'accès aux applications. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 122 Stage pratique de 2 jour(s) Réf : JBA Participants Développeurs, exploitants ou intégrateurs d'applications Java EE. JBoss WildFly, haute disponibilité > Développement logiciel > Java, JEE Ce cours avancé vous permettra de mettre en place des architectures en cluster avec Wildfly/JBoss. Vous verrez les différents types de réplication pour traiter toutes les problématiques liées aux applications critiques nécessitant de hauts niveaux de disponibilité. Pré-requis OBJECTIFS PEDAGOGIQUES Bonnes connaissances de l'administration JBoss. Expérience requise. Mettre en place un cluster avec Apache Mettre en place la réplication de session et tester les performances Déployer des EJB clusterisés et analyser les performances Implémenter un service JMS tolérant aux pannes via un singleton Répartir la charge d'un nœud JMS sur plusieurs Message Driven Beans Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Concepts du clustering 2) Fonctionnalités de clustering de JBoss/Wildfly 3) Mise en place d'un cluster 4) Réplication de session HTTP 5) Clustering d'EJB 6) Redondance passive 1) Concepts du clustering - Application critique et sûreté de fonctionnement. - Typologie des clusters. - Exploitation des architectures en clusters. 2) Fonctionnalités de clustering de JBoss/Wildfly - Auto-discovery, Partitions. - Sous-projets concernés Java Groups, le cache Infinispan. - Différents services de réplication. - Clients lourds/clients Web. 3) Mise en place d'un cluster - La configuration " all ": installation, configuration. Traces serveurs. - Configuration JGroups : Pile de protocole. Service de membership. Détection de défaillance. Garbage collecting. - Les différentes stratégies d'équilibrage de charges. - Le mode sticky. - Apache comme répartiteur. Module mod_jk, modcluster - Configuration workers.properties, Advertisements. Travaux pratiques Mise en place d'un cluster avec Apache en mode sticky. Déploiement d'application. Stress de l'application. 4) Réplication de session HTTP - Le Subsystem Infinispan. - Granularité de la réplication. - Configuration des triggers de réplication. - Single Sign On. - Subsystem Infinispan en mode cluster : Architecture. Réplication de cache et transactions. Invalidation. - Transfert d'état. Travaux pratiques Granularité de la réplication et performance d'une application Web. 5) Clustering d'EJB - Fonctionnement du service JNDI en mode cluster. Configuration des clients. - EJB session : Rappels sur la configuration des pools. EJB 2.x/3.0 stateless et stateful. - Le Subsystem Infinispan et les EJB 3.0. - Configuration des entity beans. Travaux pratiques Clustering d'EJB session. Analyse des fichiers de traces. 6) Redondance passive - Le service JMS en singleton. Fonctionnement. - Configuration serveur. Impacts sur le client. - Réplications des Message Driven Beans. Travaux pratiques Mise en place d'EJB MDB répliqués. Observation du comportement lors d'une défaillance. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 123 Stage pratique de 2 jour(s) Réf : JON Participants Développeurs et administrateurs d'applications Java J2EE. Pré-requis Bonnes connaissances de Java et des EJB. Prix 2017 : 1440€ HT Dates des sessions Paris JOnAS, administrer un serveur Java EE > Développement logiciel > Java, JEE OBJECTIFS Ce cours traite de la mise en oeuvre et de l'administration du serveur d'EJB Open source JOnAS. Il vous apportera les connaissances nécessaires au déploiement de vos applications et au paramétrage des services techniques que le serveur est à même de leur offrir. 1) Introduction et rappels 2) Les EJB 3) Mise en œuvre dans JOnAS 1) Introduction et rappels 23 fév. 2017 - Architectures distribuées et n-tiers. - Définition de J2EE, ses sous-spécifications. Modalités d’évaluation 2) Les EJB L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 4) La persistance en détails 5) La sécurité dans JOnAS - Les trois types d'EJB. - La notion de conteneur d'EJB. - Les constituants d'un EJB (classe, interfaces, descripteurs). - L'intégration avec les environnements de développement (les plug-ins d'Eclipse pour JOnAS). - Les frameworks et les EJB. 3) Mise en œuvre dans JOnAS - Le serveur JOnAS, son installation et sa configuration de base. - RMI/IIOP, JNDI, Déploiement dans JOnAS, localisation et utilisation. - La console d'administration jonasadmin et autres outils d'administration JOnAS. - Activation et configuration de services JOnAS. 4) La persistance en détails - Les pilotes et API JDBC, le langage EJB-QL. - Le comportement transactionnel d'un EJB dans JOnAS (JTA l'API et JTS le service). - Les relations entre beans entités dans JOnAS. - Alternative ou complément : Hibernate. 5) La sécurité dans JOnAS - Les risques. - JAAS et la sécurisation des applications JOnAS. - Propagation de la sécurité. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 124 Stage pratique de 5 jour(s) Réf : LJV Participants Concepteur, développeur, ingénieur, chef de projets opérationnel. Pré-requis Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Développer en Java, pour programmeurs C/C++ > Développement logiciel > Java, JEE Un cours intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java 5 dans l'application des principes de la programmation Objet. Vous utiliserez les librairies graphiques (AWT et Swing), les librairies d'entrées/sorties et d'accès aux bases de données (JDBC). Vous aborderez aussi les bases de la programmation Web et la programmation des Applets. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les principes de la programmation orientée objet Maîtriser la syntaxe du langage Java Maîtriser les principales librairies standards Java Maîtriser un environnement de développement intégré pour programmer en Java Prix 2017 : 2610€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) Paris 13 mar. 2017, 10 avr. 2017 15 mai 2017, 12 juin 2017 3 juil. 2017, 21 aoû. 2017 11 sep. 2017, 16 oct. 2017 20 nov. 2017, 18 déc. 2017 Aix 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 4) Introduction à la programmation Web : les applets 5) Les entrées/sorties et quelques classes utilitaires 6) La connexion aux bases de données : JDBC Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques Objet Bordeaux 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Bruxelles 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 - Les principes généraux de la modélisation et de la programmation Objet. - L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios. Geneve Travaux pratiques L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 2) La programmation objet avec Java Grenoble 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Lille 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Luxembourg 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 Lyon 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Montpellier 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Nantes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Rennes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Sophia-antipolis 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Strasbourg 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Toulouse 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 - Les bases de la syntaxe : variables, types, expressions, instructions, tableaux, structures de contrôle et autoboxing. - Définition et instanciation des classes. Les champs, les méthodes, les constructeurs, les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes. - Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. - Le polymorphisme et sa mise en oeuvre. - La construction de hiérarchies de classes. - La définition des classes dérivées, les constructeurs, les références. - La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. - Les classes abstraites. - Les types génériques. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. Travaux pratiques Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité. Introduction des exceptions. 3) La conception d'interfaces graphiques (AWT, Swing) - Concepts de base : principes de la visualisation et de la gestion des événements, quelques classes génériques. - Visualisation des composants graphiques. - Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout. - Construction de conteneurs hiérarchiques. - Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas. - La gestion des événements. Les Listeners et Adapters. - L'association de gestionnaires aux composants graphiques. - Les particularités de Swing. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 125 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas. 4) Introduction à la programmation Web : les applets - Les principes et les constituants du Web. - Les Applets : principes, cycle de vie, la classe Applet. - Intégration d'une Applet dans une page# HTML, le passage des paramètres, les problèmes de sécurité. Travaux pratiques Construction d'une Applet. 5) Les entrées/sorties et quelques classes utilitaires - Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier. - La sérialisation. - Les classes d'encapsulation des types. - Les classes système. - Les classes de conteneur. - Les classes d'observateur. 6) La connexion aux bases de données : JDBC - Le modèle de JDBC et les principes généraux. - Rappels de SQL. - Connexion à un SGBD. - Exécution des requêtes et traitement des réponses. - L'utilisation des requêtes précompilées. - Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité. Travaux pratiques Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 126 Stage pratique de 4 jour(s) Réf : JOT Participants Développeurs, ingénieurs, chefs de projets proches du développement. Pré-requis Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2017 : 2440€ HT Dates des sessions Paris 28 fév. 2017, 9 mai 2017 5 sep. 2017, 28 nov. 2017 Aix Java, optimisation développer des applications efficaces et fiables > Développement logiciel > Java, JEE Vous découvrirez les spécificités de Java permettant d'améliorer les performances des applications. Vous étudierez l'optimisation de la JVM et du Garbage Collector, les bons usages de Java et de ses principales librairies. Vous verrez enfin les bonnes pratiques de conception au travers de quelques Design Patterns. OBJECTIFS PEDAGOGIQUES Optimiser le code Java d'une application pour en améliorer les performances Maîtriser les outils d'aide à l'optimisation Optimiser le fonctionnement de la machine virtuelle Optimiser l'utilisation des librairies standards Mettre en œuvre des Design Patterns significatifs 1) Méthodologie et outils pour l'optimisation 2) L'optimisation et le langage 3) L'optimisation et les librairies standard 4) L'optimisation et quelques Design Patterns 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Bordeaux 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Bruxelles 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 Geneve 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 Grenoble 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Lille 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Luxembourg 5) L'optimisation et les I/O 6) L'optimisation et le multithreading 7) L'optimisation et la gestion de la mémoire 8) L'optimisation et l'utilisation de librairies C et C++ 1) Méthodologie et outils pour l'optimisation - Les éléments impliqués dans l'optimisation. - Le choix d'un environnement d'exécution performant. - Les éléments de la méthodologie. - Outils de profiling et de visualisation de la mémoire. Outils de tests et d'aide (findBugs, CheckStyle...). - Le choix du compilateur et de la JVM. Travaux pratiques Utilisation des profilers hprof et jmp. Utilisation de JUnit. Profiling d'une application simple. 2) L'optimisation et le langage - Identifier les vraies sources d'inefficacité. - Connaître les bons usages qui les évitent. - L'optimisation et la gestion des objets, les évaluations, les tests. Travaux pratiques Démonstrations de l'amélioration des performances de l'application. 21 mar. 2017, 20 juin 2017 26 sep. 2017, 12 déc. 2017 3) L'optimisation et les librairies standard Lyon - La manipulation des Strings. Les classes Collections. 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Travaux pratiques Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des Strings et des Collections. Montpellier 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 4) L'optimisation et quelques Design Patterns Nantes - L'utilisation des interfaces et des classes abstraites. - L'utilisation de fabriques. - L'utilisation d'adaptateurs, décorateurs, proxies. 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Rennes 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Sophia-antipolis 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Strasbourg 7 mar. 2017, 20 juin 2017 3 oct. 2017, 12 déc. 2017 Toulouse 28 fév. 2017, 11 avr. 2017 6 juin 2017, 5 sep. 2017 5 déc. 2017 Modalités d’évaluation Travaux pratiques Design Patterns pour l'optimisation des applications. 5) L'optimisation et les I/O - Le choix des bonnes classes de Stream. - L'optimisation de la sérialisation. - L'optimisation spécifique aux IO réseaux. Travaux pratiques Amélioration des performances de l'application témoin par une meilleure gestion des IO. 6) L'optimisation et le multithreading - Le modèle d'activité de Java. - La synchronisation des threads. - L'optimisation des Threads. Travaux pratiques Démonstrations de l'optimisation des Threads. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 127 L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 7) L'optimisation et la gestion de la mémoire - Les principes généraux des GC (principaux algorithmes, collaboration avec l'allocateur). - L'organisation de la mémoire des principales JVM. - La saturation mémoire (cause, diagnostic, solutions). - Les évolutions Java6 : le Garbage Collector. Travaux pratiques Utilisation d'outils de visualisation de la mémoire, de l'activité du GC. 8) L'optimisation et l'utilisation de librairies C et C++ - Les principes généraux de JNI : les étapes du développement. L'API JNIEnv. JNI et les performances. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 128 Stage pratique de 5 jour(s) Réf : JAP Participants Développeurs, ingénieurs, chefs de projets proches du développement. Pré-requis Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2017 : 2610€ HT Dates des sessions Paris 10 avr. 2017, 19 juin 2017 21 aoû. 2017, 16 oct. 2017 18 déc. 2017 Aix 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Bordeaux Java, programmation avancée Best > Développement logiciel > Java, JEE Ce cours a un double objectif. D'une part, approfondir certains aspects avancés du langage (les types génériques, les annotations, la programmation réflexive, le chargement des classes). D'autre part, présenter un panorama synthétique des principales librairies concernant les thèmes suivants : la gestion des Threads, les communications via le réseau, l'administration et la supervision des applications. Ce cours insiste par ailleurs sur les techniques architecturales associées. OBJECTIFS PEDAGOGIQUES Maîtriser les aspects avancés du langage Java Mettre en œuvre la programmation concurrente à base de Threads Mettre en œuvre différentes techniques de communication (Socket, RMI, JMS) Comprendre le modèle de sécurité et le chargement des classes Java Administrer une application Java via JMX, surveiller la JVM Mettre en œuvre la programmation réflexive 1) Quelques aspects avancés du langage 2) La programmation concurrente 3) La communication par socket 4) La communication par invocation de méthode distante : RMI 5) La communication par messages : JMS 6) La sécurité et le chargement de classes 7) Présentation de JMX (Java Management Extension) 8) La programmation réflexive 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Travaux pratiques Bruxelles Ce cours illustre les principes exposés par la construction progressive d'une application en Java. 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Geneve 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Grenoble 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Lille 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Luxembourg 24 avr. 2017, 19 juin 2017 16 oct. 2017, 18 déc. 2017 Lyon 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Montpellier 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Nantes 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Rennes 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Sophia-antipolis 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Strasbourg 20 mar. 2017, 26 juin 2017 23 oct. 2017, 18 déc. 2017 Toulouse 13 mar. 2017, 12 juin 2017 4 sep. 2017, 6 nov. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à 1) Quelques aspects avancés du langage - Les Inner Classes. Les classes anonymes. - La redéfinition covariante des méthodes (jdk1.5). - Les nouvelles boucles for (jdk1.5). - Les Import Static (jdk1.5). - L'auto-boxing, auto-unboxing (jdk1.5). Les varargs (jdk1.5). - Les types énumérés (jdk1.5). Utilisation et définition. - Les types génériques (jdk1.5). L'utilisation et la définition de types génériques simples. - La généricité et la relation de sous-typage. - Les types génériques à l'exécution, les types génériques et l'instanciation, les types génériques et les tableaux. - Les méthodes génériques. L'utilisation simultanée des types génériques et non génériques. - Les annotations (jdk1.5 et jdk1.6). Principes. Les annotations prédéfinies (@override, @deprecated, @generated...). - La définition de nouvelles annotations. - Les méta-annotations (@Retention, @Target, @Documented, @Inherited). L'utilisation réflexive des annotations.. - Support du wildcard dans le classpath (jdk1.6). - Nouveautés sur les collections (jdk1.5 et jdk1.6) : les Queues, les ConcurrentMap... Travaux pratiques Utilisation des types génériques et des annotations. 2) La programmation concurrente - Définitions relatives à la programmation concurrente : les Threads. - La création/destruction des Threads. Ordonnancement des Threads. - La synchronisation des Threads. Le verrouillage des méthodes et des instructions (synchronized). Les moniteurs. - Principes méthodologiques pour la conception d'applications multithreadées. - Les problèmes posés par la programmation multithread. - Le problème de l'interblocage (caractérisation, évitement, prévention, détection). Le problème de la famine. - La librairie concurrente de JDK1.5. Les nouvelles collections. - Les nouveaux outils de synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques. Travaux pratiques Construction d'une application concurrente avec synchronisation et résolution d'interblocage. 3) La communication par socket - Rappels sur les principaux concepts réseaux. - La programmation en mode non connecté (par datagram). Le modèle Peer to Peer. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 129 réaliser (50 à 70% du temps). - La communication en mode connecté (par stream). - Le modèle client/serveur. Serveur séquentiel vs serveur concurrent. Utilisation de la sérialisation. - La librairie nio. Les buffers, channels. Les sélecteurs et leur utilisation. Compétences du formateur Travaux pratiques Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent). Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 4) La communication par invocation de méthode distante : RMI - Les principes généraux. - Les classes de base. - Le service de nommage. - Le processus de développement du client et du serveur. - Les contraintes de sécurité et de chargement de classes. Travaux pratiques Programmation de l'étude de cas à l'aide de RMI. 5) La communication par messages : JMS - Les principes généraux de la communication par messages. - Les concepts de JMS, les interfaces et les classes correspondantes. - Les différentes formes de messages. - La communication en mode point à point. - La communication en mode publish/subscribe. Travaux pratiques Programmation de l'étude de cas à l'aide de JMS. 6) La sécurité et le chargement de classes - Les aspects avancés et moins connus de la JVM. - Les mécanismes liés à la JVM pour assurer la sécurité. - Le modèle de sécurité de Jdk1.2 : les permissions, les politiques, les domaines de sécurité. - Le gestionnaire de sécurité et le contrôleur d'accès. - Les mécanismes de chargement de classes. - Le développement de chargeurs de classes spécifiques. 7) Présentation de JMX (Java Management Extension) - La distinction entre l'application à administrer et l'application d'administration. - Les concepts de JMX : MBean, MBeanServer, Agent, Connector. - Les API JMX. - La mise en œuvre des différentes catégories de Mbeans (standard, dynamiques, model). - L'utilisation des adaptateurs et des connecteurs. - Les consoles d'administration. Travaux pratiques Mise en place d'une couche d'administration-supervision pour l'étude de cas. 8) La programmation réflexive - Objectifs et principes. - Le chargement de classes. L'objet Class. - Découverte dynamique des informations (propriétés et méthodes) relatives à une classe ou à un objet. - Instanciation dynamique. - Invoquer une méthode. - La réflexivité des annotations en Java 5. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 130 Stage pratique de 1 jour(s) Réf : KDX Participants Candidats à la certification FFP "Développeur d'applications Java". Pré-requis Avoir suivi l'intégralité des stages du cycle certifiant "Développeur d'applications Java". Certification Développeur d'applications Java > Développement logiciel > Java, JEE OBJECTIFS Cette journéee est destinée à valider les connaissances acquises au cours du cycle certifiant "Développeur d’applications Java". Les compétences validées portent sur la maîtrise du langage Java et de la programmation objet, sur les principales librairies Java du JDK ainsi que sur l'optimisation des performances des applications Java. 1) Présentation des épreuves 2) Questionnaire à choix multiple 3) Travaux pratiques Prix 2017 : 550€ HT Certification Dates des sessions Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. Paris 21 avr. 2017, 26 juin 2017 28 aoû. 2017, 23 oct. 2017 29 déc. 2017 Composition du cycle - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des EJB3 en Open Source 1) Présentation des épreuves - Présentation du déroulé des épreuves (timing, documents autorisés, etc ...). - Question de la salle. 2) Questionnaire à choix multiple - Questions ouvertes et fermées sur les connaissances essentielles de Java, de son environnement et des outils associés. 3) Travaux pratiques - Analyse d'une expression de besoin. - Implémentation logicielle de la solution en Java et utilisation d'outils associés. Réf : JEB, Durée : 4 j - Certification Développeur JEE Réf : KJX, Durée : 1 j - Développer en Java, pour programmeurs C/C++ Réf : LJV, Durée : 5 j - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des Web Services en Java Réf : DSJ, Durée : 5 j - Certification Développeur Web en Java Réf : KWX, Durée : 1 j Modalités d’évaluation Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, une journée d’examen est mise en place. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 131 de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 132 Stage pratique de 5 jour(s) Réf : LJV Participants Concepteur, développeur, ingénieur, chef de projets opérationnel. Pré-requis Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Développer en Java, pour programmeurs C/C++ > Développement logiciel > Java, JEE Un cours intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java 5 dans l'application des principes de la programmation Objet. Vous utiliserez les librairies graphiques (AWT et Swing), les librairies d'entrées/sorties et d'accès aux bases de données (JDBC). Vous aborderez aussi les bases de la programmation Web et la programmation des Applets. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les principes de la programmation orientée objet Maîtriser la syntaxe du langage Java Maîtriser les principales librairies standards Java Maîtriser un environnement de développement intégré pour programmer en Java Prix 2017 : 2610€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) Paris 13 mar. 2017, 10 avr. 2017 15 mai 2017, 12 juin 2017 3 juil. 2017, 21 aoû. 2017 11 sep. 2017, 16 oct. 2017 20 nov. 2017, 18 déc. 2017 Aix 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 4) Introduction à la programmation Web : les applets 5) Les entrées/sorties et quelques classes utilitaires 6) La connexion aux bases de données : JDBC Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques Objet Bordeaux 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Bruxelles 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 - Les principes généraux de la modélisation et de la programmation Objet. - L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios. Geneve Travaux pratiques L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 2) La programmation objet avec Java Grenoble 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Lille 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Luxembourg 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 Lyon 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Montpellier 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Nantes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Rennes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Sophia-antipolis 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Strasbourg 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Toulouse 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 - Les bases de la syntaxe : variables, types, expressions, instructions, tableaux, structures de contrôle et autoboxing. - Définition et instanciation des classes. Les champs, les méthodes, les constructeurs, les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes. - Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. - Le polymorphisme et sa mise en oeuvre. - La construction de hiérarchies de classes. - La définition des classes dérivées, les constructeurs, les références. - La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. - Les classes abstraites. - Les types génériques. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. Travaux pratiques Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité. Introduction des exceptions. 3) La conception d'interfaces graphiques (AWT, Swing) - Concepts de base : principes de la visualisation et de la gestion des événements, quelques classes génériques. - Visualisation des composants graphiques. - Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout. - Construction de conteneurs hiérarchiques. - Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas. - La gestion des événements. Les Listeners et Adapters. - L'association de gestionnaires aux composants graphiques. - Les particularités de Swing. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 133 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas. 4) Introduction à la programmation Web : les applets - Les principes et les constituants du Web. - Les Applets : principes, cycle de vie, la classe Applet. - Intégration d'une Applet dans une page# HTML, le passage des paramètres, les problèmes de sécurité. Travaux pratiques Construction d'une Applet. 5) Les entrées/sorties et quelques classes utilitaires - Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier. - La sérialisation. - Les classes d'encapsulation des types. - Les classes système. - Les classes de conteneur. - Les classes d'observateur. 6) La connexion aux bases de données : JDBC - Le modèle de JDBC et les principes généraux. - Rappels de SQL. - Connexion à un SGBD. - Exécution des requêtes et traitement des réponses. - L'utilisation des requêtes précompilées. - Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité. Travaux pratiques Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 134 Stage pratique de 5 jour(s) Réf : JSP Participants Informaticiens souhaitant développer des applications Web avec les technologies Java/Java EE. Pré-requis Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2017 : 2610€ HT Java, développement de servlets et JSP Best > Développement logiciel > Java, JEE Ce cours vous permettra de développer des projets Web d'entreprise basés sur la plateforme Java EE. Vous découvrirez les architectures MVC au travers de l'implémentation d'une couche de présentation basée sur des JSP puis sur JSF 2. Vous découvrirez les mécanismes des Servlet, apprendrez à persister vos données et à sécuriser vos applications Java. Vous mettrez en œuvre l'IDE Eclipse afin de construire et déployer vos solutions sur les différents serveurs d'applications Java EE du marché comme JBoss Wildfly ou WebSphere. OBJECTIFS PEDAGOGIQUES Maîtriser l'architecture des applications Java EE Développer une couche présentation basée sur des JSP, des librairies de balises et JSF Développer des composants de contrôle et de navigation basés sur des Servlets Gérer l'accès à une base de données Sécuriser une application Java EE Dates des sessions Paris 13 fév. 2017, 10 avr. 2017 12 juin 2017, 21 aoû. 2017 16 oct. 2017, 11 déc. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 1) Rappel sur le contexte des applications Web d'entreprise 2) Architecture des applications Java Web 3) Pages JSP : composants de présentation 4) API Servlet 3.0 : composants de contrôle et de navigation 5) Accès aux bases de données 6) Le Framework de présentation JSF 2 7) Sécurisation d'une application Web Java EE Geneve Travaux pratiques 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Développement d'une application Web en Java. Utilisation du conteneur de Servlet/JSP, Tomcat. Environnement de développement Eclipse. Luxembourg 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Rappels sur les URLs. - Gestion des sessions. - Accès aux ressources de l'entreprise. - La plateforme Java EE. - Modèles d'architectures multiniveaux. 2) Architecture des applications Java Web - Les composants nécessaires à l'utilisation de Java côté serveur. La Java Virtual Machine. - Les serveurs Web et serveurs d'applications Java EE. - Rôle du conteneur (moteur de Servlets). - Structure normalisée d'une application Web Java EE. - Les principaux composants : Servlets, pages JSP, JSF. - Les API Java EE. - Modèles d'architectures JSP/Servlet - Architecture du conteneur Web Tomcat d'Apache. - Le descripteur de déploiement web.xml. - Notion de pluggability. - Outils de développement, de test et de débogage : Eclipse, Netbeans, IntelliJ. - Déploiement et packaging des applications Java EE. Travaux pratiques Installer un environnement de développement et un serveur d'applications Web Tomcat Apache. Déployer une application Java EE sur un conteneur Tomcat . 3) Pages JSP : composants de présentation - Qu'est-ce qu'une page JSP ? - Cycle de vie des JSP. - Les objets prédéfinis. - Les Scriplets, les directives, les expressions, les actions... - La gestion des erreurs. - Les scopes. La communication entre composants WEB. - Utilisation de JavaBeans à partir de pages JSP. - Présentation du langage Unified Expression Language (UEL). - Présentation de la JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. - Principe des librairies (taglib). - Développement d'extension de balises. Balises simples, avec attributs, avec corps. - Déployer et exploiter une librairie. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 135 Travaux pratiques Développer la couche présentation (JSP, JSTL et librairies de balises). 4) API Servlet 3.0 : composants de contrôle et de navigation - Le conteneur de Servlets. - Le cycle de vie d'une Servlet. Initialiser une Servlet. Ecrire les méthodes de services. - L'interface Servlet. Les servlets HTTP. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - La récupération des paramètres HTTP. - Filtrage des requêtes/réponses. Programmation des filtres de Servlets. - La récupération d'information : du serveur Web, du client et de l'environnement. Invocation d'autres ressources Web. - Inclusion et transfert du contrôle. - Gestion des erreurs d'exécution. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. - Combinaison JSP et Servlets. Travaux pratiques Développement d'une application à base de Servlets exploitant l'environnement du conteneur Web. 5) Accès aux bases de données - Mise en place de la base de données relationnelles et de l'interface JDBC. - Connexion à la base, récupération d'information, mise à jour de données. - Transaction. Pool de connexions. Les DataSources. L'annotation Ressource. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). - Les concepts de JNDI. - Accès aux ressources via JNDI. Déclarer une ressource de type JavaBean, DataSource. Travaux pratiques Présenter des données issues d'un SGBDR dans l'application. 6) Le Framework de présentation JSF 2 - Présentation du Framework. Les Composants essentiels. - Cycle de vie du traitement d'une page JSF. - Les composants UI. Facelets. - La Servlet « FacesServlet ». Notion de FacesContext. - Mise en œuvre des Managed Beans. - Définir la navigation entre pages. - Convertir et valider des données. Travaux pratiques Adaptation de l'application existante avec le Framework JSF 2. 7) Sécurisation d'une application Web Java EE - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité déclarative. - Sécurité et programmation de Servlets. - Choix d'un mécanisme d'authentification. - Configurer les restrictions d'accès. - Lister les rôles applicatifs. - Mise en place d'un Realm. Configuration de Tomcat. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. Travaux pratiques Sécuriser l'accès au site construit. Mise en place d'un Realm DataSource. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 136 Stage pratique de 4 jour(s) Réf : JEB Participants Développeurs d'applications, architectes et chefs de projets. Pré-requis Très bonnes connaissances du langage Java. Connaissances de base des servlets et des JSP. Expérience requise en développement d'applications Java. Développer des EJB3 en Open Source > Développement logiciel > Java, JEE L'architecture des EJB3 à considérablement simplifié la mise en œuvre des EJB. Vous apprendrez dans ce cours à développer des EJB3 Sessions, Entités et Messages et à les intégrer dans vos applications d'entreprise. Vous mettrez en œuvre les concepts de persistance des données, de transaction et de sécurisation au sein des EJB3 et à transformer certains d'entre eux en Services Web. Vous apprendrez afin à packager et à déployer des EJB3 sur un serveur d'applications. OBJECTIFS PEDAGOGIQUES Découvrir l'architecture des EJB3 Développer des EJB3 Sessions, Entités et Messages Gérer la persistance des données, les transactions et la sécurisation au sein des EJB3 Créer des Services Web avec des EJB3 Maîtrisez le packaging et le déploiement des EJB3 Prix 2017 : 2440€ HT Dates des sessions Paris 7 fév. 2017, 16 mai 2017 19 sep. 2017, 28 nov. 2017 1) L'architecture et les serveurs d'applications 2) Rappels sur les Servlets et JSP 3) L'architecture EJB3 4) EJB sessions : création de services 5) EJB entités : persistance de données 6) EJB message-driven : traitement de messages 7) Les services Web et les EJB 8) Le service timer 9) Les transactions et les EJB 10) Sécuriser l'accès aux EJB Modalités d’évaluation Travaux pratiques L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). 1) L'architecture et les serveurs d'applications Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Les environnements de développement utilisés seront au choix Eclipse ou NetBeans. Les serveurs d'applications ciblés dans ce cours seront JBoss et GlassFish. - Architectures n-tiers. Evolution du client-serveur. - Architectures distribuées : .NET, RMI, CORBA, EJB. - Java EE : définition, présentation. - Relations entre servlets, JSP et EJB. - Eléments constitutifs et fonctionnalités d'un serveur d'applications. - Compatibilité des serveurs d'applications avec les spécifications Java EE. - Le serveur d'applications Open Source JBoss : architecture, marché, perspectives. - Eclipse/JBoss-IDE, un standard pour le développement Java EE en Open Source. - NetBeans IDE, l'IDE Open Source émergent pour le développement Java EE. 2) Rappels sur les Servlets et JSP - Eléments de base HTTP. - Rappels sur les URL (Uniform Resource Locator). - Notion de conteneur Web. - Structure normalisée d'une application Web J2EE. - Principe de fonctionnement et architecture d'une servlet. - Gestion des sessions. Espace de stockage. - Principe d'une JSP (scriplets, objets, actions). - Architecture MVC. 3) L'architecture EJB3 - La spécification EJB3. Architecture : classe Bean, interfaces " métiers ", annotations, descripteur de déploiement XML. - Les différents types d'EJB : session, entité et message-driven. - Packaging et déploiement des EJB3. - Le rôle du conteneur d'EJB. - Principe et rôle de JNDI (Java Naming and Directory Interface). Localisation des EJB3 avec JNDI. - Injection de dépendances. - Principe et rôle des intercepteurs. - Compatibilité avec les EJB 2.x. - Les applications "standalone" clientes d'un EJB. - Les applications Web clientes d'un EJB. - Mise en œuvre d'une architecture MVC avec EJB. 4) EJB sessions : création de services - A quoi sert un EJB session ? - Comparaison EJB session " Stateless " et " Stateful ". - EJB session " Stateless " et " Stateful ". Cycle de vie. - Méthodes " callback ". - Les accès concurrents sur les EJB sessions. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 137 - Configuration dans les architectures en cluster. - Le bon usage des EJB sessions. 5) EJB entités : persistance de données - A quoi sert un EJB entité ? - Mapping objet-relationnel, rôle de la clé primaire. - Clé primaire simple ou composite. - Le nouveau modèle de persistance EJB3 et ses API JPA. - Rôle de l'Entity Manager. - Opérations sur les EJB entités. - Cycle de vie d'un EJB entité. - Méthodes " callback " et listeners. - Les accès concurrents sur les EJB entités. - Le langage EJB-QL : syntaxe et utilisation. - Relations entre EJB entités : du modèle Objet au modèle EJB. Héritage. Mapping. - Associations : de un vers un, de un vers plusieurs, de plusieurs vers plusieurs. Mise en œuvre. 6) EJB message-driven : traitement de messages - Principe des MOM (Middleware Orientés Message), l'API JMS (Java Message Service). - Modèles de messages Publish/Suscribe et Point-To-Point. - Structure d'un message JMS. - Principe, mise en œuvre et cycle de vie d'un EJB message-driven. - Le client d'un EJB message-driven. - Configuration des objets JMS administrés. 7) Les services Web et les EJB - Principe d'un service Web. Les technologies fondatrices : HTTP, XML, SOAP, WSDL et UDDI. - API JAX-RPC et JAX-WS. - Transformation d'un EJB session Stateless en service Web. 8) Le service timer - Objectifs. Présentation des API. - Mise en œuvre dans les EJB sessions et dans les EJB message-driven. 9) Les transactions et les EJB - Principe des transactions distribuées : commit à deux phases. - Les API JTA : Java Transaction API. - Gestion déclarative et attributs transactionnels. - Gestion programmée des transactions. 10) Sécuriser l'accès aux EJB - La sécurité d'une application Java EE. - Authentification des utilisateurs. - Les rôles, les droits d'accès aux méthodes. - Sécurité déclarative ou programmée sur les EJB. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 138 Stage pratique de 1 jour(s) Réf : KJX Participants Candidats à la certification FFP "Développeur JEE". Pré-requis Avoir suivi l'intégralité des stages du cycle certifiant "Développeur JEE". Prix 2017 : 550€ HT Dates des sessions Certification Développeur JEE > Développement logiciel > Java, JEE OBJECTIFS Cette journéee est destinée à valider les connaissances acquises au cours du cycle certifiant "Développeur JEE". Les compétences validées portent sur la maîtrise du langage Java pour développer des applications Web JEE ainsi que sur la mise en œuvre des Enterprise Java Bean. 1) Présentation des épreuves 2) Questionnaire à choix multiple 3) Travaux pratiques Certification Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. Paris 22 mai 2017, 25 sep. 2017 4 déc. 2017 1) Présentation des épreuves Composition du cycle - Présentation du déroulé des épreuves (timing, documents autorisés, etc ...). - Question de la salle. - Développer en Java, pour programmeurs C/C++ 2) Questionnaire à choix multiple Réf : LJV, Durée : 5 j - Questions ouvertes et fermées sur les connaissances essentielles de Java, des servlets, des JSP et des EJB. - Java, développement de servlets et JSP Réf : JSP, Durée : 5 j - Développer des Web Services en Java Réf : DSJ, Durée : 5 j - Certification Développeur Web en Java Réf : KWX, Durée : 1 j 3) Travaux pratiques - Analyse d'une expression de besoin. - Modéliser l'architecture d'une application web. - Réaliser une page web (JSP et/ou Servlet), permettant à l'utilisateur de saisir, modifier afficher des informations. - Programmer un JavaBean. - Développer des EJB. Modalités d’évaluation Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, une journée d’examen est mise en place. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 139 Stage pratique de 5 jour(s) Réf : LJV Participants Concepteur, développeur, ingénieur, chef de projets opérationnel. Pré-requis Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Développer en Java, pour programmeurs C/C++ > Développement logiciel > Java, JEE Un cours intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java 5 dans l'application des principes de la programmation Objet. Vous utiliserez les librairies graphiques (AWT et Swing), les librairies d'entrées/sorties et d'accès aux bases de données (JDBC). Vous aborderez aussi les bases de la programmation Web et la programmation des Applets. OBJECTIFS PEDAGOGIQUES Mettre en œuvre les principes de la programmation orientée objet Maîtriser la syntaxe du langage Java Maîtriser les principales librairies standards Java Maîtriser un environnement de développement intégré pour programmer en Java Prix 2017 : 2610€ HT Ce cours fait l'objet d'un accompagnement vidéo Dates des sessions 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) Paris 13 mar. 2017, 10 avr. 2017 15 mai 2017, 12 juin 2017 3 juil. 2017, 21 aoû. 2017 11 sep. 2017, 16 oct. 2017 20 nov. 2017, 18 déc. 2017 Aix 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 4) Introduction à la programmation Web : les applets 5) Les entrées/sorties et quelques classes utilitaires 6) La connexion aux bases de données : JDBC Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques Objet Bordeaux 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Bruxelles 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 - Les principes généraux de la modélisation et de la programmation Objet. - L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios. Geneve Travaux pratiques L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 2) La programmation objet avec Java Grenoble 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Lille 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Luxembourg 20 mar. 2017, 26 juin 2017 4 sep. 2017, 18 déc. 2017 Lyon 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 Montpellier 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Nantes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Rennes 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Sophia-antipolis 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Strasbourg 20 mar. 2017, 19 juin 2017 9 oct. 2017, 11 déc. 2017 Toulouse 10 avr. 2017, 26 juin 2017 2 oct. 2017, 11 déc. 2017 - Les bases de la syntaxe : variables, types, expressions, instructions, tableaux, structures de contrôle et autoboxing. - Définition et instanciation des classes. Les champs, les méthodes, les constructeurs, les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes. - Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. - Le polymorphisme et sa mise en oeuvre. - La construction de hiérarchies de classes. - La définition des classes dérivées, les constructeurs, les références. - La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. - Les classes abstraites. - Les types génériques. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. Travaux pratiques Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité. Introduction des exceptions. 3) La conception d'interfaces graphiques (AWT, Swing) - Concepts de base : principes de la visualisation et de la gestion des événements, quelques classes génériques. - Visualisation des composants graphiques. - Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout. - Construction de conteneurs hiérarchiques. - Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas. - La gestion des événements. Les Listeners et Adapters. - L'association de gestionnaires aux composants graphiques. - Les particularités de Swing. Travaux pratiques ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 140 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas. 4) Introduction à la programmation Web : les applets - Les principes et les constituants du Web. - Les Applets : principes, cycle de vie, la classe Applet. - Intégration d'une Applet dans une page# HTML, le passage des paramètres, les problèmes de sécurité. Travaux pratiques Construction d'une Applet. 5) Les entrées/sorties et quelques classes utilitaires - Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier. - La sérialisation. - Les classes d'encapsulation des types. - Les classes système. - Les classes de conteneur. - Les classes d'observateur. 6) La connexion aux bases de données : JDBC - Le modèle de JDBC et les principes généraux. - Rappels de SQL. - Connexion à un SGBD. - Exécution des requêtes et traitement des réponses. - L'utilisation des requêtes précompilées. - Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité. Travaux pratiques Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 141 Stage pratique de 5 jour(s) Réf : JSP Participants Informaticiens souhaitant développer des applications Web avec les technologies Java/Java EE. Pré-requis Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2017 : 2610€ HT Java, développement de servlets et JSP Best > Développement logiciel > Java, JEE Ce cours vous permettra de développer des projets Web d'entreprise basés sur la plateforme Java EE. Vous découvrirez les architectures MVC au travers de l'implémentation d'une couche de présentation basée sur des JSP puis sur JSF 2. Vous découvrirez les mécanismes des Servlet, apprendrez à persister vos données et à sécuriser vos applications Java. Vous mettrez en œuvre l'IDE Eclipse afin de construire et déployer vos solutions sur les différents serveurs d'applications Java EE du marché comme JBoss Wildfly ou WebSphere. OBJECTIFS PEDAGOGIQUES Maîtriser l'architecture des applications Java EE Développer une couche présentation basée sur des JSP, des librairies de balises et JSF Développer des composants de contrôle et de navigation basés sur des Servlets Gérer l'accès à une base de données Sécuriser une application Java EE Dates des sessions Paris 13 fév. 2017, 10 avr. 2017 12 juin 2017, 21 aoû. 2017 16 oct. 2017, 11 déc. 2017 Bruxelles 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 1) Rappel sur le contexte des applications Web d'entreprise 2) Architecture des applications Java Web 3) Pages JSP : composants de présentation 4) API Servlet 3.0 : composants de contrôle et de navigation 5) Accès aux bases de données 6) Le Framework de présentation JSF 2 7) Sécurisation d'une application Web Java EE Geneve Travaux pratiques 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Développement d'une application Web en Java. Utilisation du conteneur de Servlet/JSP, Tomcat. Environnement de développement Eclipse. Luxembourg 13 mar. 2017, 12 juin 2017 9 oct. 2017, 11 déc. 2017 Modalités d’évaluation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Rappels sur les URLs. - Gestion des sessions. - Accès aux ressources de l'entreprise. - La plateforme Java EE. - Modèles d'architectures multiniveaux. 2) Architecture des applications Java Web - Les composants nécessaires à l'utilisation de Java côté serveur. La Java Virtual Machine. - Les serveurs Web et serveurs d'applications Java EE. - Rôle du conteneur (moteur de Servlets). - Structure normalisée d'une application Web Java EE. - Les principaux composants : Servlets, pages JSP, JSF. - Les API Java EE. - Modèles d'architectures JSP/Servlet - Architecture du conteneur Web Tomcat d'Apache. - Le descripteur de déploiement web.xml. - Notion de pluggability. - Outils de développement, de test et de débogage : Eclipse, Netbeans, IntelliJ. - Déploiement et packaging des applications Java EE. Travaux pratiques Installer un environnement de développement et un serveur d'applications Web Tomcat Apache. Déployer une application Java EE sur un conteneur Tomcat . 3) Pages JSP : composants de présentation - Qu'est-ce qu'une page JSP ? - Cycle de vie des JSP. - Les objets prédéfinis. - Les Scriplets, les directives, les expressions, les actions... - La gestion des erreurs. - Les scopes. La communication entre composants WEB. - Utilisation de JavaBeans à partir de pages JSP. - Présentation du langage Unified Expression Language (UEL). - Présentation de la JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. - Principe des librairies (taglib). - Développement d'extension de balises. Balises simples, avec attributs, avec corps. - Déployer et exploiter une librairie. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 142 Travaux pratiques Développer la couche présentation (JSP, JSTL et librairies de balises). 4) API Servlet 3.0 : composants de contrôle et de navigation - Le conteneur de Servlets. - Le cycle de vie d'une Servlet. Initialiser une Servlet. Ecrire les méthodes de services. - L'interface Servlet. Les servlets HTTP. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - La récupération des paramètres HTTP. - Filtrage des requêtes/réponses. Programmation des filtres de Servlets. - La récupération d'information : du serveur Web, du client et de l'environnement. Invocation d'autres ressources Web. - Inclusion et transfert du contrôle. - Gestion des erreurs d'exécution. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. - Combinaison JSP et Servlets. Travaux pratiques Développement d'une application à base de Servlets exploitant l'environnement du conteneur Web. 5) Accès aux bases de données - Mise en place de la base de données relationnelles et de l'interface JDBC. - Connexion à la base, récupération d'information, mise à jour de données. - Transaction. Pool de connexions. Les DataSources. L'annotation Ressource. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). - Les concepts de JNDI. - Accès aux ressources via JNDI. Déclarer une ressource de type JavaBean, DataSource. Travaux pratiques Présenter des données issues d'un SGBDR dans l'application. 6) Le Framework de présentation JSF 2 - Présentation du Framework. Les Composants essentiels. - Cycle de vie du traitement d'une page JSF. - Les composants UI. Facelets. - La Servlet « FacesServlet ». Notion de FacesContext. - Mise en œuvre des Managed Beans. - Définir la navigation entre pages. - Convertir et valider des données. Travaux pratiques Adaptation de l'application existante avec le Framework JSF 2. 7) Sécurisation d'une application Web Java EE - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité déclarative. - Sécurité et programmation de Servlets. - Choix d'un mécanisme d'authentification. - Configurer les restrictions d'accès. - Lister les rôles applicatifs. - Mise en place d'un Realm. Configuration de Tomcat. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. Travaux pratiques Sécuriser l'accès au site construit. Mise en place d'un Realm DataSource. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 143 Stage pratique de 5 jour(s) Réf : DSJ Participants Développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Pré-requis Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement Java. Prix 2017 : 2610€ HT Développer des Web Services en Java Best > Développement logiciel > Java, JEE Ce cours vous permettra de comprendre l'intérêt et les enjeux des Web Services pour l'intégration d'applications (EAI). Il met l'accent sur les mécanismes de communication XML, SOAP et REST. Il présente les concepts de base et montre comment créer, déployer, mettre à disposition et utiliser des Services Web par l'emploi de JAX-WS (SOAP) et JAX-RS (REST). De nombreux exemples mettent en avant l'utilité des Services Web dans des contextes aussi variés que le Web, le B2C, le A2A et le B2B. OBJECTIFS PEDAGOGIQUES Découvrir les principales technologies des Web Services (REST, SOAP, WSDL, UDDI) Manipuler des données XML via les API SAX, DOM et JAXB Développer des services Web en SOAP via l'API JAX-WS Développer des services Web REST via l'API JAX-RS Sécuriser des services Web Dates des sessions Paris 20 fév. 2017, 10 avr. 2017 26 juin 2017, 21 aoû. 2017 16 oct. 2017, 11 déc. 2017 Aix 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bordeaux 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Bruxelles 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Geneve 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Grenoble 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Lille 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Luxembourg 10 avr. 2017, 26 juin 2017 2 oct. 2017, 18 déc. 2017 Lyon 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Montpellier 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Nantes 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Rennes 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Sophia-antipolis 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Strasbourg 20 mar. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 Toulouse 24 avr. 2017, 26 juin 2017 2 oct. 2017, 4 déc. 2017 1) Introduction aux Web Services 2) Rappel sur XML et les API Java 3) Web Services SOAP/WSDL et REST 4) Le langage de description des Web Services 5) Mise en place des Web Services avec SOAP/ WSDL et REST 6) Publication et recherche de Web Services 7) Projets CXF, JAX-WS RI et Axis 8) Projet Jersey pour les services REST 9) Sécurisation des services Web Travaux pratiques Un exercice global permettra de mettre en place une architecture complète basée sur les Web Services : définition, développement, déploiement, configuration et sécurisation de Web Services. 1) Introduction aux Web Services - Définir le rôle des Web Services et l'intérêt de leur utilisation. - Rappel sur le contexte des architectures n-tiers, applications et composants distribués. - Approche Web Services, qu'est-ce qu'un Web Service ? Objectif, principe. - Web Services et EAI, A2A, B2C, B2B. - Principales technologies des Web Services (REST, SOAP, WSDL, UDDI). - Architecture orientée service (SOA). - Le rôle de XML et de la plate-forme Java. - Exemples mettant en oeuvre des Web Services. Exercice Exemples d'applications, comment invoquer un Web Service. 2) Rappel sur XML et les API Java - Place du XML par rapport aux Web Services. - Les langages à balises, domaines d'application de XML, le concept de document, objectifs. - Echange de données, XML et SOAP. - Besoins pour la création de requêtes SOAP et la manipulation des réponses. - Les modèles de données : XML Schema. - Les parseurs XML (API SAX et DOM) et autres API. Travaux pratiques Manipuler des données XML via les API SAX, DOM et JAXB. Traiter les informations XML échangées via le protocole SOAP. 3) Web Services SOAP/WSDL et REST - Description du protocole SOAP. - De XML à SOAP, anatomie d'un message SOAP, enveloppe SOAP. - Gestion des erreurs avec SOAP Fault. - Transmission de contenus binaires MTOM. - Le langage de description des Web Services, WSDL (Web Services Description Language). - Référencement de Web Services, les solutions : UDDI, WS-Inspection, solutions de gouvernance OSS (Mule Galaxy)... - Utilisation, architecture, rôle pour les services Web, publication et localisation, sécurité. - Principes de REST, comment les mettre en oeuvre. Modalités d’évaluation Travaux pratiques Envoi de requêtes SOAP. Interprétation des réponses. Déploiement d'un Web Service. L’évaluation des acquis se fait tout au long de la 4) Le langage de description des Web Services ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 144 session au travers des multiples exercices à réaliser (50 à 70% du temps). Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. - Comprendre comment décrire un Web Service en XML. - Introduction à WSDL. Anatomie d'un document WSDL. - WSDL et Java. Travaux pratiques Créer un fichier WSDL décrivant un Web Service. 5) Mise en place des Web Services avec SOAP/WSDL et REST - Les outils de programmation pour la création et l'utilisation de Web Services. - Construire des Web Services et des clients avec JAX-WS. Types supportés par JAX-WS et JAX-RS. - Outils wsgen. - Projet Open Source SOAP du groupe Apache. - Utilisation de SOAP dans des contextes RPC. - Les Web Services depuis des terminaux mobiles. Possibilités et restrictions. Travaux pratiques Programmation de Web Services de type échange SOAP/WSDL et REST. Utilisation des API Java JAX-WS et JAX-RS. 6) Publication et recherche de Web Services - Le rôle des annuaires dans les applications mettant en oeuvre des Web Services. Rôle et limites d'UDDI. - La différence entre annuaires runtime et annuaires design-time. - Mettre à disposition des Web Services via des annuaires UDDI. - Programmation UDDI, structure de données UDDI. - Vue d'ensemble et architecture de JAXR. - Création et exécution d'un client JAXR, accès au registre, interrogation, gestion des données. - Utilisation de descriptions WSDL avec UDDI. Travaux pratiques Publication d'un fichier d'un Web Service sur un annuaire UDDI. Recherche de Web Services. 7) Projets CXF, JAX-WS RI et Axis - Les mécanismes des principales boîtes à outils de nouvelle génération SOAP. - Architecture et composants des projets, CXF, JAX-WS RI et Axis. - Installation, configuration, déploiement de services SOAP/WSDL. - Consommer et publier des Web Services, correspondance données XML/Java. - Utilisation des annotations spécifiques à JAX-WS (JSR 224) et des annotations pour le mapping Java/XML. - Au moyen de Java : obtention du WSDL d'un service déployé et construction d'un WSDL. - Outils : TCPMon, SOAP Monitor, SOAP UI version OSS. Travaux pratiques Mise en place d'une solution complète de communication entre applications avec SOAP/WSDL grâce à une de ces implémentations. 8) Projet Jersey pour les services REST - Les mécanismes de mapping entre Java et le monde REST. - Architecture et composants du projet Jersey. - Installation, configuration, déploiement de services REST. - Consommer et publier des Web Services REST. - Utilisation des annotations spécifiques à JAX-RS (JSR 311) et des annotations pour le mapping Java/XML. - Comment utiliser JAX-RS et Jersey pour publier des Services REST. Implémentations alternatives à Jersey (Restlet...). - Outils : TCPMon, SOAP Monitor, SOAP UI version OSS. Travaux pratiques Mise en place d'une solution complète de communication entre applications avec une philosophie REST grâce à Jersey. 9) Sécurisation des services Web - Authentification, autorisation, cryptage. - Signatures digitales XML, cryptage XML des informations, toolkit Java, gestion des clés. - Authentification personnalisée : les en-têtes SOAP. - Extension de sécurité SOAP. - Web Services Security Specifications (WS-Security). Travaux pratiques Sécurisation de l'application globale. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 145 Stage pratique de 1 jour(s) Réf : KWX Participants Candidats à la certification FFP "Développeur Web Java". Pré-requis Avoir suivi l'intégralité des stages du cycle certifiant "Développeur Web Java". Prix 2017 : 550€ HT Dates des sessions Certification Développeur Web en Java > Développement logiciel > Java, JEE OBJECTIFS Cette journéee est destinée à valider les connaissances acquises au cours du cycle certifiant "Développeur Web Java". Les compétences validées portent sur la maîtrise du langage Java pour développer des applications Web JEE ainsi que sur la mise en œuvre de Web Services. 1) Présentation des épreuves 2) Questionnaire à choix multiple 3) Travaux pratiques Certification Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. Paris 27 fév. 2017, 21 avr. 2017 3 juil. 2017, 28 aoû. 2017 23 oct. 2017, 18 déc. 2017 Modalités d’évaluation Pour les certifications, des examens blancs permettent de mesurer le degré de préparation. Pour les cycles certifiants, une journée d’examen est mise en place. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. 1) Présentation des épreuves - Présentation du déroulé des épreuves (timing, documents autorisés, etc ...). - Question de la salle. 2) Questionnaire à choix multiple - Questions ouvertes et fermées sur les connaissances essentielles de Java, des servlets, des JSP et des web services. 3) Travaux pratiques - Analyse d'une expression de besoin. - Modéliser l'architecture d'une application web. - Réaliser une page web (JSP et/ou Servlet), permettant à l'utilisateur de saisir, modifier afficher des informations. - Programmer un JavaBean. - Réaliser un Service Web. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 146