1

I'm trying to find a way to collect data from different servers around the world.

Here are the details:

There is only one single PowerShell script on servers that encrypts data (simple csv file) and sends with preferred method (HTTP/HTTPS Post could be)

There is no more control on that servers. Can't install any service, process etc. Just I can configure script to execute every hour.

This script also will have encrypted username/password/license key for every server. Script will compress data and send to me with these information.

So I need a service (I'm not sure if Web Service is the rigth solution) on the cloud that will help me to:

Will get data that is sent from servers using a method. Will authenticate request to recognize sender using license key/username/password and most importantly, Will redirect/send this filecab to my SQL Server on the cloud (Azure). Also it should seperate data according to customer information in license key. So every data for every customer will be stored in dedicated DB/Tables on my SQL All the processes above should be completed automatically. No way for manual steps.

Question:

A Web Service (SOAP or Restful) is the rigth solution for that?

  • What operating system are used by the servers? If they are linux, a simple crontab entry producing periodically a downloadable data file would be enough. – Basile Starynkevitch Aug 31 '14 at 7:25
1

A web service is an excellent choice for this type of situation. Using HTTPS plus compression, you should have no issues. It doesn't matter whether this is SOAP or RESTful, although I'd recommend REST because it's easy to work with, especially if you have PowerShell 4.0 (which includes the Invoke-RestMethod cmdlet). Failing that, I'd install curl and work with it that way.

I will note that you should consider doing something a little more sophisticated than a plain POST; you'll probably want error checking, so consider a two-stage service where you request a token, providing a checksum, and then POST the data along with the token you received. Then the service can use the checksum to validate the data that it received.

  • Thanks syrion. What do you suggest for the authentication? Which one (SOAP-REstful) provides better authentication methods? May be two-way authentication.. – anilerduran Jan 3 '14 at 8:38
  • Authentication is down to how you handle it, more than anything else. Both SOAP and REST are over HTTP, so inherently you can implement any type of auth in one that you would in the other. For example, use HTTPS, pass in a checksum to get a token back, have the server return a token plus a hash of the token + checksum based on a shared secret... and so on. – asthasr Jan 3 '14 at 12:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.