Informatique Répartie

Dimension: px
Commencer à balayer dès la page:

Download "Informatique Répartie"

Transcription

1 INSA - ASI InfoRep : Services REST 1/36 Informatique Répartie Services REST Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr

2 INSA - ASI InfoRep : Services REST 2/36 Plan 1 Introduction 2 Les Services Web de type REST 3 JAX-RS 4 Gestion des exceptions 5 Arguments et valeur en retour 6 EndPoint : bonnes pratiques 7 Références

3 INSA - ASI InfoRep : Services REST 3/36 Introduction à REST (1/4) Historique (rappel) Années 70 : architectures Mainframe (1 tier) Années 80 : architectures 2 tiers (BD) Fin des années 80 : architectures 3 tiers (RPC) Années 90 : architectures 3 tiers Objet (RMI/Corba) Années 00 : architectures orientées services (Web Services) Fin des années 00 : architectures orientées ressources (RESTful)

4 INSA - ASI InfoRep : Services REST 4/36 Introduction à REST (2/4) Architecture 2 tiers et 3 tiers BdD Primergy Ressources Système de Fichiers

5 INSA - ASI InfoRep : Services REST 5/36 Introduction à REST (3/4) Ressources sur Serveur Web

6 INSA - ASI InfoRep : Services REST 6/36 Introduction à REST (4/4) Caractéristiques de REST REST : REpresentational State Transfert REST est une méthodologie pour construire une application distribuée un type d architecture orientée Client/Serveur Web, Les Services Web REST permettent de construire des Architectures Orientées Ressources (ROA). Une telle application est dite RESTful.

7 INSA - ASI InfoRep : Services REST 7/36 Les Services Web de type REST (1/5) Description de REST Les services REST sont des Services Web Les services REST sont sans état : l état est maintenu par la représentation de la ressource Les services REST utilisent comme protocole de transport HTTP, et exclusivement 4 méthodes : GET, POST, PUT et DELETE Une architecture orientée REST est définie par un ensemble de ressources identifiées par leur URI. Une ressource (un document ) peut être représentée dans divers formats (XML, JSON, etc.) La création d une ressource est réalisée par la combinaison d une méthode POST et d un document au bon format

8 INSA - ASI InfoRep : Services REST 8/36 Les Services Web de type REST (2/5) Requête REST Ressource (identifiant) Identifiée par une URI Ex : Méthode Elles permettent de manipuler les identifiants Méthodes HTTP : GET, POST, PUT et DELETE Représentation Vue sur l état (requête client/serveur) Ex : XML, JSON

9 INSA - ASI InfoRep : Services REST 9/36 Les Services Web de type REST (3/5) Ressource et URI Une URI identifie une ressource de manière unique Une ressource peut avoir plusieurs URI et la représentation de la ressource peut évoluer avec le temps Les ressources sont hiérarchiques : une ressource peut être une collection de ressources Exemples /PEL et /1 sont les identifiants primaires d une même ressource /banque/comptes/bobleponge est une ressource de type collection : tous les comptes de BobLeponge

10 INSA - ASI InfoRep : Services REST 10/36 Les Services Web de type REST (4/5) Ressource, opération et méthode HTTP Opérations Une ressource peut subir 4 opérations (CRUD) : Create (Création), Retrieve (Lecture), Update (Mise à jour), Delete (Suppression) Méthodes HTTP Chaque opération correspond à une méthode HTTP : Create POST Retrieve GET Update PUT Delete DELETE

11 INSA - ASI InfoRep : Services REST 11/36 Les Services Web de type REST (5/5) Représentations Objectif : fournir les données suivant une représentation pour le client (GET) le serveur (PUT et POST) Les données peuvent être retournées dans différents formats (XML, HTML, JSON, etc.) Les formats des requête et réponse peuvent être différents

12 INSA - ASI InfoRep : Services REST 12/36 JAX-RS (1/10) Description JAX-RS : Java API for RESTful Web Services Spécification : JSR311 (jcp.org/en/jsr/summary?id=311) JAX-RS est intégré à Java à partir de Java EE 6 Le développement de Services Web REST avec JAX-RS s appuie sur les annotations Java Plusieurs implémentations existes : JERSEY (Oracle, référence), CXF (Apache), RESTEasy (JBoss/WildFly), RESTlet La spécification ne décrit que la partie serveur, la partie client dépend de chaque implémentation

13 INSA - ASI InfoRep : Services REST 13/36 JAX-RS (2/10) Annotations principales En serveur (Producer) Chemin vers la ressource adossée à la classe Chemin vers la ressource adossée à la méthode, avec d éventuels paramètres associés Méthode HTTP GET adossée à la méthode Paramètre adossée au paramètre En client pour le serveur (Consumer) Chemin vers la ressource adossée à la classe Méthode HTTP POST adossée à la méthode

14 INSA - ASI InfoRep : Services REST 14/36 JAX-RS (3/10) JAX-RS sur JBoss/WildFly : RESTEasy Respecte la spécification JSR311 Propose une gestion de projets par Maven Gestion des bibliothèques nécessaires au fonctionnement de REST Intégration des tests unitaires Commandes : mvn clean, mvn install, mvn test, etc. Peut être utilisée dans n importe quelle application J2EE Intégration facilitée : détection automatique des services Propose une API pour la conception de clients Installation : ajout de modules dans $JBOSS HOME/modules

15 INSA - ASI InfoRep : Services REST 15/36 JAX-RS (4/10) Servlet dédiée : web.xml <? xml version =" 1.0 "?> <!DOCTYPE web -app PUBLIC " -// Sun Microsystems, Inc.// DTD Web Application 2.3// EN" " http: // java.sun.com /dtd /web - app_2_3.dtd "> <web - app> <display - name>helloworld REST</ display - name> <context - param> <param -name>resteasy. guice. modules</param -name> <param - value>hellorest. HelloModule </param - value> </context - param> < listener > <listener - class> org. jboss. resteasy. plugins. guice. GuiceResteasyBootstrapServletContextListener </listener - class> </ listener > < servlet > <servlet - name>resteasy</ servlet - name> <servlet - class> org. jboss. resteasy. plugins. server. servlet. HttpServletDispatcher </servlet - class> </ servlet > <servlet - mapping> <servlet - name>resteasy</ servlet - name> <url - pattern>/* </url - pattern> </servlet - mapping> </web - app>

16 INSA - ASI InfoRep : Services REST 16/36 JAX-RS (5/10) Exemple 1 : HelloWorld REST (à vite oublier) HelloModule.java package hellorest ; import com. google. inject. Binder ; import com. google. inject. Module ; public c l a s s HelloModule implements Module { public void configure ( f i n a l Binder binder ) { binder.bind ( hellorest. HelloRessource. c l a s s );

17 INSA - ASI InfoRep : Services REST 17/36 JAX-RS (6/10) Exemple 1 : HelloWorld REST (à vite oublier) HelloRessource.java package hellorest ; import com. google. inject. Inject ; import javax.ws.rs.get ; import javax.ws.rs. Path ; import javax.ws.rs. PathParam Path ("/ hello ") public c l a s s HelloRessource Path ("/{ webname GET public String hello (@ PathParam (" webname ") f i n a l String name ) { r e t u r n " Hello " + name + "!";

18 INSA - ASI InfoRep : Services REST 18/36 JAX-RS (7/10) Exemple 1 : HelloWorld REST (à vite oublier) HelloTest.java import org. junit. Assert ; import org. junit.test ; import java.io. BufferedReader ; import java.io. InputStreamReader ; import java. net. URL ; p u b l i c c l a s s HelloTest Test p u b l i c v o i d test () throws Exception { f i n a l URL url = new URL ("http :// localhost :9095/ hello / world "); f i n a l BufferedReader reader = new BufferedReader (new InputStreamReader ( url. openstream ())); t r y { Assert. assertequals (" Hello world!", reader. readline ()); Assert. assertnull ( reader. readline ()); f i n a l l y { reader. close ();

19 INSA - ASI InfoRep : Services REST 19/36 JAX-RS (8/10) Exemple 1 : HelloWorld REST (à vite oublier) Application Web HelloWorldRest-1.0.war _WEB-INF _lib _scannotation jar, _resteasy-jaxrs final.jar,... _classes _hellorest _HelloModule.Class, HelloRessource.class _web.xml _META-INF Compilation et déploiement mvn clean install cp target/helloworldrest-1.0.war $JBOSS HOME/standalone/deployments

20 INSA - ASI InfoRep : Services REST 20/36 JAX-RS (9/10) Requête depuis un navigateur

21 INSA - ASI InfoRep : Services REST 21/36 JAX-RS (10/10) client.client.java package client ; import java.io. BufferedReader ; import java.io. IOException ; import java.io. InputStreamReader ; import java.io. StringReader ; import java. net. URL ; import java.net. HttpURLConnection ; p u b l i c c l a s s Client { p u b l i c s t a t i c v o i d main ( String [] args ) { t r y { URL url = new URL ("http :// localhost :8080/ HelloWorldRest -1.0/ hello /"+args [0]) ; HttpURLConnection conn = ( HttpURLConnection ) url. openconnection (); conn. setrequestmethod ("GET "); conn. setrequestproperty (" Accept ", "text / plain "); i f (conn. getresponsecode ()!= 200) { throw new RuntimeException (" Failed : HTTP error code : " + conn. getresponsecode ()); BufferedReader br = new BufferedReader (new InputStreamReader (( conn. getinputstream ()))); String apioutput = br. readline (); System.out. println ( apioutput ); conn. disconnect (); catch ( Exception e) { e. printstacktrace ();

22 INSA - ASI InfoRep : Services REST 22/36 Exemple 2 : Dictionnaire REST DictionaryResource.java package dicorest ; import javax.ws.rs.*; import javax.ws.rs.core. Response ; import java.util. HashMap ; import dicorest. Term (" dictionary ") public c l a s s DictionaryResource { private s t a t i c HashMap <String, String > listofterms = new HashMap <String, String >() Path ("/ terms /{ term Produces (" text / plain ") public String definition (@ PathParam (" term ") f i n a l String term ) { r e t u r n term + ": " + DictionaryResource. listofterms.get (term Path ("/ size Produces (" text / plain ") p u b l i c i n t size () { r e t u r n DictionaryResource. listofterms.size ();

23 INSA - ASI InfoRep : Services REST 23/36 Exemple 2 : Dictionnaire REST Path ("/ terms Consumes (" application /xml ") p u b l i c Response addterm ( Term term ) { DictionaryResource. listofterms.put (term. getname (), term. getdefinition ()); r e t u r n Response. status (200). entity (term. tostring ()). build Path ("/ terms Consumes (" application /xml ") p u b l i c Response updateterm ( Term term ) { DictionaryResource. listofterms. remove (term. getname ()); DictionaryResource. listofterms.put (term. getname (), term. getdefinition ()); r e t u r n Response. status (200). entity (term. tostring ()). build Path ("/ terms /{ term ") public Response removeterm (@ PathParam (" term ") f i n a l String term ) { DictionaryResource. listofterms. remove (term ); r e t u r n Response. status (200). entity (term. tostring ()). build ();

24 INSA - ASI InfoRep : Services REST 24/36 Exemple 2 : Dictionnaire REST Term.java package dicorest ; import javax.xml.bind. annotation. XmlElement ; import javax.xml.bind. annotation. XmlRootElement XmlRootElement (name =" term ") public c l a s s Term { p r i v a t e String name, definition ; p u b l i c Term () { p u b l i c Term ( String t, String def ) { t h i s. name = t; t h i s. definition = def ; p u b l i c String getname () { r e t u r n t h i s. name XmlElement public void setname ( String t) { t h i s.name = t; public String getdefinition () { return t h i s. definition XmlElement public void setdefinition ( String def ) { t h i s. definition = def Override p u b l i c String tostring () { r e t u r n t h i s. name + ": " + t h i s. definition ;

25 INSA - ASI InfoRep : Services REST 25/36 Exemple 2 : Dictionnaire REST Client.java package client ; import org. jboss. resteasy. client. jaxrs. ResteasyClient ; import org. jboss. resteasy. client. jaxrs. ResteasyClientBuilder ; import org. jboss. resteasy. client. jaxrs. ResteasyWebTarget ; import javax.ws.rs.core. Response ; import javax.ws.rs. client. Entity ; import dicorest. Term ; public c l a s s DictionaryClient { p u b l i c s t a t i c v o i d main ( String [] args ) { ResteasyClient client = new ResteasyClientBuilder (). build (); ResteasyWebTarget target ; Response response ; Term asi = new Term ("ASI ", " Architecture des Systemes d Information "), chat = new Term ("chat ", " Petit animal à poils "); String baseurl = "http :// localhost :8080/ DictionnaireRest -1.0/ "; target = client. target ( baseurl + " dictionary /size "); response = target. request ().get (); System.out. println (" Taille ; du dictionnaire : " + response. readentity ( String. c l a s s )) response. close (); target = client. target ( baseurl + " dictionary / terms "); response = target. request ().post ( Entity. entity (asi, " application /xml ; charset=utf -8" )); System.out. println ("POST (ASI ):" + response. getstatus ()); response. close ();

26 INSA - ASI InfoRep : Services REST 26/36 Exemple 2 : Dictionnaire REST Client.java response = target. request ().post ( Entity. entity (chat, " application /xml ; charset=utf -8 ")); System.out. println ("POST (chat ):" + response. getstatus ()); response. close (); target = client. target ( baseurl + " dictionary /size "); response = target. request ().get (); System.out. println (" Taille ; du dictionnaire : " + response. readentity ( String. c l a s s )) response. close (); target = client. target ( baseurl + " dictionary / terms /chat "); response = target. request ().get (); System.out. println ( response. readentity ( String. c l a s s )); response. close (); chat. setdefinition (" Petit animal fourbe à poils "); target = client. target ( baseurl + " dictionary / terms "); response = target. request ().put ( Entity. entity (chat, " application /xml ; charset=utf -8" )); System.out. println (" UPDATE (chat ):" + response. getstatus ()); response. close (); target = client. target ( baseurl + " dictionary / terms /chat "); response = target. request ().get (); System.out. println ( response. readentity ( String. c l a s s )); response. close (); target = client. target ( baseurl + " dictionary / terms /ASI "); response = target. request (). delete (); System.out. println (" DELETE (ASI ):" + response. getstatus ()); response. close ();

27 INSA - ASI InfoRep : Services REST 27/36 Exemple 2 : Dictionnaire REST Client.java target = client. target ( baseurl + " dictionary /size "); response = target. request ().get (); System.out. println (" Taille ; du dictionnaire : " + response. readentity ( String. c l a s s )) response. close (); Classpath client à l exécution commons-io-2.3.jar commons-logging jar httpclient jar httpcore jar jaxrs-api final.jar resteasy-client final.jar resteasy-jaxb-provider final.jar resteasy-jaxrs final.jar

28 INSA - ASI InfoRep : Services REST 28/36 Gestion des exceptions (1/3) Principe Rappel Le protocole HTTP ne permet pas de remonter des exceptions! Solution Le code Status HTTP peut être utilisé comme information Architecture orientée Ressources favoriser la remonter de document pour une consultation par un client web Exemple 404 : ressource non trouvée, valeur de paramètre erronée, : erreur interne du serveur

29 INSA - ASI InfoRep : Services REST 29/36 Gestion des exceptions (2/3) Exemple TestExceptions.java package exceptions ; import com. google. inject. Inject ; import javax.ws.rs.*; import javax.ws.rs.core. Response Path ("/ test ") public c l a s s TestExceptions Path ("/{ web - param Produces (" text / plain ") public Response test (@ PathParam ("web - param ") f i n a l String param ) { i f ( param. equals (" division ")) r e t u r n Response. status (500). entity ("" + 1/0). build (); e l s e i f ( param. equals (" null ")) r e t u r n Response. status (404). entity (" Paramètre attendu "). build (); e l s e r e t u r n Response. status (200). entity ("Reçu : " + param ). build ();

30 INSA - ASI InfoRep : Services REST 30/36 Gestion des exceptions (3/3) Exemple Client.java package client ; import org. jboss. resteasy. client. jaxrs. ResteasyClient ; import org. jboss. resteasy. client. jaxrs. ResteasyClientBuilder ; import org. jboss. resteasy. client. jaxrs. ResteasyWebTarget ; import javax.ws.rs.core. Response ; import javax.ws.rs. client. Entity ; p u b l i c c l a s s Client { p u b l i c s t a t i c v o i d main ( String [] args ) { ResteasyClient client = new ResteasyClientBuilder (). build (); ResteasyWebTarget target ; Response response ; String baseurl = "http :// localhost :8080/ ExceptionsRest -1.0/ test /"; i f ( args. length >0) target = client. target ( baseurl + args [0]) ; e l s e target = client. target ( baseurl ); response = target. request ().get (); System.out. println ( response. getstatus ()); System.out. println ( response. readentity ( String. c l a s s )); response. close ();

31 INSA - ASI InfoRep : Services REST 31/36 Arguments et valeur en retour (1/4) Principe Rappel Le serveur est en mode Consommateur ou Producteur en fonction de la méthode HTTP! Le passage par référence et donc les Callback ne sont pas supportés par les Services Web (et donc par les Services REST) Arguments GET : les arguments sont passés directement dans la requête POST, PUT et DELETE : les arguments sont consommés par le serveur Valeur en retour GET/POST : une valeur en retour est attendue ; l précise le type MIME de la valeur en retour Le code Status doit être utilisé

32 INSA - ASI InfoRep : Services REST 32/36 Arguments et valeur en retour (2/4) Exemple ServiceDeNommage.java package arguments ; import com. google. inject. Inject ; import javax.ws.rs.*; import javax.ws.rs.core. Response (" personnes ") public c l a s s ServiceDeNommage Path ("/{ web - param Consumes (" application /xml Produces (" application /xml ") public Response renomme (@ PathParam ("web - param ") f i n a l String nouveaunom, Personne arenommer ) { arenommer. setnom ( nouveaunom ); r e t u r n Response. status (200). entity ( arenommer ). build ();

33 INSA - ASI InfoRep : Services REST 33/36 Arguments et valeur en retour (3/4) Exemple Personne.java package arguments ; import javax.xml.bind. annotation. XmlElement ; import javax.xml.bind. annotation. XmlRootElement XmlRootElement (name =" personne ") public c l a s s Personne { p r i v a t e String nom ; p u b l i c Personne () { p u b l i c Personne ( String n) { t h i s. nom = n; p u b l i c String getnom () { r e t u r n t h i s. nom XmlElement public void setnom ( String n) { t h i s.nom = Override p u b l i c String tostring () { r e t u r n t h i s. nom ;

34 INSA - ASI InfoRep : Services REST 34/36 Arguments et valeur en retour (4/4) Exemple Client.java package client ; import org. jboss. resteasy. client. jaxrs. ResteasyClient ; import org. jboss. resteasy. client. jaxrs. ResteasyClientBuilder ; import org. jboss. resteasy. client. jaxrs. ResteasyWebTarget ; import javax.ws.rs.core. Response ; import javax.ws.rs. client. Entity ; import arguments. Personne ; p u b l i c c l a s s Client { p u b l i c s t a t i c v o i d main ( String [] args ) { ResteasyClient client = new ResteasyClientBuilder (). build (); ResteasyWebTarget target ; Response response ; Personne personne = new Personne ( args [0]) ; String baseurl = "http :// localhost :8080/ ArgumentsRest -1.0/ personnes /"; target = client. target ( baseurl + args [1]) ; response = target. request ().post ( Entity. entity (personne, " application /xml ; charset= UTF -8")); personne = response. readentity ( Personne. c l a s s ); System.out. println ("POST : " + response. getstatus () + "; received : " + personne ); response. close ();

35 INSA - ASI InfoRep : Services REST 35/36 Nommage des EndPoints : bonnes pratiques Recommandations Serveur orienté Ressources Utilisation possible de collections Privilégier l utilisation de collections Ex : (GET) annuaire/bob (GET) annuaire/personnes/bob Éviter les arguments explicites Ex : (GET) annuaire/personne/param=bob (GET) annuaire/personnes/bob Éviter les noms de type fonction Ex : (POST) annuaire/renommer/bob (POST) annuaire/personnes/bob

36 INSA - ASI InfoRep : Services REST 36/36 Références Livres RESTful Java (Bill Burke), Oreilly, 2009 RESTful Java Web Services (Jose Sandoval), PACKT, 2009 Sites jcp.org/en/jsr/summary?id=311 Cours Sun 99/=FY09TechDays_REST_Carol_(1).odp Cours M. Baron http: //miageprojet2.unice.fr/@api/deki/files/2109/=rest.pdf Cours M. Baron jersey.java.net/nonav/documentation/latest/user-guide. html

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail

Applications et Services WEB: Architecture REST

Applications et Services WEB: Architecture REST Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours

Plus en détail

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

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.

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. ASTRIUM - Toulouse JEE Formation 2013 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. Figure 1 Architecture

Plus en détail

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE Première coupe : CREATION : 2010/04/22 MISE A JOUR : 2010/07/01 GLASSFISH:3.0.1 NETBEANS : 6.8 Ce TP de découverte de la plateforme Java EE est une traduction adaptée de «Your First Cup :An Introduction

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Utilisation de Jakarta Tomcat

Utilisation de Jakarta Tomcat ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9 Chapitre 3 Introduction à HTTP L HyperText Transfer Protocol, plus connu sous l abréviation HTTP (littéralement protocole de transfert hypertexte ) est un protocole de communication client-serveur développé

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Les architectures 3-tiers Partie I : les applications WEB

Les architectures 3-tiers Partie I : les applications WEB Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011 Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

SOAP Concepts Application à Glassfish

SOAP Concepts Application à Glassfish SOAP Concepts Application à Glassfish LicencePro 2014 Olivier Perrin Université de Lorraine Évolution From server-side app to smart clients and services 2 Browser-based HTML Rendering (progressive enhancement)

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS SOMMAIRE 1 Introduction...4 2 Généralités à propos du stage...4 2.1 Sujet initial du stage Objectifs...4

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

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

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Programmation Internet en Java

Programmation Internet en Java Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.

Plus en détail

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées

Plus en détail

Introduction à ElasticSearch

Introduction à ElasticSearch Introduction à ElasticSearch Présentée par : Romain Pignolet Lundi 7 Juillet 2014 Sommaire 1 Présentation de Elasticsearch 2 Installation et exemples simples 3 API Rest 4 Comment fonctionne Elasticsearch?

Plus en détail

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

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

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds Cloud Définition? the market seems to have come to the conclusion that cloud computing has a lot in common with obscenity--you may not be able to define it, but you ll know it when you see it James Urquhart

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec Google Analytics Donner votre appréciation du cours!

Plus en détail

Introduction à Java. Philippe Genoud. Philippe.Genoud@imag.fr. http://www.inrialpes.fr/helix/people/genoud/ensjava

Introduction à Java. Philippe Genoud. Philippe.Genoud@imag.fr. http://www.inrialpes.fr/helix/people/genoud/ensjava Introduction à Java Philippe Genoud Philippe.Genoud@imag.fr http://www.inrialpes.fr/helix/people/genoud/ensjava http://membres-liglab.imag.fr/genoud/ensjava/m2cci/ 1 JAVA c'est quoi? Une technologie développée

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

Plus en détail

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0 RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture

Plus en détail

7 Développement d une application de MapReduce

7 Développement d une application de MapReduce 7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer

Plus en détail

Développement des Systèmes d Information

Développement des Systèmes d Information Développement des Systèmes d Information Axe ISI Camille Persson Institut Fayol / LSTI / ISCOD École Nationale Supérieure des Mines de Saint-Etienne 158 cours Fauriel, 42000 Saint-Etienne persson@emse.fr

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux. Par Pr Bouabid EL OUAHIDI

Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux. Par Pr Bouabid EL OUAHIDI Université Mohammed-V Agdal Faculté Sciences Rabat Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux Par Pr Bouabid EL OUAHIDI Email : ouahidi@fsr.ac.ma https://sites.google.com/site/bouabidouahidi/

Plus en détail

EXA1415 : Annotations JavaEE : @Local, @Stateful

EXA1415 : Annotations JavaEE : @Local, @Stateful EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Développement Web. Les protocoles

Développement Web. Les protocoles Développement Web NFA016 2007-2008 Les protocoles CNAM le 28 octobre 2007 O. Pons S. Rosmorduc M. Simonot 1 / 27 Notion de protocole Un réseau : ensemble de machines reliées entre elles. Communiquer :

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que

Plus en détail

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

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC lift 1 d j = ( + + Architecture Modularité Déploiements lift 2 plates-formes en 1 2 Se t Se Dat t Une architecture répondant à deux besoins : Elévation de la donnée Exploitation de la donnée publiée Des

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

Plus en détail

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Déployer les Fonts, Icones, et Images avec Forms Services 11G Déployer les Fonts, Icones, et Images avec Forms Services 11G 1. Le fichier Registry.dat Le fichier Registry.dat permet de gérer les correspondances de font entre celles utilisées pour le développement

Plus en détail

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

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 JEE 5 avec Eclipse Europa 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 Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers. Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail