none
Comment créer un web service sans utiliser les techno .net RRS feed

  • Question

  • Bonjour à tous,

    Je souhaiterai savoir comment faire pour créer un web service sans utiliser les techno .net.

    J'ai pour mission de créer un web service avec un serveur écrit en c++. Pour le moment sur windows, ce web service doit pouvoir être porter sur d'autres plateformes, d'où la nécessité pour moi de ne pas utiliser de l'asp.net (qui pourtant me simplifierait la vie).

    Après avoir cherché sur le .net, j'ai trouvé pas mal de tuto, en C#, en java, etc... mais rien sur un web service en c++ pur et dur.

    Je m'en remet à vous dans l'espoir que l'un d'entre vous aura la gentillesse de m'aiguiller vers une solution (site web, pdf, simple conseil: je prend tout :-) ).

    mardi 22 juin 2010 07:37

Réponses

  • Bonjour,

    Dur dur de développer un web service en C++ qui soit indépendant de l'OS. De plus vous avez le choix entre :

    • utiliser un serveur web multi-platforme tel que Apache qui doit se charger d'appeler votre code C++ (cf. CGI).
    • recréer un serveur web en C++ qui se charge de traiter des requêtes de type webserivce (en gros vous réinventer la roue).

    Au lieu de s'aventurer dans un tel développement qui nécessite énormément de ressources, d'efforts et d'expertise (surtout au niveau sécurité) et bien évidemment je passe les problèmes de maintenance..., utilisez des solutions déjà prête à l'emploi tel que Mono ou Java (qui devrait répondre à votre problème d'être indépendant de l'OS).

    Une question, pourquoi souhaitez vous programmer un web service en C++ (à part pour l'indépendance vis à vis de l'OS) ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu vendredi 25 juin 2010 08:07
    mardi 22 juin 2010 08:36
    Modérateur

Toutes les réponses

  • Bonjour,

    Dur dur de développer un web service en C++ qui soit indépendant de l'OS. De plus vous avez le choix entre :

    • utiliser un serveur web multi-platforme tel que Apache qui doit se charger d'appeler votre code C++ (cf. CGI).
    • recréer un serveur web en C++ qui se charge de traiter des requêtes de type webserivce (en gros vous réinventer la roue).

    Au lieu de s'aventurer dans un tel développement qui nécessite énormément de ressources, d'efforts et d'expertise (surtout au niveau sécurité) et bien évidemment je passe les problèmes de maintenance..., utilisez des solutions déjà prête à l'emploi tel que Mono ou Java (qui devrait répondre à votre problème d'être indépendant de l'OS).

    Une question, pourquoi souhaitez vous programmer un web service en C++ (à part pour l'indépendance vis à vis de l'OS) ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu vendredi 25 juin 2010 08:07
    mardi 22 juin 2010 08:36
    Modérateur
  • Bonjour,

    Je dois programmer mon web service en c++ afin qu'il puisse communiquer avec d'autres programmes c++.

    Personnellement, je serai bien passer par un Java Native Dynamic Interface (ou quelque chose qui a ce nom) afin de créer plus facilement mon service web voir même de communiquer directement avec mon code java. Malheureusment pour moi, ce pas moi qui décide de l'architecture que je dois employer.

    Je pense que je vais m'orienter vers un serveur Apache et voir ce que je peut faire avec. J'espère juste que ça ne sera pas trop difficile avec ça.

    Juste une question, connaissez-vous gSOAP? C'est un outil qui m'aurait permis de générer mon web service (mais il est très décilat à utiliser pour un débutant).

    Merci pour votre réponse claire et rapide.

    Respectueusement

    jeudi 24 juin 2010 08:19
  • gSOAP, je l'ai utilisé il y a quelque années avec succès sur ce type de projet. (Webservices sous Linux en 2002)

    C'est vrai qu'il n'est pas facile à maitriser pour une personne connaissant peu le C++.

    gSOAP est donc ce que je vous aurais conseillé.

    P.S.: Franchement, on peut rendre une librairie C++ appelable facilement par tout langage supportant les appels en convention C (pratiquement, tous les langages que je connais, plus ou moins directement bien sûr). Donc, à moins d'être un bras cassé en C++, l'argument de faire du C++ pour appeler de C++ ne tient pas la route.


    Paul Bacelar, Ex - MVP VC++
    jeudi 24 juin 2010 13:18
    Modérateur
  • Bonjour,

    "mais il est très décilat à utiliser pour un débutant"
    Je ne veux pas vous décourager, mais si vous êtes débutant en C++, vous risquez de passer beaucoup de temps pour pas grand chose... N'est-il pas possible de négocier avec votre responsable pour changer en une technologie beaucoup plus simple pour le besoin énoncé ? (Au pire, proposez lui de se reconvertir en responsable d'un rayon slip d'une grande surface... Cela devrait être dans ces cordes...). 

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    jeudi 24 juin 2010 18:37
    Modérateur
  • Bonjour,

     

    Messieurs, un peu de sérieux s'il vous plait.

    Pour le coup du rayon de slip c'est bien vu, j'ai des doutes sur l'humour de mon chef.

    Par rapport au c++ je suis un débutant dans le sens où j'en ai fait uniquement dans le cadre scolaire.

    Pour la possibilité de changer de solution, je n'ai que très peu d'influence dans cette décision, c'est mon chef qui voit l'architecte qui lui dit ce qu'il faut faire.

    Pour mieux vous situer ma position, je ne suis qu'un tout petit stagiaire.

     

    Quoi qu'il en soit, je vous remercie de vos réponses qui me confortent dans ma position.

     

    Cordialement

    jeudi 24 juin 2010 21:10
  • gSOAP, sans un coup de main d'une personne connaissant bien le C++, cela va être une galère.

    Vu le raisonnement de votre chef, ce n'est pas lui qui vous sera d'un grand secours.

    Vous pouvez toujours essayer pendant une demi-journée avec un collègue débrouillard en C++.

    Mais, franchement, le plus simple et de convertir les API C++ en API C et d'utiliser les frameworks WebService-aware avec une glue vers ces API C.


    Paul Bacelar, Ex - MVP VC++
    lundi 28 juin 2010 17:14
    Modérateur
  • (re)Bonjour à tous,

    Finalement, je dois utiliser gSOAP.

    J'ai écris un serveur pour le service web avec gSOAP et j'ai écris un client c# pour le tester.

    Le souci est que je n'arrive pas à faire communiquer le client et le serveur.

    J'ai aussi écris un autre serveur (de service web) mais C#. Celui-ci communique parfaitement avec le client C#.

    Seriez-vous d'accord de me guider une nouvelle fois?

    Merci pour votre patience et pour votre aide.

    lundi 12 juillet 2010 10:09
  • Pas de log dans gSOAP ?

    Faire un client gSOAP et voir les logs clients et server.

    Connecter le client gSOAP avec le server .NET et voir les logs.

     

    etc...


    Paul Bacelar, Ex - MVP VC++
    mardi 13 juillet 2010 01:16
    Modérateur