tags:

views:

64

answers:

3

We're investigating the iPhone Enterprise Developer Program as a way to develop and distribute in-house apps. Since our backends are all Windows, SQL server and Oracle databases, we have to find out a way to make our data available for the coming in-house apps.

As far as I know that Core Data is mainly based on SQLite as persistent store. I am not sure if there are any APIs available in iPhone SDK for SQL server or Oracle database? Another possibility, or very attractive strategy, is to build our own web-based REST services as CRUD gateway to our databases.

Personally, I prefer to integrate in-house apps with our ASP.NET based web services. I am not sure if this is possible. Are there any examples or documentations about this strategy?

+1  A: 

an interesting option is to expose your data from your server using asp.net OData then use this project to generate a client in objective-C to consume your OData service.

Jason w
+1  A: 

As far as I am aware there are no approved API's to access a server based database. The way we do it in our organisation is pretty much the way you are suggesting. In some instances we are using SOAP but typically we just use a custom JSON or XML web service to access the data.

With regards to ASP.NET are you talking about making native iPhone Apps with ASP.NET or getting a native iPhone App to talk to an ASP.NET web service? If its the first then have a look at monotouch (don't know much about it), if its the later then this shouldn't cause issues. Just use NSURLConnection and deal with the resource structure on the App (be it JSON or XML).

The added advantage of using a web service rather than a straight database connection is that you get encryption for free using https.

Hope that helps

Rudiger
Thanks for your information. I think we don consider to use ASP.NET as web REST service. So Enterprise program will provides a way for in-house app to access intranet? How does it work?
David.Chu.ca
If your asking about the actual program then yes. It will allow you to create and distribute apps internal to your company. If thats not what you meant sorry but I had trouble understanding your question.
Rudiger
A: 

There's a product called SUP (Sybase Unwired Platform), it provides a framework to handle access to databases but has the advantage that there doesn't need to be an online access all the time, it stores persistent data locally and then can sync up with the host database using messaging.

Anders K.