This blog is meant for Administrators and End Users of the Duet

This blog provides a back ground to the synchronization design of Duet. This blog will help end users and Duet administrators understand some of their experiences with Duet. Let us take an example of a new Duet Contact created in SAP backend. While some Duet users are able to view this Duet contact in Outlook others are not able to see this contact. This is a common scenario. Similarly, changes made to a Duet Item on a laptop never reached SAP backend. This is a common occurrence as well. This blog will attempt to demystify some of these experiences by high lighting the Duet design.

Duet Vision

Duet is a productivity application that integrates complex set of technologies through a multi-tier architecture. Duet landscape consists of Duet clients that end users interact with. These Duet client computers interact with of a variety of servers in the corpnet. Duet design and architecture ensures that end user productivity is not compromised when one or many or all of these services are not available at a given time. For users who are mobile, intermittent connectivity or total lack of connectivity to the corpnet services is the norm. Even business critical services are subject to planned shut-down. Duet design accommodates these conditions and ensures that end user stays productive at all times.

Let's take the scenario for a mobile user. Access to corpnet at all times is nearly impossible for this user. Offline access to business critical thus becomes very important. Similarly, the ability for this mobile user to change data on the road is equally important a feature. Duet ensures that these changes ultimately get submitted to SAP when this users computer joins the corpnet.

Duet Design

Duet cache on the client

Duet uses a client cache to store Duet Items that pertain to the user. This cache enables the user to interact with the Duet Items in Offline mode (where the computer is not connected to corpnet). All the changes made by the user are stored in this cache as well. When the computer is connected to the corpnet, these changes get submitted to the SAP. This is a huge productivity enhancer. The end user continues to interact with business critical data when is Offline and Duet ensures that the changes made by the user eventually get submitted to the SAP without any explicit user involvement.

Leveraging Exchange for SAP initiated workflow

While the user is roaming (mobile), SAP servers in the enterprise are processing workflows and thus create new Duet items or change existing Duet items that are of interest to the mobile user. However the user is mobile and not connected to the corpnet. This information (new Duet items or changed Duet items) need to reach the end user computer for it to be useful. To enable the flow of information, Duet leverages the power of Exchange. SAP servers queue these messages in the form of Control Messages which are instructions to Duet clients and route them to via Exchange. Exchange stores these Control Messages in special folders for the user, while the user is roaming. Once the Outlook on the user computer connects to Exchange, these Control Messages are delivered to the client where they are processed. New items or changes to existing items appear to the end user and are stored in the Duet cache as well for Offline use.

Here you can see the power of Duet design. SAP servers are processing workflow at their own pace. These servers are not dependent on the availability of the Duet clients being reachable. When SAP servers decide to communicate the required changes to the end user computer, they communicate with Exchange which is available for the servers at all times. Similarly, the Duet client users are not restricted on their mobility. When they connect to Exchange, all the relevant data is downloaded to their computer.

By leveraging Exchange in the design, Duet enables the productivity of the organization stay high by ensuring mobility restrictions are not placed on the end users for accessing business critical data.

Scalability

Duet is designed to scale. As described in the preceding 2 paragraphs, Duet design has 2 different routes communicate the changes to Duet items. User initiated changes are stored in the Duet cache and are submitted directly to SAP servers when the client is able to connect to SAP servers. SAP initiated changes are queued in Exchange and are delivered to the end user when the computer is able to connect to Exchange. This design allows IT administrators to effectively plan for Duet roll out without placing heavy burden on any one aspect of the system.

Possible causes for synchronization problems outlined in the first paragraph could be because of the connectivity of the client computer to either Exchange or SAP backend. When one or both of these servers could not be reached by the client some part of the data could not be synchronized. While this state will eventually heal itself and is the design goal of Duet, it could cause some confusion in the short term and hopefully this blog could go a little way into demystifying the experience.

-Srikanth Ranganathan, Lead Program Manager, Duet