REST webservice generator for an existing web-based application
$500-4999 USD
Em Andamento
Publicado há quase 13 anos
$500-4999 USD
Pago na entrega
REST web-service generator required for existing financial application.
Based on the contents of an XML file (will be supplied), CRUD functions should be generated so that the generated web-services can simply be uploaded to our web-server and used.
We intend to use these web-services initially via PHP but may in the future use via iPhone and Android apps.
## Deliverables
Before you start, you may like to look at the following APIs, of which I am a fan. Bear in mind however, that I am always open to suggestions.
>
* [[login to view URL]<wbr />rest-introduction][1]
* [http://developer.37signals.<wbr />com/highrise/][2]
I like the way they authenticate users based on real user accounts for a given company. This has the obvious advantage that anyone who starts with the API can use our existing web-based software control panel to control what an API user can see or change. The only reason I favour the REST approach is that by opening up all the logical application objects (where practical and possible) will allow third parties to create far richer apps than if we were to tie them down to a restricted subset of high level functions.
Please find attached an XML file which is used to power the ORM framework that controls database access in our existing software application. You'll see a bunch of nodes describing real tables in the database and columns therein. I'd like you to build a REST API *generator* that we can run whenever this XML file changes that will read the XML and produce RESTful CRUD functions for all of these tables. The generator should be written in .NET, C#.
This approach will mean that optionally we can publish a new API whenever we add tables or modify existing ones. In reality, we would have to be very careful about how and when we do this since we couldn't upset existing integrators on a previous API version. This however will be our problem so you don't need to worry about this aspect.
I've added to the XML an attribute API="False" on some table columns. The affect of this will be that those columns cannot be explicitly updated by users of the API.
In the example file it's only the section that starts <Table Name="Clients" Target="Clients" DBCodeByID=""> that you need to worry about. I'd expect the generator working with this example XML file to generate CRUD functions for our Clients table.
In addition to the API itself I'd like you to produce a simple working PHP (or similar) example website to show how the API could be used.
NB: You are not expected to write the CRUD functions that will create, read, update and delete objects. Your generator will call our existing ORM framework which can already perform said CRUD operations on all the objects we'll be representing. This project is therefore all about taking our existing ORM framework online and exposing to third parties, using the API="False" attribute as a failsafe so we can keep some parts out of the API if required.
Please find enclosed '[login to view URL]' which shows you the parameters expected by the existing CRUD functions for an example object called 'Object'. Working from [login to view URL] the object in this case would be called Client, so your generated file(s) will be making calls like:
Client() --- to instantiate, i.e. read
[login to view URL]()
[login to view URL]()
[login to view URL]()
No doubt you will have questions about the implementation, just email them over or call.