IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Quelle technologie pour du REST ?


Sujet :

Services Web Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut Quelle technologie pour du REST ?
    Bonjour,

    j'envisage de mettre en place des web services via un serveur en REST.
    Cependant, j'ai vu qu'il existait plusieurs méthodes pour ce faire:
    JAX-WS et Restlet.
    En existe-t-il d'autres ?
    Quel choix me conseillez vous ?

    Merci pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Par défaut
    Bonjour,

    Personnellement, j'utilise l'implémentation Jersey ce qui me donne dans mon pom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <dependency>
    	<groupId>com.sun.jersey</groupId>
    	<artifactId>jersey-client</artifactId>
    	<version>1.10</version>
    </dependency>
    <dependency>
    	<groupId>com.sun.jersey</groupId>
    	<artifactId>jersey-server</artifactId>
    	<version>1.10</version>
    </dependency>
    <dependency>
    	<groupId>com.sun.jersey</groupId>
    	<artifactId>jersey-json</artifactId>
    	<version>1.10</version>
    </dependency>
    <dependency>
    	<groupId>javax.ws.rs</groupId>
    	<artifactId>jsr311-api</artifactId>
    	<version>1.1.1</version>
    </dependency>
    C'est vraiment très simple à mettre en place.
    Pratiquement tout est configuré par les annotations ou presque.
    Un petite serveur http instancié dans un main et c'est parti.

    Le serveur appelé par un main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    import java.io.IOException;
    import java.net.InetSocketAddress;
     
    import com.sun.jersey.api.container.ContainerFactory;
    import com.sun.net.httpserver.HttpHandler;
    import com.sun.net.httpserver.HttpServer;
     
    public class MyServer {
     
    public static HttpServer server = null ;
    public static int port = 9998 ;
    public static String context = "/MyContext";
     
    public static boolean launchHttpServer() {
    	HttpHandler handler = ContainerFactory.createContainer(HttpHandler.class, MyResource.class);
    try {
    	server = HttpServer.create(new InetSocketAddress(port), 0);
    	server.createContext("/", handler);
    	server.setExecutor(null);
    	server.start();
    	return true ;
    } catch (IOException e) {
    	e.printStackTrace();
    }
    return false ;
    }
    et la class MyRessource :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import javax.ws.rs.Consumes;
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.QueryParam;
    import javax.ws.rs.core.MediaType;
     
    @Path("/MyContext")
    public class MyResource {
     
    	@GET
    	@Produces(MediaType.APPLICATION_XHTML_XML)
    	@Consumes(MediaType.TEXT_PLAIN)
    	@Path("/xml")
    	public Object getXML(@QueryParam("type") String type, @QueryParam("aff") String aff) {
    		return .... ;
    	}
    }
    Voilà simple et efficace.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut
    Petite précision (qui a peut-être son utilité), les webservices seront appelés par de clients java, PHP ou autres).
    Cela influe-t-il sur le choix ?

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cela influe-t-il sur le choix ?
    Non c'est justement l'intérêt des webservices. Tu utilises la technologie que tu souhaites sans te soucier de celle du client.

Discussions similaires

  1. Quelle technologie pour un client lourd graphique ?
    Par abbepierre94 dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 05/06/2010, 17h27
  2. Quelle technologie pour une application open source en Java de type desktop ?
    Par Pierre8r dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 30/06/2009, 17h22
  3. Quelle technologie pour vérifier l'âge des utilisateurs ?
    Par wikers dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 08/11/2006, 14h13
  4. Quelle technologie pour des représentations schématiques ?
    Par Jéjé81 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 03/02/2006, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo