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 :

Proxy web Services


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Points : 50
    Points
    50
    Par défaut Proxy web Services
    Bonjour,

    J'ai besoin d'aide concernant l'architecture d'une application qui doit s'interposer entre un client et un serveur et qui est capable de réceptionner des requêtes SOAP et REST.

    Tout d'abord, ce que l'application a pour objectif :
    - Via requête Rest : Déclencher ensemble de traitement python.
    - Via requête SOAP : Forwarder le message au service web approprié selon table de routage définie.

    Tout ceci doit être supervisé.

    Questions :
    1) Peut-on envoyer une requête SOAP sur une url qui ne correspond pas à un point d'entrée d'un WS ?
    2) Comment gérer la performance et non bloquant ?

    Donc voilà, par quoi commencer ?

    J'ai déjà implémenté un début qui me parait pas propre, pour le rest j'ai un web service Rest et pour le soap j'ai un faux endpoint devant lequel je place un filtre qui va déléguer le forward à un composant interne dans un thread.

    Peut-être devrais je regarder vers JMS ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Plop,

    Si tu comptes passer par JMS, c'est que tu n'es pas obligé d'utiliser REST et SOAP je présume. Si oui, tu devrais surtout n'utiliser qu'une seule technologie pour ce genre de choses, la plus simple étant REST.

    Peut-on envoyer une requête SOAP sur une url qui ne correspond pas à un point d'entrée d'un WS ?
    Normalement oui, mais tu risques d'avoir une erreur plus qu'autre chose. Si tu fais une requête HTTP sur une adresse inexistante, tu n'as pas grand chose, bien que tu puisses le faire.

    Comment gérer la performance et non bloquant ?
    C'est à toi d'utiliser un système asynchrone, pour le non bloquant. Maintenant pour la performance, évite de base d'utiliser des protocoles de haut niveau (comme HTTP) quand tu peux utiliser TCP / UDP. Tu traverses des couches en moins.

    Peut-être devrais je regarder vers JMS ?
    Pourquoi pas. Mais l'avantage d'un service REST est l'intéropérabilité (bien que ce soit vrai avec AMPQ), mais surtout la simplicité. Personnellement je ferai du pur REST, qui est très simple à utiliser en JEE.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta réponse.

    Alors effectivement, regarder du côté de JMS était pas vraiment pertinent puisqu'il me faut réceptionner des requêtes soap et rest.

    Alors, du coup j'ai créé un servlet dans le cas de la requête SOAP qui va appeler une EJB Session stateful, de manière à garder un contexte en mémoire pour les échanges avec ce client.

    Je pourrais également en faire de même avec la requête quoi doit être passé par url en surchargant doGet de la servlet.

    Mais, n'est il pas judicieux de tout implémenter en REST ?

    Et questions :

    Rest et EJB font ils bon ménage ?
    Les servlets 3.0 permettent le lancement asynchrone, en est il de même avec le REST ?

    Merci

    PS : Sachant que dans un cas, je dois garder un certain contexte avec le client donc REST est il adapté sachant qu'il est stateless ?
    Je m'y perd un peu avec tout ça !

  4. #4
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Mais, n'est il pas judicieux de tout implémenter en REST ?
    Si le SOAP ne peut pas être modifié, tu dois t'y plier et offrir un endpoint. Par contre pour le reste tu peux tout faire en REST.

    Rest et EJB font ils bon ménage ?
    Pourquoi pas. Tout dépend de ce que tu compte faire. Si tu dois déléguer un traitement à un service précis, il vaut peut-être mieux séparer le tout et utiliser des EJBs. S'il s'agit de faire un traitement simple, alors tu peux le faire dans la couche REST.

    Les servlets 3.0 permettent le lancement asynchrone, en est il de même avec le REST ?
    En fait, quand je parle de REST, je parle de l'API JAX-RS. Derrière JAX-RS, c'est de la pur Servlet. Tu peux récupérer des informations comme HttpServletRequest etc...
    Donc tu peux utiliser le lancement asynchrone des Servlets. Certaines implémentations de JAX-RS proposent leurs propres mécanismes pour l'asynchrone, comme JBoss RESTEasy (documentation). Maintenant, n'oublie pas qu'il y a un pool de connexions pour chaque serveur.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Points : 50
    Points
    50
    Par défaut
    Alors en fait, l'idée est de fournir un service REST pour réception des requêtes SOAP et REST.
    C'est via le service REST que je vais ensuite forwarder ma requête SOAP ou alors exécuter un traitement de lancement de batchs.

    Donc du coup, je vais implémenter un REST avec gestion de cookie puisque dans le cas où je récupère une requête SOAP, je dois garder un certain oeil sur la conversation client/serveur.

    Et donc, je ne suis plus sur de l'utilité de l'EJB.

Discussions similaires

  1. web service et web proxy
    Par vicros dans le forum Services Web
    Réponses: 5
    Dernier message: 27/10/2008, 15h18
  2. Web Service + Proxy = 2 différents objets
    Par superdaok84 dans le forum Services Web
    Réponses: 11
    Dernier message: 20/02/2008, 17h51
  3. Web service, proxy et HTTPS
    Par eraim dans le forum Langage
    Réponses: 9
    Dernier message: 06/03/2007, 17h47
  4. Script perl web service et proxy
    Par amer2006 dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 13h35

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