Java avancé

Description de la formation

Concevoir une application Java permettant l'accès et la manipulation de données structurées en utilisant des API Java.

Les développeurs Java sont en forte demande, tant par les startups développant de nouvelles applications mobiles que par les grandes entreprises cherchant à maintenir et à faire évoluer leurs systèmes de gestion existants.

Au cours de cette formation, certaines des fonctionnalités plus avancées offertes par la plate-forme Java seront enseignées, comme la programmation concurrente et l'exploitation d'une base de données relationnelle. Des astuces et meilleures pratiques de développement seront également transmises par le biais des exercices. (Anciennement JAV135 au Centre de formation et de transfert du CRIM)

Objectifs pédagogiques

À la fin de cette formation, vous serez en mesure de :

  • Développer une application performante tirant profit d'un ordinateur multicœurs;
  • Utiliser les concepts de métaprogrammation et de réflexion;
  • Lire et écrire des données à l'aide du format d'échange universel XML;
  • Persister et récupérer vos données en utilisant une base de données relationnelle;
  • Développer une interface web à votre application;
  • Appliquer les techniques de programmation concurrente;
  • Créer des annotations personnalisées et utiliser des annotations existantes;
  • Utiliser les fonctionnalités du module JAXB, du module JDBC et des modules Servlet et JSP.

Méthodologie

Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisés tout au long de la formation :


Exposé interactif (50 %), exercices (50 %)

Clientèle visée

Professionnels et techniciens spécialisés en TI

Particularité

Pour être en mesure de suivre cette formation, il faut avoir une connaissance de base du langage Java et une connaissance d'une base de données relationnelle (ex. : Oracle, MySQL, PostgreSQL).

À savoir lorsque cette formation est en ligne

Nos formations en ligne sont diffusées sous forme de classes virtuelles interactives et nous travaillons avec la plateforme Zoom.

Vous devez avoir un ordinateur avec un bon accès à Internet ainsi qu'une caméra, un micro et des haut-parleurs afin de participer à la formation. Pour faciliter les échanges avec le formateur ou la formatrice et les autres participants et participantes, ainsi que pour être en mesure de participer au volet pratique de la formation, la caméra doit être fonctionnelle et ouverte tout au long de la formation, à défaut de quoi votre participation pourrait être refusée.

Il est fortement recommandé d'avoir deux écrans sur le même ordinateur : un pour suivre la formation et l'autre pour les exercices pratiques.

Vous devez installer sur votre ordinateur : Java JDK, NetBeans 12, Eclipse et notepad++

    Programmation concurrente

    • Threads : définition et cycle de vie;
    • Pause, jointure et interruption;
    • Problématiques d'accès concurrent à des ressources partagées;
    • Synchronisation, blocs gardés et interblocage;
    • Classes thread-safe et immuabilité;
    • Executors et services d'exécution.

    Réflexion

    • Obtention d'information sur un objet existant;
    • Construction d'objets et invocation de méthodes.

    Métaprogrammation

    • Annotations : définition et attributs;
    • Annotations intrinsèques;
    • Déclaration d'une annotation personnalisée et interprétation.

    Traitement de documents XML

    • Format XML;
    • API de bas niveau : DOM, SAX, StAX;
    • JAXB;
    • Définition d'un schéma XML et génération des classes annotées JAXB;
    • Lecture, écriture et validation de documents XML.

    Connectivité avec base de données relationnelle

    • Concepts relationnels;
    • Concepts de base JDBC : drivers, connections et statements;
    • Chargement d'un driver, ouverture et fermeture d'une connexion;
    • Exécution de requêtes et mapping objet-relationnel;
    • Réutilisation des connexions avec DataSource;
    • Gestion des transactions;
    • Prévention des attaques de type 'SQL injection'.

    Interfaces Web

    • Principes architecturaux;
    • Containers web et à Tomcat;
    • Structure de base d'une application Web, packaging en format WAR;
    • Servlets : déclaration, mapping par URL, mapping par méthode;
    • JSP : développement et invocation;
    • JSTL : librairies et utilisation;
    • Sessions : identification, récupération et stockage d'attributs;
    • Filtres : déclaration, mapping par URL, mapping par servlet, développement.
Hafed Benteftifa

Hafed Benteftifa

Ph.D.

Hafed enseigne les techniques informatiques, tant dans les institutions publiques que privées depuis près de 23 ans. Il agit également à titre de consultant dans la migration d'applications Oracle. Il a été parmi les premiers à proposer des formations sur la plateforme mobile Android dans la région du Grand Montréal. Il détient un doctorat en génie électrique de Polytechnic School of Engineering, É.-U.