0

I'm going to create an app for iOS, Android and Windows Phone that will expose the same features that is currently available from our website which is currently being re-developed, and one of the main feature is a search feature. The website along with all the layers are all built with .net (4.5.2) and sql server and we need to expose all the services to be consumed by the mobile apps. The good thing is that it's up to me to decide how they should be exposed, but I'm not sure what's the best technology/protocol to use. What I've been told it should meet is performance/responsiveness. I thought about exposing the services as a WebAPI layer but I'm not sure if it's the best way to achieve such a requirement.

What would you recommend? Does anybody have bone through a situation like this?

user3900456
  • 2,003
  • 3
  • 25
  • 33

3 Answers3

1

Adding an api layer to an existing web application is pretty easy and I think is perfect for your needs. That way you can essentially wrap your existing functionality with the api.

See this link

Community
  • 1
  • 1
sandman0615
  • 521
  • 6
  • 8
1

Since you are redeveloping the server side, I would take a close look at Azure Mobile Services. If that doesn't work for you, and you need something more custom developed, I would still consider Azure hosting with a Web API layer - Web API is definitely the way to go here as it provides easy way to exchange mobile-friendly JSON with a thin layer over your services.

By the way, for any new .NET development, I would go with ASP.NET vNEXT

Greg Ennis
  • 14,917
  • 2
  • 69
  • 74
  • 1
    isn't vNext still in preview since it's packaged with VS2015? I thought it was recommended by Microsoft that it was not "production ready"? – Kritner Dec 31 '14 at 14:57
  • That will be true right up until the moment that it isn't (which will be soon) – Greg Ennis Dec 31 '14 at 22:18
0

Since you are targeting multiple clients, you should expose your business as restful services that return data as JSON and also I would recommend using OData (Open Data Protocol) which is an OASIS standard that defines the best practice for building and consuming RESTFul API.

Also OData provide useful querying techniques for example the following URL will return first 2 persons in the system who have registered at least one trip that costs more than 3000, and only display their first name and last name

http://services.odata.org/v4/TripPinServiceRW/People?$top=2&$select=FirstName,LastName&$filter=Trips/any(d:d/Budget gt 3000)

For more information about OData please check http://www.odata.org/

Jay Bhalani
  • 4,142
  • 8
  • 37
  • 50
Hossam Barakat
  • 1,399
  • 9
  • 19