The synchronization service and synchronization proxy are the integration components used to integrate the Microsoft Dynamics AX application with Microsoft Office Project Server. You must deploy both of these components to integrate the Microsoft Dynamics AX application with Project Server. For deployment considerations of synchronization service and proxy, see Synchronization service and synchronization proxy topology.
Synchronization Service
The Microsoft Office Project synchronization service synchronizes project data in Microsoft Dynamics AX with data in Microsoft Office Project Server 2007. The synchronization service is a Windows Communication Foundation (WCF) service that provides asynchronous integration and bi-directional data updates between the Microsoft Dynamics AX application and Project Server. The synchronization service uses the Microsoft Message Queuing (MSMQ) binding of WCF to provide the asynchronous integration between Microsoft Dynamics AX and Project Server. The service uses the entity adapter for Project Server to call out to Project Server and also does the data mapping of fields from Project Server to Microsoft Dynamics AX and vice versa.
Data synchronization concept
The synchronization service uses the concept of a compound entity and a simple entity to provide the data synchronization of entities between Microsoft Dynamics AX and Project Server. A compound entity is an entity that consists of one or more simple entities. For synchronization, the compound entity is broken down into a number of simple entities and each simple entity is synchronized by the synchronization service. A simple entity is a sub entity from the main compound entity defined in the Microsoft Dynamics AX application that can be synchronized independently.
The following diagram provides an example of entity-mapping for data synchronization:
Synchronization mode
The synchronization modes apply to the compound entities. There are two types of synchronization modes supported by the sync service:
-
In a one-way synchronization, only one master application can exist for the particular compound entity. The master application is the only source for that simple entity. The master application publishes the data and the other application subscribes to the data.
-
In two-way synchronization, the compound entity has two sources, the Microsoft Dynamics AX application and Project Server. Both applications can create, update, delete, and unlink compound entities and their simple entities. The data conflict resolution of a simple entity only applies if its compound entity is configured for two-way synchronization. In two-way synchronization, you need to specify a master application. This application always wins out over the other application when simultaneous changes occur on both applications for a simple entity.
You can configure the synchronization mode for each compound entity using the Microsoft Dynamics AX application.
List of entities supported
The synchronization service supports the synchronization of the following simple entities between Microsoft Dynamics AX and Project Server.
Simple Entity |
Compound Entity |
Sync Mode |
Master App |
---|---|---|---|
Project header |
Project |
Two-way sync |
Dynamics AX |
Hierarchy node |
Project |
Two-way sync |
Dynamics AX |
Activity |
Project |
Two-way sync |
Dynamics AX |
Project resource |
Project |
Two-way sync |
Project Server |
Employee |
Employee |
One-way sync |
Dynamics AX |
Actions
When an action is performed on an entity, a message is sent to the synchronization service as follows:
-
If the action is performed on by Project Server, the message is sent via the synchronization proxy that is installed on the same server where Project Server is installed.
-
If the action is performed by the Microsoft Dynamics AX application, the message is sent via the MSMQ database that the synchronization service uses.
The synchronization handles entity transactions based on the action they carry. The following actions are supported:
-
The create actionis triggered when a user chooses to integrate a compound entity either when creating or updating the entity. Users can trigger this action either from the Microsoft Dynamics AX application or Project Server.
-
The update actionis triggered when a user updates an integrated compound entity either in the Microsoft Dynamics AX application or Project Server.
-
The delete actionis triggered when a user deletes an integrated compound entity either in the Microsoft Dynamics AX application or Project Server.
-
The unlink actionis triggered when a user deletes an integrated compound entity in Project Server and unlinks an integrated compound entity in Microsoft Dynamics AX.
-
The re-synchronization actionis mainly used on failed or stalled entity transactions that never completed and have been in the synchronizing state for more than a specified period of time.
-
The force-synchronization actionis provided through the administrative user interface in the Microsoft Dynamics AX application. The user specifies the source and target applications. The source application is used to get the latest state of the compound entity. The synchronization action uses the compound entity values retrieved from the source system to overwrite the compound entity in the target application.
Synchronization service proxy
The synchronization service proxy is a .NET component that can be used by any application to consume the operations exposed by the synchronization service. The synchronization proxy contains very thin public methods, one for each operation exposed by the service.
The following diagram provides the architecture of the Microsoft Office Project synchronization service.