Table des matières
Transcription
Table des matières
OBJIS : 10 ans d'expérience en formation JAVA Programme détaillé formation 'Développeur Java web Mobile' OBJIS Congo Objectifs : fournir les connaissances théoriques et pratiques permettant d'intégrer un projet JAVA Entreprise Audience : toute personne déterminée à exercer un métier porteur de développeur Java Web Mobile Prérequis : connaissances de base en informatique Durée : 600 heures en cours du soir (sur 2 ans) ou cours du jour (sur 1 an) Contact : 00 242 04 490 55 12 / [email protected] Table des matières Vous allez apprendre à :........................................................................................................................2 Programme détaillé 1ère année : fondamentaux Java et Jee................................................................2 Programme détaillé 2ème année: perfectionnement Jee et mobilité....................................................5 Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Vous allez apprendre à : • Maîtriser les concepts clés de la Programmation Orientée Objet (POO) • Développer des applications JAVA type 'client lourd' • Accéder à une base de données avec JAVA • Développer des applications Web en JAVA • Valider votre expertise à travers des mini-projets en binôme • Augmenter la productivité de vos développements • Développer des applications Mobile avec ANDROID • Valider votre expertise à travers des mini-projets en binôme Programme détaillé 1ère année : fondamentaux Java et Jee Introduction Atouts java : portabilité, sécurité, réseau, gestion mémoire Comparaison Java et C/C++, PHP, C#, Visual basic Lien entre java standard (jse), java entreprise (jee) et java micro (jme) Notion de JSR : Java Specification Request Notion de JCP : Java Community Process Historique : java a 20 ans ! Développement Java cycle : coder, compiler, exécuter, déployer outils clés de java : javac, java, jar, javadoc Byte code, machine virtuelle Java (JVM) Ramasse-miettes Java : Garbage Collector Gestion des exceptions dans java Différence entre JRE et JDK Environnement Eclipse Valeur ajoutée d’un environnement de développement Comparaison Eclipse / Netbeans Notions de vues, perspectives, plugins , MarketPlace Génération de la Javadoc, Génération d’un livrable Jar API Java java.lang, java.util, java.io Librairies de base Java Virtual Machine (JVM) Technologies d’intégration (JDBC, RMI, JNDI) Technologies de déploiement java Généricité, bouche for étendue Javadoc API JSE 8 Bases du langage Types primitifs, types Objets Tableaux dans java Chaînes de caractères dans java Opérateurs et Instructions Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Notion de package Gestion des exceptions java Programmation Objet : Définition de classes Java Définitions de classes et fichiers source java méthodes, arguments, Champs, portée public, private, protected, default Organisation des fichiers et packages Importation de classes java Constructeurs , this, super Conteneurs du JDK et classes string Méthode toString() Méthodes main() et points d’entrée Concepts objets Classe et Objet Encapsulation Héritage (super) Interface Polymorphisme Surcharge, redéfinition Classes utilitaires Classe de base : Object, Integer, String, StringBuffer, Math Les Collections : Vector, List, HashMap, … Entrées / Sorties Lectures / écritures dans un fichier Sérialisation Accès aux données Introduction java JDBC Différences api java.sql et javax.sql Approche classique : Connection, Statement, ResultSet Interface Rowset, et comparaison rowset/resultset Notion de transaction. Autocommit JDBC Gestion Exceptions Création Interface Graphique Présentation AWT et SWING Méthodologie création IHM Conteneur, Layout, Composants Ecouteurs Architecture Nouveautés Java 8 Programmation fonctionnelle Expressions Lambda Multithreading Introduction JEE spécifications JEE 7 (JSR 342) architecture, conteneurs, services, APIS, roles, clients, livrables, serveurs services clés : JNDI, JPA, JTA, JCA, JAAS, JAX-WS, EJB, JSP, Servlets différences Tomcat, JBoss, WebSphere, WebLogic Services spécifiques JEE 7 JEE et HTML5 : WebSockets JEE et le Cloud Computing JEE et JSON Servlets Le protocole HTTP (en têtes, gestion de l’état, pile TCP/IP) Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Servlet : entre le réseau et votre programme L’API servlet et le cycle de vie (init, service, destroy) Configuration web.xml et déploiement dans WAR Controlleur J2ee : le RequestDispatcher Design pattern MVC JavaServer Pages (JSP) Historique et comparaison avec Servlets Cycle de vie d’une page JSP JSP et l’intégration des JavaBeans Comparaison des modèles MVC 1 & MVC 2 Gestion des sessions Cookies EJB 3 Architectures distribuées création EJB Session sans état communication servlets / EJB Injection avec CDI (JSR 299) JSTL et EL Valeur ajoutée de balises jstl c:out , c:foreach variables implicites Langage EL Mise en oeuvre Optimisation JSP avec Jstl/EL DataSource JNDI Problématique de création et fermeture de connexion Pool de connexion Service JNDI Mise en oeuvre DataSources JNDI sous Tomcat. context.xml, web.xml Sécurité Spécification JAAS Authentifier et Autoriser balises security-constraint, web-resource-collection fichier web.xml, server.xml, context.xml Notion de royaume d’authentification (Realm) Notion de LoginModule (BASIC, FORM, DIGEST, CLIENT-CERT) Filtres Comprendre les filtres JEE Interface Filter Création filtre configuration filtre balise filter du web.xml Listener Comprendre les listeners JEE Interface Listener Création listener configuration listener balise listener du web.xml Introduction aux frameworks de présentation Qu’est ce qu’un framework ? Panorama frameworks de vues : struts, Spring MVC, JSF, Wicket Quel framework choisir ? Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Programme détaillé 2ème année: perfectionnement Jee et mobilité • Framework JSF • Framework Hibernate • Web Services • Android Introduction JSF 2 Rappels clés JEE 7 Les 8 Objectifs de JSF JSF : un framework orienté ’composant’ Spécifications JSF 2.0, 2.1 et 2.2 (JSR 344) Nouveautés JSF 2.2 : Faces flow, MultiTemplating, HTML5 Implémentation de référence : Mojarra Jar : javax.faces-2.2.1.jar Les concurrents directs et indirects de JSF 2 Configuration JSF 2 fichiers clés : web.xml et faces-config.xml Configuration du controleur FacesServlet dans web.xml Url gérés : *.faces, *.jsf, /faces/* Paramétrer le mode développement : javax.faces.PROJECT_STAGE Annotations ou xml ? Cycle de vie requête JSF 2 Les 6 étapes clés du cycle de vie requête JSF Etape 1 : restauration de la vue Etape 2 : application des paramètres de la requête Etape 3 : validation et convertion Etape 4 : mise à jour du model Etape 5 : logique métier Etape 6 : rendu de la réponse Utilisation du Phaselistener Bean managés role dans l’architecture JSF Annotations : @ManagedBean, @ManagedProperty Annotation : @SessionScoped, @RequestScoped Propriétés par défaut : ’name’, ’scope’ Facelets Besoin : industrialiser création écrans xmlns:ui="http://java.sun.com/jsf/facelets Utilisation XHTML Notion de template ui:composition, ui:define, ui:insert, ui:include Débogage Gestion des ressources d’un projet JSF convention : répertoire ’resources’ Gestion des feuilles de style : h:outputStylesheet Gestion des images : h:graphicImage Gestion des scripts javascript : h:outputScript attribut ’library’ attribut ’name’ Bibliothèque des composants standards Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA 30 Composants JSF : visibilité, style CSS, binding Passage de paramètres aux composants Composants d’affichage texte et image Composants de saisie et "value change event" Composants de commande "action event" Combo-box, listes, cases à cocher et boutons radio PanelGroup et le PanelGrid DataGrid Gestion des messages utilisateur Structure des messages JSF : la classe FacesMessage Afficher un message avec HtmlMessage et HtmlMessages Créer un message applicatif avec la classe FacesContext Validation Principe de la validation JSF Méthode de validation dans un backing-bean Les validators standards de l’API JSF Modèle de programmation pour écrire un validator personnalisé Validation avec implémentation JSR 303 : Hibernate validator Gestion des évènements Modèle évènementiel JSF Création d’un évènement Ecouteurs d’évènements Navigation JSF Règles de navigation : par page, globale, par action Formulaire JSF Création formulaire JSF (XHTML) : balises ’html’ et ’core’ Créer le @ManagedBean du formulaire Langage d’expression JSF : Unified EL Validation des champs et cycle de vie Conversion implicite des champs Composants Additionnels Les limites des composants JSF Atouts et configuration composants Primefaces Atouts et configuration composants Richfaces Internationaliser une application JSF Rappel internationalisation Java Gestion du ’locale’ : par défaut, personnalisée Catalogues de traduction : libellés, Messages applicatifs, messages d’erreur de validation Introduction JPA Notion de mapping Objet/Relationnel Historique d’hibernate Hibernate et les spécifications JPA Concurrents : EclipseLink, iBatis Versions d’hibernate Persistance avec JPA Spécification JPA 2.0 Fournisseur de persistence EntityManagerFactory EntityManager persistence.xml Persistence unit @ManyToOne, @ManyToMany Eager, Lazy Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Implications Jee Fetching Persistance avec Hibernate Processus de développement Top-down, Bottom-up, Meet in the meedle Connexion à la base de données Configuration d’Hibernate et Session Factory Création, ajout et suppression d’objets Session Hibernate HibernateUtils Conception avec Hibernate Design Patterns pour couche de persistance Persistance du modèle objet Gestion de l’héritage Gestion des associations HQL et JPQL Clauses des requêtes Les fonctions d’aggrégation Les requêtes polymorphes Les sous requêtes Mapping objet relationnel Ecriture du fichier de mapping Gestion de l’identifiant Types de données et personnalisation GTypes de mapping (Top-Down, Bottom-Up, Meet in the Midlle) Mapping d’héritage (une table par classe, une table par hiérarchie... ) Mapping d’association (par clé étrangère, par table de jointure...) Introduction : Architecture SOA et Web Services Synthèse : les 5 caractéristiques clés de SOA Méthodologie : les 7 briques clés d’une architecture SOA Relation SOA / Web Services Technologies principales Web Services- : HTTP, XML, SOAP, WSDL, UDDI XML dans Java Syntaxe et espaces de nom XML Description de XML avec les schémas Conversion et déconversion de paramètres avec JAXB Personnalisation des liaisons XML-Java XML bien formé / XML valide Manipulation XML : SAX, DOM, StaX Messages SOAP Rôle de SOAP dans les services Web Structure des messages SOAP SOAP-ENV, Header, Body, Attachement Opération, messages et erreurs Interface avec WSDL Rôle de WSDL dans les Web Services Anatomie d’un document WSDL : 5 sections clés Description du contrat / interfaces / opérations dans section portType Comprendre les sections ’abstraites’ : messages , types Comprendre les sections ’concrètes’ : binding, services Spécification de l’implémentation du service (service) Spécification du protocole d’échange de messages (Binding) Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Gouvernance web services Gouvernance : brique N°2 d’une architecture SOA Conformité avec les normes WSI (Web Service Interoperability) Intégration de proxies et d’adaptateurs Mise en œuvre d’une terminaison de service Web avec JAX-WS Personnalisation de services Web JAX-WS Déploiement d’un fichier WAR de service Web Interception de trafic entre les services Web et les clients Optimisation de la transmission de messages Développement Web Services SOAP en Java 8 Méthodologie : créer WS à partir de WSDL (WSDL-first) ou à partir du code (code-first) ? Comprendre l’API de ’haut niveau’ JAX-WS : Java API for XML Web Services Comprendre l’API de ’bas niveau’ SAAJ valider la conformité de son WS avec les normes internationales WS-I Outils WS-I : outils : Analyzer, Monitor Création d’intercepteurs (Handler) coté web service et coté client Optimisation de la transmission de messages avec MTOM Clients de services Web Accès à des services Web via leur WDSDL Création de fichiers sources clients à partir de WSDL Personnalisation des fichiers sources générés avec JAX-WS Conception et création de services et de clients de notification (one-way) Écriture de clients multithreadés Interception et modification de messages SOAP Requêtes asynchrones Approche REST Développement de services Web RESTful avec JAX-WS Caractéristiques clés : POJO annotés, HTTP , XML / JSON Créer de l’interactivité du côté client Invoquer des services Web avec l’API Dispatch Traitement des messages XML reçus Sécurité déléguée au transport Développement REST avec Framework Jersey et CXF Comparaison SOAP / REST critère interopérabilité critère- : transport critère- : gouvernance critère- : spécifications critère- : sécurité SoapUI : introduction Besoin : tester web services version Open Source version Pro périmètre installation configuration Introduction ANDROID Un monde ouvert ! Concurrents Architecture Android Android pour développeur Android pour constructeur Android et Java Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Android et C Android et Linux Boîte à outils SDK Android Plugin Eclipse ADT Virtual Device Manager SDK Manager Périphérique virtuel (AVD) Machine virtuelle Dalvik Dalvik Debug Monitoring Service (DDMS) Android Asset Packaging Tool (aapt) Création package (.apk) Android Debug Bridge (ADB) SQLite Traceview MkSdCard Dx activityCreator layoutOpt Emulateur Compilation Conception Contraintes développement pour mobiles Développer pour Android Composants d’une application Android Les 4 types d’application Android Fichier et éditeur Manifest.xml Cycle de vie application Android Priorités des applications Etat des processus Ressources XML / Java Classe Application Activity : la classe Activity : le cycle de vie Interface utilisateur Fondamentaux Activity, View, View Group Views personalisées Widgets Android Layouts : Linearlayout, FrameLayout Layouts : RelativeLayout, TableLayout Gallery Ressources drawable Résolution Menus Balises dans Manifest.xml Optimisations Ecran d’accueil Live Folders Recherche Quick Search Box Live WallPapers Boîtes de dialogue Classe Dialog Extensions classe Dialogs AlertDialog activity à thème Dialog Toasts Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Intent Présentation Cas d’utilisation Définition d’un besoin Action et données d’un Intent Types d’action : VIEW, EDIT, DELETE, PICK... Constructeur Relation Intent / Activity Intent implicites Intent explicites Pending Intents Launch Intent Intent Filters Linkify Notifications BroadCast Receiver Présentation Cas d’utilisation Services Présentation Cas d’utilisation Adapters Présentation Cas d’utilisation Widgets Fichier Manifest Présentation Role balise manifest balise uses-sdk balise uses-configuration balise use-features balise support-screen balise application balise provider balise receiver balise instrumentation balise permission balise intent-filter Ressources Répertoire ’res’ Externalisation ressources Ressources drawable Ressources layout Ressources strings Couleurs Dimensions Animations Menus Ressources dans code Référencement ressources Cycle de vie et état Cycle de vie d’une activity Pile des activities priorité Etats : Active, pause, stop, insactive Changement d’état Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Cycles : complet, visible, actif Classe Activity ListActivity, MapActivity, TabActivity Persistance données Sauvegarde état Activity Sauvegarde choix utilisateur Shared Preferences Impact sur vitesse, efficité, robustesse Fichiers Internet Webkit Connection à Internet Flux de données WebView xmlPullParser Bande passante Cache Base de données SQlite Avantages SQlite Transactions Inconvénient SQlite Cursor Content Values CRUD Content provider Présentation Cas d’utilisation Publication données Consommation de données content :// découplage appli/données gestionnaire contacts base médias bases natives SQLiteOpenHelper SQLiteHelper Géolocalisation Géocodage avant / inverse Map Views Map activity Overlay Position Alertes Location Manager Location Provider Taches de fonds Création et démarrage services Priorités Création threads Afficher Toasts Notification Manager Notifications continues Alarmes Multimedia lecture fichiers audio, video Ressources Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12 OBJIS : 10 ans d'expérience en formation JAVA Video View Media Recorder Intents audio / video images EXIF Media Store reconnaissance vocale Téléphonie et SMS Initier appel téléphoniques Etat téléphone, réseau, carte SIM Monitoring Envoi SMS, MMS Intents sms, mms SMS entrants Bluetooth gérer périph. Bluetooth mode de découverte Monitoring Réseau Monitorer connexion internet Préférences transfert données Tache de fond Wi-Fi Monitorer Wi-Fi Détails réseau Wi-Fi Configuration Wi-Fi Scanner points d’accès Wi-Fi Capteurs Introduction Sensor Manager Monitoring capteurs Interprétation valeurs Compas, accéléromètre Capteurs d’orientation Vibreur Sécurité Sécurité Linux Sécurité Android Balise permissions du Manifest.xml Certificats Keystore Multithread Comprend Multitachge Android Communication ninter processus (IPC) Liens utiles Objis Congo SARL au capital de 1,000,000 euros | Siège social : 87 rue Ossele – Moungali Brazzaville | www.objis-congo.com | [email protected] | 00 242 04 490 55 12