views:

219

answers:

3

We have a web application that deals with some common sales entities (Contacts, Appointments, Addresses, Notes etc..). We need to keep our app, outlook, and potentially any devices that they might have synchronized.

Are there any frameworks that we can use that help us integrate with PDAs? Any thoughts or reccomendations are appreciated. Thanks.

+2  A: 

I think that the SyncML article on Wikipedia would be a good start.

Funambol has clients for multiple platforms and the core project is free and open source.

Plaxo.com has customized a funambol Windows Mobile clients for their customers.

David Segonds
A: 

I've done this with the Microsoft .NET Compact Framework and had excellent results. SQLCE can provide local storage on the PDA. Syncing can be performed either with custom code over web services or using something like SQL Server Replication.

Another strategy would be to design a second web portal with a UI that is specifically targeting mobile devices with small screens. Smart phone-based users could access the mobile portal with any web browser. This might be the most cost effecive solution.

+1  A: 

I would look at Microsoft Sync Framework. Whitch has many "providers" both some included, some open source, some 3rd part. A provider is a like a standardized "connection" to a datasource, like outlook mail, outlook contacts, file system, database or whatever you can imagine. Or as Microsoft says:

Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. Using Microsoft Sync Framework, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network.

A key aspect of the Microsoft Sync Framework is the ability to create custom synchronization providers. A provider is a software component that represents a replica for synchronization. A replica is a particular repository of information to be synchronized, such as a file system on a handheld device. When representing a data source, a provider enumerates changes from its replica. When representing a destination, a provider applies changes to its replica. If the data at the source and destination differ in type or schema, each provider performs any necessary mapping or transformation.

Microsoft Sync Framework home page:
http://msdn.microsoft.com/en-us/sync/default.aspx

Introduction:
http://msdn.microsoft.com/en-us/sync/bb821992.aspx

Contact Synchronization Sample - Outlook Sync
This sample shows how custom providers can be created to synchronize content between disparate data sources. In this sample we will synchronize Contacts between Microsoft Outlook, Vista Contacts and VCard files. A key aspect of this demo is the data mapping capabilities which enables disparate data sources and data types to be mapped appropriately through the Sync Framework:

http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=613

Microsoft Sync Framework v1.0 CTP1 - Devices
Managed (.NET Compact Framework) and unmanaged/native (ARM)
Supported platforms are Windows Mobile 5 and 6 (ARM processors only in CTP1)

http://www.microsoft.com/downloads/details.aspx?FamilyID=a7c01a89-9af8-4eee-ab04-6a3ad098a03f&DisplayLang=en

Stefan
Exactly what I was looking for, thanks.
Rob