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