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

SOA Discussion :

WebServices : Où ? Pourquoi ?


Sujet :

SOA

  1. #1
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2004
    Messages : 1 883
    Points : 3 501
    Points
    3 501
    Billets dans le blog
    2
    Par défaut WebServices : Où ? Pourquoi ?
    Pour ceux qui utilises des WebServices (JAX-RPC et/ou JAX-WS) :

    1- Dans quelS contextes les utilisez-vous ?
    2- Dans quelS contextes ne les utilisez-vous pas ?

    je recherche des infos du terrain, pas de la théorie...

    Merci d'avance

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Hello
    déjà des pistes :
    - en cas de besoin d'interopérabilté : Java discute avec .Net et inversement
    - avec Flex (ou toute autre techno de type RIA) : l'IHM riche discute avec le serveur via WS quelle que soit la techno retenue côté serveur
    - ...

  3. #3
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Personnellement j'ai utilisé les WS lorsque le protocole était imposé entre le client et le serveur, à savoir HTTPs. Il fallait également prendre en compte la possibilité de futur client en d'autre language.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 802
    Points : 652
    Points
    652
    Par défaut
    J'ai participé au développement d'un WebService qui sert d'interface pour interroger une base de donnée à partir de critères définis.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut
    J'ai travaillé sur une appli multi-couches, dans la couche métier ou service, nous appelions un WS en donnant juste le nom de du service et les paramétres et nous récupérions le résultat sous forme d'un bean c'est tout ce que j'avais avec les WS mais j'aimerais bien enrichir mon expérience avec

    Merci;

    à toi

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Dans ma boite on s'en est servi pour créer la couche d'accès aux données (DAL, Data Access Layer).

    On a utilisé des WS pour lier notre application lourde (WPF), notre intranet (ASP. NET), nos applications mobile (CF), et nos différentes petites applications (Ex. : écran tactile de pointage ...)

    Toutes nos applications utilisent la même base de donnée et toutes les données sont croisées.

    Donc grâce aux WS on a développé une seul couche d'accès aux données.

    Voilà pour moi.

  7. #7
    Membre habitué
    Profil pro
    Architecte logiciel
    Inscrit en
    décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : décembre 2008
    Messages : 77
    Points : 152
    Points
    152
    Par défaut
    Mon expérience personnelle se limite plutôt à une mauvaise utilisation des WS. J'ai bossé sur un projet où nous avons mis en place les WS (fallait obéir aux directives groupes). Or, pour notre projet ce fut fastidieux car en fin de compte, nous nous sommes rendus compte que nous aurions pu nous limiter à faire du REST. Les méthodes GET et POST auraient suffi avec notre IHM Flex.
    Je pense qu'avant de faire un choix WS, il faut savoir quel sera le niveau de service.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2006
    Messages : 36
    Points : 80
    Points
    80
    Par défaut
    Un peu pareil que pour csperandio, dans ma boite (appli de gestion avec BDD centralisée, les WS faisaient DAL) on a virer les WS pour mettre de la serialisation (.net), on y a gagner en perf, en souplesse et en temps de dev.

    Si c'est pour coder client et server dans le meme langage, sans besoin d'interopérabilité je ne voit pas trop l'interet des WS mise a part d'éventuels problemes de firewall ou trucs du style (ceci dit je ne suis pas un expert la dedans, j'ai peut etre raté un truc...)

    D'ailleurs si quelqu'un peu m'éclairer sur l'interet des WS dans un tel cas, je suis preneur

  9. #9
    Membre habitué
    Profil pro
    Architecte logiciel
    Inscrit en
    décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : décembre 2008
    Messages : 77
    Points : 152
    Points
    152
    Par défaut
    Citation Envoyé par vincepoencet Voir le message
    Un peu pareil que pour csperandio, dans ma boite (appli de gestion avec BDD centralisée, les WS faisaient DAL) on a virer les WS pour mettre de la serialisation (.net), on y a gagner en perf, en souplesse et en temps de dev.

    Si c'est pour coder client et server dans le meme langage, sans besoin d'interopérabilité je ne voit pas trop l'interet des WS mise a part d'éventuels problemes de firewall ou trucs du style (ceci dit je ne suis pas un expert la dedans, j'ai peut etre raté un truc...)

    D'ailleurs si quelqu'un peu m'éclairer sur l'interet des WS dans un tel cas, je suis preneur
    Quelques fois, je me demande si les WS c'est pas le truc un peu "mode". Dès que tu dis que tu fais une appli distribué, on te dit "faut faire du WS" Avant même de savoir, quel sera l'intérêt.

  10. #10
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2008
    Messages : 63
    Points : 108
    Points
    108
    Par défaut
    Dans une mission, j'avais bossé sur un web-services avec axis 1.1.
    Le ws était interrogé par un client lourd en fait par le client du projet et codé en .NET. De plus, j'avais codé un petit programme en java pour mes test.
    Pour moi un ws convient si l'on souhaite exposer un service "à l'extérieur".
    Et est à éviter dans une exposition interne entre autre par le fait qu'il ne soit pas transactionnel, pour une exposition interne distribuée mieux vaut du JMS.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2006
    Messages : 36
    Points : 80
    Points
    80
    Par défaut
    Pour moi un ws convient si l'on souhaite exposer un service "à l'extérieur".
    Exact.

    Typiquement, amazon correspond pour moi a une bonne utilisation des WS:
    Ils fournissent un Service(justement), qu'on peut attaquer depuis n'importe quoi dans des applis diverses sans trop savoir comment ça marche derriere.

    Faut vraiment que ce soit assez générique et destiné a être réutilisé par des tiers pour valoir le coup je pense

    Quelques fois, je me demande si les WS c'est pas le truc un peu "mode". Dès que tu dis que tu fais une appli distribué, on te dit "faut faire du WS" Avant même de savoir, quel sera l'intérêt.
    Ouep, l'effet de mode joue pas mal en informatique, je pense aussi au XML qu'on voit a toutes les sauces... mais bon c'est pas le sujet du débat

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : juin 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Hello,
    gros projet d'architecture asynchrone (utilisation MSMQ+webservices), en .Net (WCF). Nous avons pu constaté que l'utilisation des webservices permet de limiter la redondance de code. Nous avons développé une couche "business" pour tous les services que nous utilisions (principalement du mapping entre différentes valeur ou entité, mais aussi accès db).

    Pour ma part je trouve cela très satisfaisant comme solution si l'on sait à l'avance que nous aurons différentes apps qui utiliseront ces services et j'ajouterais que c'est tellement simple de publicer un WS... pourquoi s'en priver.

  13. #13
    Membre du Club
    Inscrit en
    mars 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 29
    Points : 43
    Points
    43
    Par défaut
    J'utilise et je programme des webservices selon le besoin de mes applications en .Net avec la FrameWork 3.5.

    Je les utilise surtout pour interroger des bases de données SQL Server qui sont online et qui ont besoin d'être rafraichis automatiquement.

    Tout cela est développé en .Net 3.5, le meilleur outil de développement dans le marché de l'informatique actuellement.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : octobre 2008
    Messages : 24
    Points : 28
    Points
    28
    Par défaut
    Pour ma part les web services ont été mis en place suite à une réorganisation du système d'information. Ils servaient principalement pour récupérer des informations en base de données mais également pour interagir avec des progiciels.
    Généralement des clients lourd .net interagissait avec les web service jax-ws.
    Tous ce fonctionnement était couplé avec l'utilisation d'un ESB.
    Enfin une architecture orienté service classique.

    Ses choix on principalement été fait pour bénéficier d’un couplage faible entre les applications.

    Tetar

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : avril 2006
    Messages : 51
    Points : 63
    Points
    63
    Par défaut
    En fait il faut savoir ce que ton application / ton architecture a besoin

    a. Si tu veux simplement faire de l'invocation à distance (machine ou jvm différente), bref une application orientée "message" (ta méthode est le signal et tes paramètres le contenu) => Alors du JAX-RPC est suffisant.

    Par contre il faut absolument que tu fasses attention à l'implémentation sous-jacente, en effet ça peut être du SOAP, du RMI, du XML-RPC, etc, et forcement certaines implémentation ne sont pas compatibles entre elles!

    b. En revanche si ton application / archi a besoin de features plus avancé comme de l'addressage, de la sécurité, de la validation, etc, alors JAX-WS pourra t'aider, l'idéal étant de choisir une implémentation SOAP car elle est plutôt mature.

    Pour ça CXF est plutôt pas mal, c'est le fork officiel du très bon XFire.

    c. Si tu as besoin de services orientés ressource, tu peux t'intérésser à JAX-RS qui est *stateless*. En gros la seule implémentation que je connaisse est le REST, c'est du POX qui circule sur du HTTP.

    CXF a également une implémentation JAX-RS, celà dit ce n'est pas l'implémentation de référence, mais elle marche pas trop mal. Et elle a l'avantage d'être en développement actif.

    __________
    Pour info, notre archi est découpés en couche et en strates réparties sur des JVM différentes et des machines différentes, à celà s'ajoute des clients qui tapent sur des services que nous exposons. Bref une archi typiquement SOA.

    Pour la communication de nos applications internes il s'agit essentiellement d'invocation d'EJB et on utilise le RMI, c'est suffisant mais les besoins pourrait évoluer et nous commander de passer à une autre solution.

    En revanche pour gérer la communication et être le plus interopérable avec le client, nous utilisons les WebServices avec du SOAP.

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 802
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par verbose Voir le message
    J'ai participé au développement d'un WebService qui sert d'interface pour interroger une base de donnée à partir de critères définis.
    Je rajouterai que le projet n'est pas vraiment une réussite. Néanmoins la cause des problèmes que nous avons rencontré n'est pas dû au choix des WebServices mais à des problèmes d'architecture logicielle.

    En effet, le développement d'un WebService en Java passe généralement par un framework qui génère une api permettant d'encapsuler les appels SOAP.

    Le problème est que notre client nous a imposé l'utilisation d'une deuxième api pour l'accès aux données. Du coup, l'emboîtement de ces deux apis s'est révélée pour le moins acrobatique.

    La difficulté ayant été sous-estimée au départ, l'architecture du projet n'a pas réellement fait l'objet d'une réflexion approfondie. Nous nous sommes finalement retrouvé avec une véritable coulée de lave et des bugs très difficiles à analyser.

    Pour résumer, le choix d'un WebService est en soi une bonne idée dans notre cas, mais il aurait du s'accompagner d'une véritable réflexion sur les technologies d'accès aux données et l'architecture. Comme dans tout projet somme toute.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : avril 2006
    Messages : 51
    Points : 63
    Points
    63
    Par défaut
    @verbose

    Vous auriez du regardé du coté de JAX-RS avec du REST, c'est pas mal pour accéder aux données, tu peux faire des opérations CRUD.

  18. #18
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : février 2003
    Messages : 1 493
    Points : 3 263
    Points
    3 263
    Par défaut
    Citation Envoyé par TheNOHDirector Voir le message
    En fait il faut savoir ce que ton application / ton architecture a besoin

    a. Si tu veux simplement faire de l'invocation à distance (machine ou jvm différente), bref une application orientée "message" (ta méthode est le signal et tes paramètres le contenu) => Alors du JAX-RPC est suffisant.

    Par contre il faut absolument que tu fasses attention à l'implémentation sous-jacente, en effet ça peut être du SOAP, du RMI, du XML-RPC, etc, et forcement certaines implémentation ne sont pas compatibles entre elles!

    b. En revanche si ton application / archi a besoin de features plus avancé comme de l'addressage, de la sécurité, de la validation, etc, alors JAX-WS pourra t'aider, l'idéal étant de choisir une implémentation SOAP car elle est plutôt mature.

    Pour ça CXF est plutôt pas mal, c'est le fork officiel du très bon XFire.

    c. Si tu as besoin de services orientés ressource, tu peux t'intérésser à JAX-RS qui est *stateless*. En gros la seule implémentation que je connaisse est le REST, c'est du POX qui circule sur du HTTP.

    CXF a également une implémentation JAX-RS, celà dit ce n'est pas l'implémentation de référence, mais elle marche pas trop mal. Et elle a l'avantage d'être en développement actif.

    __________
    Pour info, notre archi est découpés en couche et en strates réparties sur des JVM différentes et des machines différentes, à celà s'ajoute des clients qui tapent sur des services que nous exposons. Bref une archi typiquement SOA.

    Pour la communication de nos applications internes il s'agit essentiellement d'invocation d'EJB et on utilise le RMI, c'est suffisant mais les besoins pourrait évoluer et nous commander de passer à une autre solution.

    En revanche pour gérer la communication et être le plus interopérable avec le client, nous utilisons les WebServices avec du SOAP.
    C'est le genre de réponse que j'aimerais comprendre dès sa première lecture çà à l'air plus qu'intéressant mais beaucoup trop technique en première lecture.
    Emmanuel Lecoester
    => joomla addict.

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 106
    Points : 29 538
    Points
    29 538
    Par défaut
    Citation Envoyé par TheNOHDirector Voir le message
    E
    c. Si tu as besoin de services orientés ressource, tu peux t'intérésser à JAX-RS qui est *stateless*. En gros la seule implémentation que je connaisse est le REST, c'est du POX qui circule sur du HTTP.
    Bonsoir,

    REST peut être plus que du Plain Old XML.

    En ce moment, j'évalue REST pour effectuer des échanges de données entre applications "dans" l'entreprise. C'est largement suffisant pour construire des micro-webservices, l'article mentionné montre comment faire 'plus'.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  20. #20
    Inactif  
    Profil pro
    Inscrit en
    mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2006
    Messages : 2 189
    Points : 2 280
    Points
    2 280
    Par défaut
    nous on l'utilise essentiellement pour communiquer avec le monde de SAP, pour l'exposition et la consomation on utilise CXF mais je me demande si on va pas retourner sur axis qui était mon choix initial car lorsque l'on doit paramétrer la consomation sur les services SAP il faut exposé en clair le user name et le password (configuration par spring oblige et pas possible à ma connaissance de bypasser le fichier de configuration de spring et cxf pour le forcer à décrypter tout ca)

    et c'est franchement pas agréable quand on doit utiliser différents serveurs pour le dev, la qa et la prod ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. [Web Service] Pourquoi le webservice ne supporte pas les accents ?
    Par andrianiaina dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/01/2012, 11h28
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 20h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 15h43
  4. [XMLRAD] Security des WebModules et/ou des WebServices
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 18/12/2002, 18h09
  5. WebService Google sur builder 5?
    Par billuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 20h43

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