Sync Services for ADO.NET

Posts   
 
    
Posts: 17
Joined: 24-Apr-2006
# Posted on: 22-Jan-2007 03:13:03   

Hi,

I'm currently in the early planning stages of a smart client application that will be an occasionally connected application.

I just watched a webcast for the new Sync Services for ADO.NET for offline data synchronization planned for Orcas (CTP coming out soon, I hear). So far the new synchronization framework is fairly impressive, however I would much prefer to strictly use LLBLGen code and not worry about using translating between DataSets and LLBLGen business objects.

What support (or current support) is there for data synchronization between a local and remote database?

Thanks!

mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 22-Jan-2007 09:22:13   

I don't think there is any special support. Why don't you use database synchronization instead?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39897
Joined: 17-Aug-2003
# Posted on: 22-Jan-2007 12:14:14   

What is 'Sync Services for ADO.NET' confused Again some sqlserver only feature they push forward to tie in .NET with sqlserver ?

I agree with Miha, db synchronization is probably better and more reliable.

(Edit): found the webcast. Indeed sqlserver pushing tech. I more and more am against these kind of tactics. .NET is for everybody, all databases. They shouldn't introduce technology into the framework for just their own stuff. Anyway, I think it's debatable if syncing of entity data is really a problem of the application domain. I think it's more of the db domain, instead of the application domain.

Frans Bouma | Lead developer LLBLGen Pro
Posts: 17
Joined: 24-Apr-2006
# Posted on: 22-Jan-2007 16:31:07   

Otis wrote:

I agree with Miha, db synchronization is probably better and more reliable.

From what I gathered from the webcast, though they used SQL Server 2005 / Compact Edition, it can be used with any database, but that's neither here nor there.

As far as db synchronization goes (I haven't worked with it before), I've spent way more time with web apps, and working on a desktop application that can be used online/offline where a local db store (a la Outlook) is used is something I've never really worked with before.

Could you point me to some db sync references or something to help me get started?

Thanks!

jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 22-Jan-2007 21:38:53   

Sam Gentile has some thoughts on this.

Really, I think the question (like most questions) as to whether you should do synchronization at the data level or above comes down to your specific needs. I'm currently developing a commercial occasionally connected application for a vertical market. My needs may be different than those of someone developing for an internal sales force, for example. However, for me, doing synchronization at the service/business/application level is a requirement due to my need for reuse of the core business logic, the difficulty in doing remote updates of client schemas, and the fact that we're using the Software as a Service (SaaS) model.

If direct access to the db isn't a problem, and you have reliable access to the clients, perhaps db synch is a good option. Really depends, I think.

Jeff

Posts: 17
Joined: 24-Apr-2006
# Posted on: 22-Jan-2007 21:53:57   

Thanks for the input. I haven't really done any desktop development in a LONG time and with all the new developments in the .NET world, I'm trying to get back up to speed with developing smart clients.

The app I'm working on is a custom project management application and one of the main requirements was that users be able to work offline in the event of network downtime. At the moment there's not going to be a lot of data that will require synchronizing, namely contacts, project headers, and a couple other shared data stores. The ideal is to do something similar to what Outlook does with the local data store that is synchronized when the network is available.

And so, for me it comes down to how to accomplish it. That was definitely an interesting article and will give me some things to think about, for sure!

Posts: 6
Joined: 02-Jan-2007
# Posted on: 24-Jan-2007 12:33:51   

Hi!

My company developed a windows mobile application using CF 1. It's for a company who does service on fire protection systems and installs them. Their service synchronize, get their service orders then they synchronize back after the work is done.

I've got the task to rewrite the whole app from scracth using CF 2 and Sql Server CE. I really want to use llblgen for this but that's not where the "problem" is, it's like for everyone else, synchronization. There are a number of ways to synchronize data between the smart device and a server. Our old solution was to send the data as a dataset using webservices and then read it into the application. However the amount of data now is 3-4mb which is one reason we want to rewrite it.

What our research have show is this:

  • Sql server replication, merge Problem with having control of what get merged.

  • Sql Server Remote Data Access Simple push pull whole tables, not really that interesting

  • Remoting There are not remoting in CF but there are workarounds. Remoting is superfast, if you do .NET in both applications this is interesting but you have to write it all by yourself.

  • Webservices Easy to setup, slow, lot of overhead data with soap. In our application, time for synchronization isn't critical, if it take 10 seconds or 3 minutes it's not a problem.

To choose a synchronization method is really how the application is suppose to work and what demand the client has. Sql server merge seems very nice but does anyone have knowledge about pitfalls, what happens if synch stops in the middle, pda user drops his pda and all data is lost. Will there be a rollback on the serverside? My client has declared what fields are "owned" by the server and what are "owned" by the pda when merging. How easy is it to setup that kind of thing in Sql server's merge?

I think I will go for webservices, using timestamp and doing my own merging routine. Anyone have any suggestions or real life experience?

Walaa avatar
Walaa
Support Team
Posts: 14995
Joined: 21-Aug-2005
# Posted on: 24-Jan-2007 16:22:51   

I'd suggest you re-post the question in a new thread in the Architecture Forum.

This will make it much recognized by others.

Good Luck.