none
Design advice for ADO.Net sync with proxy provider and applicaiton data in backend Java tier RRS feed

  • Question

  • I am working on the design of a system that has a Windows smart client that will use a SqlCe store for local data. This data needs to be synced to a remote service written in Java.  I am planning on using ADO.Net sync with the local provider going to the local store. The remote provider will be a proxy provider (DbSyncProvider) to the service. 

    The issue with this design is how to handle knowledge and application data on the server. The two options seem to be:

    A) Attempt to implement the server in Java, managing knowledge, metadata, application data between the service endpoint and Java data store.

    The risks I see with (A) are:

    1. Ability to come up with a tick count that is suitable for syncing needs (medium risk)
    2. Ability to correctly handle the service request/response data (low risk)
    3. Ability to manage custom sync provider implementation on the server (service data <-> database) (high risk)

    B) Use a Microsoft OS for the server to implement a custom DbSyncProvider that manages knowledge and metadata in SQL Server (Express?) and make calls out to a Java service for the actual application data.

    The issue I see with (B) is how to integrate Java application data with sync knowledge stored in a Microsoft platform. My idea is that DbSyncProvider uses IDbCommand for its database access. I think the solution will be to store a copy of the Java primary keys with the knowledge and then use custom IDbCommand implementations to manage the knowledge and make calls out to a Java service where the application data is required.

    Any pointers, thoughts, ideas?

    Cheers

    Thursday, April 29, 2010 12:08 AM

All replies

  • I'm leaning towards you're second option as it allows you to re-use most of the existing Sync Fx libraries except for the actual data access to your data source.

    What's the actual Java data platform?

    Thursday, April 29, 2010 12:48 AM
    Moderator