Strategy for syncing data with mobile phones? - mobile

We built a .NET server application that hosts data (contacts, email, etc.). We'd like to sync our data to mobile devices: iPhone, Windows Mobile, Blackberry, etc.
How should we go about doing this?
Build several mobile apps, one for each platform (e.g. app for iPhone, app for Blackberry, etc.), each app syncs with our server.
License Microsoft Exchange protocol technology from Microsoft, so that our server application pretends to be an Exchange server, thus making syncing work automatically on all the different platforms (As we understand it, iPhone, Windows Mobile, Blackberry, etc. all have built-in syncing capability with Microsoft Exchange).
Are there other options to consider?
Any suggestions?

One option you should definitely consider is Oracle’s mobile enterprise application platform. This is a combination of several different products such as Database Lite Mobile Server, ADF Mobile, and JDeveloper.
The mobile enterprise application platform allows you to write the code once, using JDeveloper, and create packages for multiple mobile architectures, using ADF Mobile. Database Lite Mobile Server can provision the apps out to the mobile devices. After that, you can monitor and manage the mobile devices from the mobile server management console.
Here are some links to more info:
ORACLE MEAP: http://bit.ly/fQbXUL
Database Lite Mobile Server: http://bit.ly/eJOzhN
One caveat is that the data needs to be stored in an Oracle Database on the backend. Hope that helps, good luck solving the problem.
-- Eric

Related

Offline mobile application for XAF application

Devexpress has lately intoduced XAF mobile UI but it does not support offline capabilities.
I am wondering what would be a solution for this scenario:
There is a Middlte Tier Web application, working with WCF. I need a mobile app that is able to work offline and then when the user goes online the data should be synced to the database.
As far as I know there is no such technology that provides such behaviour out of the box. Therefore you need to role your own

Rdbms one way sync with Realm Object Server possible?

I'm looking into Realm Mobile Database and Realm Mobile Platform to implement an offline first mobile app. I think my scenario is pretty common:
I've a website with a SQL database, I need a mobile app to display the data from the website, read only data. This app will be eventually connected so I need to sync the data from server to client when the client get connected, and then consume that data offline.
I need to know if anyone is doing something like an ETL to keep a SQL DB synched with Realm Object Server in order to sync it with the mobile clients.
Just one way SQL -> Realm Object Server -> Realm Mobile Database.
I'm just discovering Realm so I want to know if this is doable?
It's possible, but not in the freely available version of the Realm Mobile Platform on the Realm Website.
At the moment, only a sync-enabled version of the Realm Node.JS SDK is capable of opening and writing data to synchronized Realm files located on the server. This SDK is only presently available to people who have purchased the Enterprise edition of the Realm Mobile Platform. The developer edition of the Realm Mobile Platform only allows for modification of synchronized Realms from a user's local device.
A version of the Realm Mobile Platform with server-side integrations intended for indie level developers is also on its way. :)

Synchronise a mobile light database with ASP.NET Web API 2

I am building a mobile application targeting iOS, Android and WP with Ionic/Cordova. And using ASP.NET Web API 2 REST APIs backend.
I have the requirement that the mobile application can collect data and synchronise it with the APIs and if the mobile is offline, the sync will happen when it is online. The data size is small and any light DB would do including the localStorage one. The required sync is only needed one way, mobile to APIs. Also, once a record is synchronised, it can be deleted from the mobile.
I was looking at Couchbase mobile, but I found it is a Mobile DB to DB sort of a solution.
Can you recommend a mobile DB to REST/Web API sync solution?
With the native Couchbase Mobile solution for Android/iOS coupled with the REST APIs you are able to get data from Mobile device to your backend. Then delete any documents off your device once you get back a 200 status.
For Windows Phone, you can explore using PouchDB or going with the javascript browser based solution across all platforms since WP is not currently supported.
For the replication or sync to occur when your device is online again, you would require your backend to use Couchbase Server and implement the replication class methods in your native mobile app to have the push feature. Or you can use the REST API with logic detection when you are online again to POST to your backend.

Native Mobile Webapp vs. Mobile Browser App from a ServerSided Point of View

Is there an important difference between native mobile apps and mobile browserbased webapps according to the connection to a server which e.g. calculate stuff and sends it back to the mobile device?
The reason i ask is that there is a wide range of mobile app frameworks for serverside like vert.x, node.js, spring and many more. Isnt it just regardless of which framework I use to build a server for communication with mobile devices, no matter if they use a native app or a browser-based app - assuming they are totally equal in user-interaction?
I know there are differences in "what kind of information" is transacted between server and client according to performance, speed, scalability. My question aims only to the differences of native and browserbased web apps.
I just read this post: Server-side architecture for mobile web applications but i guess its not satisfying my lack of knowledge because author and question-resolver both refered to UI frameworks for mobile web applications. My idea is to have one server technology which is used by a mobile browser web app and the same app as native app at the same time with the same performance results. Is that something to worry about?
greetings
You can do the client side with browser and mobile apps with the one server side stack. Choose the server side depending on your skill set or those of your partners/employees and taking account of the nature of the task including volumes.
I would go for a server side that will support restful communication as that can be used by browser or mobile apps quite easily.

Azure Web Site with Push notifications

I'm trying to develop a Windows Phone 8 app. I've created a Web Site in a Windows Azure account which is an MVC 4 project with REST endpoints. I've got an SQL database in Azure to store data from the Azure Web Site. Ocassionaly, I want my application to send PUSH notifications to mobile phones. So I've created a Mobile Service and I've linked the SQL database with the Mobile Service's database in order to have got the same data for the web page and the service.
I though that when I send an HTTP POST to the web site, the script in the database from the Azure Mobile Service would be launched but it looks not to be true. Isn't it? Because of that, I would write in the controller of an HTTP POST endpoint the code to send the data to the Mobile Service endpoint in order to launch the JavaScript code to send the Push Notification.
Is that the right approach for my goal? Is there any way for sending PUSH notifications from an Azure Web Site or it is only allowed from a Mobile Service?
My last question: Do you know any books or blogs about development in Windows Azure? On the Internet there is lots of documentation but principally those are get started tutorials. I've read some books but those are really complex, boring, and not really practical.
As your website MVC4 based and is running on Windows Azure using SQL Database as backend, I will guess that it is based on ASP.NET and i will write my suggestion based on that.
Now about your question "Is there any way for sending PUSH notifications from a Azure Web Site or it is only allowed from a Mobile Service?" I would say, Azure Mobile web services are designed for the same purpose for any service running on Windows Azure to send push notification on multiple of platforms. Application developer can choose to use Mobile Services to expedite their development as well as have multiple application using the one single service for such objective.
However as you mentioned "Is there any way for sending PUSH notifications from a Azure Web Site" this is not depend on "Azure web sites" instead it is depend on what development technology you are using with your Windows Azure Application. For example in ASP.NET your can use SignalR implementation if your application is based on Java, PHP, Python, Node,js etc then you can find some other run time specific real time implementation. If you look around for websockets you will find implementation in almost every popular language or look for comet programming on this regard. Not only that you can use some of the popular 3rd party applications for this purpose as well. i.e. pusher or any other.
While Windows Azure Mobile Services will give you the best results on Windows Azure platform as it is designed to provide such specific functionality for applications running on it.
Recently released: Azure Notification Hub
http://msdn.microsoft.com/en-us/library/windowsazure/jj927170.aspx

Resources