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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 : 57
    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
    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
    Membre à l'essai
    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
    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
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    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
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    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 éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    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.

  7. #7
    Membre averti
    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
    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.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    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.

  9. #9
    Membre confirmé
    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
    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.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    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

  11. #11
    Membre confirmé
    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
    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.

  12. #12
    Membre éclairé
    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
    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.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    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

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    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.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    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

  16. #16
    Membre averti
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut Web Services pour la mise a jour de logiciel
    De mon cote, j'utilise les web services pour la mise a jour d'un logiciel. Le service est accessible via Internet et les clients interrogent regulierement le serveur pour savoir si une nouvelle mise a jour doit etre telechargee. Cela permet aussi de ternir a jour une liste de tous les sites avec la version, l'adresse IP, etc... Un deuxieme service permet de lister tous les sites grace a un client Java Swing et de selectionner les sites a metter a jour et la version. Techniquement, avec JAX-WS, il suffit simplement d'annoter la classe contenant les methodes avec @WebService. A cette simplicite de creation s'ajoute le fait que toute la couche de transport est entierement geree par la librairie donc tout est tres simple au depart. JAX-WS remplace JAX-RPC pour les Web Services de type RPC (Remote Procedure Call) utilisant SOAP et generalement HTTP.

    REST est plus simple et oriente document mais moins bien outille donc demande plus de travail et n'est pas aussi avance dans le domaine de la qualite de service (QoS) offert par les standards SOAP WS-*: security, reliability...

    Enfin, la solution de faire un simple requete HTTP de type POST a une URL correspondant a une simple Servlet est une version simplifiee de REST. J'ai aussi fait cela pour un service tres simple qui transmet une ligne chaque mois contenant les resultats de chaque magasins, ceci pour etre consolide sur un serveur. Cela demande plus de code donc plus de tests et plus de bugs eventuels a corriger.

    Tout ca pour dire qu'un Web Service ca sert a tout et n'importe quoi et que ce n'est pas bien complique.

    Cependant, la difficulte est ensuite l'evolution. Je viens actuellement de faire evoluer un service cree a partir d'une classe Java qui a pour parametre une entite (JPA). Si je modifie l'entite pour enlever un champ inutile, je casse la compatibilite, le service web ne presente plus la meme interface la prochaine fois que je le deploie donc plus rien ne marche.
    Ce qu'il manque c'est des strategies pour faire evoluer les services web.
    La solution pour pouvoir facilement evoluer est de commencer par la definition d'un fichier WSDL mais la, cela devient prise de tete, reserve aux amateurs de XML, namespace, XSD, etc... J'ai un peu joue avec BPEL juste pour le fun, la aussi, quand cela ne va pas, c'est tres vite la prise de tete et reserve aux gourous du XML.

  17. #17
    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 : 57
    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
    Billets dans le blog
    2
    Par défaut
    merci pour vos avis.
    Pour l'histoire du versioning de WS, en fait il faut décorréler le WS lui-même et l'implémentation qui fait réellement le boulot (une classe POJO ou équivalent en .Net ou autre). Il est préférable d'avoir autant de WS que de versions. Le code du WS fait ensuite de la délégation vers la classe qui réalise réellement le boulot. Charge au WS de s'arranger avec la nouvelle version de la classe qui fait le boulot (car c'est elle dont l'interface va changer).

    Bref, tout ça c'est le principe de la délégation et/ou du pattern "Business Facade"

  18. #18
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 : 21 743
    Par défaut
    Ce qu'il manque c'est des strategies pour faire evoluer les services web.
    N'est ce pas un problème de toutes architectures construites à partir de composants (pouvant évoluer indépendamment les uns des autres) ?

    J'entends que certaines proposent des outils de "versioning" ou autre permettant de gérer ces évolutions mais tout dépendra de la pertinence du découpage: nombre de composants, couplage entre fonctionnalités et des modalités d'évolution choisies.

    Sur ce dernier point, on se focalise trop souvent aux seules fonctionnalités de la version + 1. Je pense que dans ce contexte, il faut travailler avec en ligne de mire, les 2 versions majeures à venir dans les 2/3 ans et livrer aussi des mises à jour 'non-fonctionnelles' (*) qui paveront les étapes suivantes.
    (*) J'entends pas là de ne pas se réduire à ne livrer que les nouvelles fonctionnalités attendues mais ne pas hésiter à retravailler le code affecté pour le mettre en ligne avec ce qu'il devra subir plus tard.
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  19. #19
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Citation Envoyé par ego Voir le message
    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
    Il existe des tas de raisons aussi bien fonctionnelle, architecturales voir règelmentaires qui font qu'on utilise des services web.
    Exemples rencontrés sur le terrain :

    1. Cas classique, une application partage son service métier voire technique (souvent un service clé de l'entreprise) avec d'autres applications pour éviter à ces dernières de le développer.

    2. Echanger des infos avec des sociétés partenaires.

    3. Protocoles de communication choisit entre un client lourd et une appli web.

  20. #20
    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 : 57
    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
    Billets dans le blog
    2
    Par défaut
    1. Cas classique, une application partage son service métier voire technique (souvent un service clé de l'entreprise) avec d'autres applications pour éviter à ces dernières de le développer.
    Dans un système informatique, on ne développe pas un service métier pour que les autres l'utilisent. On fait ce que l'on appelle de l'urbanisation, c'est à dire que l'on donne des responsabilités à des applis. Ensuite, si on doit faire qq chose qui est sous la responsabilité d'une autre appli, et bien c'est à cette appli qu'on le demande et ce n'est pas au petit bonheur la chance.

    Une discussion que je vais peut être lancer un de ces 4, la réutilisation métier au niveau d'un SI CA N'EXISTE PAS

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 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, 10h28
  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, 19h27
  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, 14h43
  4. [XMLRAD] Security des WebModules et/ou des WebServices
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 18/12/2002, 17h09
  5. WebService Google sur builder 5?
    Par billuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 19h43

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