I need a windows service that receives REST requests and depending on what is requested builds an SQL query joining needed tables, filters and columns and querying MSSQL database returning results to the client through REST interface. Database table relation structure (meta information) will be stored in separate database defining the resource/tablelist/columnlist relations so that SQL query can be generated properly.
REST URI request usually will look like this
/rest/resourcename/query?columns=[login to view URL],[login to view URL],B.COLUMN3&filter=[login to view URL] eq ‘filtervalue1’ AND [login to view URL] gt ‘filtervalue2’&orderby=[login to view URL],[login to view URL] DESC&limit=10&offset=300
and the response for the above query should be
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<totalrows>[count of rows in unlimited query]</totalrows>
<sqlquery>SELECT [login to view URL] AS A_COLUMN1,[login to view URL] AS A_COLUMN2,[login to view URL] AS B_COLUMN3
FROM TABLE1 A INNER JOIN TABLE2 B ON A.SOME_ID_FIELD=B.SOME_ID_FIELD
WHERE A.COLUMN4='filtervalue1' AND [login to view URL] > 'filtervalue2'
ORDER BY [login to view URL],[login to view URL] DESC
OFFSET 300 ROWS FETCH NEXT 10 ROWS ONLY
Default response format is XML, but if in request header there is ‘Accept: application/json’ the same data should be returned in JSON format.
It should support HTTP Basic Authentication through request header.
It should cache SQL queries so that when requesting the same URL multiple times it should not build the SQL query again and again.
It would be good to use some caching mechanism so that service can return frequently used data from cache without requesting the database. This is not required for 1st version.
It would be good if service can be run on Windows Vista and newer.
There is no need for installer. Just some instructions how to install/uninstall on Windows manually.
Regarding Programming language/IDE there is no restrictions except I must be able to edit and compile the source code on my PC using tools available for free. I have some experience with Pascal/Lazarus, Visual C#, Visual Basic, etc
The service must be able to serve multiple requests from many clients simultaneously.
It must not depend on anything else than Windows and .Net Framework. I do not want to install IIS or something else.
As normal REST service it must be accessible through Web browser
32 freelancers are bidding on average $174 for this job
I am a full stack developer. I have more than 4 years experience on development. Relevant Skills and Experience ASP.NET, C# and SQL Server Proposed Milestones $155 USD - Cost What is your deadline?