• Acquérir les bases de la programmation orientée objet (POO).
• Maîtriser le Java, appréhender les architectures avancées Java/J2EE et Java Embarqué : J2ME
• Apprendre à utiliser des framework évolués liés à la gestion du contenu.
Public :
• Informaticiens au sein d’une moyenne ou grande entreprise souhaitant développer ou
perfectionner des compétences sur le langage Java et les architectures avancées J2EE.
Pré-requis :
• Avoir les connaissances de bases en algorithmique.
• Connaître un langage de développement.
Durée de la formation :
30 jours – 210 heures
Horaire :
9h30 - 17h30
Contenu de la formation :
MODULE 1
PRESENTATION OBJET ET UML
1. PRESENTATION OBJETS
A) FONDEMENTS ET APPORT DE L’APPREOCHE ORIENTEE OBJET
• Historique
• Classes et instances
• L'envoi de messages
• L'héritage
• Structure d'une application Objet
• Les apports de la programmation par Objets
• Réutilisation
B) TYPOLOGIE ET PRESENTATION DES LANGAGES OBJETS
• Concepts discriminants
• Gestion des méthodes et des champs encapsulation
• Mise en œuvre de l'héritage
• Méta classes
• Généricité
• Présentation comparative des principaux langages : C++, Java, C#
C) ANALYSE ET CONCEPTION
• Types abstraits et conception Objet
• Programmation par contrat
• Principes de l'analyse et de la conception orientée Objet
• Introduction à UML
• Panorama des "AGL Objet " : Rose, ToGether, Objecteering, ...
D) ENVIRONNEMENTS ET DEVELOPPEMENT
• Les outils du programmeur, exemples C++, Java, C#
• Bibliothèques de classes, exemple du J2SE
• Gestion de versions et de tests
E) ARCHITECTURE TECHNIQUE ET STANDARDS OBJET
• Persistance et bases de données : SGBDR, SGBDOO (ODMG 93)
• Architecture client/serveur, environnement distribué
• CORBA 3.0, COM+/.NET de Microsoft
• Architectures basées sur le J2EE
F) Gestion d’interface homme/machine
• La programmation événementielle
• Le modèle "Modèle/Vue/Contrôleur"
• Méthode de spécification d’IHM
G) GESTION DE PROJET ET EXEMPLES D’APPLICATION
• Gestion de projets et cycles incrémentaux
• Exemples de réalisations industrielles dans différents domaines
• Conclusion
2. UML ET RATIONEL ROSE
A) CARACTERISTIQUES DE L’OBJET ET INTERET DU DEVELOPPEMENT OBJET
B) UTILISATION DES CONCEPTS
• Programmation Objet
• Développement par composants
• Intégration des applications existantes aux nouveaux projets
C) OBJECTIDS D’UML
• Importance de la normalisation
• UML comme notation
• UML et le processus de développement
M) PROCESSUS INCREMENTAL
• Avantages
• Précautions à prendre
N) ACTIVITES DE PROJET
• Management
• Analyse des besoins
• Conception et implémentation
O) REPARTITION DES ACTIVITES DANS LE CYCLE DE VIE
• Validation
MODULE 2
INTRODUCTION AU LANGAGE C++
1. INTRODUCTION ET GENERALITES
• Concepts généraux des langages orientés Objet
• Classes, instanciation, héritage, envoi de messages
• Langage interprété ou pré-compilé : conséquences sur les objets
• Présentation de l'environnement C++
• Pré-compilateur, bibliothèques, mise au point
• Eléments communs et différences basiques
• Déclarations et constantes, expressions et instructions, références, fonctions "inline
expanded"
• Surcharge de fonction
2. FONDEMENTS DES PROGRAMMES OBJETS
• Encapsulation
• Classe et membres, parties publiques et privées
• L'instanciation
• Constructeur, destructeur
• Transmission de message, self-référence
• Ecriture d'un programme simple en C++
• Etude du C généré par le pré-compilateur
3. GESTION DE L’HERITAGE : FACTORISATION DES TRAITEMENTS
• Classes dérivées, traitement de l'héritage simple
• Héritage multiple et classes amies ("friends")
• Exercices et étude du C généré
4. PROGRAMMATION AVANCEE
• Polymorphisme
• Surcharge d'opérateur ("operator - overloading"), traitement des données hétérogènes,
fonctions virtuelles
• Les fonctions d'entrées/sorties
• La généricité : les templates
• La gestion des erreurs : les exceptions
• Analyse et implémentation d'un exemple
MODULE 3
PROGRAMMATION OBJET EN LANGAGE JAVA
1. INTRODUCTION
• Les objectifs et les caractéristiques du langage
• Les concepts généraux : la machine virtuelle, les Java OS, interprétation vs compilation du
langage, le Web et les applets, …
2. L’APPROCHE ORIENTEE OBJET
• Les concepts « objets »
• Les méthodes orientées « objets »
• Introduction à la méthode OMT
3. PRESENTATION DU LANGAGE
• Les classes et objets
• L’héritage et les interfaces
• Les types, les opérateurs, les instructions de contrôle
• Les tableaux
• Les exceptions
• Les packages
• Les threads et leur synchronisation
4. LA LIBRAIRIE STANDARD JAVA
• La classe String et les classes associées
• Les utilitaires : les vecteurs, les dictionnaires, les tokenizers
• Les dates
• Les fonctions mathématiques
• Les entrées/sorties : les fichiers et les flux
5. PROGRAMMATION RESEAU (INTERNET)
• Les concepts de base de la programmation réseau : l’adressage, le transport, …
• Les concepts propres à l’Internet/Intranet
• Les classes InetAddress et Datagram Packet
• Les sockets (l’API traditionnelle, les classes Java, …).
• Quelques classes protocolaires simples : HTTP
• L’API Remote Method Invocation (RMI)
6. PROGRAMMATION GRAPHIQUE (AWT)
• Les concepts de base
• La gestion des événements.
• Les composants de l’interface : labels, boutons, menus, checkboxes, textes
• Les conteneurs : BorderLayout, FlowLayout, GridLayout, et CardLayout
• Les attributs graphiques : systèmes de coordonnées
• Les objets graphiques : rectangles, arcs, polygones,…
• L’animation
7. LES APPLETS
• Introduction au langage HTML
• Intégration d’une applet dans une page HTML
• Le passage des paramètres
• L’initialisation des applets
• Les contraintes imposées aux programmes Java exécutables sous la forme d’applets
8. JAVA ET LA SECURITE
• La sécurité sur l’Internet
• Les options de sécurité
• La protection contre les virus
9. L’EVOLUTION ACTUELLE DE JAVA
• Standardisation
• Java et les Objets Request Brokers
MODULE 4
DEVELOPPEMENT J2EE : SERVLETS, JSP ET EJB
1. PRESENTATION DE L'ARCHITECTURE J2EE
• Les architectures 3 tiers
• Relations entre les différents éléments de la spécification J2EE
• WSAD et les développements J2EE
2. INTRODUCTION A XML
• Objectifs et avantages de XML
• XML et WSAD
3. PROGRAMMATION DES SERVLETS
• Présentation des servlets
• Déploiement des servlets
• Création, invocation et cycle de vie
• Présentation de l'API Servlets
• Gestion de contexte
• Cookies
• Sessions
• Réécriture d'URL
• Interaction entre servlets
• Tester des servlets avec WSAD (Perspective Server)
4. CONSTRUCTION DE PAGES JSP
• Principe De Fonctionnement (Script Serveur, Cycle De Vie)
• Le Concept Mvc (Modèle Vue Contrôleur)
• Syntaxe
• Scriplets
• Actions Et Directives
• Utilisation De Beans
• Objets Predefinis
• Communication Jsp/Servlets
• Déboguer Des Jsp Avec Wsad
• La "Perspective Web" De Wsad
• Edition De Jsp
• Les Taglibs
5. DEPLOIEMENT DES APPLICATIONS J2EE
• Structure d'une application J2ee (le format WAR)
• Choix des serveurs Tomcat ou Websphere application Server
• Utilisation de la console de déploiement de Websphere
6. ACCES AUX BASES DE DONNEES : JDBC
• API standard et API avancée
• Mise en oeuvre
• Mapping Objet-relationnel
• Pools de connexions
• Introduction aux EJB
• Objectifs et principes des EJB
• Architecture des EJB
• EJB session
• EJB entity
• Développement des EJB avec WSAD
• Mapping d'EJB entity sur des tables de bases de données
• Déploiement des EJB avec WSAD
• Client EJB
• Les EJB et la gestion des transactions, JTA, JTS
7. SECURITE
• Protection des ressources d'une application
• Types de sécurité
MODULE 5
JAVA EMBARQUE : J2ME
1. L’ARCHITECTURE JAVA 2 MICRO EDITION (J2ME)
• Les différentes formes de Java 2
• Les différentes Machines Virtuel
• La problématique multi-plateformes et multi-périphériques de Java
• Les profiles
• Les configurations
• Le système d’exploitation
• Wireless Messaging API version 1.0 (WMA)
• Mobile Media API version 1.0
• RMI Optional Package (RMI OP)
• JavaPhoneTM API
2. LES CONTRAINTES PHYSIQUES MATERIELLES
• Des Machines Virtuel différentes pour :
• CDC (Connected Device Configuration)
• CLDC (Connected Limited Device Configuration)
• MIDP (Mobile Information Device Profile)
3. LES PACKAGES J2ME
• Les packages de CLDC
• Les packages de MIDP
• Les Midlets
• Les XLET
• Le package javax.microedition
• Le package javax. wireless
• Le package AWT réduit
4. LA PROGRAMMATION J2ME
• Le compactage JAD
• Le déploiement et l’assemblage des packages
• Mise en rom de son application
• Optimisez votre code
5. JAVA CARD
• L’API javacard
• Sécurité
MODULE 6
TECHNOLOGIES DU CONTENU : XML/XSL
1. VUE D'ENSEMBLE DE XML ET XSLT
• Représentation de données à l'aide de XML
• Transformation de documents XML à l'aide de XSLT
• Utilisation de XML et XSLT pour créer des solutions
2. SELECTION ET EXPLOIRATION DE NŒUDS A L AIDE DU LANGAGE XPATH
• Présentation de XPath
• Accès aux informations sur les nœuds
• Exploration d'un document à l'aide de chemins d'accès
• Utilisation d'opérateurs et de fonctions dans les chemins d'accès
3. PRESENTATION DU LANGAGE XSL
• Présentation de XSLT
• Règles de modèle
• Amélioration des règles de modèle
• Amélioration et combinaison de feuilles de style
• Tri du contenu d'un document
• Contrôle du résultat d'un document
• Intégration et importation de feuilles de style
• Atelier : Amélioration et combinaison de feuilles de style XSLT
• Programmation à l' aide du langage XSL
• Modèles nommés
• Variables et paramètres
• Traitement par répétition et conditionnel
• Utilisation des fonctions et éléments d'extension XSLT
4. DEFINITION DE LA GRAMMAIRE ET DES TYPES DE DONNEES XML
• Définition et utilisation de schémas XML
• Définition d'éléments dans un schéma XML
• Définition d'attributs dans un schéma XML
• Définition de types de données dans un schéma XML
• Schémas XML et objets ADO
5. CREATION ET MODIFICATION DE LA STRUCTURE XML A L’AIDE DE XSLT
• Création d'une structure à l'aide de XSLT
6. CREATION DE RENVOIS DANS DES DOCUMENTS A L’AIDE DE XSLT
• Accès à plusieurs documents XML dans une feuille de style
• Présentation des renvois
• Génération de renvois dans des documents de résultats
7. MANIPULATION DE DOCUMENTS XML A L’AIDE DE SAX
• Vue d'ensemble de SAX
• Utilisation d'interfaces SAX
8. SYNTHESE
• Portée et fonction du site Web Northwind Traders
9. LE FRAMEWORK STRUTS
• Le modèle MVC2 : le modèle, la vue, le contrôleur
• Quelques rappels
• Les servlets
• Les Java Server Pages (JSP)
• Installation du framework Struts
10. STRUTS ET LE MODELE MVC2
• Implémentation du contrôleur sous forme de servlet
• ActionServlet, RequestProcessor et Action
• Implémentation du modèle
• Utilisation de composants JavaBeans
• Utilisation de composants EJB
• Implémentation de la vue sous forme de JSP
11. GESTION DE FORMULAIRES
• La classe ActionForm
• Validation de formulaires Gestion de la navigation avec la classe ActionForward
• Gestion de l'internationalisation
12. LES BIBLIOTHEQUES DE TAGS STRUTS
• La librairie de tags HTML
• La librairie de tags de beans
• La librairie de tags de logique
• La librairie de tags de modèles
13. CONFIGURATION ET DEPLOIEMENT
• Fichiers de configuration des applications Web
• Classes de configuration : ApplicationConfig et ActionMapping
• Assemblage et déploiement des applications Web
14. INTRODUCTION
• Le World Wide Web Consortium
• Quelques rappels sur XML
• Présentation de JAXP
• Présentation de l'API Sax
• Présentation de l'API Dom
15. SIMPLE API FOR XML (SAX)
• Introduction - différences entre SAX 1.0 et SAX 2.0
• Les procédures de rappels
• L'interface HandleBase
• Ateliers pratiques
16. DOCUMENT OBJET MODEL (DOM)
• Introduction
• Le modèle objet de DOM
• L'interface Node, Document, ...
• Ateliers pratiques
17. LE FRAMEWORK COCOON
• Présentation du framework
• Utilisation avec Apache/Tomcat
• Installation de Cocoon
18. CONFIGURATION ET DEPLOIEMENT
• Fichiers de configuration des applications Web
• Assemblage et déploiement des applications Web
19. GENERATION DE DOCUMENTS
• Le moteur Cocoon
• Présentation de XSL-FO
• Utilisation de FOP
• Génération de HTML/PDF/Word