Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > éditeurs > Java > Java EE 7, conception et développement d'applications Web

Java EE 7, conception et développement d'applications Web

java

La plateforme Java EE 7 améliore de manière significative la productivité des développeurs et offre une meilleure intégration du HTML5. Cette formation vous permettra de développer des applications d'entreprise en vous basant sur les API Java EE 7: JPA, JMS, CDI, EJB, JSF, JAX-RS et WebSocket.

Objectifs

  • Concevoir et développer une application n-tiers basée sur les spécifications Java JEE 7
  • Mettre en place une couche d'accès aux données avec JPA
  • Mettre en place une architecture distribuée avec EJB et JMS
  • Mettre en place une couche de présentation avec JSF et Ajax
  • Développer et consommer des Web Service REST
  • Mettre en place un canal de communication entre un navigateur HTML5 et un serveur via les Websockets

Public

  • Développeurs
  • Architectes
  • Chefs de projets

Prérequis

  • Bonnes connaissances en Java ainsi que des bases du Web : HTTP, HTML, CSS, JavaScript

Programme de la formation

Introduction

  • Briques de la spécification Java EE 7.
  • Bonnes pratiques de conception : séparation des responsabilités, KISS, DRY, POJO.
  • Nouveautés par rapport à la version 6.
  • Panorama de l'offre Java EE, le framework Spring.

Environnement de travail

  • Environnement Eclipse. Dépendances Maven.
  • Tests unitaires avec le conteneur embarqué.
  • Utilisation des webtools, prise en main du serveur.
  • Travaux pratiques   Installer l'IDE et le serveur.

Découpage n-tiers et injection de dépendances

  • Découpage en couche, approche POJO.
  • Scopes et gestion de l'état.
  • Injection de dépendances.
  • Intercepteurs.
  • Travaux pratiques   Mise en place d'une application n-tiers, utilisation de CDI (injection de dépendance...).

Accès aux données avec JPA

  • Mapping objet relationnel (xml, annnotations).
  • Lazy loading.
  • Manipulation de l'API 2.1 : EntityManager...
  • JPA-QL, API Criteria, MetaModel, EntityGraph.
  • Transactions, l'annotation @Transactional JTA 1.2.
  • Travaux pratiques   Mise en place de la couche d'accès aux données.

Architecture distribuée avec EJB et JMS

  • Services techniques de l'API EJB : sécurité, remoting, accès concurrents, accès asynchrones, timers.
  • Positionnement des EJB par rapport aux beans CDI.
  • JMS 2.0 pour les échanges de messages.
  • Travaux pratiques   Mise en place de services avec les EJB Sessions et d'un bus d'échange de messages avec JMS.

Web et JSF

  • Concepts (MVP, Presenter, View).
  • Facelets, taglibs, jsf-el.
  • Validation JSR303.
  • Mise en oeuvre d'Ajax.
  • Travaux pratiques   Mise en œuvre de JSF 2.2 et d'Ajax.

Web Services REST

  • API JAX-RS 2.0 pour les services Web RESTful.
  • Rappels HTTP : les verbes, les contentType...
  • CORS : Cross Origin Shared Resource. HATEOAS.
  • Produire et consommer des objets via l'API Java de traitement JSON.
  • Travaux pratiques   Exposant des services, consommer ces services REST via un client Web (AngularJS).

Websockets

  • Concepts du Web "real time".
  • Support par les navigateurs, mécanismes de fallback.
  • Mise en place côté serveur et client.
  • Travaux pratiques   Ajout d'une connexion websocket au client Web.

   

Méthode pédagogique

Un exercice "fil rouge" sera déroulé. Les différents modules seront validés par des tests unitaires (lancé avec le conteneur embarqué) et seront déployés sur un serveur d'application Java EE 7.