Développement logiciel, Java, JEE

Dimension: px
Commencer à balayer dès la page:

Download "Développement logiciel, Java, JEE"

Transcription

1 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... Séminaires Cours de synthèse Conception d'applications Java/JEE, synthèse... ( p3 ) Frameworks Java/JEE, état de l'art... ( p21 ) Amazon Web Services, développer des applications Web "scalable" pour le Cloud... ( p102 ) Stages pratiques Initiation à la programmation Objet/Java... Best ( p4 ) L'essentiel de Java et de l'objet... Best ( p6 ) Java, développement de servlets et JSP pour JEE 5... Best ( p8 ) Maîtriser l'environnement Eclipse... ( p10 ) Swing, développement de clients riches en Java... ( p12 ) Framework Spring 3, développer des applications d'entreprise... Best ( p13 ) Struts 2, développer des applications Web MVC... ( p15 ) Cycle certifiant Développeur d'applications Java... ( p17 ) Cycle certifiant Développeur JEE... ( p18 ) Cycle certifiant Développeur Web en Java... ( p19 ) Concevoir une application Java/JEE avec UML 2... ( p20 ) Introduction à la programmation avec Java... Best ( p22 ) Développer en Java, pour programmeurs C/C++... Best ( p24 ) Java 8, découvrir par la pratique les nouveautés... ( p26 ) Java 7, découvrir par la pratique les nouveautés... ( p28 ) Bonnes pratiques en programmation Java... ( p30 ) Java, optimisation... ( p31 ) Java, tests et qualité... ( p33 ) Test Driven Development en Java/JEE... ( p34 ) Performances des applications, mesures et améliorations... ( p36 ) Développer des plug-ins Eclipse et clients RCP... ( p38 ) Framework JSF 2, développer des applications Web... ( p40 ) Mixer JSF, Ajax et Dojo pour développer des applications Web... ( p42 ) Vaadin 7, créer des applications Web riches avec GWT et jquery... ( p44 ) Développer une application Web 2.0/GWT... Best ( p46 ) GXT, améliorer l'expérience utilisateur de vos applications Web... ( p48 ) ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 1

2 JavaFX 8, créer des interfaces graphiques riches... ( p50 ) JavaFX 2, créer des applications graphiques riches... ( p52 ) JEE, introduction pratique... ( p54 ) Java EE 7, conception et développement d'applications Web... Best ( p55 ) Java, développement de Servlets et JSP pour JEE 6... ( p57 ) JEE 6, développer des applications d'entreprise... ( p59 ) Java/JEE, sécurité des applications... ( p61 ) Développer avec les frameworks Java/JEE... Best ( p63 ) Développer des EJB3 en Open Source... ( p64 ) Framework Spring 4, développer des applications d'entreprise... ( p66 ) Framework Spring 4, mise en œuvre avancée... ( p68 ) Java, programmation avancée... Best ( p69 ) SOA, mise en œuvre en Open Source/Java... ( p71 ) Java OSGi, développement d'applications modulaires... ( p73 ) C/C++, programmer vos applications en Multicore... ( p75 ) Internet des objets, développer des applications connectées en Java... ( p77 ) Java, accès aux données... ( p79 ) Hibernate, mapping objet/relationnel... Best ( p81 ) Hibernate, mise en oeuvre avancée... ( p83 ) JPA, persistance des données en Java... ( p85 ) Apache Hadoop, développer des applications pour le Big Data... ( p87 ) Apache Storm, développer des applications pour le Big Data... ( p89 ) Android, développer des applications pour mobiles... Best ( p91 ) Android, perfectionnement... Best ( p93 ) Développer des Web Services en Java... Best ( p95 ) Web Services RESTful, développement avancé en Java... ( p97 ) Web Services SOAP, développement avancé en Java... ( p98 ) Google App Engine, développer une application Cloud en Java... ( p99 ) Amazon Web Services, architecture et mise en œuvre... ( p100 ) Maven, gérer le cycle de vie d'un projet... ( p104 ) Java/JEE, déployer et administrer vos applications... ( p106 ) Tomcat, administrer un serveur Web Java EE... Best ( p107 ) GlassFish, administrer un serveur Java EE... ( p109 ) JBoss, administrer un serveur Java EE... Best ( p111 ) JBoss, haute disponibilité... ( p113 ) JOnAS, administrer un serveur Java EE... ( p114 ) IBM Websphere Application Server v7.x, administration... ( p115 ) ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 2

3 Séminaire de 2 jour(s) Réf : TEE Architectes techniques, chefs de projets JEE. Connaissances de base en technologies Objet et architectures multiniveaux. Prix 2015 : 1900 HT 29 oct. 2015, 3 déc Bruxelles 8 oct. 2015, 10 déc Geneve 8 oct. 2015, 10 déc Luxembourg 8 oct. 2015, 10 déc Conception d'applications Java/JEE, synthèse 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. 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é 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 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 4) Les services JEE 5) Développement d'une architecture distribuée en Java 6) Panorama des offres JEE du marché - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 3

4 Stage pratique de 3 jour(s) Réf : IPJ 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. Connaissances de base en programmation. Prix 2015 : 1875 HT 14 sep. 2015, 5 oct nov. 2015, 7 déc Aix 19 oct. 2015, 14 déc Bordeaux 19 oct. 2015, 14 déc Bruxelles 28 sep. 2015, 16 nov Geneve 28 sep. 2015, 16 nov Grenoble 19 oct. 2015, 14 déc Lille 19 oct. 2015, 14 déc Luxembourg 28 sep. 2015, 16 nov Lyon 19 oct. 2015, 14 déc Montpellier 19 oct. 2015, 14 déc Nantes 19 oct. 2015, 14 déc Rennes 19 oct. 2015, 14 déc Sophia-antipolis 19 oct. 2015, 14 déc Strasbourg 19 oct. 2015, 14 déc Toulouse 19 oct. 2015, 14 déc Initiation à la programmation Objet/Java Best 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. OBJECTIFS PEDAGOGIQUES 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 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 1) Présentation générale 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 - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 4

5 - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 5

6 Stage pratique de 5 jour(s) Réf : LJO Développeurs non confirmés, ingénieurs, chefs de projets proches du développement. Connaissances de base en programmation. Expérience souhaitable en développement d'applications. Prix 2015 : 2500 HT 21 sep. 2015, 19 oct nov. 2015, 14 déc Aix 14 sep. 2015, 16 nov Bordeaux 28 sep. 2015, 14 déc Bruxelles 21 sep. 2015, 23 nov Geneve 21 sep. 2015, 23 nov Grenoble 14 sep. 2015, 16 nov Lille 14 sep. 2015, 16 nov Luxembourg 21 sep. 2015, 23 nov Lyon 14 sep. 2015, 16 nov Montpellier 14 sep. 2015, 16 nov Nantes 28 sep. 2015, 14 déc Rennes 28 sep. 2015, 14 déc Sophia-antipolis 14 sep. 2015, 16 nov Strasbourg 14 sep. 2015, 16 nov Toulouse 28 sep. 2015, 14 déc L'essentiel de Java et de l'objet Best 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 5) Les exceptions 6) La programmation des entrées/sorties 7) La programmation graphique 8) Quelques classes utilitaires 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. 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. 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. Programmation de l'étude de cas. 4) L'héritage - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 6

7 - 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é. 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. 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. 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 jdk 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. Construction d'une IHM. 8) Quelques classes utilitaires - Les classes système. - Les classes de conteneur. Mise en oeuvre de classes utilitaires. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 7

8 Stage pratique de 5 jour(s) Réf : JSP Informaticiens souhaitant développer des applications Web avec les technologies Java/JEE. Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2015 : 2500 HT 24 aoû. 2015, 21 sep oct. 2015, 23 nov déc Aix 16 nov Bordeaux 30 nov Bruxelles 14 sep. 2015, 16 nov Geneve 14 sep. 2015, 16 nov Grenoble 16 nov Lille 16 nov Luxembourg 14 sep. 2015, 16 nov Lyon 16 nov Montpellier 16 nov Nantes 30 nov Rennes 30 nov Sophia-antipolis 16 nov Strasbourg 16 nov Toulouse 30 nov Java, développement de servlets et JSP pour JEE 5 Best OBJECTIFS Ce cours vous permettra de mener à bien un projet Web d'entreprise basé sur la plateforme Java. Vous découvrirez les architectures MVC afin de construire des solutions robustes et facilement extensibles, avec entre autres une introduction au développement à l'aide de l'environnement Apache Struts. Les connaissances acquises par la pratique sur Tomcat, ainsi que sur des outils de développement comme Eclipse vous permettront de construire vos solutions sur les différents serveurs d'applications Java comme WebLogic, WebSphere, JBoss ou Jonas. 1) Rappel sur le contexte des applications Web d'entreprise 2) Développement Web en Java 3) Applications Web et servlets 4) Présentation des Java Server Pages 5) Les librairies de balises 6) Accès aux bases de données 7) Introduction à Struts 8) Sécurisation de l'application Développement d'une application Web en Java. Utilisation du conteneur de servlet/jsp, Tomcat. Environnement de développement Eclipse. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Scripts CGI et gestion des sessions. - Accès aux ressources de l'entreprise : SGBDR, base documentaire et XML, annuaire, application héritée. - HTML-XML, applets Java. La plateforme JEE. Architecture multitiers. 2) Développement Web en Java - Composants nécessaires à l'utilisation de Java côté serveur. Serveur Web. Moteur de servlet. Java Virtual Machine. - Outils de développement et de débogage : NetBeans et Eclipse. - Architecture du conteneur Web Tomcat d'apache. Déploiement des servlets et pages JSP. - Développement d'une première servlet. Génération de contenu dynamique. Mise en place de l'environnement. Développement d'une servlet. 3) Applications Web et servlets - Le conteneur de servlets. Le cycle de vie d'une servlet. Initialiser une servlet. Ecrire les méthodes de services. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - Filtrage des requêtes/réponses. Programmation des filtres. - 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. Gestion et emploi des exceptions Java. - Envoi d'erreurs http. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. Développement d'une application à base de servlets exploitant l'environnement du conteneur Web. 4) Présentation des Java Server Pages - Présentation des objectifs et de l'architecture. Mécanisme de fonctionnement. Exemples de pages JSP. - Les scriplets. Intégration dans la page Web. Directives, déclarations, expressions et actions JSP. - Inclusion statique vs dynamique. Versions du langage, syntaxe XML. - Utilisation de JavaBeans à partir de page JSP. Définition, création, déploiement et utilisation. - Accès et modification à partir d'une page JSP. - Développement d'application à l'aide de JSP. Combinaison JSP et servlets. - Inclusion d'applets. - Accès aux ressources de l'entreprise. Développement d'une application Web mettant en oeuvre servlets et JSP. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 8

9 5) Les librairies de balises - Principe des librairies et extensions de balises. Fonctionnement. Exemple. - Développement d'extension de balises. Balises simples, avec attributs, avec corps. Déployer et exploiter une librairie. - Présentation de JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. Exemples. - Les bibliothèques : core, XML, i18n, SQL, fonctions. Développement de librairies de balises. Intégration de JSTL aux applications développées. 6) 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. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). Développement d'une application Web présentant des données d'un SGBDR. 7) Introduction à Struts - Présentation du framework MVC Struts. Architecture. Composants du framework. - Configuration de l'application. - Gestion des événements. - Extension et librairies de balises. Adaptation de l'application au modèle MVC avec Struts. 8) Sécurisation de l'application - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité et programmation de servlets. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. - Configuration de Tomcat. Ajout de la sécurisation d'accès au site construit. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 9

10 Stage pratique de 2 jour(s) Réf : DEC Ce cours s'adresse aux développeurs et aux chefs de projet. Connaissances de base du langage Java. Prix 2015 : 1380 HT 3 sep. 2015, 9 nov Maîtriser l'environnement Eclipse 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 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. 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 10

11 - 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 11

12 Stage pratique de 4 jour(s) Réf : SWI Développeurs Java, ingénieurs, chefs de projets proches du développement. Swing, développement de clients riches en Java OBJECTIFS Alternative aux applications Web 2.0, vous découvrirez la bibliothèque 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. Connaissances de base de la programmation Java. Prix 2015 : 2330 HT 1) Introduction 2) Principaux conteneurs 3) Principaux layouts 4) Principaux composants 5) Fonctions avancées 6) Environnements Swing 15 déc ) 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... 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. 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). 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. Mise en œuvre de techniques avancées. 6) Environnements Swing - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 12

13 Stage pratique de 5 jour(s) Réf : FSP Développeurs Java/JEE. Bonnes connaissances de Java et JEE. Expérience souhaitable en développement d'applications Java/JEE. Prix 2015 : 2500 HT 5 oct. 2015, 14 déc Aix 21 sep. 2015, 23 nov Bordeaux 30 nov Bruxelles 28 sep. 2015, 16 nov Geneve 28 sep. 2015, 16 nov Grenoble 21 sep. 2015, 23 nov Lille 21 sep. 2015, 23 nov Luxembourg 28 sep. 2015, 16 nov Lyon 21 sep. 2015, 23 nov Montpellier 21 sep. 2015, 23 nov Nantes 30 nov Rennes 30 nov Sophia-antipolis 21 sep. 2015, 23 nov Strasbourg 21 sep. 2015, 23 nov Toulouse 30 nov Framework Spring 3, développer des applications d'entreprise Best OBJECTIFS 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. 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 1) Introduction 6) Le Web 7) La sécurité 8) Spring Remoting 9) Spring et JMS 10) Spring et JMX - Présentation de l'écosystème JEE. - 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. 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 - 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 - Déclaration et implémentation d'un aspect. - Les différents formats d'expression de Pointcut. - Configuration XML versus annotations. Mise en pratique de la programmation par aspect au sein d'une application. 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. 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. - Couplage Spring / JPA. - Mise en oeuvre des transactions : par aspect, par annotation, programmatique. Implémentation d'une couche de persistance des données avec JPA. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 13

14 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. 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. 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. 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. 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 - Configuration Spring. Création d'un MBean Server. - Outil de supervision et d'administration de MBeans : la JConsole. Administration de Beans Spring via la JConsole. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 14

15 Stage pratique de 4 jour(s) Réf : SRB Développeurs Java impliqués dans le développement d'une couche de présentation Web. Il est nécessaire que les participants aient déjà une expérience de la programmation de Servlet/ Jsp. Prix 2015 : 2330 HT 17 nov Struts 2, développer des applications Web MVC OBJECTIFS 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. 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 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 - Rappel sur les mécanismes de base de l'api Servlet/JSP. 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. 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. 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. 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. 7) L'approche "Model Driven" - Implémentation du modèle CRUD en Struts 2. 8) Compléments ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 15

16 - 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. Externaliser les libellés des actions et des JSP dans des fichiers de propriétés. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 16

17 Stage pratique de 15 jour(s) Réf : KDJ Développeurs, ingénieurs, consultants, chefs de projets proches du développement. Cycle certifiant Développeur d'applications Java certificat professionnel FFP OBJECTIFS 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. 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. 1) La programmation Objet en Java 2) La conception d'interfaces graphiques 3) La gestion des données 1) La programmation Objet en Java 4) La programmation concurrente 5) La programmation des communications distantes 6) L'optimisation des applications Prix 2015 : 5140 HT 28 sep. 2015, 14 déc 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 pour JEE 5 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 pour JEE 5 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 23 novembre 15 - 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. 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. 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. Lecture et écriture de données dans des fichiers. Sauvegarde et consultation de données dans une BD. 4) La programmation concurrente - Les Threads. - Création et destruction. - Ordonnancement. - Synchronisation. Construction d'une application concurrente avec synchronisation et résolution d'interblocage. 5) La programmation des communications distantes - La communication par socket. - La communication par invocation de méthodes distantes : RMI. - La communication par messages : JMS. Programmation de l'étude de cas : en mode client/serveur (séquentiel et concurrent), avec RMI, avec JMS. 6) L'optimisation des applications - 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 17

18 Stage pratique de 15 jour(s) Réf : KJE Développeurs d'applications, ingénieurs, chefs de projets proches du développement. Cycle certifiant Développeur JEE certificat professionnel FFP OBJECTIFS 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. 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. 1) L'Objet en Java 2) Les packages Java 3) Le développement d'applications Web/JEE 1) L'Objet en Java 4) Les compléments utiles 5) Le développement d'ejb 3 Prix 2015 : 5140 HT 24 aoû. 2015, 19 oct déc 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 pour JEE 5 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 pour JEE 5 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 31 août novembre 15 - 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. 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. 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. 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. 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. - 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. Mise en oeuvre d'ejb sessions et d'ejb entités. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 18

19 Stage pratique de 16 jour(s) Réf : KWJ Développeurs, ingénieurs, chefs de projets proches du développement. 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. Prix 2015 : 5260 HT 24 aoû. 2015, 19 oct déc 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 pour JEE 5 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 pour JEE 5 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 28 septembre novembre 15 Cycle certifiant Développeur Web en Java certificat professionnel FFP OBJECTIFS 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. 1) L'Objet en Java 2) Les packages Java 3) Le développement d'applications Web/JEE 1) L'Objet en Java - 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. 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. 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. 4) Les compléments utiles 5) Les Web Services 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. 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. - Créer et utiliser des Web Services avec les API JAX-WS, JAX-RS. - Signatures digitales XML, cryptage XML. Manipuler des données XML via les API SAX, DOM et JAXB. Programmation de Web Services avec les JAX- WS et JAX-RW. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 19

20 Stage pratique de 5 jour(s) Réf : JAE Toutes les personnes impliquées dans un projet JavaEE : architectes, analystes, concepteursdéveloppeurs, chefs de projets. 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. Prix 2015 : 2500 HT 28 sep. 2015, 30 nov Concevoir une application Java/JEE avec UML 2 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 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 20

21 Cours de synthèse de 2 jour(s) Réf : FJE Chefs de projets, architectes, analystes, concepteursdéveloppeurs désirant comprendre les enjeux du développement d'applications dans l'écosystème Java. Connaissances de base en développement Java. Prix 2015 : 1690 HT 24 sep. 2015, 5 nov Frameworks Java/JEE, état de l'art OBJECTIFS Ce séminaire vous permettra de découvrir les principaux frameworks Java/JEE. 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). 1) Introduction 2) Avènement des conteneurs légers 3) Persistance des données, mapping objet relationnel 4) Le Web Démonstration 5) Architectures distribuées et intégration au SI 6) Déploiement et serveurs d'applications 7) Les langages alternatifs 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 (JEE). - Présentation de l'écosystème Java. - Emulation entre le standard JEE 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 JEE5 (EJB 3.0) et JEE6 (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 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 JEE, conteneurs de servlets, serveur Spring. - La nouvelle donne posée par JEE6 web profile. OSGI. - L'industrialisation du packaging et des déploiements. 7) Les langages alternatifs - Support d'autres langages par la JVM. JSR 223 et Quels sont ces autres langages (Groovy, Ruby, Scala)? - Couplage avec des programmes Java existants. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 21

22 Stage pratique de 3 jour(s) Réf : INJ Toute personne devant apprendre à programmer. Aucune connaissance particulière. Introduction à la programmation avec Java Best OBJECTIFS 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. Prix 2015 : 1795 HT 26 oct. 2015, 14 déc ) 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 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 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) ou en C# (cours réf OGR). 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. 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. 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. Ecriture de plusieurs programmes simples manipulant les variables. 5) Opérateurs et expressions - Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation). - Combinaison d'opérateurs. - Expression booléenne. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 22

23 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. 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. 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. 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. Utilisation d'un débogueur pour contrôler l'exécution des programmes. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 23

24 Stage pratique de 5 jour(s) Réf : LJV Concepteur, développeur, ingénieur, chef de projets opérationnel. Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Prix 2015 : 2500 HT 24 aoû. 2015, 28 sep oct. 2015, 16 nov déc Aix 5 oct. 2015, 14 déc Bordeaux 14 sep. 2015, 30 nov Bruxelles 21 sep. 2015, 16 nov Geneve 21 sep. 2015, 16 nov Grenoble 5 oct. 2015, 14 déc Lille 5 oct. 2015, 14 déc Luxembourg 21 sep. 2015, 16 nov Lyon 5 oct. 2015, 14 déc Montpellier 5 oct. 2015, 14 déc Nantes 14 sep. 2015, 30 nov Rennes 14 sep. 2015, 30 nov Sophia-antipolis 5 oct. 2015, 14 déc Strasbourg 5 oct. 2015, 14 déc Toulouse 14 sep. 2015, 30 nov Développer en Java, pour programmeurs C/C++ Best 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 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) 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 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 - 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. L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) La programmation objet avec Java - 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 24

25 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é. 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é. Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 25

26 Stage pratique de 3 jour(s) Réf : JVA Concepteurs, développeurs, responsables de projets Java désirant connaître les avancées de Java 8. 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 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 2015 : 1875 HT 1) Synthèse des nouveautés de Java 8 2) Les expressions lambda 3) La programmation fonctionnelle avancée 4) Java 8 Nashorn 5) Nouvelle API Date et Time 6) Autres nouveautés 28 sep. 2015, 30 nov 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 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. 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... Découverte des lambda-expressions. 3) La programmation fonctionnelle avancée - L'usage - Les interfaces fonctionnelles fournies par le JDK 8. - Predicate, Function, Supplier, Consuler... - Références aux méthodes et aux constructeurs. 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. Appels de JavaScript depuis Java. 5) Nouvelle API Date et Time - Les difficultés engendrées par les API de Date et GregorianCalendar, l'alternative JodaTime et la JSR 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 26

27 Utilisation de la nouvelle API de gestion des dates et temps. 6) Autres nouveautés - Les nouveaux streams. - Map-reduce. Mise en œuvre des nouveautés. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 27

28 Stage pratique de 2 jour(s) Réf : JAA Ce cours s'adresse aux responsables de projets et développeurs professionnels Java 5 et 6 désirant connaître les évolutions du langage. Maîtrise de Java 5/6. Java 7, découvrir par la pratique les nouveautés En juillet 2011, plus de quatre ans après la sortie de Java 6, a été publiée la version 7 du langage Java. Ce stage vous en montre les principales évolutions et leurs impacts sur le développement d'applications. OBJECTIFS PEDAGOGIQUES Maîtriser les nouveautés syntaxiques du langage Java 7 Manipuler la nouvelle API de gestion de fichiers Créer des IHM avec les nouvelles fonctionnalités de SWING Mettre en application les évolutions de l'api JDBC Maîtriser les nouveautés liées à la programmation concurrente 1) Genèse de la version 7 et évolutions du langage 2) NIO 2 : la nouvelle API de gestion de fichiers 3) Les nouveautés SWING 4) JDBC 4.1 : les évolutions de l'api 5) Programmation concurrente 6) Autres nouveautés 1) Genèse de la version 7 et évolutions du langage - Aperçu du processus ayant abouti à Java 7. - Les nouveautés du langage. - Utilisation du type String dans les instructions Switch. - Utilisation de l'opérateur <>. - Gestion automatique de la fermeture de ressources utilisées. - Ecriture des littéraux numériques avec le caractère _. - Améliorations dans la gestion des exceptions. Exercices d'utilisation des nouveautés d'écriture du langage Java. 2) NIO 2 : la nouvelle API de gestion de fichiers - La classe Java.io.File vs les classes du nouveau package Java.nio.File. - Manipulation de chemins et parcours de répertoires. - Gestion des fichiers : accès, lecture et écriture. - Notification des changements d'un fichier. - Gestion des flux d'entrées/sorties synchrones et asynchrones. Exercices d'utilisation de la nouvelle API de gestion de fichiers. 3) Les nouveautés SWING - JLayer : application du Design Pattern " décorateur ". - Nouveau " look and feel " Nimbus. - Combinaison de composants graphiques lourds et légers. - Gestion de la transparence et de la forme des fenêtres. - Gestion des événements asynchrones avec le Secondary Loops. Création d'une IHM utilisant les nouvelles fonctionnalités de SWING. 4) JDBC 4.1 : les évolutions de l'api - Présentation des évolutions. - Utilisation des Rowset, RowsetFactory et RowsetProvider. - Utilisation du " try - catch with resources ". Mise en application des évolutions de JDBC ) Programmation concurrente - Le pattern "Fork and Join". L'objet Phaser. - Les collections concurrentes. Appliquer le pattern "Fork and Join". 6) Autres nouveautés - Sécurité. MXBeans. - Gestion des entrées/sorties des applications système. - Manipulation de méthodes avec l'objet Expression. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 28

29 - Prise en compte de Unicode Amélioration du classloader, des performances de la JVM et du support pour l'implémentation de langages dynamiques. Manipulation de méthodes avec les MethodHandler et l'objet Expression. Analyse de la faille de sécurité zero-day. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 29

30 Stage pratique de 3 jour(s) Réf : BPJ Ce stage s'adresse aux développeurs d'applications Java, aux architectes et aux chefs de projets. Bonnes connaissances en programmation Java. Expérience requise en développement d'applications Java. Prix 2015 : 1875 HT 26 oct. 2015, 14 déc Aix 19 oct. 2015, 14 déc Bordeaux 5 oct. 2015, 7 déc Grenoble 19 oct. 2015, 14 déc Lille 19 oct. 2015, 14 déc Lyon 19 oct. 2015, 14 déc Montpellier 19 oct. 2015, 14 déc Nantes 5 oct. 2015, 7 déc Rennes 5 oct. 2015, 7 déc Sophia-antipolis 19 oct. 2015, 14 déc Strasbourg 19 oct. 2015, 14 déc Toulouse 5 oct. 2015, 7 déc Bonnes pratiques en programmation Java 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. OBJECTIFS PEDAGOGIQUES 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 1) Subtilité du langage 2) Interfaces et génériques 3) Gestion de la mémoire 4) La classe Object et quelques interfaces de base 5) Les collections 6) Bonnes pratiques de conception d'une application 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. 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. 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. 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...). 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. 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...). Réflexion sur la conception en couche. Démonstration de l'utilisation de frameworks. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 30

31 Stage pratique de 4 jour(s) Réf : JOT Développeurs, ingénieurs, chefs de projets proches du développement. Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2015 : 2330 HT 22 sep. 2015, 1 déc Aix 24 nov Bordeaux 15 sep. 2015, 1 déc Bruxelles 29 sep. 2015, 24 nov Geneve 29 sep. 2015, 24 nov Grenoble 24 nov Lille 24 nov Luxembourg 29 sep. 2015, 24 nov Lyon 24 nov Montpellier 24 nov Nantes 15 sep. 2015, 1 déc Rennes 15 sep. 2015, 1 déc Sophia-antipolis 24 nov Strasbourg 24 nov Toulouse 15 sep. 2015, 1 déc Java, optimisation développer des applications efficaces et fiables OBJECTIFS 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. 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 1) Méthodologie et outils pour l'optimisation 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++ - 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. 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. Démonstrations de l'amélioration des performances de l'application. 3) L'optimisation et les librairies standard - La manipulation des String. Les classes Collection. Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des String et des Collection. 4) L'optimisation et quelques Design Patterns - L'utilisation des interfaces et des classes abstraites. - L'utilisation de fabriques. - L'utilisation d'adaptateurs, décorateurs, proxies. 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. 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é avant Java5. - Le modèle d'activité de Java5. La nouvelle API. - Les Threads et l'optimisation. Démonstrations de l'optimisation des Threads. 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). ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 31

32 - Les évolutions Java6 : le Garbage Collector. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 32

33 Stage pratique de 3 jour(s) Réf : JTS Développeurs Java/JEE, responsables qualité et chefs de projet soucieux de mesurer la qualité logicielle de leur projet. Bonnes connaissances en programmation Java. Prix 2015 : 1875 HT 14 sep. 2015, 14 déc Java, tests et qualité OBJECTIFS Ce cours présente aux développeurs Java/JEE, aux responsables qualité et aux chefs de projet les différents concepts et outils à utiliser pour mettre en place des procédures de qualité logicielle sur un projet Java/JEE. 1) Introduction générale 2) Gestion des sources 3) Outil de gestion des bugs/anomalies/ évolutions fonctionnelles 4) Règles de codage et documentation 1) Introduction générale 5) Tests 6) Procédures de livraison 7) Automatisation des tâches 8) Conclusion générale : mesures de la qualité - 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. Présentation des logiciels libres de gestion des sources CVS et/ou Subversion (SVN). 3) Outil de gestion des bugs/anomalies/ é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/évolutions fonctionnelles. Présentation des logiciels libres de gestion des bugs/ anomalies/é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...). 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. 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. Présentation et introduction à Ant (logiciel libre). 8) Conclusion générale : mesures de la qualité - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 33

34 Stage pratique de 3 jour(s) Réf : DDJ Ce stage s'adresse à des ingénieurs ou chefs de projets en développement logiciel. Connaissances de base de la programmation objet avec Java. Prix 2015 : 1875 HT 5 oct. 2015, 14 déc Test Driven Development en Java/JEE OBJECTIFS Ce cours vous apportera toutes les connaissances nécessaires pour développer vos applications Java/JEE 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. 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 1) Définition et principes du TDD 5) Les objets Mock et Stub 6) Techniques d'écriture de tests 7) Test de code hérité 8) Les outils - 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? Conception et intégration de tests dans le cycle de développement d'#un projet. 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. 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. 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. 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. 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. Améliorer la qualité des tests écrits. 7) Test de code hérité - Qu'est-ce que du code hérité? - Cycle d'évolution du code hérité. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 34

35 - 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. Mise en oeuvre de plusieurs outils. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 35

36 Stage pratique de 3 jour(s) Réf : PFR Chefs de projet, développeurs et exploitants d'applications JEE. Connaissances de base de l'architecture JEE et en tests logiciel. Prix 2015 : 1875 HT 24 aoû. 2015, 19 oct déc Performances des applications, mesures et améliorations OBJECTIFS Ce cours vous montrera comment effectuer les mesures de performances lors de la montée en charge des applications, comment mettre en place une plateforme de test, interpréter les mesures et améliorer les performances de vos applications. 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 Les travaux pratiques seront réalisés à partir des outils de tests de montée en charge JMeter 2.8 et HP LoadRunner ) 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 augmenter 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. 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énarios, leurs éléments. - Les moniteurs de performance. - Analyser les résultats, travailler avec les graphiques. Installer et configurer LoadRunner. Tester la montée en charge d'une application Web. 6) Comment améliorer les performances des applications? - 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 36

37 - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 37

38 Stage pratique de 3 jour(s) Réf : PLU Ce cours s'adresse à tout développeur, chef de projet ou architecte logiciel. Bonnes connaissances en Java et connaissances de base de l'utilisation d'eclipse. Prix 2015 : 1875 HT 21 sep. 2015, 2 nov Aix 28 sep. 2015, 30 nov Bordeaux 19 oct. 2015, 14 déc Grenoble 28 sep. 2015, 30 nov Lille 28 sep. 2015, 30 nov Lyon 28 sep. 2015, 30 nov Montpellier 28 sep. 2015, 30 nov Nantes 19 oct. 2015, 14 déc Rennes 19 oct. 2015, 14 déc Sophia-antipolis 28 sep. 2015, 30 nov Strasbourg 28 sep. 2015, 30 nov Toulouse 19 oct. 2015, 14 déc Développer des plug-ins Eclipse et clients RCP 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 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. 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. 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. 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 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 38

39 - 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. Construction d'une application e4, mise en pratique de l'injection et des services. Personnalisation par CSS. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 39

40 Stage pratique de 3 jour(s) Réf : JSF Développeurs et chefs de projet ayant à réaliser le développement d'applications n-tiers sur Java EE. Connaissance du langage Java et du développement Web. La connaissance de la plate-forme Java EE est un plus, mais non indispensable. Prix 2015 : 1875 HT 5 oct. 2015, 14 déc Framework JSF 2, développer des applications Web OBJECTIFS 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. 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 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. 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. 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. 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. Faire coopérer des backing beans. 6) Compléments - 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 40

41 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>. Définition d'une nouvelle classe de composant. Usage de composants Ajax dans JSF. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 41

42 Stage pratique de 5 jour(s) Réf : JAD Informaticiens souhaitant développer des applications Web en utilisant conjointement JSF 2.O et Dojo. Bonnes connaissances du langage Java et du développement Web en Java. Expérience requise en programmation Java. Connaissance des langages XML et HTML. Prix 2015 : 2500 HT 12 oct. 2015, 7 déc Mixer JSF, Ajax et Dojo pour développer des applications Web OBJECTIFS Vous apprendrez à développer des interfaces web ergonomiques et réactives basées sur Ajax. Vous découvrirez le Framework Dojo pour simplifier l'usage du JavaScript et exploiterez la richesse de ses composants et de ses animations. Vous découvrirez également le modèle de programmation orienté composants graphiques du Framework JSF nouvellement intégré à Java EE 6. 1) Rappels sur JavaScript, DOM et AJAX 2) Présentation de Dojo 3) Utilisation de Dojo 4) Présentation de JSF 2.0 (JSR 314) Mise en place de diverses applications basées sur JSF 2.0 et Dojo. 1) Rappels sur JavaScript, DOM et AJAX - Le langage JavaScript. Principes de bases, forces et faiblesses. - Qu'est-ce qu'ajax? - HTML, XHTML, DHTML, JavaScript et CSS. - Les apports d'ajax à une application Web. - Les différents frameworks AJAX disponibles. - Rappels XML. - Document Object Model (DOM). Utilité dans le cadre d'une application Web. 2) Présentation de Dojo 5) Concepts de base JSF 6) La gestion des événements en JSF 2.0 7) Conversion et validation 8) Intégration de Dojo à JSF - Qu'est-ce que Dojo? - Navigateurs supportés par Dojo. - Les différents composants Dojo. - Un premier exemple d'utilisation de Dojo. 3) Utilisation de Dojo - Notions de base : le fichier djconfig, les tableaux et objets avec Dojo. - Accès à l'arbre DOM : dojo.query... - Gestion d'événements avec Dojo : dojo.connect, dojo.publish... - AJAX avec Dojo : AJAX / IO, JSON tools. Développement d'une application Web utilisant Dojo. 4) Présentation de JSF 2.0 (JSR 314) - Prrincipes. - Les serveurs compatibles. - L'intégration de JSF au serveur. Mise en place de JSF et création d'une première application. 5) Concepts de base JSF - Cycle de vie d'une requête JSF. - Les différents événements rencontrés. - Le modèle, les règles et le système de navigation. - Les facelets. - Utilisation des balises dans les facelets. - Les composants standard de JSF. - Les librairies core, HTML et ui. Mise en oeuvre de quelques composants JSF au sein d'une application. 6) La gestion des événements en JSF Le modèle d'événements de JSF. - Fonctionnement des événements JSF. - Ecrire ses propres listeners. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 42

43 Ajout d'une gestion événementielle. 7) Conversion et validation - Le système de conversion de JSF. - Conversion de date. - La conversion de nombres. - Le système de validation de JSF. - Les différents types de validateur. 8) Intégration de Dojo à JSF - Les différentes approches. - Association de composants JSF et de widgets Dojo côté client (Deferred binding). - Conversion d'un composant JSF en widget DOJO par injection côté client (Lazy injection). - Exemples et bonnes pratiques. Mise en oeuvre de l'une des approches présentées. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 43

44 Stage pratique de 3 jour(s) Réf : VAA Développeurs, architectes logiciels, chefs de projet. Bonnes connaissances de la programmation Java. Connaissances de base de J2EE. Prix 2015 : 1875 HT 5 oct. 2015, 7 déc Vaadin 7, créer des applications Web riches avec GWT et jquery Vous apprendrez dans ce stage à créer des applications Internet riches avec Vaadin. Vous découvrirez son architecture client/serveur, exploiterez et personnaliserez ses composants graphiques et l'intégrerez avec des frameworks standard. Vous apprendrez enfin à déployer vos applications en production. OBJECTIFS PEDAGOGIQUES Créer des applications internet riches (RIA) en Java avec Vaadin Maîtriser les aspects du développement côté client et serveur Intégrer Vaadin avec des frameworks reconnus du marché Mettre en production une application Vaadin 1) Introduction 2) Pratique de Vaadin côté serveur 3) Donnée, Layout et Thème 4) Pratique de Vaadin côté client 5) Intégration de Vaadin avec des frameworks existants 6) Vaadin avancé 7) Installation de Vaadin en production Ce cours est organisé autour d'une succession d'exercices basés sur une application Vaadin réelle créée en quelques mois. 1) Introduction - Versions, fonctionnalités. Intégration d'ajax. - Positionnement des autres frameworks (GWT, jquery...). - Ressources et documentation. - Installation d'eclipse, Tomcat, SGBD, Firefox. Installer Eclipse, le plug-in Vaadin et Tomcat. Configurer Firefox/Chrome. 2) Pratique de Vaadin côté serveur - Principe de Vaadin. - Construction d'une IHM, présentation de la notion d'ui, de View et de Navigator. - Présentation des Layouts (Vertical, Horizontal...). - Les Widget standard. - Notion de property, de container. Utilisation du composant Table et des "forms". - Composant de Composition. Construire une IHM (UI, View, Layouts) en appliquant le pattern d'ihm "Master Detail". 3) Donnée, Layout et Thème - Mise en place de formulaires et "binding" entre les données et l'interface graphique. - Les layouts avancés : CssLayout, CustomLayout... - CSS et SCSS, présentation des thèmes standard. - Création d'un thème et modification d'un widget. Mettre en place un formulaire dynamique. 4) Pratique de Vaadin côté client - Cas d'usage, framework client possible. - Intégration avec HTML5 (local storage, websocket...). - Programmation de la partie cliente et communication avec le serveur. - Extension de composant, intégration JavaScript. - Mise en place de styles pour un composant client. Extendre le composant TextBox. Notifier par websocket. 5) Intégration de Vaadin avec des frameworks existants - Utilisation d'un SQLContainer/JPA Container. - Pilotage des vues Vaadin pour une intégration avec Activity BPM. - Intégration d'hibernate, jquery. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 44

45 Créer un conteneur SQL. Intégrer Activity BPM. 6) Vaadin avancé - Intégration dans Liferay. - Drag & Drop, gestion des Logs. - Intégration de Vaadin avec Google App Engine. - Intégration de Vaadin TestBench et Vaadin TouchKit. Mettre en place des tests avec JUnit. 7) Installation de Vaadin en production - Configuration : web.xml, contexte de connexion Tomcat. - Configurer un cluster apache HTTPD avec Tomcat. - Optimiser la couche UI d'un applicatif. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 45

46 Stage pratique de 3 jour(s) Réf : GWT Ce cours s'adresse aux développeurs et chefs de projets désireux de découvrir un framework permettant d'améliorer l'ergonomie des applications Web, mais aussi d'en simplifier le développement. Bonnes connaissances des langages Java et JavaScript. Expérience souhaitable en programmation Java/Web. Prix 2015 : 1875 HT 26 oct. 2015, 14 déc Aix 21 sep Bordeaux 14 sep Grenoble 21 sep Lille 21 sep Lyon 21 sep Montpellier 21 sep Nantes 14 sep Rennes 14 sep Sophia-antipolis 21 sep Strasbourg 21 sep Toulouse 14 sep Développer une application Web 2.0/GWT le Google Web Toolkit Best 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 1) Présentation - Présentation du Web 2.0 et des technologies Ajax. - Mécanismes de Google Web Toolkit. - Utilisation de GWT au sein d'eclipse (Dev Mode). 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. Conception d'écrans avec composants GWT. CSS personnalisés. 5) Concepts GWT avancés 6) Implémenter une politique de tests 7) Considérations architecturales 8) L'écosystème GWT 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 46

47 - Analyse des performances avec Speed Tracer. - Paramétrage du compilateur GWT. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 47

48 Stage pratique de 2 jour(s) Réf : GXT Développeurs et chefs de projets désireux de découvrir le framework GXT. Bonnes connaissances des langages Java et CSS. Expérience en programmation GWT recommandée. Prix 2015 : 1530 HT 8 oct. 2015, 23 nov GXT, améliorer l'expérience utilisateur de vos applications Web étendre le toolkit GWT Ce stage vous apprendra à développer des applications Web interactives à l'aide du framework Sencha GXT, surcouche graphique de GWT. Vous en exploiterez la large panoplie de composants graphiques permettant d'améliorer l'ergonomie des applications Web mais aussi d'en simplifier le développement. OBJECTIFS PEDAGOGIQUES Créer des applications Internet riches en Java Manipuler des composants graphiques évolués : formulaires, tableaux, arbres, menus, listes et graphiques Utiliser les gestionnaires de placement pour positionner des composants graphiques Personnaliser des composants graphiques 1) Rappels GWT 2) Les formulaires de saisie 3) Offrir une ergonomie type client riche 4) Mise en œuvre des tableaux GXT 5) Les arbres 6) Les graphiques 7) Autres techniques GXT 1) Rappels GWT - Construire un écran avec UIBinder. - Gérer les événements utilisateurs. - Appeler un service de données RPC. - Chargement de ressources par le ClientBundle. 2) Les formulaires de saisie - Utiliser les gestionnaires de placement. - Utiliser les champs de saisie GXT avec UiBinder. - Simplifier le code à l'aide du binding entre objets Java et champs de formulaire. - Utiliser le mécanisme de validation de saisie. Développer un écran de saisie, lier des champs à un objet métier et valider ces champs. 3) Offrir une ergonomie type client riche - Personnaliser les ComboBox. - Les boîtes de dialogue MessageBox... - Gérer le drag'n drop avec le DualListField. - Gérer un upload de fichier. - Utiliser les onglets TabPanel. - Construire un menu, une ToolBar. - Les calendriers DatePicker. Modifier les codes d'exemples pour répondre à des besoins spécifiques. 4) Mise en œuvre des tableaux GXT - Faciliter la liaison des données et les colonnes d'un tableau avec le PropertyAccess. - Créer des tableaux éditables. - Gérer les groupages de données. - Définir des cellules personnalisées. - Mettre en place les filtres de données. - Mettre en place la pagination des données. Construire un tableau paginé à partir d'objets retournés par un service RPC. 5) Les arbres - Personnalisation graphique des nœuds de l'arbre. - Créer des arbres asynchrones. - Mettre en place les filtres de données. - Mettre en œuvre les arbres-tableaux : les TreeGrid. Construire un arbre asynchrone à partir de données retournées par un service RPC. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 48

49 6) Les graphiques - Définir le modèle de données des graphiques. - Configurer les axes des graphiques, les légendes... - Développer des courbes, des histogrammes, des gauges, des camemberts. - Développer des graphiques interactifs. Construire un camembert et un histogramme. Changer dynamiquement les graphiques à partir d'une saisie dans une table GXT. 7) Autres techniques GXT - Développer un drag'n drop entre deux arbres. - Utiliser des templates HTML pour afficher les données. - Exploiter l'appearance Design pour personnaliser vos composants et créer des thèmes graphiques. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 49

50 Stage pratique de 4 jour(s) Réf : FXA Développeurs, architectes, chefs de projet voulant se familiariser avec le développement d'applications RIA avec JavaFX. Bonnes connaissances de la programmation Java SE. Prix 2015 : 2330 HT JavaFX 8, créer des interfaces graphiques riches 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 22 sep. 2015, 17 nov ) Démarrer avec JavaFX 2) Les composants d'interface graphique 3) Architecture d'une application JavaFX 4) Concurrence et interopérabilité Méthodes pédagogiques 5) Graphismes 6) Effets, animations et multimédia 7) Packager et déployer les applications 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. 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. 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. 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. 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. Intégration de graphismes 2D et 3D au sein d'une application. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 50

51 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. 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. Packaging d'une application et démonstration des différents modes de déploiement. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 51

52 Stage pratique de 4 jour(s) Réf : JFX Développeurs, architectes, chefs de projet voulant se familiariser avec le développement d'applications RIA avec JavaFX 2. Bonnes connaissances de la programmation Java SE, version 7 si possible. Prix 2015 : 2330 HT 29 sep. 2015, 8 déc JavaFX 2, créer des applications graphiques riches OBJECTIFS Nouvelle mouture s'appuyant sur une syntaxe Java, JavaFX 2 se révèle plus adaptée au développement d'applications RIA. Durant ce stage, vous apprendrez à exploiter ses composants graphiques, intégrer des animations, améliorer la réactivité de vos IHM, packager et déployer vos applications dans un navigateur. 1) Concepts et outils de base 2) Mise en forme dynamique de composants 3) Utiliser les composants d'interface utilisateur 4) Binding et collections 5) Mettre en oeuvre les threads 6) Créer des effets et des animations 7) Intégrer le multimédia 8) Packager et déployer les applications Les travaux pratiques seront principalement réalisés en Java. Le mode de développement FXML sera également vu. 1) Concepts et outils de base - Caractéristiques d'une application riche. - Solutions : Flex, Silverlight, HTML 5, Swing... - Avantages de JavaFX. - Les environnements Desktop, Mobile, TV... - Le SDK, SceneBuilder, les IDE Eclipse/Netbeans. - Les modes de développement : Java et FXML. - Architecture d'une application. Démonstration Réalisation d'une première application. 2) Mise en forme dynamique de composants - Le modèle hiérarchique de l'interface. - Travailler avec le Scene Graph API. - Notion de Groups et de Regions. - Layouts standard et personnalisés. - Appliquer un style aux layouts. Exercice Application de différents types de layouts. 3) Utiliser les composants d'interface utilisateur - Composants de base : Label, Button, ComboBox... - Composants avancés : Slider, Accordion... - Gestion des événements : bouton, souris... - Création de graphiques : LineChart, StackedBarChart... - Habillage CSS d'une application. Exercice Utilisation de composants graphiques. 4) Binding et collections - Propriétés et événements. - Binding haut niveau et bas niveau. - Travailler avec des collections. Exercice Mise en œuvre des concepts de binding de propriétés et de collections observables. 5) Mettre en oeuvre les threads - Modèle de thread d'une application JavaFX. - Framework JavaFX Concurrency. - Exécution de code en tâche de fond. Exercice Mise en œuvre de tâches de fond et optimisation de l'interface utilisateur. 6) Créer des effets et des animations - Pipeline graphique. - Effet et transformation 2D/3D. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 52

53 - Transition, timeline et interpolateur. Exercice Application d'effets et de transformation. 7) Intégrer le multimédia - Chargement et affichage d'une image. - Création d'un média player. Intégration audio et vidéo. Exercice Réalisation d'un player audio et vidéo 8) Packager et déployer les applications - Démarrage et exécution d'applications JavaFX. - Packaging d'applications. - Déploiement : standalone, applet, Java Web Start... - Embarquer JavaFX dans des applications Swing. Exercice Déployer une application dans un navigateur. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 53

54 Stage pratique de 3 jour(s) Réf : JIP Développeurs, architectes, ingénieurs d'étude et chefs de projets. JEE, introduction pratique OBJECTIFS Ce stage vous permettra d'appréhender l'essentiel de la plateforme JEE. Il introduit par la pratique le développement Web JEE (Servlet/JSP), les composants distribués (EJB), les Web Services et les services transverses JEE. Connaissances de base en développement Java. Expérience requise. 1) Introduction à JEE 2) Les technologies Web de JEE 3) Les Enterprise Java Beans 4) Les Web Services Prix 2015 : 1875 HT 14 sep. 2015, 12 oct nov. 2015, 14 déc ) Introduction à JEE - Les apports de l'architecture N-tiers (cluster, réutilisation de services...). - Les principaux concepts JEE. - Les services JEE (JNDI, Web, EJB, JTA, JAAS, JMX...). - Les offres du marché (GlassFish, JBoss, Jonas, Geronimo, WebSphere, Oracle...). - Panorama de l'écosystème Java/JEE : composants, Design Pattern et les principaux frameworks utilisables. Mise en place de l'environnement. Installation du JDK 6, d'un serveur d'application Open Source (JBoss, GlassFish...) et d'eclipse ou de NetBeans. Démonstrations d'applications. 2) Les technologies Web de JEE - 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 JEE. - Le fichier de configuration normalisé web.xml. - Déploiement des applications Web JEE, les archives JAR, WAR et EAR. - Les frameworks MVC (Struts, JSF...). Démonstration et détail du fonctionnement et du paramétrage d'une application Web JEE. 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. 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 (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. - Les outils de programmation pour la création et l'utilisation de Web Services (Axis, JAX-RPC...). Mise en œuvre des Web Services. Développer un exemple de Web Service. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 54

55 Stage pratique de 5 jour(s) Réf : APJ Développeurs, architectes, chefs de projets. Bonnes connaissances en Java ainsi que des bases du Web : HTTP, HTML, CSS, JavaScript. Les bases de la programmation JEE (ex : Servlet / JSP) seront un plus. Prix 2015 : 2500 HT 28 sep. 2015, 26 oct Java EE 7, conception et développement d'applications Web Best 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. 1) Introduction - 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. 2) Environnement de travail - Environnement Eclipse. Dépendances Maven. - Tests unitaires avec le conteneur embarqué. - Utilisation des webtools, prise en main du serveur. 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. 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, JTA 1.2. Mise en place de la couche d'accès aux données. 5) Architecture distribuée avec EJB et JMS - 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 55

56 6) Web et JSF - Concepts (MVP, Presenter, View). - Facelets, taglibs, jsf-el. - Validation JSR Mise en oeuvre d'ajax. 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. 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. Ajout d'une connexion websocket au client web. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 56

57 Stage pratique de 5 jour(s) Réf : APP Informaticiens souhaitant développer des applications Web avec les technologies Java/JEE. Bonnes connaissances du langage Java 5 ou 6 et des technologies Web. Expérience requise en programmation Java. Connaissance du langage HTML préférable. Prix 2015 : 2500 HT 26 oct. 2015, 14 déc Java, développement de Servlets et JSP pour JEE 6 OBJECTIFS Ce cours vous apprendra développer des applications Web d'entreprise basées sur la plateforme Java/JEE6. Vous verrez comment mettre en oeuvre des solutions robustes et facilement extensibles, notamment au moyen des architectures MVC et de l'environnement JSF. 1) Rappel sur les 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) JSF 2 7) Sécurisation des applications Web Développement d'une application Web en Java. Utilisation du conteneur de Servlet/JSP, Tomcat. Environnement de développement Eclipse ou NetBeans. 1) Rappel sur les applications Web d'entreprise - Serveur et client Web. Protocoles applicatifs (HTTP). Gestion des sessions. Accès aux bases de données. - La plateforme JEE. Architecture multitiers. 2) Architecture des applications Java Web - Serveur applicatif, notion de conteneur. Modèle MVC. - Principaux composants : Servlets, pages JSP, JSF. - Architecture du conteneur Web Tomcat. - Déploiement et packaging des applications JEE. Le fichier web.xml. Notion de pluggability. Installer un environnement de développement. Déployer une application. 3) Pages JSP : composants de présentation - Technique de développement. Les Scriplets. - Utilisation de JavaBeans à partir de pages JSP. - Expression Language (EL). - Principe des librairies et extensions de balises. - Présentation de la JSTL. Développer la couche présentation (JSP, JSTL et librairies de balises). 4) API Servlet 3.0 : composants de contrôle et de navigation - Conteneur de servlets. Cycle de vie d'une servlet. L'annotation WebServlet. Gestion des formulaires HTML. - Filtrage des requêtes/réponses. Invocation d'autres ressources Web. - Gestion des erreurs et journalisation des événements. - Suivi de session. Les différentes méthodes. Développement de servlets. 5) Accès aux bases de données - Mise en place de la base et de l'interface JDBC. Connexion à la base, requêtes. - Transaction. Pool de connexions. Les DataSources. L'annotation Ressource. - Correspondance BDR/Modèles objet : l'api JPA. Présenter des données issues d'un SGBDR dans l'application. 6) JSF 2 - Présentation du framework. 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. Adapter l'application à JSF 2. 7) Sécurisation des applications Web ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 57

58 - Notions de users, realms, roles. Authentification et autorisation. - Sécurité et programmation de servlets. - Installer et configurer SSL. Certificats numériques. - L'API JAAS. Les annotations spécifiques. Sécuriser l'accès à l'application. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 58

59 Stage pratique de 5 jour(s) Réf : JEF Développeurs, architectes, chefs de projets, ingénieurs. Bonnes connaissances de Java. Connaissances de base d'eclipse. Prix 2015 : 2500 HT 12 oct. 2015, 7 déc Aix 21 sep. 2015, 16 nov Bordeaux 28 sep. 2015, 23 nov Bruxelles 14 sep. 2015, 14 déc Geneve 14 sep. 2015, 14 déc Grenoble 21 sep. 2015, 16 nov Lille 21 sep. 2015, 16 nov Luxembourg 14 sep. 2015, 14 déc Lyon 21 sep. 2015, 16 nov Montpellier 21 sep. 2015, 16 nov Nantes 28 sep. 2015, 23 nov Rennes 28 sep. 2015, 23 nov Sophia-antipolis 21 sep. 2015, 16 nov Strasbourg 21 sep. 2015, 16 nov Toulouse 28 sep. 2015, 23 nov JEE 6, développer des applications d'entreprise OBJECTIFS 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 JEE 6. 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 Un exercice "fil rouge" avec des modules validés par des tests unitaires et déployés sur un serveur d'applications JEE 6. 1) Introduction - Les briques qui composent JEE. Les nouveautés JEE 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. - L'annuaire JNDI, la standardisation proposée par JEE 6. - Le moniteur transactionnel. Le serveur Web. - Le fonctionnement modulaire : OSGI. 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. 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 nouveautés JEE 6. - L'injection de dépendances. Injection hors CDI. - Les interceptions. Transactions. La sécurité. - Les timers. - Le remoting. 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... - La configuration sous Glassfish. - Les fonctionnalités avancées. Mise en place d'un système de notification d'applications clientes. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 59

60 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 JSR Mise en œuvre d'ajax. 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. Développement d'une façade Web exposant les services de l'exercice développé. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 60

61 Stage pratique de 3 jour(s) Réf : JAS Développeurs et chefs de projets amenés à sécuriser des applications Java et JEE. Très bonnes connaissances du langage Java. Bonnes connaissances des concepts JEE. Expérience requise en programmation Java. Prix 2015 : 1875 HT 19 oct. 2015, 7 déc Java/JEE, sécurité des applications 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. OBJECTIFS PEDAGOGIQUES 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 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 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é. 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 61

62 - Les handlers SOAP WS-Security exploitant JAAS. 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. Mise en pratique avec une implémentation Apache CXF de JAX-RS. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 62

63 Stage pratique de 5 jour(s) Réf : DFJ Développeurs Java, chefs de projets Java/JEE. Bonnes connaissances des technologies Web. Expérience requise en programmation d'applications Web en Java. Prix 2015 : 2500 HT 14 sep. 2015, 12 oct nov Développer avec les frameworks Java/JEE Best OBJECTIFS Cette formation vous permettra de développer des applications Java en utilisant les frameworks qui sont aujourd'hui à la base de nombreuses architectures JEE. Vous apprendrez à assimiler les bonnes pratiques du développement et à être autonome dans la manipulation des frameworks phares de l'écosystème JEE. 1) Introduction 2) Les frameworks d'industrialisation 3) Le framework Hibernate 1) Introduction 4) Le framework Spring 5) Le framework Struts - Présentation et comparaison des architectures 2-tiers, 3-tiers, n-tiers. - Aperçu de l'écosystème JEE, des frameworks leaders, de leur rôle dans le développement d'applications Java. 2) Les frameworks d'industrialisation - Organisation d'un développement Java. - Ant, un framework d'automatisation de tâches. - Maven, pour simplifier la production et la gestion des " build ". - JUnit, un framework pour la rédaction et l'exécution de tests unitaires. Mise en place de l'environnement de développement sous Eclipse. 3) Le framework Hibernate - Présentation de la persistance. - Le projet Hibernate. - Création d'un mapping objet/relationnel. Contexte, classes persistantes. - Manipulation de données persistantes. Cycle de vie des objets. Synchronisation avec la base de données. - Rappel des erreurs à éviter. Réalisation d'un mapping. Ecriture de requêtes HQL. 4) Le framework Spring - Présentation du rôle du conteneur léger. - Présentation de la programmation par interface. - Couplage Spring/Hibernate. - Support de framework tiers. - Démonstration de l'aop (Programmation Orientée Aspects). Création du contexte, couplage avec Hibernate. 5) Le framework Struts - Introduction au modèle MVC. - Les composants de Struts. - Implémentation d'un processus de navigation Web. - Libraires de balises JSP. - Déploiement d'application. Réalisation d'une IHM pour tirer parti des développements réalisés avec Hibernate et Spring. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 63

64 Stage pratique de 4 jour(s) Réf : JEB Développeurs d'applications, responsables informatiques, architectes, chefs de projets, ingénieurs, etc. Très bonnes connaissances du langage Java. Connaissances de base des servlets et des JSP. Expérience requise en développement d'applications Java. Prix 2015 : 2330 HT 22 sep. 2015, 1 déc Développer des EJB3 en Open Source OBJECTIFS La nouvelle architecture EJB3 vise à simplifier la mise en œuvre d'ejb. Avec de nombreux travaux pratiques, ce cours vous permettra de maîtriser le développement d'ejb3 et son intégration dans une application d'entreprise. 1) L'architecture et les serveurs d'applications 2) Rappels sur les Servlets et JSP 3) L'architecture EJB 3 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 Environnement Open Source Eclipse 3 et NetBeans 5.5 pour le développement, et JBoss 4 et GlassFish comme serveurs d'applications. 1) L'architecture et les serveurs d'applications - Architectures n-tiers. Evolution du client-serveur. - Architectures distribuées :.NET, RMI, CORBA, EJB. - JEE : 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 JEE. - Le serveur d'applications Open Source JBoss : architecture, marché, perspectives. - Eclipse/JBoss-IDE, un standard pour le développement JEE en Open Source. - NetBeans IDE, l'ide Open Source émergent pour le développement JEE. 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 EJB 3 - La spécification EJB 3. 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 EJB 3. - Le rôle du conteneur d'ejb. - Principe et rôle de JNDI (Java Naming and Directory Interface). Localisation des EJB 3 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. - 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 64

65 - 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 JEE. - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 65

66 Stage pratique de 5 jour(s) Réf : SDA Développeurs Java/JEE ayant une réelle expérience en développement d'applications Java/JEE. Bonnes connaissances de Java et JEE. Prix 2015 : 2530 HT 21 sep. 2015, 16 nov déc Framework Spring 4, développer des applications d'entreprise 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 Méthodes pédagogiques 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. 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 - 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... 3) L'environnement de travail - L'environnement Eclipse. - Le plug-in Spring Tool Suite (STS). - Les dépendances Maven. 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. 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. - Utilisation de bases de données embarquées : H2, HSQL, Derby. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 66

67 - Couplage avec l'api JPA et le framework Hibernate. - Le moniteur transactionnel de Spring, couplage avec JTA Le support des transactions au sein des tests. - Introduction à Spring Data pour les bases NoSQL. 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 L'internationalisation. - La gestion des exceptions. 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 67

68 Stage pratique de 3 jour(s) Réf : SPD Développeurs Java/JEE. Bonnes connaissances de Java/JEE. Expérience opérationnelle en Spring. Prix 2015 : 1875 HT Framework Spring 4, mise en œuvre avancée 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 7 sep. 2015, 2 nov ) Introduction 2) Spring Security 1) Introduction 3) Spring Data 4) Spring Batch - 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. 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. 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". Chargement d'une base de données à partir de fichiers. Monitoring via la console de Spring. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 68

69 Stage pratique de 5 jour(s) Réf : JAP Développeurs, ingénieurs, chefs de projets proches du développement. Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2015 : 2500 HT 19 oct. 2015, 7 déc Aix 14 sep. 2015, 16 nov Bordeaux 21 sep. 2015, 23 nov Bruxelles 30 nov Geneve 30 nov Grenoble 14 sep. 2015, 16 nov Lille 14 sep. 2015, 16 nov Luxembourg 30 nov Lyon 14 sep. 2015, 16 nov Montpellier 14 sep. 2015, 16 nov Nantes 21 sep. 2015, 23 nov Rennes 21 sep. 2015, 23 nov Sophia-antipolis 14 sep. 2015, 16 nov Strasbourg 14 sep. 2015, 16 nov Toulouse 21 sep. 2015, 23 nov Java, programmation avancée Best OBJECTIFS 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. 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 Ce cours illustre les principes exposés par la construction progressive d'une application en Java. 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 - La définition de nouvelles annotations. - Les @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... 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. 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. - 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. Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent). ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 69

70 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 70

71 Stage pratique de 5 jour(s) Réf : SOD 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. Bonnes connaissances de la programmation Java, des technologies XML et des Web Services. Expérience requise en développement d'applications Java. Prix 2015 : 2500 HT 21 sep. 2015, 23 nov SOA, mise en œuvre en Open Source/Java 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) 1) Introduction aux architectures SOA 5) Java Message Service 6) Les transformations de données 7) Le routage intelligent des messages 8) L'orchestration des services - 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. 2) Principaux outils Open Source - 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. 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. 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. 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). Mise en œuvre de différents types de routage. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 71

72 8) L'orchestration des services - Orchestration des services Web. Langage WS-BPEL. Mise en œuvre d'une orchestration de services. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 72

73 Stage pratique de 3 jour(s) Réf : OSG Architectes, chefs de projets et développeurs désireux de comprendre et utiliser OSGi dans le développement de leurs applications Java/ JavaEE. Bonnes connaissances du langage Java. Expérience requise en programmation JavaEE, idéalement à travers l'ide Eclipse. Prix 2015 : 1875 HT 2 nov Java OSGi, développement d'applications modulaires OBJECTIFS 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. 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 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... 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... 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... 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 73

74 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. Déploiement dynamique d'une application Web dans Spring DM. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 74

75 Stage pratique de 3 jour(s) Réf : MUC Développeurs, architectes logiciels, chefs de projet. Bonnes connaissances de C ou de C++. Connaissances de base des concepts liés aux applications Multicore. Prix 2015 : 1795 HT 12 oct. 2015, 30 nov C/C++, programmer vos applications en Multicore OBJECTIFS 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. 1) Introduction 2) Modélisation des applications 3) Threads 4) Processus 5) La programmation parallèle 6) Synthèse et conclusion Les exercices et les exemples s'appuieront sur C/C++ et UML sera utilisé pour la modélisation. 1) Introduction - 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. 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. 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. Paralléliser des algorithmes avec «OpenMP» en C++. Utilisation de l'api OpenCL. 6) Synthèse et conclusion ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 75

76 - Conclusion des techniques étudiées. - Avenir du C++ avec le multicore. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 76

77 Stage pratique de 5 jour(s) Réf : IBO Développeurs désireux de développer un projet autour de l'internet des objets. Connaissances de base en Java. Prix 2015 : 2840 HT 14 sep. 2015, 30 nov Internet des objets, développer des applications connectées en Java Nos besoins en interactivité sont sans cesse grandissants et nous sommes amenés à utiliser dans notre quotidien davantage de périphériques connectés entre eux. Cette formation vous permettra de mettre en œuvre la programmation associée à ces nouveaux supports, la gestion des flux de données et la connectivité. OBJECTIFS PEDAGOGIQUES Comprendre la programmation Java RFID et NFC Maîtriser l'environnement Qeo Echanger entre deux périphériques embarqués Développer des programmes qui seront "uploadés" sur le microcontrôleur Arduino Comprendre le rôle du composant Raspberry dans l'iot 1) Différences entre IoT et M2M 2) Programmation RFID et NFC 3) Java embarqué et l'environnement Qeo 4) Communication entre systèmes embarqués 5) Développement pour les composants Arduino 6) Usage de Raspberry dans les architectures IoT Vous mettrez en œuvre, dans cette formation très pratique, un kit électronique composé de platines Arduino et Raspberry Pi que vous pourrez emporter. 1) Différences entre IoT et M2M - Progression du M2M (Mobile to Mobile) vers l'internet des objets (IoT). - Anatomie de la relation M2M (capteurs, services...). - Architecture IoT (relation entre hardware et software). - Gestion de l'énergie. - Rôle de la couche service. Démonstration Echange en WIFI direct sous Android. 2) Programmation RFID et NFC - Classification des tags RFID. - Fonctionnement d'un système RFID. - Les gammes de fréquences RFID. - Les modes de fonctionnement NFC. - Sécurité des données dans les applications NFC. - Rôles des QR codes. Exercice Lecture/écriture de tags NFC. 3) Java embarqué et l'environnement Qeo - Une architecture "publish-subscribe". - Le rôle de Qeo Data Model (QDM). - L'utilisation de service REST. - Intégration de modules multi-langages. - Sécurité des données avec Qeo. Exercice Gérer des données issues de capteurs. 4) Communication entre systèmes embarqués - Développement par WIFI direct. - Echange par Bluetooth. - Vue d'ensemble de l'architecture REST. - Utilisation de Restlet. - Accéder à des ressources matérielles distantes. - Routage intelligent à partir d'uri. Exposer l'agenda d'un smartphone. 5) Développement pour les composants Arduino ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 77

78 - Architecture IoT et la programmation objets. - Programmation embarquée Arduino. - Les périphériques de capture (connecter un capteur et exposer sa valeur sur un port série). - Arduino Hardware. - Travailler avec des capteurs et des Shields. Installer un bouton et une led sur un breadboard. Programmer le composant Arduino pour réagir aux événements du bouton. 6) Usage de Raspberry dans les architectures IoT - Rôle de Raspbian, sauvegarde de la carte SD. - Transfert de fichiers (SFTP), PC vers Raspberry via RJ45 (câble ethernet). - NodeJS proxy léger (exposer une page HTML avec l'état du périphérique de capture). - Envoi d'informations sur un cloud (connecter un node à un service de stockage sur un cloud). - Analyse de données sur un cloud (utiliser le PAAS Google) pour déployer un service d'analyse de données). - Sécurité dans IoT : présenter les méthodes pour la confiance entre objets. Exercice Traiter au niveau du Raspberry une alerte générée par un service et allumer une led sur Arduino. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 78

79 Stage pratique de 5 jour(s) Réf : JDO Responsables de projets et développeurs Java. Bonnes connaissances du langage Java, des bases de données relationnelles et du SQL (Structured Query Language). Prix 2015 : 2500 HT 19 oct. 2015, 7 déc Java, accès aux données prise en main des différentes solutions OBJECTIFS L'accès aux données des bases relationnelles est central aux applications métiers. Ce stage présente les solutions qui facilitent le développement des couches d'accès. Les nombreux exercices pratiques permettent d'apprécier leurs apports respectifs et de procéder à des choix judicieux. 1) Les enjeux de l'accès aux données et de la persistance 2) Les modèles d'architecture de la couche d'accès aux données 3) JDBC, API d'accès direct aux bases de données relationnelles 4) Solutions d'accès indirect proposées par JEE 1) Les enjeux de l'accès aux données et de la persistance 5) Solutions d'accès indirect proposées par les frameworks ORM 6) JPA, Java Persistence API 7) JDO, Java Data Objects 8) L'accès aux données avec les solutions Spring - Les différents systèmes de persistance. - Rappel sur le fonctionnement des SGBDR. - Comparaison entre les concepts des bases de données relationnelles et les concepts objets. 2) Les modèles d'architecture de la couche d'accès aux données - Accès depuis les applications autonomes. - La couche d'accès aux données depuis les architectures client-serveur et n-tiers. Création et alimentation de la base de données relationnelles de l'étude de cas. 3) JDBC, API d'accès direct aux bases de données relationnelles - Les concepts et les composants de l'api. - Ouverture d'une connexion, exécution de requêtes SQL. - Exploitation des résultats du ResultSet. - Gestion des transactions. - JDBC 4.x : présentation des évolutions de l'api. - JDBC 4.x : chargement des pilotes. - JDBC 4.x : gestion des exceptions en chaîne. Utilisation de JDBC. Mise en oeuvre de DAO et DTO. Utilisation des évolutions JDBC 4.x. 4) Solutions d'accès indirect proposées par JEE - Rappels sur l'architecture JEE. - EJB 2, les concepts des EJB Entity (CMP, BMP). 5) Solutions d'accès indirect proposées par les frameworks ORM - Objectifs des frameworks ORM. - L'approche POJO (Plain Old Java Objects). - Présentation des différents frameworks ORM. 6) JPA, Java Persistence API - Les concepts de base et les composants de l'api. - Les implémentations disponibles. - JPA, la déclaration des entités. L'Entity Manager. - Gestion des entités à l'aide de l'entity Manager. Utilisation d'une implémentation de JPA (EclipseLink ou Hibernate). 7) JDO, Java Data Objects - Implémentations de JDO et cycle de développement. - Les différents types de classes JDO. - L'utilisation du Persistence Manager. Utilisation d'une implémentation JDO et comparaison avec JPA. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 79

80 8) L'accès aux données avec les solutions Spring - L'accès aux données avec Spring et JDBCTemplate. - Le design pattern Template. - Valeur ajoutée de Spring JDBC par rapport à l'api JDBC. - L'accès aux données avec Spring Data. Utilisation de Spring JDBC et de Spring Data. Comparaison avec JDBC standard. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 80

81 Stage pratique de 3 jour(s) Réf : HIB Chefs de projets, analystes, concepteurs, architectes logiciels et développeurs. Connaître Java et l'api JDBC. Hibernate, mapping objet/relationnel Best OBJECTIFS 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. Prix 2015 : 1875 HT 19 oct. 2015, 14 déc ) Techniques de persistance Java 2) Développer une classe persistante simple 3) Mapping objet / relationnel avec Hibernate 4) Manipuler les objets persistants Les TP sont réalisés avec Hibernate, Eclipse et MySQL 4. 5) Langage HQL et API Criteria 6) Transactions et accès concurrents 7) Utiliser le cache Hibernate 8) Génération automatique des ressources 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. 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. 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. 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. Mise en oeuvre d'une transaction. 7) Utiliser le cache Hibernate - Objectifs. Cache de premier et de second niveau. Configuration du cache Hibernate. 8) Génération automatique des ressources ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 81

82 - 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. Installation du Plug-in Eclipse Hibernate tools. Reverse Engineering d'une base existante. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 82

83 Stage pratique de 2 jour(s) Réf : BER Ingénieurs, architectes, chefs de projets. Hibernate, mise en oeuvre avancée OBJECTIFS 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. Bonnes connaissances de base d'hibernate. Très bonnes connaissances du langage Java. Prix 2015 : 1380 HT 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 8 oct. 2015, 3 déc ) 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. 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. 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. Cas d'utilisation du verrouillage optimiste. Mise en place d'un cache "clusterisé" avec JBOSSTreeCache. 4) Optimisation des associations - Gestion des associations bidirectionnelles. - Attribut de mapping " inverse ". - Associations polymorphes. 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. 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). - Publication des métriques via JMX. Analyse de différentes métriques. 7) Projets annexes ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 83

84 - Hibernate Validator. Hibernate Search. Hibernate Shards. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 84

85 Stage pratique de 3 jour(s) Réf : JPA Développeurs, architectes logiciels, chefs de projet. Bonnes connaissances de Java et de l'api JDBC. Prix 2015 : 1875 HT 2 nov JPA, persistance des données en Java OBJECTIFS L'API JPA est la solution de mapping objet/relationnel standard de Java. Elle s'inspire des frameworks Hibernate et TopLink et propose un modèle de développement simplifié. Cette formation vous permettra de comprendre les mécanismes de JPA et de les mettre en oeuvre avec efficacité. 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 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 JEE. 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. 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. - Mapping des classes et des associations. - Stratégie de mapping pour l'héritage. 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. 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. 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. - Jointures internes, externes et rapportées. - Principe des sous-requêtes. - Requêtes sur les ensembles. Effectuer une requête JPQL optimisée. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 85

86 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. Mise en œuvre de la gestion transactionnelle. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 86

87 Stage pratique de 4 jour(s) Réf : APH Concepteurs, développeurs. Bonne expérience en développement Java. Des connaissances en architecture Web constituent un plus. Prix 2015 : 2330 HT Apache Hadoop, développer des applications pour le Big Data 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 24 nov ) Le Big Data 2) Collecte de données et application de Map Reduce 3) Le stockage des données avec HBase Méthodes pédagogiques Cours 30%, travaux pratiques 70%. Développement d'applications pour le Big Data. 4) Le stockage des données sur HDFS 5) Spring Data Hadoop 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 87

88 - Requêtage avec Apache Hive. - Réplication de données. Partage de données sur une architecture HDFS. 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...). Refondre la gestion du catalogue de données fournisseur via Spring Data. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 88

89 Stage pratique de 3 jour(s) Réf : ASB Concepteurs, développeurs. 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 2015 : 1875 HT Apache Storm, développer des applications pour le Big Data 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 21 sep. 2015, 23 nov ) Le Big Data 2) Introduction au projet Apache Storm 3) Scalabilité horizontale 4) Traitement des messages garantis Méthodes pédagogiques Cours 30% travaux pratique 70%. Développement d'applications pour le Big Data. 5) Tolérance aux pannes 6) Développement de services pour le Cloud 7) Interconnexion avec les réseaux sociaux 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). 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 89

90 - Définition des transactions. - Topologie transactionnelle et Storm cluster. - Rôles des Nimbus et ZooKeeper. 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. 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. Synchroniser des données entre un Cloud privé et un réseau social. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 90

91 Stage pratique de 4 jour(s) Réf : AMA Ce cours s'adresse aux développeurs Java devant réaliser des applications mobiles pour téléphone. Bonnes connaissances de Java et de l'utilisation d'internet. Connaissances de base d'xml. Expérience requise d'une chaîne de développement Java. Prix 2015 : 2330 HT 22 sep. 2015, 20 oct nov. 2015, 15 déc Aix 6 oct. 2015, 8 déc Bordeaux 27 oct. 2015, 15 déc Bruxelles 13 oct. 2015, 1 déc Geneve 13 oct. 2015, 1 déc Grenoble 6 oct. 2015, 8 déc Lille 6 oct. 2015, 8 déc Luxembourg 13 oct. 2015, 1 déc Lyon 6 oct. 2015, 8 déc Montpellier 6 oct. 2015, 8 déc Nantes 27 oct. 2015, 15 déc Sophia-antipolis 6 oct. 2015, 8 déc Strasbourg 6 oct. 2015, 8 déc Toulouse 27 oct. 2015, 15 déc Android, développer des applications pour mobiles Best OBJECTIFS Ce cours présente les fonctionnalités et capacités de la plate-forme Android dédiée à la réalisation d'applications pour les téléphones mobiles. Les concepts sont illustrés à l'aide de travaux pratiques permettant d'appréhender notamment les interfaces graphiques, le réseau, la sécurité et le stockage persistant. 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 Un Smartphone sera mis à la disposition des participants afin qu'ils puissent tester leurs développements. 1) Découvrir la plateforme Android - 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. 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. 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. Réalisation d'une application avec interface graphique. 4) Le modèle de composants - Le concept de base : activité et cycle de vie. - Les composants fondamentaux : Activity, Service, BroadcastReceiver, ContentProvider, Intents. - L'arrêt des composants (finish, stopself...). ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 91

92 - 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. Transmission d'informations d'une Activity à une autre à l'aide du mécanisme d'intents. 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. 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. 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. Réalisation d'une application géolocalisée présentée à l'aide de Google Maps. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 92

93 Stage pratique de 5 jour(s) Réf : ANV Développeurs Android. Très bonnes connaissances du langage Java. Expérience demandée dans le développement Android. Connaissance souhaitable en langage C ou C++. Prix 2015 : 2500 HT 21 sep. 2015, 26 oct nov. 2015, 14 déc Aix 28 sep. 2015, 30 nov Bordeaux 5 oct. 2015, 7 déc Bruxelles 12 oct. 2015, 7 déc Geneve 12 oct. 2015, 7 déc Grenoble 28 sep. 2015, 30 nov Lille 28 sep. 2015, 30 nov Luxembourg 12 oct. 2015, 7 déc Lyon 28 sep. 2015, 30 nov Montpellier 28 sep. 2015, 30 nov Nantes 5 oct. 2015, 7 déc Rennes 5 oct. 2015, 7 déc Sophia-antipolis 28 sep. 2015, 30 nov Strasbourg 28 sep. 2015, 30 nov Toulouse 5 oct. 2015, 7 déc Android, perfectionnement Best Ce stage vous permettra de vous perfectionner en programmation de solutions Android. Vous apprendrez à développer des applications natives en utilisant le NDK, à créer des graphismes via OpenGL, à exploiter les WebViews, à implanter les spécificités pour tablettes et à mettre en place votre propre distribution Android. OBJECTIFS PEDAGOGIQUES Entrez ici un objectif pédagogique 1) Développement natif 2) Création d'ihm avancée, OpenGL 3) Android et le Web 4) Utilisation des capteurs 5) Gestion des threads 6) ContentProvider et Services 7) Gestion du multimédia 8) ROM Cooking A l'exception des exercices liés au NDK, les travaux pratiques seront réalisés en Java. 1) Développement natif - Développement d'applications natives en C/C++ en utilisant le NDK (Native Developer Kit). - Utilité de l'utilisation du C/C++ pour Android. - Gestion mémoire, appel de code écrit en C/C++. - Packaging pour déploiement multiplates-formes (ARM, X86). Réalisation d'une application avec le NDK et déploiement dans le simulateur. 2) Création d'ihm avancée, OpenGL - Construction d'ihm avancées avec les fragments, les actionbars, l'utilisation du Drag et Drop. - Mécanismes des widgets. - Présentation de la structure générale de l'api et des bases OpenGL/ES. - Coordonnées, matrices, éclairage, textures, shaders. OpenGL/ES et le NDK. Réalisation d'une activité complexe avec des fragments. Réalisation d'une application graphique. 3) Android et le Web - Utilisation du composant WebView. - Utilisation d'une WebView dans une activité. - Exportation d'un module Java. Réalisation d'une application avec une activité principale embarquant une WebView. 4) Utilisation des capteurs - Mise en oeuvre de capteurs. Accéléromètre, proximité... - Paramétrage dans le simulateur des capteurs. - Utilisation d'outils pour la simulation d'événements. Réalisation d'une application intégrant accéléromètre et OpenGL. 5) Gestion des threads - Mise en oeuvre des threads avec Android. - Utilisation des threads en environnement contraint. - Mise en oeuvre des threads avec le NDK. Mise en oeuvre de threads avec une boucle événementielle. 6) 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. Réalisation d'un service et contrôle depuis une activité. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 93

94 7) Gestion du multimédia - La gestion des médias comme le son et la vidéo. - Enregistrement, stockage et lecture. - Mise en oeuvre des médias avec le NDK. 8) ROM Cooking - Création de sa propre distribution (ROM). - Présentation des outils de compilation/packaging. - Tester sa distribution avec le simulateur. Démonstration Réalisation et déploiement dans le simulateur d'une ROM contenant une application. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 94

95 Stage pratique de 5 jour(s) Réf : DSJ Ce cours est destiné aux développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement Java. Prix 2015 : 2500 HT 21 sep. 2015, 19 oct nov. 2015, 14 déc Aix 12 oct. 2015, 7 déc Bordeaux 26 oct. 2015, 14 déc Bruxelles 12 oct. 2015, 7 déc Geneve 12 oct. 2015, 7 déc Grenoble 12 oct. 2015, 7 déc Lille 12 oct. 2015, 7 déc Luxembourg 12 oct. 2015, 7 déc Lyon 12 oct. 2015, 7 déc Montpellier 12 oct. 2015, 7 déc Nantes 26 oct. 2015, 14 déc Rennes 26 oct. 2015, 14 déc Sophia-antipolis 12 oct. 2015, 7 déc Strasbourg 12 oct. 2015, 7 déc Toulouse 26 oct. 2015, 14 déc Développer des Web Services en Java Best OBJECTIFS 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. 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 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. 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. Envoi de requêtes SOAP. Interprétation des réponses. Déploiement d'un Web Service. 4) Le langage de description des Web Services - Comprendre comment décrire un Web Service en XML. - Introduction à WSDL. Anatomie d'un document WSDL. - WSDL et Java. Créer un fichier WSDL décrivant un Web Service. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 95

96 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. 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. 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. 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. 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). Sécurisation de l'application globale. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 96

97 Stage pratique de 2 jour(s) Réf : WER Développeurs, chefs de projets. 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 2015 : 1380 HT 29 oct. 2015, 10 déc Web Services RESTful, développement avancé en Java OBJECTIFS Cette formation vous permettra de compléter vos connaissances REST et de développer en Java avec JAX- RS 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 1) Rappels sur REST et JAX-RS 4) JavaScript Object Notation 5) Sécurisation d'un service REST 6) Eléments d'architecture - Rappels sur les concepts Representational State Transfer et architecture RESTful. - Rappels sur l'api JAX-RS. - Rappels sur XML et JAXB. 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. Invocation de services RESTful par diverses méthodes en Java. 3) Description d'un service REST avec WADL ou WSDL - Présentation de la spécification Web Application Description Language (WADL). - Positionnement par rapport à WSDL 2.0, utilisable avec des services REST. Analyse d'une description WADL de services RESTful. Utilisation de l'outil wadl2java. 4) JavaScript Object Notation - Intérêt des flux JSON dans les architectures RESTful. - Manipulation de données JSON en Java. 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 97

98 Stage pratique de 3 jour(s) Réf : SEO Ce cours est destiné aux développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement JAX-WS. Prix 2015 : 1875 HT 7 sep. 2015, 23 nov Web Services SOAP, développement avancé en Java 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. 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 WS- Security Mise en oeuvre des notions présentées, avec l'implémentation de référence proposée par GlassFish et quelques extensions. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 98

99 Stage pratique de 3 jour(s) Réf : GOO Chefs de projets, développeurs d'application web. Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2015 : 1830 HT Sophia-antipolis 21 sep Google App Engine, développer une application Cloud en Java 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 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 4) La gestion des données 5) Les services de Google App Engine 6) Configuration de Google App Engine avec YAML - 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. 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). 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). 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. Configurer le fichier app.yaml. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 99

100 Stage pratique de 3 jour(s) Réf : AMZ Architectes, développeurs, administrateurs systèmes. Amazon Web Services, architecture et mise en œuvre 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. Connaissances de base du Cloud Computing et d'un langage shell Unix/Linux. Prix 2015 : 1875 HT 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 28 sep. 2015, 23 nov Méthodes pédagogiques 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. Exercice 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. 1) Introduction - 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. 2) Les outils de base d'amazon Web Services - 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. 4) Les outils en ligne de commande - 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. 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. - Mécanisme Cloud-Init et notion de UserData. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 100

101 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 101

102 Cours de synthèse de 2 jour(s) Réf : JCL Chefs de projets, architectes, développeurs. Aucune connaissance particulière. Prix 2015 : 1410 HT 1 oct. 2015, 14 déc Amazon Web Services, développer des applications Web "scalable" pour le Cloud 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 démonstrations, d'études de cas donnant lieu à des discussions et des réflexions collectives. Démonstration Les démonstrations se baseront sur les produits Amazon RDS, Amazon DynamoDB, Amazon Cloudsearch, Amazon Redshift, Amazon Kinesis et Amazon Beanstalk. 1) Introduction - Les enjeux du Cloud Computing. - Différence et complémentarité entre IaaS et PaaS. Démonstration 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. Démonstration 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. Démonstration 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 102

103 - Optimiser les coûts via l'usage d'un CDN pour les réponses HTTP des endpoints REST. Démonstration 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. - Traitement en mode "near realtime" avec Kinesis. Démonstration Mise en place d'un stream avec Kinesis. 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. Démonstration Déployer une application avec Amazon Beanstalk. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 103

104 Stage pratique de 2 jour(s) Réf : MAV Développeurs, architectes, chefs de projet techniques. Maven, gérer le cycle de vie d'un projet OBJECTIFS 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. Connaissances de base du langage Java et de JEE. Prix 2015 : 1380 HT 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 8 oct. 2015, 5 nov déc ) Présentation - 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 - 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. 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é. 7) Les rapports Maven - Génération de rapports sur les tests. - Checkstyle, changelog, changes. Exercice Génération de rapports personnalisés. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 104

105 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 105

106 Stage pratique de 3 jour(s) Réf : AJJ Architecte d'intégration, responsable de déploiement, architecte de production, intégrateur, analyste et ingénieur d'exploitation. Connaissances de base des architectures techniques (système, notions de déploiement et d'intégration, n-tiers). Prix 2015 : 1875 HT 5 oct. 2015, 7 déc Java/JEE, déployer et administrer vos applications OBJECTIFS 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. 1) Introduction au langage et à la plateforme 2) Une plateforme, différentes architectures 3) Le packaging des applications et l'intégration 1) Introduction au langage et à la plateforme - 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. 2) Une plateforme, différentes architectures 4) Le déploiement d'applications JEE 5) Monitoring d'applications JEE 6) La performance des applications JEE - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 106

107 Stage pratique de 3 jour(s) Réf : TOC Administrateurs système, exploitants et intégrateurs. Connaissances de base des technologies Web, d'une architecture Java/Web (JSP/ Servlet) et des serveurs. Prix 2015 : 1795 HT 7 sep. 2015, 12 oct nov. 2015, 7 déc Aix 28 sep. 2015, 7 déc Bordeaux 5 oct. 2015, 30 nov Grenoble 28 sep. 2015, 7 déc Lille 28 sep. 2015, 7 déc Lyon 28 sep. 2015, 7 déc Montpellier 28 sep. 2015, 7 déc Nantes 5 oct. 2015, 30 nov Rennes 5 oct. 2015, 30 nov Sophia-antipolis 28 sep. 2015, 7 déc Strasbourg 28 sep. 2015, 7 déc Toulouse 5 oct. 2015, 30 nov Tomcat, administrer un serveur Web Java EE Best OBJECTIFS 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. 1) Contexte des applications JEE 2) Installation 3) Configuration 4) Les connecteurs 5) Sécurité 6) Journalisation 7) Performances et tests Les participants pourront mettre en œuvre les différentes techniques abordées sur des plateformes Linux et Windows. 1) Contexte des applications JEE - Les projets Apache. Les distributions de Tomcat. - JEE, Servlet, JSP et composants : architecture. 2) Installation - 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... Installation de Tomcat et paramétrage de base. 3) Configuration - 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. Configuration d'une application fournie. 4) Les connecteurs - HTTP 1.0 et 1.1 et connecteur Coyote. - Utilisation de Tomcat avec un serveur Proxy. - Intégration avec IIS et Apache. Protocoles AJP. - Configuration Tomcat In-Process et Out-of-Process. - Optimisation. Répartition de la charge. - Connecteurs JDBC : alternative et configuration. Accès à l'application fournie à travers un serveur Web et connexion à une base de données. 5) Sécurité - Principes. Sécurisation du système de fichiers. Les permissions. Java Security Manager et Tomcat. - Les "Realms" : message Digest, rôles, fichiers, JDBC. - SSL : JSSE et PureTLS. Sécurisation de l'application. 6) Journalisation - Projet Log4J. Sorties : console, fichier, syslog... - Logger. Niveaux de log. Lecture du journal. - Configuration par XML ou Java. Implémentation et configuration de logging de l'application. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 107

108 7) Performances et tests - Hébergement virtuel. - 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. Etablissement d'un plan de test pour l'application. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 108

109 Stage pratique de 4 jour(s) Réf : GLA Ce stage est destiné aux administrateurs systèmes, exploitants, intégrateurs et consultants voulant mettre en œuvre et maintenir GlassFish Server. Connaissances de base de XML et des concepts liés à la plateforme Java EE. Expérience requise en administration de systèmes. Prix 2015 : 2330 HT 15 sep. 2015, 24 nov GlassFish, administrer un serveur Java EE 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 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. Installation de GlassFish Server. 3) Administration de base 5) Configuration des ressources 6) Déploiement d'applications 7) Administration avancée 8) Haute disponibilité (HADB) - Présentation de la console d'administration. - Gestion et configuration des logs. Examen des logs. - Supervision de GlassFish avec la console. 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 109

110 8) Haute disponibilité (HADB) - Le load balancing. - La haute disponibilité. - Mécanisme de la réplication de la session. Mise en place d'un loadbalancer et d'un cluster. Configuration de la réplication de session. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 110

111 Stage pratique de 3 jour(s) Réf : JBO Administrateurs système, exploitants et intégrateurs souhaitant administrer et déployer des applications JavaEE sur JBoss 7. Connaissances de base dans l'administration d'un système d'exploitation et en Java. Prix 2015 : 1795 HT 14 sep. 2015, 12 oct nov. 2015, 14 déc Aix 5 oct. 2015, 7 déc Bordeaux 19 oct. 2015, 14 déc Bruxelles 16 nov Geneve 16 nov Grenoble 5 oct. 2015, 7 déc Lille 5 oct. 2015, 7 déc Luxembourg 16 nov Lyon 5 oct. 2015, 7 déc Montpellier 5 oct. 2015, 7 déc Nantes 19 oct. 2015, 14 déc Rennes 19 oct. 2015, 14 déc Sophia-antipolis 5 oct. 2015, 7 déc Strasbourg 5 oct. 2015, 7 déc Toulouse 19 oct. 2015, 14 déc JBoss, administrer un serveur Java EE Best Ce cours présentera l'ensemble des caractéristiques de base de JBoss 7. 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 JBoss 7 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 JBoss 7 Optimiser les performances du serveur d'application JBoss 7 Sécuriser les accès aux applications déployées 1) Introduction à JEE 2) Introduction à JBoss 3) Bases de l'administration JBoss 4) Configuration en mode autonome 1) Introduction à JEE - Principes fondamentaux de Java et de JavaEE. - Architectures des applications JavaEE. - Les serveurs d'applications. 2) Introduction à JBoss - Principes de l'open Source. - L'Open Source professionnel avec RedHat. - JBoss, serveur d'applications certifié JavaEE. - L'architecture de JBoss (MSC, DMR, Modules...). Exercice Installation de JBoss 7. 3) Bases de l'administration JBoss 5) Suivi du serveur 6) Administration d'un domaine 7) Optimisation des performances 8) Sécurité - Principe des configurations. - Déploiement d'applications JavaEE (ear), d'applications Web (war) et de composants EJB (jar). - Déploiement de Driver JDBC 4, de DataSources et de modules partagés. Exercice Déploiement d'une DataSource et d'un driver JDBC 4. 4) Configuration en mode autonome - Description des modes autonome et domaine. - Les configurations autonomes (default, full, ha, full-ha). - Les outils de configuration : console Web, jboss-cli, HTTP. - Modes de déploiement : autonome, partiel, jboss-cli... Exercice Déployer des composants war, jar et ear. 5) Suivi du serveur - Les outils d'inspection intégrés. - Outils de supervision JMX : jconsole, jvisualvm. - Exploitation des logs du serveur. - Intégration de logs applicatifs avec Log4J et SLF4J. Exercice Configurer les logs du serveur et des applications. 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. - Modes de déploiement : console web et jboss-cli. - Déploiement d'applications en domaine. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 111

112 Exercice Configurer un domaine avec plusieurs hosts. 7) Optimisation des performances - Réglage VM : Heap, JIT client ou serveur, 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é. Exercice 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 (JAAS). - Les méthodes d'authentification : basic, form... - Les Realms : JDBCRealm, LDAPRealm... - Sécuriser les échanges avec SSL. Exercice Contrôler l'accès aux applications avec JAAS. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 112

113 Stage pratique de 2 jour(s) Réf : JBA Développeurs ou exploitant d'application JEE. Bonnes connaissances de l'administration JBoss. Expérience requise. JBoss, haute disponibilité OBJECTIFS Ce cours avancé vous permettra de mettre en place des architectures en cluster avec 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é. 1) Concepts du clustering 2) Fonctionnalités de clustering de JBoss 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 - Auto-discovery, Farming, Partitions. - Sous-projets concernés Java Groups, JBoss Cache. - Différents services de réplication. - Clients lourds/clients Web. 3) Mise en place d'un cluster - La configuration " all ": installation, configuration. Farming. 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. - Configuration workers.properties. 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 MBean TomcatClusteringCache. - Granularité de la réplication. - Configuration des triggers de réplication. - Single Sign On. - JBoss Cache en mode cluster : Architecture. Réplication de cache et transactions. Invalidation. Transfert d'état. 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. Le MBean HAJNDI. - EJB session : Rappels sur la configuration des pools. EJB 2.x/3.0 stateless et stateful. - JBoss Cache et les EJB 3.0. EJB3EntityTreeCache. - Configuration des entity beans. 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. Mise en place d'ejb MDB répliqués. Observation du comportement lors d'une défaillance. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 113

114 Stage pratique de 2 jour(s) Réf : JON Développeurs et administrateurs d'applications Java J2EE. JOnAS, administrer un serveur Java EE 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. Bonnes connaissances de Java et des EJB. Prix 2015 : 1380 HT 1) Introduction et rappels 2) Les EJB 3) Mise en œuvre dans JOnAS 4) La persistance en détails 5) La sécurité dans JOnAS 12 nov ) Introduction et rappels - Architectures distribuées et n-tiers. - Définition de J2EE, ses sous-spécifications. 2) Les EJB - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 114

115 Stage pratique de 5 jour(s) Réf : IBW Ce stage est destiné aux administrateurs système, intégrateurs... voulant mettre en oeuvre et maintenir les serveurs d'applications Websphere 7.x. Connaissances de base de l'administration des systèmes d'exploitation et des concepts associés aux technologies Java. IBM Websphere Application Server v7.x, administration OBJECTIFS Websphere Application Server est une solution incontournable dans le marché des serveurs d'application Java/JEE. Il est basé sur la spécification Java EE 5. Cette formation pratique vous montrera comment mettre en place, configurer, déployer vos applications JEE et optimiser le serveur Websphere. Elle n'est proposée qu'en intra-entreprise dans les organisations possédant ce produit. 1) Introduction 2) Architecture de Websphere Application Server (WAS) 3) Administration de base 4) Administration par Scripts 5) Configuration des ressources 6) Déploiement d'applications 7) Administration avancée 1) Introduction - Architecture N-tiers. - Serveurs d'application dans l'entreprise (Proxy, Firewall...). - Plateforme Java EE (Web, EJB, connecteurs). - Support Web 2.0 (Ajax, SOA...). - Services de supports (JDBC, JNDI, JTA, JMS, JMX, RMI, IIOP, JAX-WS...). - Vue d'ensemble de la famille de produits Websphere. - Les nouvelles fonctionnalités par rapport à la version 6. 2) Architecture de Websphere Application Server (WAS) - Distributions (Base, Express, Network Deployment). - Serveurs d'application, Job Manager, Node, Cell, Agents. - Services applicatifs. - Notion de profils : types, création. - Modes et étapes d'installation. - Démarrage et tests. Installation de Websphere Server. 3) Administration de base - Présentation de la console d'administration. - Principes de fonctionnement. - Gestion des logs. - Sécurisation de la console. - Utilisation de Deployment Manager, Job Manager - Gestion des instances. - Gestion des noeuds (Nodes). - Hôtes virtuels (Virtual Hosts). Configuration des logs. Création des instances. Démarrage/Arrêt des instances. 4) Administration par Scripts - Principes. - Notions Jython, JACL. - Utilisation de wsadmin (démarrage, configuration et commandes...). - Tâches administratives de base avec wsadmin (Deployment Manager, Nodes, Instances, Configuration des Web Server Plug-in). Administration avec wsadmin. 5) Configuration des ressources - Ressources JDBC. JDBC Provider. JDBC DataSources (pools de connexion). - Ressources JavaMail. Session JavaMail. JavaMail Provider. - URL Providers. Configuration de ressources (DataSource, Session JavaMail). 6) Déploiement d'applications - Différents types d'applications et Web Services ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 115

116 - Structures des unités de déploiement (JAR, WAR, EAR et RAR). - Assemblage d'applications. - Assemblage d'application avec AST. - Installation des applications (WAR, EAR). - Composant Web, EJB 3.x, connecteurs, Web Services - Gestion des sessions, SIP. - Déploiement parallèle (multiples versions). - Websphere Rapid Deployment (RAD) et mise à jour d'applications. Installation des applications (Web et Entreprise). 7) Administration avancée - Mise en place d'un serveur Web IBM. - Principes de fonctionnement des plug-ins IBM. - Administration à distance des serveurs Web. - Configuration des plug-ins. - Mise en place des clusters. - Répartition de charges et tolérance aux pannes. - Introduction à la plate-forme Websphere Messaging, Websphere ESB. - Sécurité Websphere (Sécurité déclarative, SSL...). - Class Loaders. - Détermination des problèmes. Installation de serveur Web IBM. Mise en place d'un cluster. Mise en place d'un proxy. Sécurisation des applications. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 116

117 Stage pratique de 5 jour(s) Réf : LJV Concepteur, développeur, ingénieur, chef de projets opérationnel. Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Prix 2015 : 2500 HT 24 aoû. 2015, 28 sep oct. 2015, 16 nov déc Aix 5 oct. 2015, 14 déc Bordeaux 14 sep. 2015, 30 nov Bruxelles 21 sep. 2015, 16 nov Geneve 21 sep. 2015, 16 nov Grenoble 5 oct. 2015, 14 déc Lille 5 oct. 2015, 14 déc Luxembourg 21 sep. 2015, 16 nov Lyon 5 oct. 2015, 14 déc Montpellier 5 oct. 2015, 14 déc Nantes 14 sep. 2015, 30 nov Rennes 14 sep. 2015, 30 nov Sophia-antipolis 5 oct. 2015, 14 déc Strasbourg 5 oct. 2015, 14 déc Toulouse 14 sep. 2015, 30 nov Développer en Java, pour programmeurs C/C++ Best 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 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) 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 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 - 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. L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) La programmation objet avec Java - 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 117

118 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é. 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é. Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 118

119 Stage pratique de 4 jour(s) Réf : JOT Développeurs, ingénieurs, chefs de projets proches du développement. Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2015 : 2330 HT 22 sep. 2015, 1 déc Aix 24 nov Bordeaux 15 sep. 2015, 1 déc Bruxelles 29 sep. 2015, 24 nov Geneve 29 sep. 2015, 24 nov Grenoble 24 nov Lille 24 nov Luxembourg 29 sep. 2015, 24 nov Lyon 24 nov Montpellier 24 nov Nantes 15 sep. 2015, 1 déc Rennes 15 sep. 2015, 1 déc Sophia-antipolis 24 nov Strasbourg 24 nov Toulouse 15 sep. 2015, 1 déc Java, optimisation développer des applications efficaces et fiables OBJECTIFS 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. 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 1) Méthodologie et outils pour l'optimisation 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++ - 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. 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. Démonstrations de l'amélioration des performances de l'application. 3) L'optimisation et les librairies standard - La manipulation des String. Les classes Collection. Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des String et des Collection. 4) L'optimisation et quelques Design Patterns - L'utilisation des interfaces et des classes abstraites. - L'utilisation de fabriques. - L'utilisation d'adaptateurs, décorateurs, proxies. 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. 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é avant Java5. - Le modèle d'activité de Java5. La nouvelle API. - Les Threads et l'optimisation. Démonstrations de l'optimisation des Threads. 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). ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 119

120 - Les évolutions Java6 : le Garbage Collector. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 120

121 Stage pratique de 5 jour(s) Réf : JAP Développeurs, ingénieurs, chefs de projets proches du développement. Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2015 : 2500 HT 19 oct. 2015, 7 déc Aix 14 sep. 2015, 16 nov Bordeaux 21 sep. 2015, 23 nov Bruxelles 30 nov Geneve 30 nov Grenoble 14 sep. 2015, 16 nov Lille 14 sep. 2015, 16 nov Luxembourg 30 nov Lyon 14 sep. 2015, 16 nov Montpellier 14 sep. 2015, 16 nov Nantes 21 sep. 2015, 23 nov Rennes 21 sep. 2015, 23 nov Sophia-antipolis 14 sep. 2015, 16 nov Strasbourg 14 sep. 2015, 16 nov Toulouse 21 sep. 2015, 23 nov Java, programmation avancée Best OBJECTIFS 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. 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 Ce cours illustre les principes exposés par la construction progressive d'une application en Java. 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 - La définition de nouvelles annotations. - Les @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... 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. 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. - 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. Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent). ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 121

122 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. 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. 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. 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 122

123 Stage pratique de 1 jour(s) Réf : KDX Candidats à la certification FFP "Développeur d'applications Java". Avoir suivi l'intégralité des stages du cycle certifiant "Développeur d'applications Java". Prix 2015 : 530 HT 23 nov 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 pour JEE 5 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 pour JEE 5 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 Certification Développeur d'applications Java 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 Certification 3) Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. 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) - Analyse d'une expression de besoin. - Implémentation logicielle de la solution en Java et utilisation d'outils associés. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 123

124 Stage pratique de 5 jour(s) Réf : LJV Concepteur, développeur, ingénieur, chef de projets opérationnel. Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Prix 2015 : 2500 HT 24 aoû. 2015, 28 sep oct. 2015, 16 nov déc Aix 5 oct. 2015, 14 déc Bordeaux 14 sep. 2015, 30 nov Bruxelles 21 sep. 2015, 16 nov Geneve 21 sep. 2015, 16 nov Grenoble 5 oct. 2015, 14 déc Lille 5 oct. 2015, 14 déc Luxembourg 21 sep. 2015, 16 nov Lyon 5 oct. 2015, 14 déc Montpellier 5 oct. 2015, 14 déc Nantes 14 sep. 2015, 30 nov Rennes 14 sep. 2015, 30 nov Sophia-antipolis 5 oct. 2015, 14 déc Strasbourg 5 oct. 2015, 14 déc Toulouse 14 sep. 2015, 30 nov Développer en Java, pour programmeurs C/C++ Best 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 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) 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 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 - 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. L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) La programmation objet avec Java - 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 124

125 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é. 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é. Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 125

126 Stage pratique de 5 jour(s) Réf : JSP Informaticiens souhaitant développer des applications Web avec les technologies Java/JEE. Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2015 : 2500 HT 24 aoû. 2015, 21 sep oct. 2015, 23 nov déc Aix 16 nov Bordeaux 30 nov Bruxelles 14 sep. 2015, 16 nov Geneve 14 sep. 2015, 16 nov Grenoble 16 nov Lille 16 nov Luxembourg 14 sep. 2015, 16 nov Lyon 16 nov Montpellier 16 nov Nantes 30 nov Rennes 30 nov Sophia-antipolis 16 nov Strasbourg 16 nov Toulouse 30 nov Java, développement de servlets et JSP pour JEE 5 Best OBJECTIFS Ce cours vous permettra de mener à bien un projet Web d'entreprise basé sur la plateforme Java. Vous découvrirez les architectures MVC afin de construire des solutions robustes et facilement extensibles, avec entre autres une introduction au développement à l'aide de l'environnement Apache Struts. Les connaissances acquises par la pratique sur Tomcat, ainsi que sur des outils de développement comme Eclipse vous permettront de construire vos solutions sur les différents serveurs d'applications Java comme WebLogic, WebSphere, JBoss ou Jonas. 1) Rappel sur le contexte des applications Web d'entreprise 2) Développement Web en Java 3) Applications Web et servlets 4) Présentation des Java Server Pages 5) Les librairies de balises 6) Accès aux bases de données 7) Introduction à Struts 8) Sécurisation de l'application Développement d'une application Web en Java. Utilisation du conteneur de servlet/jsp, Tomcat. Environnement de développement Eclipse. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Scripts CGI et gestion des sessions. - Accès aux ressources de l'entreprise : SGBDR, base documentaire et XML, annuaire, application héritée. - HTML-XML, applets Java. La plateforme JEE. Architecture multitiers. 2) Développement Web en Java - Composants nécessaires à l'utilisation de Java côté serveur. Serveur Web. Moteur de servlet. Java Virtual Machine. - Outils de développement et de débogage : NetBeans et Eclipse. - Architecture du conteneur Web Tomcat d'apache. Déploiement des servlets et pages JSP. - Développement d'une première servlet. Génération de contenu dynamique. Mise en place de l'environnement. Développement d'une servlet. 3) Applications Web et servlets - Le conteneur de servlets. Le cycle de vie d'une servlet. Initialiser une servlet. Ecrire les méthodes de services. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - Filtrage des requêtes/réponses. Programmation des filtres. - 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. Gestion et emploi des exceptions Java. - Envoi d'erreurs http. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. Développement d'une application à base de servlets exploitant l'environnement du conteneur Web. 4) Présentation des Java Server Pages - Présentation des objectifs et de l'architecture. Mécanisme de fonctionnement. Exemples de pages JSP. - Les scriplets. Intégration dans la page Web. Directives, déclarations, expressions et actions JSP. - Inclusion statique vs dynamique. Versions du langage, syntaxe XML. - Utilisation de JavaBeans à partir de page JSP. Définition, création, déploiement et utilisation. - Accès et modification à partir d'une page JSP. - Développement d'application à l'aide de JSP. Combinaison JSP et servlets. - Inclusion d'applets. - Accès aux ressources de l'entreprise. Développement d'une application Web mettant en oeuvre servlets et JSP. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 126

127 5) Les librairies de balises - Principe des librairies et extensions de balises. Fonctionnement. Exemple. - Développement d'extension de balises. Balises simples, avec attributs, avec corps. Déployer et exploiter une librairie. - Présentation de JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. Exemples. - Les bibliothèques : core, XML, i18n, SQL, fonctions. Développement de librairies de balises. Intégration de JSTL aux applications développées. 6) 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. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). Développement d'une application Web présentant des données d'un SGBDR. 7) Introduction à Struts - Présentation du framework MVC Struts. Architecture. Composants du framework. - Configuration de l'application. - Gestion des événements. - Extension et librairies de balises. Adaptation de l'application au modèle MVC avec Struts. 8) Sécurisation de l'application - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité et programmation de servlets. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. - Configuration de Tomcat. Ajout de la sécurisation d'accès au site construit. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 127

128 Stage pratique de 4 jour(s) Réf : JEB Développeurs d'applications, responsables informatiques, architectes, chefs de projets, ingénieurs, etc. Très bonnes connaissances du langage Java. Connaissances de base des servlets et des JSP. Expérience requise en développement d'applications Java. Prix 2015 : 2330 HT 22 sep. 2015, 1 déc Développer des EJB3 en Open Source OBJECTIFS La nouvelle architecture EJB3 vise à simplifier la mise en œuvre d'ejb. Avec de nombreux travaux pratiques, ce cours vous permettra de maîtriser le développement d'ejb3 et son intégration dans une application d'entreprise. 1) L'architecture et les serveurs d'applications 2) Rappels sur les Servlets et JSP 3) L'architecture EJB 3 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 Environnement Open Source Eclipse 3 et NetBeans 5.5 pour le développement, et JBoss 4 et GlassFish comme serveurs d'applications. 1) L'architecture et les serveurs d'applications - Architectures n-tiers. Evolution du client-serveur. - Architectures distribuées :.NET, RMI, CORBA, EJB. - JEE : 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 JEE. - Le serveur d'applications Open Source JBoss : architecture, marché, perspectives. - Eclipse/JBoss-IDE, un standard pour le développement JEE en Open Source. - NetBeans IDE, l'ide Open Source émergent pour le développement JEE. 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 EJB 3 - La spécification EJB 3. 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 EJB 3. - Le rôle du conteneur d'ejb. - Principe et rôle de JNDI (Java Naming and Directory Interface). Localisation des EJB 3 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. - 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 128

129 - 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 JEE. - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 129

130 Stage pratique de 1 jour(s) Réf : KJX Candidats à la certification FFP "Développeur JEE". Avoir suivi l'intégralité des stages du cycle certifiant "Développeur JEE". Prix 2015 : 530 HT 31 aoû. 2015, 16 nov 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 pour JEE 5 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 Certification Développeur 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 Certification 3) Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. 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 EJB. 3) - 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 130

131 Stage pratique de 5 jour(s) Réf : LJV Concepteur, développeur, ingénieur, chef de projets opérationnel. Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. Prix 2015 : 2500 HT 24 aoû. 2015, 28 sep oct. 2015, 16 nov déc Aix 5 oct. 2015, 14 déc Bordeaux 14 sep. 2015, 30 nov Bruxelles 21 sep. 2015, 16 nov Geneve 21 sep. 2015, 16 nov Grenoble 5 oct. 2015, 14 déc Lille 5 oct. 2015, 14 déc Luxembourg 21 sep. 2015, 16 nov Lyon 5 oct. 2015, 14 déc Montpellier 5 oct. 2015, 14 déc Nantes 14 sep. 2015, 30 nov Rennes 14 sep. 2015, 30 nov Sophia-antipolis 5 oct. 2015, 14 déc Strasbourg 5 oct. 2015, 14 déc Toulouse 14 sep. 2015, 30 nov Développer en Java, pour programmeurs C/C++ Best 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 1) Les techniques Objet 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (AWT, Swing) 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 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 - 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. L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) La programmation objet avec Java - 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. 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. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 131

132 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é. 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é. Sauvegarde/consultation de données dans une BD. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 132

133 Stage pratique de 5 jour(s) Réf : JSP Informaticiens souhaitant développer des applications Web avec les technologies Java/JEE. Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. Prix 2015 : 2500 HT 24 aoû. 2015, 21 sep oct. 2015, 23 nov déc Aix 16 nov Bordeaux 30 nov Bruxelles 14 sep. 2015, 16 nov Geneve 14 sep. 2015, 16 nov Grenoble 16 nov Lille 16 nov Luxembourg 14 sep. 2015, 16 nov Lyon 16 nov Montpellier 16 nov Nantes 30 nov Rennes 30 nov Sophia-antipolis 16 nov Strasbourg 16 nov Toulouse 30 nov Java, développement de servlets et JSP pour JEE 5 Best OBJECTIFS Ce cours vous permettra de mener à bien un projet Web d'entreprise basé sur la plateforme Java. Vous découvrirez les architectures MVC afin de construire des solutions robustes et facilement extensibles, avec entre autres une introduction au développement à l'aide de l'environnement Apache Struts. Les connaissances acquises par la pratique sur Tomcat, ainsi que sur des outils de développement comme Eclipse vous permettront de construire vos solutions sur les différents serveurs d'applications Java comme WebLogic, WebSphere, JBoss ou Jonas. 1) Rappel sur le contexte des applications Web d'entreprise 2) Développement Web en Java 3) Applications Web et servlets 4) Présentation des Java Server Pages 5) Les librairies de balises 6) Accès aux bases de données 7) Introduction à Struts 8) Sécurisation de l'application Développement d'une application Web en Java. Utilisation du conteneur de servlet/jsp, Tomcat. Environnement de développement Eclipse. 1) Rappel sur le contexte des applications Web d'entreprise - Serveur et client Web. - Protocoles applicatifs (HTTP). - Scripts CGI et gestion des sessions. - Accès aux ressources de l'entreprise : SGBDR, base documentaire et XML, annuaire, application héritée. - HTML-XML, applets Java. La plateforme JEE. Architecture multitiers. 2) Développement Web en Java - Composants nécessaires à l'utilisation de Java côté serveur. Serveur Web. Moteur de servlet. Java Virtual Machine. - Outils de développement et de débogage : NetBeans et Eclipse. - Architecture du conteneur Web Tomcat d'apache. Déploiement des servlets et pages JSP. - Développement d'une première servlet. Génération de contenu dynamique. Mise en place de l'environnement. Développement d'une servlet. 3) Applications Web et servlets - Le conteneur de servlets. Le cycle de vie d'une servlet. Initialiser une servlet. Ecrire les méthodes de services. - Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. - Filtrage des requêtes/réponses. Programmation des filtres. - 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. Gestion et emploi des exceptions Java. - Envoi d'erreurs http. Journalisation des événements. - Les différentes méthodes de suivi de session. Obtention, consultation et abandon de session. Contexte de session. Développement d'une application à base de servlets exploitant l'environnement du conteneur Web. 4) Présentation des Java Server Pages - Présentation des objectifs et de l'architecture. Mécanisme de fonctionnement. Exemples de pages JSP. - Les scriplets. Intégration dans la page Web. Directives, déclarations, expressions et actions JSP. - Inclusion statique vs dynamique. Versions du langage, syntaxe XML. - Utilisation de JavaBeans à partir de page JSP. Définition, création, déploiement et utilisation. - Accès et modification à partir d'une page JSP. - Développement d'application à l'aide de JSP. Combinaison JSP et servlets. - Inclusion d'applets. - Accès aux ressources de l'entreprise. Développement d'une application Web mettant en oeuvre servlets et JSP. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 133

134 5) Les librairies de balises - Principe des librairies et extensions de balises. Fonctionnement. Exemple. - Développement d'extension de balises. Balises simples, avec attributs, avec corps. Déployer et exploiter une librairie. - Présentation de JSTL (Java Standard Tag Library). Concevoir des JSP avec JSTL. Exemples. - Les bibliothèques : core, XML, i18n, SQL, fonctions. Développement de librairies de balises. Intégration de JSTL aux applications développées. 6) 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. - Correspondance BDR/Modèles objet. Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). Développement d'une application Web présentant des données d'un SGBDR. 7) Introduction à Struts - Présentation du framework MVC Struts. Architecture. Composants du framework. - Configuration de l'application. - Gestion des événements. - Extension et librairies de balises. Adaptation de l'application au modèle MVC avec Struts. 8) Sécurisation de l'application - La sécurité dans un contexte Web. Notions de users, realms, rôles. - Authentification et autorisation. - Sécurité et programmation de servlets. - Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. - Configuration de Tomcat. Ajout de la sécurisation d'accès au site construit. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 134

135 Stage pratique de 5 jour(s) Réf : DSJ Ce cours est destiné aux développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java. Bonnes connaissances du langage Java. Connaissances de base en XML. Expérience requise en développement Java. Prix 2015 : 2500 HT 21 sep. 2015, 19 oct nov. 2015, 14 déc Aix 12 oct. 2015, 7 déc Bordeaux 26 oct. 2015, 14 déc Bruxelles 12 oct. 2015, 7 déc Geneve 12 oct. 2015, 7 déc Grenoble 12 oct. 2015, 7 déc Lille 12 oct. 2015, 7 déc Luxembourg 12 oct. 2015, 7 déc Lyon 12 oct. 2015, 7 déc Montpellier 12 oct. 2015, 7 déc Nantes 26 oct. 2015, 14 déc Rennes 26 oct. 2015, 14 déc Sophia-antipolis 12 oct. 2015, 7 déc Strasbourg 12 oct. 2015, 7 déc Toulouse 26 oct. 2015, 14 déc Développer des Web Services en Java Best OBJECTIFS 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. 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 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. 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. Envoi de requêtes SOAP. Interprétation des réponses. Déploiement d'un Web Service. 4) Le langage de description des Web Services - Comprendre comment décrire un Web Service en XML. - Introduction à WSDL. Anatomie d'un document WSDL. - WSDL et Java. Créer un fichier WSDL décrivant un Web Service. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 135

136 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. 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. 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. 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. 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). Sécurisation de l'application globale. ORSYS, La Grande Arche, Paroi Nord, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 136

137 Stage pratique de 1 jour(s) Réf : KWX Candidats à la certification FFP "Développeur Web Java". Avoir suivi l'intégralité des stages du cycle certifiant "Développeur Web Java". Prix 2015 : 530 HT 28 sep. 2015, 30 nov Certification Développeur Web en Java 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 Certification 3) Dans le cadre de cette journée, les participants auront à répondre à un QCM ainsi qu'une étude de cas à mener. 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) - 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, La Défense cedex. Tél : +33 (0) Fax : +33(0) page 137

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

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

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

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

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

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

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

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting [email protected] Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

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

J2EE - Introduction. Développement web - Java. Plan du chapitre Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]

Plus en détail

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

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

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

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

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

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire Objectifs Formations Expériences Professionnelles Hassene BELGACEM http://belgacem.hassene.netcv.com S intégrer dans une équipe de développement de haute compétence et participer activement dans la réalisation

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : [email protected] GSM : Organisme

Plus en détail

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

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

Plus en détail

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Catalogue des Formations

Catalogue des Formations Catalogue des Formations When skills meet your need Pilotage et management SI Base de donnée et Aide à la décision Développement www.intellectus.ma www.fb.com/intellectusconsulting [email protected]

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

F O R M A T I O N CATALOGUE 2015. www.oosphere.ch

F O R M A T I O N CATALOGUE 2015. www.oosphere.ch F O R M CATALOGUE 2015 A T I O N Liste des formations POO, Patterns, bonnes pratiques Principes et conception objet 1 Programmation orientée objet 2 Mise en oeuvre des Design Patterns 3 Conception Java

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

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

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant Adresse Personnelle : 3, allée du Roussillon 91300 Massy Téléphone : (+33) 06 78 37 34 82 E-mail : [email protected]

Plus en détail

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

Plus en détail

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05 J2EE in practice Olivier Liechti Patrik Fuhrer Informatics Computer Science Master Course - SH 2004/05 Introduction Dans le cours ASE, nous avons: étudié une plate-forme de développement distribuée: Java

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

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

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2 LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

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

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur

Plus en détail

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

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : [email protected] Disponibilité : En poste chez Soft Computing Développeur Web JEE

Plus en détail

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

GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework Introduction à MOBIDICK Modular But Integrated Application Framework MOBIDICK 3 Standard Edition Community & Enterprise Principaux avantages et fonctionnalités GECKO Software http://consulting.bygecko.com

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

10. Base de données et Web. OlivierCuré [[email protected]]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

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

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

Plus en détail

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

Formation : Langues : Types d Intervention et Secteurs d Activité : Ismail HACHOUM 142, Rue Georges Pompidou, 59110 La Madeleine - FRANCE Email : [email protected] Tél: +33(0) 650 198 937 27 ans - Marié Permis B Ingénieur Etudes et Développement Java/JEE Formation

Plus en détail

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

Mettez les évolutions technologiques au service de vos objectifs métier Mettez les évolutions technologiques au service de vos objectifs métier 2 OXIA a pour mission de concevoir et mettre en oeuvre les meilleures solutions technologiques visant à améliorer la productivité,

Plus en détail

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Applications distribuées: le retour du client "riche"

Applications distribuées: le retour du client riche Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1 Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture

Plus en détail

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

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

CATALOGUE DE FORMATIONS

CATALOGUE DE FORMATIONS CATALOGUE DE FORMATIONS Des formations adaptées aux entreprises pour la performance des femmes et des hommes de demain Révélateur des talents de demain Paris Lyon Toulouse Marseille - Strasbourg ORT France-

Plus en détail

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno ([email protected])

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno (jacky.renno@capgemini.com) Glassfish dans le milieu médical Jacky Renno ([email protected]) Plan Contexte Métier Technique Eléments structurants Approche Méthodologie et Outillage Choix de Glassfish Automatisation Industrialisation

Plus en détail

Master Sciences et Technologies Mention Informatique Spécialité E-Services en Alternance

Master Sciences et Technologies Mention Informatique Spécialité E-Services en Alternance Master Sciences et Technologies Mention Informatique Spécialité E-Services en Alternance Le Master Informatique E-Services de l'université de Lille 1 s'adresse à tout étudiant(e) titulaire d'une première

Plus en détail

Cyrille GUERIN [email protected] 823, place Soulanges 514 967-3529 Brossard, J4X1L8

Cyrille GUERIN cyrille@cyrgue.com 823, place Soulanges 514 967-3529 Brossard, J4X1L8 Cyrille GUERIN [email protected] 823, place Soulanges 514 967-3529 Brossard, J4X1L8 16 années d expérience dans la conception d applications WEB, JAVA/J2EE/Javascript COMPÉTENCES Architecture, conception

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

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

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

Le 09 et 10 Décembre 09

Le 09 et 10 Décembre 09 Séminaire de 2 jours Le 09 et 10 Décembre 09 Mettez les évolutions technologiques au service de vos objectifs métier 2 OXIA a pour mission de concevoir et mettre en œuvre les meilleures solutions technologiques

Plus en détail

Evaluation Idéopass Cahier d analyse technique

Evaluation Idéopass Cahier d analyse technique Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS Contenu détaillé de la spécialité : SIMO : SYSTEMES D'INFORMATION, METHODES ET OUTILS (ASSISTANT CHEF DE PROJET INFORMATIQUE) Contenu détaillé

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

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

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience I0049 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE 27 ans - 5 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels Roumain (Langue maternelle), Russe (Avancé), Anglais (Intermédiaire),

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

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

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d

Plus en détail

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

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages

Plus en détail

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

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

LICENCE PROFESSIONNELLE

LICENCE PROFESSIONNELLE LICENCE PROFESSIONNELLE Développement d'applications Intranet/Internet Domaine : Sciences, Technologies, Santé Dénomination nationale : Systèmes informatiques et logiciels Organisation : Institut Universitaire

Plus en détail

Laurent JOLIN. Compétences. Expériences professionnelles. Architecte technique. 15, rue Jean Favier 31500 Toulouse ljolin@gmail.

Laurent JOLIN. Compétences. Expériences professionnelles. Architecte technique. 15, rue Jean Favier 31500 Toulouse ljolin@gmail. 15, rue Jean Favier 31500 Toulouse [email protected] 34 ans Laurent JOLIN Architecte technique 2003 Diplôme de chef de projet informatique, spécialité «génie logiciel» Ecole Privée des Sciences Informatiques

Plus en détail

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

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 WEBSERVICES Michael Fortier Master Informatique 2ème année [email protected] A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels

Plus en détail

Ociensa Technologies. www.ociensa.com

Ociensa Technologies. www.ociensa.com Nouvelles formations 2013 Le framework Zend 2 Le framework Zend 2 et l'orm Doctrine 2 WordPress pour créer un site Web ou un blog Développement et Formation Informatique Java EE - PHP - Zend - Doctrine

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle [email protected] Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : [email protected] 2 Préambule

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

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

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS Expertise - Formation Production www.neobject.fr Fabien GUIBERT 34 ans, 11 ans d expérience d expérience Indépendant COMPETENCES / DOMAINES METIERS Conseil et Audit en Architecture du SI Gestion de Projets

Plus en détail

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

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2 Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

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

30 ans d ingénierie, 23 ans de conseil en architecture de SI Michel LABARRE 56 ans Tel +33 6 83 48 65 44 Mail [email protected] Web http://mlabarre.fr Architecte Direction de projets Conception Développement Conseil 30 ans d ingénierie, 23 ans de conseil

Plus en détail

CALENDRIERS DES FORMATIONS 2015- LILLE

CALENDRIERS DES FORMATIONS 2015- LILLE CALENDRIERS DES FORMATIONS 2015- LILLE Pour les dates sur PARIS, TOULOUSE, NANTES, LYON, STRASBOURG et AIX télécharger les calendriers sur www.3itforms.fr 3it FORMATION 56/58 Boulevard de la République

Plus en détail

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

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique Master Informatique et Systèmes Architecture des Systèmes d Information 03 Architecture Logicielle et Technique Damien Ploix 2014-2015 Démarche d architecture SI : structuration en vues Quels métiers?

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

31 ans - 8 ans d'expérience

31 ans - 8 ans d'expérience B0052 T EAM LEADER SENIOR JAVA - J2EE 31 ans - 8 ans d'expérience Expert ises mét iers : Langues : Cert if icat ions : Editeur de logiciels, Telecoms, Banque, finance Roumain (Langue maternelle), Anglais

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - [email protected]

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - [email protected] 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

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

Consultant MOE/Référent technique JAVA/J2EE JSF, RICH FACES SS Consultant MOE/Référent technique JAVA/J2EE JSF, RICH FACES FORMATIONS ET DIPLOMES Certification SCRUM Master (AgilBee) 2009. Formation TDD 2008. Diplômé de l Institut Supérieur des Etudes Technologiques

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail