When profiling an Active Sync-Enabled resource adapter, use the following information in addition to the considerations described in Profiling a Standard Resource Adapter:
When researching user account characteristics and how these tasks are performed on the remote resource, you must also:
Search for changes to users
Identify ways to search for changed users only
Determine which resource attributes or actions create events.
If the resource supports subscribing to notification messages when changes are made, identify which attribute changes you want to trigger the notification and which attributes you want in the message.
Decide which of the following actions Identity Manager should perform when the adapter detects an event on the source.
Create, update, or delete a user
Disable or enable an account
Update the answers used to authenticate a user
Update a phone number
Decide whether you want the adapter to be driven by events in the external resource or driven by specified polling intervals.
Before making your decision, you must understand how polling works in typical Identity Manager installations. Although some installations implement or are driven by external events, most Identity Manager deployment environments use a hybrid method.
Choose one of the following approaches:
Set up polling intervals where an Active Sync Manager thread calls the poll interface at a configurable interval or on a specified schedule. You can set polling parameters, including settings such as faster polling if work was received, thread-per-adapter or common thread, and limits on the amount of concurrent operations.
Set up an event-driven environment where the adapter sets up a listening connection, such as an LDAP listener, and waits for messages from the remote system. You can implement the poll method to do nothing, and set the polling interval to an arbitrary value, such as once a week. If updates are event-driven, the updates must have a guaranteed delivery mechanism, such as MQ Series, or synchronization is lost.
Implement a hybrid solution where external events trigger smart polling and the regular poll routine can recover from missed messages.
Smart polling adapts the poll rate to the change rate and polls infrequently unless changes are being made often. Smart polling balances the performance impact of frequent polling with the update delays of infrequent polling.
In this model, incoming messages are queued and multiple updates for a single object are collapsed into a single update, which increases efficiency. For example, multiple attributes can be updated on a directory, and each attribute triggers a message. The poll routine examines the message queue and removes all duplicates. The routine then fetches the complete object to ensure that the latest data is synchronized and that updates are handled efficiently.