Avatar of JedNebula
JedNebula
Flag for United Kingdom of Great Britain and Northern Ireland asked on

Creating an API

Hi,

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:

Interoperability
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.

Scalability
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.
WCFWeb Services.NET Programming

Avatar of undefined
Last Comment
JedNebula

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
kaufmed

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
JedNebula

ASKER
Thank you ever so much kaufmed - a great reply.

Would you mind just expanding on your last sentence:

You do have to be concerned with versioning when it comes to potentially breaking changes.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes