-
Web service Soap
Bonjour a tous je suis débutant en web service,
j'ai réalisé un programme pour partager une base de données sur internet pour etre accecible de partout avec une application lourd (delphi Win32), le probleme c'est que j'ai oublier comment faire, j'aimerai savoir les étape depuis le début (HTTPSoapDispatcher1,[soSendMultiRefObj,soTryAllSchema]....)
comment créer le WSDL exetera ...
et j'aimerai savoir si cette solution (Web service) est fiable et surtout rapide car le débit connexion sortante est de 0.2 Mbps et entrante est 0.5 Mbps
-
Tu dois utiliser l'importateur WSDL (c'est un outil dans les modules) ou passer par WSDLImp.exe (dans \bin)
Si ton serveur SOAP contient tout ce qu'il faut, l'importateur va extraire complètement les classes et méthodes fournis par son service !
Tu n'auras qu'à l'invoquer !
Si ton serveur SOAP a été créé en Delphi, il contient déjà tout ce qu'il faut par défaut lors de la création du projet, tous les objets invocables et les types enregistrés seront inclus dans le WSDL qui généré automatiquement !
Normalement, tu as une page d'accueil du WS (HTTP://monserveur:80/root/servicedir/), à partir de là, il y a le lien vers le WSDL ainsi que les descriptions des fonctions !
En terme de performance, comme tu fournis une couche intermédiaire, avec la transformation des données en XML, c'est forcément plus lent qu'une connexion directe
As-tu regarder DataSnap qui utilise les mêmes mécanismes mais s'occupe lui même de gérer la DB ?
Sinon, il y a aussi des solutions de Tunneling SSH,
Principe :
Tu lance un client SSH sur le xxxx (putty en ligne de commande, ou un programme maison avec Secure Black Box)
ce client SSH ouvre une connexion vers un Serveur SSH (Open SSH par exemple)
Le client SSH indique au serveur SSH , l'IP et le Port (Portforwarding) de la cible (cela peut-être le même host ou un autre serveur sur le même réseau local que le Serveur SSH mais qui n'est pas accessible normalement de l'extérieur)
Ton client DB se connecte en local 127.0.0.1 sur le Port xxxx
Le client SSH va envoyer toutes les données vers le Serveur SSH (et vice-versa)
Le Serveur SSH route les donnes vers le Serveur de DB
Couplé à un FireWall pour limiter l'accès au serveur SSH, tu as un bon niveau de sécurité et des performances nettement meilleures qu'un SOAP
Voir aussi les options SSL de ton SGBD, par exemple, MySQL fourni cela par défaut
exetera ? et cetera ? :mouarf:
-
Avec comme aide cet excellent article qui nous montre les web Service des côtés client et serveur.