Community
Showing results for 
Search instead for 
Do you mean 
Reply

ACT Synchronization

New Member
Posts: 6
Country: Belgium

ACT Synchronization

Hello everyone

 

As this is my first post here would like to say hello to the great ACT! Developer community.  So Hello ACT! Developer community.

 

Now to the reason I jumpe on here.

 

I have been given a project where the company I work for wants to interface their AS400 data to ACT for syncing back and forth.  Having read this document here ACT! Synchronization Whitepaper I thought I would start off by asking if I could take advantage of this API and functionality that is already in ACT!.  I started on my own synchronization process but thought it better to ask here if you could give some pointers on using this interface and if it is possible at all.  Interfacing this way would save me a lot of time re-implementing what is already there and my boss would be very happy for saving the money instead of paying me for this wheel re-invention as he has already read the document as well :-)  The AS400 interface is basically already in place as I took care of that last week and it should fit nicely into the flow of the Synchronization document mentioned above.

 

First thoughts was to use Act.Framework.SynchonizationManager and/or Act.Framework.Synchronization, interfacing into those kind of like a device sync instead of a remote database sync.  If any of you techies have any pointers to get started that would be great.  I can answer any questions you might have so fire away.

 

Thank you in advance

 

Jim Buttons

Employee
Posts: 1,163
Country: USA

Re: ACT Synchronization

Hello Jim and welcome to our community.

 

The API for the synchronization classes was specifically designed to work with other Act databases and I'm not sure it could be adapted to synchronize with other sources. The primary reason I make this assumption is because of the parent child relationship that exists between a primary act database and it's remotes.

 

I guess the best follow up question is, do we need true synchonization functionality where data is checked and compared on both ends or will the flow of data be unidirectional?

Matthew Wood
Act! SDK Support
Community Moderator
Platinum Elite Contributor
Posts: 14,384
Country: Australia

Re: ACT Synchronization

If you can read the AS400 via ODBC, you can use itImport to bring data into ACT!

Then, just write routines to read the ACT! data via OLEDB or ODBC and write to the AS400
New Member
Posts: 6
Country: Belgium

Re: ACT Synchronization


mwood wrote:

Hello Jim and welcome to our community.

 

The API for the synchronization classes was specifically designed to work with other Act databases and I'm not sure it could be adapted to synchronize with other sources. The primary reason I make this assumption is because of the parent child relationship that exists between a primary act database and it's remotes.

 

I guess the best follow up question is, do we need true synchonization functionality where data is checked and compared on both ends or will the flow of data be unidirectional?


Thank you for you reply.

 

So a device, such as a mobile phone as outlined in the document, as far as ACT! synchronization is concerned is an ACT! remote database?

 

Maybe what I am trying to do would be described as the following:

 

C# program with Act.Framework to interact with ACT! called AS400Synchronizer

This program would be described as a communication sync server between the as400 and an ACT! Database.  It has all the mappings that I need between the as400 database and ACT database.  You could describe it more or less as a LUIDHash Mapping between the two Data Schemas.  

 

[Table_Contact].ContactName = [AS400].ClientName

etc....

 

With these mappings I can go either way between the two data schemas because of the mappings that I have.

 

Every once in a while on schedule, the AS400Synchronizer would kick off and ask the ACT! Synchonization infrastructure if there are any modifications on the ACT! Database.  If there are then I would get from the synchronization system the record fields and data that were changed, with what I am assuming a SyncML data structure message.  I then look up that information in the Mapping table of which field that corresponds to on the AS400 side and issue an SQL Database Update if my conflicts processor allows it.  

 

After ACT! data sync is done the process would be reversed on the AS400 side and then create a sync message to the ACT Database via a Sync Message of some sort, which I am assuming is a SyncML data structure.

 

So the Databases would not be syncing from one to the other physically which is what I am assuming you were thinking from your response.  Of course the messaging can be reversed depending on how we decide to sync first.

 

If not then I am going to have to resort to some heavy duty data manipulation with exported file extracts and a merge process then upload and process that with flat files.

 

I hope I have explained a little better my problem and sorry for my English.

 

Any more questions please let me know.

 

Jim Buttons

Platinum Elite Contributor
Posts: 14,384
Country: Australia

Re: ACT Synchronization

The whitepaper is pretty old ... they no-longer sync that way to mobile phones.

I've not seen those parts used from the SDK in the way you want - ACT! Sync is pretty much just for sync between a master ACT! publishers and 1 or more remote subscriber ACT! databases. Not for an external source

Question: Is it just contact fields you want to sync? Or other records and subtables?

PS: Your English is excellent ... my mum is also from Belgium
New Member
Posts: 6
Country: Belgium

Re: ACT Synchronization


GLComputing wrote:
If you can read the AS400 via ODBC, you can use itImport to bring data into ACT!

Then, just write routines to read the ACT! data via OLEDB or ODBC and write to the AS400

Mr. GLComputing thank you for your response.  From reading almost all posts on this board I see you answer 98% of the question on the board here so thank you for your time in considering my question.

 

Yeas very true of what you posed there.  The idea from reading the document using the synchronization infrastructure as outlined in the document was that I could get back only the information that was modified, deleted and added via ACT! without all the headaches of extracting and seeing what was done for each type of data entity.  Also it gives me what field and data changed without me having to read the database and compare records of changed data before issuing a database updaate.

 

It just seemed to me that ACT! was already doing this process so I was hoping to take advantage of their process.

 

Thank you very much for your time

 

Jim Buttons

Platinum Elite Contributor
Posts: 14,384
Country: Australia

Re: ACT Synchronization

The ACT! sync expects the database to be the same format ... it's also run from the subscriber

We have done quite a few links to external systems (the simplest being the method I posted first) ... it helps if you can create a unique id field (eg account number) that's in both to prevent duplicates or updating wrong records.
New Member
Posts: 6
Country: Belgium

Re: ACT Synchronization


GLComputing wrote:
The ACT! sync expects the database to be the same format ... it's also run from the subscriber

We have done quite a few links to external systems (the simplest being the method I posted first) ... it helps if you can create a unique id field (eg account number) that's in both to prevent duplicates or updating wrong records.

Mr. Lazarus

Thank you.  

 

Yes very true and we hae that information in the ACT! Database along with Client ID.  So all of that is there.  Sorry if I mis understand but what about the document where it shows devices like Phones as a sync device in the Synchronization document architecture?  It says that it uses SynML messaging for those.  Am pretty sure that SQL Server does not use SyncML for their remote database synchronization.  

 

I am only going on what the document that was published.  Also from what I understand there is a sync service in ACT Premium that uses http sessions for syncing devices as well.  The architecture document as published makes me believe that thee were other ways of doing that besides the one that both you are I know of.

 

That was all I am really trying to ask.

 

Jim Buttons

 

 

New Member
Posts: 6
Country: Belgium

Re: ACT Synchronization


GLComputing wrote:
The whitepaper is pretty old ... they no-longer sync that way to mobile phones.

I've not seen those parts used from the SDK in the way you want - ACT! Sync is pretty much just for sync between a master ACT! publishers and 1 or more remote subscriber ACT! databases. Not for an external source

Question: Is it just contact fields you want to sync? Or other records and subtables?

PS: Your English is excellent ... my mum is also from Belgium

Mr. Lazarus

 

Small world it is.

 

Thank you for letting me know about the document being outdated.  I will tell my boss know so he can take that up with  his Head Tech guy is really strict on security and having everything under control.  If he was going by that document he will have to make adjustments for external auditors of infomatic department.

 

Well we are still not sure about the other records depending on which way we go.

 

Hoping someone else can chime in here for whether it is possible or not.

 

Thank you and any other ideas please let me know.

 

Jim Buttons

Platinum Elite Contributor
Posts: 14,384
Country: Australia

Re: ACT Synchronization

Pretty sure SyncML was just for mobile devices ... and not really that reliable

Here are the usual ways to read/write:
http://blog.glcomputing.com.au/2009/07/connecting-to-act-by-sage-data.html

Unless you need unusual requirements or live data transfers, you'll find doing the AS400 to ACT! via itImport and just building the reverse path to be the simplest way