Mapping while syncing RRS feed

  • Question

  • I beginning my research on how to implement Sync Framework to solve our problem and I have some questions about the best approach: 


    Currently the application is a traditional client/server app using one Interbase DB with fat clients connection directly to the database.  This is *NOT* changing.  There is one module of this application which allows the use of old Palm devices.  Today the Palm devices are synced with the Interbase system. 


    We are rewriting just the Palm device piece of the whole system as a web application.  In other words we are going to host one central SQL Server 2008 R2 server hosted by our company.  This SQL Server 2008 R2 db will only hold a very small subset of data from the Interbase DB, just what is needed to implement the one small module.  From a business prospective, the Interbase is really the server and the SQL Server 2008 R2 is the client.


    Q1: Since the SQL Server holds data for more than one Interbase server, I am assuming it is best to configure things such that Interbase is the client and SQL Server 2008 R2 is the server, especially since it will be the Interbase side initiating the sync.  Correct?


    Q2: I am assuming that mapping can be handled in either the transport proxy/service or the Server Synchronization module. Correct?


    Q3: This is the biggest unknown: At the route of the SQL Server 2008 R2 system is a bunch of data that is grouped one way.  In the Interbase system, it has different grouping.  Example:  In Interbase there are 7 different data tables, A, B, C, D, E, F and G.  Each table is a “group”.  In the SQL Server 2008 R2 system they are groups into T1, T2, T3, and T4, where T1 might have three columns for A, 2 from B, and one from F.  And so forth.  Not all the columns in A~G are in T1~T4.  Somehow I need to map the data from the Interbase tables into the SQL Server 2008 R2 tables.  What is the best approach to do that?  Would I do that in the Synchronization Adapters or do I need more layers then what is shows in this dialgram?



    Q4: I am under the impression that this problem is better discribed as an Offline Scenario rather than a Collaboration Scenario.


    • Edited by EHCarleton Thursday, September 15, 2011 7:26 PM
    Thursday, September 15, 2011 6:23 PM

All replies

  • first, there is no sync adapter for Interbase, so you will have to write your own.

    second, Sync Framework is more of a table to table synchronization and not data transformation. so you will have to a lot of customization to get it working aggregating several columns from different tables and have them sync to a single table. for one, the change tracking is done at a table level. if you have tables A, B and C and you map it to T1, if only A has changes, how do you grab the rows from B and C? so you now have an issue in change enumeration. second is change application, how do you map the columns from A, B and C to T1 and keep track that you've synched them already?

    IMHO, you're best doing this on SSIS as that what's its design for: Data Transformation.



    Tuesday, September 20, 2011 2:54 AM