I'm looking for your advice for the best way to do something rather than actually being stuck on a particular problem.
We have many clients that run our own Windows based software, which uses a localised MS SQL Server Database for it's storage.
I am looking to write a central API web service of some kind that I can use to allow website (and perhaps other third-party) developers to access (on an authorise only basis) their customer's data.
The user name and password should decide, which SQL database to use when obtaining the data. This is so one developer does not end up with someone else's data!
I'm really wondering which ways you would go about doing this.
Some point to consider are:
Although, I write code in VB.NET, I need to know that the API can be used by both MS based developers (ASP/MVC etc.) and others like php developers etc. At the same time, if the developer does have a leaning towards MS based languages, it would make sense that they can have intellisense for my properties and methods where possible.
Large Data Streaming
Some of the customers we have, upload many thousands of products to their websites. Granted these are not new products going up each day, but the developer may need to get an up-to-date list of all the products, so that he can compare them with what he's got in his website already. The solution I put in place would need to cater for this without tying up the server's resources so much that other's requests are crippled or sat waiting.
I would likely start the API by offering only basic information - for example SKU code, Description, Sell Price, Cost Price etc. but in time, it would without doubt grow to include further fields. I need the method I put in place to make this easy to do (for me) whilst not breaking anything existing developers are out there using.
I have had a play with ASP MVC Identity 2.0 and also WCF. I am using Visual Studio 2013.
I just wanted to get some feedback from you guys as to which way you would do it (so please don't just post links to sites containing hundreds of pages of reading) before I do a load of work down the wrong path.
Thanks in advance.