NAVmoble - the pocket-sized ERP
Optimized for Microsoft Dynamics NAV and Windows Mobile powered devices

Wednesday, February 08, 2006

Data transfer options between mobile devices and Desktop with Compact Framework

Following brief list of data transfer options, which may be used in CF applications:

1.Sockets
   The following classes from System.Net.Sockets namespace may be used for TCP/IP based communication: Socket,TcpClient and TcpListener. They provide a fast stream-based communication model.
This post of David Kline provide a simple object remoting by using Xml serialization and TcpClient/TcpListener

2.HTTP Request
   Namespace System.Net provide 2 classes (HttpWebRequest,HttpWebResponse) which may be use to deal with raw http requests.
See more here and here

3.Xml Web Services
   .NET CF provide good support for Xm Web Services consuming. According to MSDN it is the "primary feature" of the compact framework. Consuming Xml Web Service is easier as pointing the location of the web service.
A good start may be found here

4.Sql Ce and Remote Data Access (RDA)
   RDA is a lightweight mechanism for data synchronization between Sql Server Mobile(Sql Ce) and Sql Server running on the PC. You may store your data locally on the mobile side in Sql Ce database and synchronize the data with a remote Sql Server database when the device is connected.
See more here and here

5.Sql Ce Merge Replication
   It is just another and more powerful approach for synchronizing data between Sql Ce and Sql Server databases. Sql Ce Merge replication is based on SQL Server merge replication. It requires more configuration and maintenance at the server, but provides built-in and custom conflict resolution capabilities and tools for configuration and monitoring
See more here

6.RAPI
RAPI stands for "Remote API". It allows desktop applications to make function calls on the mobile device.
See more here
OpenNETCF Desktop Communication namespace provide easier way to make your desktop application RAPI enabled

7.ActiveSync data synchronization
ActiveSync may be used for automatic synchronization of contacts,calendar and even files. You need to just to put the files in the right folder.
See more here

8.File copying over a network share
Files may be copied by using windows network shares.

Selecting the right way to transfer data requires good understanding of the pros and cons. A lot of factors should be considered before taking the right one. Some of these factors are maintenance, scalability, locus-control, performance, dev.cost, interoperability,security,the mobile platform characteristics,etc.

1 comment:

Anonymous said...

Hi. I am just getting started on a project where I will be required to copy files onto a WM 5.0 device as well as write files from the device to a network share of some kind. The only application I am writing will be on the device and written in VB.NET. I'm not finding much help online. You mention several options. If you would, please send me any useful resources/links that might help me in reading and writing flat files from the PPC. THANK YOU!
Pat
reddyss@charter.net