We have a software that reads data from other third party websites, so far so good, but for each new website that we want to import data, we have to read data from their webservices so we have to implement that in our software.
But this is time consuming and we got to a point where we have several websites which want their data imported, so the solution is for us to define a standard and say “hey, you want us to import your data? That’s fine, just implement “this” and type your URL into our software.
But as I do not have much experience with webservices so I don’t know from where to start.
Our software is a desktop application, and most of the third party websites use webservices so that’s the first idea but what would be the best way to implement it?
Just implement a Webservice and provide them then WSDL and say: “hey, make your webservice like this” doesn’t seem to be enough.
Any advice?
If you are committed to consuming the services via HTTP, then SOAP is probably the best way to go. There are other ways you could go (a simple HTTP GET for example, provided you don’t have to supply much input data to them), but I think SOAP is by far the most common.
If you’re not actually limited to HTTP, then some other TCP interface could be much more efficient, especially if binary data like images are being transferred, as SOAP base64-encodes binary data which adds 30% overhead onto the packet sizes.