Développement WEB en JAVA avec le Framework. Antoine CHAUVIN IR3 22 janvier 2013

Documents pareils
Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

JOnAS Day 5.1. Outils de développements

Formation en Logiciels Libres. Fiche d inscription

Point sur les solutions de développement d apps pour les périphériques mobiles

Vulgarisation Java EE Java EE, c est quoi?

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Catalogue des Formations Techniques

1. Installation d'un serveur d'application JBoss:

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

1 JBoss Entreprise Middleware

Java pour le Web. Cours Java - F. Michel

Développement des Systèmes d Information

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

JOnAS 5 Enterprise OSGi javaee compliant

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Installation et prise en main

Modernisation et développement d applications IBM i Stratégies, technologies et outils

Applications distribuées: le retour du client "riche"

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Sessions en ligne - QuestionPoint

Mise en œuvre des serveurs d application

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Compte Rendu d intégration d application

Guide d installation JMap 5.0

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Web Tier : déploiement de servlets

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

les techniques d'extraction, les formulaires et intégration dans un site WEB

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

CQP Développeur Nouvelles Technologies (DNT)

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Introduction à. Oracle Application Express

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Devenez un véritable développeur web en 3 mois!

CAS, un SSO web open source. 14h35-15h25 - La Seine A

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Le Registre sous Windows 8 architecture, administration, script, réparation...

TUTORIAL ULTRAVNC (EDITION 2)

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Environnements de Développement

10. Base de données et Web. OlivierCuré

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Utilisation de Jakarta Tomcat

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Serveur d'application à la juste taille

Refonte front-office / back-office - Architecture & Conception -

Formation : Langues : Types d Intervention et Secteurs d Activité :

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Architecture Orientée Service, JSON et API REST

Programme ASI Développeur

PROCEDURE D'INSTALLATION OPENREPORTS

Applications et Services WEB: Architecture REST

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Introduction à la plateforme J2EE

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Installer Enterprise Miner 5.1 en SAS environnement Windows

JOnAS 5. Serveur d application d

Un serveur web léger et ouvert

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Programmation Orientée Objet

Un serveur d'archivage

Cours en ligne Développement Java pour le web

IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité.

BES WEBDEVELOPER ACTIVITÉ RÔLE

Application Web et J2EE

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

I. Instalation de l environnement JDK et JRE : II. Configuration outil Reporting : Pentaho... 4

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Rapport de stage Clément MOYSAN

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Catalogue Formation «Vanilla»

TD/TP 1 Introduction au SDK d Android

Analyse de performance, monitoring

Celui qui vous parle. Yann Vigara

EJBCA PKI Open Source

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

COMPÉTENCES TECHNIQUES

Programmation Web. Madalina Croitoru IUT Montpellier

Nouveautés joomla 3 1/14

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Développement du module Supervision pour le logiciel «K-Sup»

Transcription:

Développement WEB en JAVA avec le Framework Antoine CHAUVIN IR3 22 janvier 2013

I) Historique II) Qu est ce que PLAY III) Les grands concepts IV)Développer en java avec PLAY Framework PLAY Antoine CHAUVIN 22/01/2013 2

Historique Play créé par Guillaume Bort, alors qu il travaillait chez Zenexity. Le projet est démarré en 2007 avec pour objectif de simplifier grandement le développement WEB en JAVA La première version publique est disponible en Mai 2008 Play 1.1 a été publié en Novembre 2010, et est considéré comme la première version vraiment utilisable du framework Play 1.2 a été publié en Avril 2011 Sadek Drobi rejoint Guillaume Bort fin 2011 pour créer Play 2.0 qui a été publié le 13 Mars, 2012 Framework PLAY Antoine CHAUVIN 22/01/2013 3

Qu est ce que PLAY 2.0 Play 2.0 a new web framework for a new era Play 2.0 un Framework d application Web pour Java et Scala Un modèle complètement non bloquant (réactif) construit pour la programmation asynchrone Une maitrise totale de la consommation des ressources (mémoire, CPU) Une architecture sans état permettant de très forte montée en charge Framework PLAY Antoine CHAUVIN 22/01/2013 4

Qu est ce que PLAY 2.0 Mais aussi un serveur indépendant se passant donc de la brique serveur d'application, des Servlets et de son écosystème. Framework PLAY Antoine CHAUVIN 22/01/2013 5

Les principaux concepts 1- Convention plutôt que configuration 2- Modèle MVC 3- La programmation asynchrone 4- Java et Scala 5- Capacité de mise à l échelle Framework PLAY Antoine CHAUVIN 22/01/2013 6

1 )Convention plutôt que configuration Très peu de configuration Pas besoin de déployer un serveur d application Optimiser la productivité des développeurs Framework PLAY Antoine CHAUVIN 22/01/2013 7

2 )Modèle MVC Framework PLAY Antoine CHAUVIN 22/01/2013 8

3)Programmation Asynchrone Evolution du WEB vers de plus en plus de traitements de données temps réel concurrentes Besoin d un modèle de programmation asynchrone: Play utilise la possibilité du Java à gérer les I/O de façon asynchrone. Framework PLAY Antoine CHAUVIN 22/01/2013 9

3)Programmation Asynchrone Concrètement le résultat renvoyé au client peut dépendre d'un calcul coûteux ou un appel de service Web longtemps. Ce qui entraine dans un comportement commun un blocage. Solution: Promise<Result> Blocage client, mais non serveur. Framework PLAY Antoine CHAUVIN 22/01/2013 10

3)Programmation Asynchrone Evolution du WEB vers de plus en plus de traitements de données temps réel concurrentes Utilisation native du Framework Akka Un framework disponible en Scala et en Java permettant de gérer très efficacement des applications multithread et concurrentes. Framework PLAY Antoine CHAUVIN 22/01/2013 11

4)Java et Scala Globalement en Java, mais avec un moteur de Template en Scala Ce qui a permis le typage des mes templates. En clair, chaque template attend des paramètres d entrée typés. C est à la compilation que tout cela va être vérifié, ce qui rend les templates très robustes. Framework PLAY Antoine CHAUVIN 22/01/2013 12

5)Capacité de mise à l échelle Stateless RESTful Pas de java EE session Mise à l échelle horizontale Framework PLAY Antoine CHAUVIN 22/01/2013 13

1) Installation Pré requis: JDK 6 ou supérieur Télécharger le paquet binaire C est tout! Framework PLAY Antoine CHAUVIN 22/01/2013 14

2) Création d un projet Framework PLAY Antoine CHAUVIN 22/01/2013 15

Framework PLAY Antoine CHAUVIN 22/01/2013 16

Framework PLAY Antoine CHAUVIN 22/01/2013 17

3) La console play Framework PLAY Antoine CHAUVIN 22/01/2013 18

3) La console play Run : le serveur sera lancé avec la fonction d'autoreload activé Compile : compile l application mais ne lance pas le serveur Debug : lance le serveur avec un port JPDA (Java Platform Debugger Architecture) Framework PLAY Antoine CHAUVIN 22/01/2013 19

3) La console play ~Run et ~Compile: compilation sera déclenché à chaque fois que vous changez un fichier source. Framework PLAY Antoine CHAUVIN 22/01/2013 20

4) Intégration avec Eclipse «Play eclipsify» Import existing project Module scala pour Eclipse. Framework PLAY Antoine CHAUVIN 22/01/2013 21

5) Les facilités de développement Erreurs directement dans le navigateur -Java -Javascript -Templates -CSS (Less framework) Framework PLAY Antoine CHAUVIN 22/01/2013 22

5) Les facilités de développement Pas besoin de redéployer ni de configurer un serveur d application. Rechargement de code à chaud: - Je modifie une classe - Elle est automatiquement recompilée - J actualise mon navigateur pour obtenir le résultat Framework PLAY Antoine CHAUVIN 22/01/2013 23

6) Développement HTTP Trois grands objets: Actions Controllers Results Framework PLAY Antoine CHAUVIN 22/01/2013 24

6) Développement HTTP Actions La plupart des demandes reçues par une application Play sont traitées par une action. Une action est une méthode Java qui traite les paramètres de la demande, et produit un résultat renvoyé au client. Framework PLAY Antoine CHAUVIN 22/01/2013 25

6) Développement HTTP Une action renvoie une valeur play.mvc.result, représentant la réponse HTTP à envoyer au client Web. Dans cet exemple on construit une réponse ok 200 Framework PLAY Antoine CHAUVIN 22/01/2013 26

6) Développement HTTP Contrôleurs Un contrôleur n'est rien de plus qu'une classe étendant play.mvc.controller et qui regroupe plusieurs Actions. Framework PLAY Antoine CHAUVIN 22/01/2013 27

6) Développement HTTP Results Un result est une réponse basique faite au navigateur. Elle contient un code d'état, un ensemble d'en-têtes HTTP et un corps. play.mvc.result Voici quelques exemples qui créent des Results différents: Framework PLAY Antoine CHAUVIN 22/01/2013 28

6) Développement HTTP Results Une redirection est aussi considéré comme un result Framework PLAY Antoine CHAUVIN 22/01/2013 29

6) Développement HTTP Les templates: en Scala Framework PLAY Antoine CHAUVIN 22/01/2013 30

7) Déploiement d application Prévu pour être déployé sur le serveur JBOSS Netty: Ce qui crée un export du projet avec un script permettant de lancer le serveur Web directement Framework PLAY Antoine CHAUVIN 22/01/2013 31

7) Déploiement d application Il existe un plugin pour Play2 permettant de créer un WAR directement à partir des sources afin de pouvoir l utiliser sur un serveur d application tel JBOSS ou Tomcat. Framework PLAY Antoine CHAUVIN 22/01/2013 32

Questions? Framework PLAY Antoine CHAUVIN 22/01/2013 33