Atelier de programmation en langage Java (SL-285)

 

 

Objectifs

À l'issue de ce cours, les participants sauront :

§                  Mettre en oeuvre et tester un programme complet à utiliser dans une application intranet commerciale

§                  Développer des classes permettant de connecter des programmes à des systèmes de bases de données SQL à l'aide des fonctionnalités de base de l'API (Interface de programmation d'applications) JDBC (Java DataBase Connectivity)

§                  Appliquer des modèles de conception pour créer des classes réutilisables

§                  Organiser et mettre en place l'infrastructure permettant de prendre en charge un projet utilisant la technologie Java

§                  Créer des applications Java à deux et trois niveaux

§                  Créer des objets distants en utilisant RMI (Remote Method Invocation)

§                  Créer un serveur multithread

 

Vue d'ensemble

L'Atelier de programmation en langage Java fournit aux participants l'expérience pratique indispensable à la conception d'une solution verticale pour une application multi-niveau distribuée. Les participants utiliseront les principes de la conception d'interfaces graphiques, ainsi que les fonctionnalités de communication réseau de la technologie Java, pour coder une application Java fonctionnelle qui interagit avec un serveur de base de données interconnecté. Le temps consacré aux travaux pratiques témoigne de la vocation d'atelier de ce cours.

 

Public visé

Ce cours s'adresse aux programmeurs qui maîtrisent la structure et la syntaxe de base du langage de programmation Java et souhaitent étoffer leurs connaissances dans ce domaine pour développer des applications de production complexes.

Il représente une excellente solution pour la préparation de l'examen Développeur certifié Sun pour la plate-forme Java.

 

Pré-requis

Pour tirer pleinement profit de ce cours, les participants doivent :

§                  Développer des applications en utilisant le langage de programmation Java

§                  Comprendre les diagrammes UML (Unified Modelling Language) de base

§                  Comprendre les instructions SQL (System Query Language) de base

§                  Savoir mettre en oeuvre des interfaces et gérer des exceptions de programmation Java

§                  Utiliser les techniques de la programmation orientée objet

§                  Comprendre la conception d'interfaces homme-machine (IHM)

§                  Comprendre la communication TCP/IP de base

§                  Programmer avec des sockets ou des streams

 

Cours précédents

OO-226: Analyse et conception orientée objet avec UML (OO-226)

SL-275: Maîtrise de la programmation en langage Java (SL-275)

 

Contenu :

Introduction au projet d'outil de courtage

§                  Expliquer la problèmatique du projet de réalisation d'un outil de courtage

Modèle de conception MVC (Model-View Controller)

§                  Expliquer les modèles de conception

§                  Expliquer le modèle de conception MCV (Model-View Controller)

§                  Analyser comment le modèle de conception MCV peut être utilisé dans des applications

Conception d'un outil de courtage

§                  Commencer l'analyse et la conception d'un outil de courtage

§                  Appliquer le modèle de conception MCV

§                  Développer un plan pour la réalisation du modèle de conception MCV

Introduction à l'API de connexion à la base de données Java

§                  Décrire l'API JDBC

§                  Expliquer comment l'utilisation de la couche d'abstraction fournie par l'API JDBC peut rendre une base de données frontale portable d'une plate-forme à une autre

§                  Décrire les cinq tâches principales associées à l'interface de programmation JDBC

§                  Indiquer les conditions que doit remplir un pilote JDBC et ses relations avec le gestionnaire de pilotes JDBC

§                  Décrire le modèle DAO (data access objects) et son application à un scénario donné

Création d'un logiciel client : 1ère partie

§                  Appliquer les principes de conception d'une IHM

§                  Faire la différence, à un haut niveau, entre les nouvelles Java Foundation Classes/Swing components (composants Swing) et le modèle AWT (Abstract Window Toolkit)

§                  Expliquer comment créer la structure de classe nécessaire pour une IHM orientée objet

§                  Concevoir et implémenter une IHM pour le projet d'outil de courtage en utilisant votre choix de gestionnaires de conteneurs, de composants et de mise en page.

§                  Appliquer le modèle Composite pour développer l'interface homme-machine de l'outil de courtage

Création d'un logiciel client : 2ème partie

§                  Implémenter une classe d'afficheur

§                  Implémenter une classe contrôleur

IHM avancée

§                  Utiliser les classes JTable et JTabbedPane dans votre application pour développer une IHM sophistiquée

Utilitaire de connexion

§                  Utiliser l'API de connexion

§                  Examiner un exemple de connexion

§                  Écrire un programme de traitement personnalisé

§                  Définir les filtres pour un traitement particulier

Conception multi-niveau (n-tiers)

§                  Comparer la conception à deux niveaux avec la conception à trois niveaux de l'outil de courtage

§                  Expliquer comment le package java.net peut être utilisé pour l'implémentation d'applications réseau

§                  Montrer comment utiliser le modèle de conception 'Command pattern' dans l'outil de courtage

§                  Appliquer le modèle de conception 'Strategy pattern' pour créer un code réutilisable

§                  Décrire comment vous avez implémenté le client réseau de l'outil de courtage

§                  Décrire comment vous avez implémenté le serveur réseau de l'outil de courtage

Conception n-tiers avancée

§                  Utiliser les nouvelles API à accès simultané Java pour créer un serveur multithread

§                  Examiner un pool de threads

§                  Identifier les problèmes d'intégrité dans les serveurs multithreads

Objets distants

§                  Créer des objets distants

§                  Utiliser Java RMI pour créer une application n-tiers