New Features

Connected Services Framework
This release of CSF contains new features in the following functional areas:

Identity Manager

A consolidated URI was added to support all the Identity Manager Endpoints.  The existing individual endpoints of User Manager, Organization Manager, User Group Manager, User Map Manager, and User Map Query Manager were retained. 

The following new calls were added to the Identity Manager components:

Call Description Affected End Point
SetPassword Password reset of the user, this requires only the new password to change. User Manager, Identity Manager
UpdatePassword Normal update of user password requiring the old and new passwords. User Manager, Identity Manager
UpdateUsers Update a group of users based on a selection criteria.  A collection of parameters to update may be supplied as well.  User Manager, Identity Manager
ReadUsers Read a group of users based on a selection criteria.  The parameters to return for each user are specified in the request as well. User Manager, Identity Manager
CreateMaps This is similar to the existing CreateMap, but allows multiple maps to be created in a single call. User Map Manager, Identity Manager
UpdateMaps This is similar to the existing UpdateMap, but allows multiple maps to be updated in a single call. User Map Manager, Identity Manager

Profile Manager

A consolidated URI was added to support all the Profile Manager Endpoints.  The existing individual endpoints of Role Manager, User Role Manager, and User Service Mapping  were retained.  The call to Propagate Attribute was also integrated in to the Profile Manager endpoint.  The Propagate Attribute request will be re-directed by the Profile Manager endpoint to the existing orchestration. 

The Propagate Attribute feature now accepts a rollback flag to indicate if an error in the propagation process should result in a rollback of prior successful changes in the request.  Prior to this release, any failure would result in the prior successfully updated attributes being rolled back to the old value.  This release also added support for changing of multiple attributes in a single call.

The reading of the user to service mappings and the updating of those mapping in the User Service Mapping endpoint was update to allow for the reading and updating of multiple maps.  A selection criteria was added to the request to support this change.  The existing calls are still supported on the User Service Mapping endpoint, but the new consolidated Profile Manager endpoint only supports the new calls.  The user to service mapping was also updated to support an application contest field, similar to the existing service context field.  This field allows storage of optional application specific data in a text field.


Session now has intelligent memory management capability which makes it more stable and efficient in managing the resources. It has the capability to queue the requests to disk if it runs in low memory condition, thereby safe guarding itself against burst conditions. This solved the problem of Session crashing during sustained load conditions. This also added a warning to the operator when it is running very in-efficiently.

A generic configuration management module is developed with the view of having a common configuration server in the future for CSF. This also helps to add new nodes to Session cluster without the need to re-start the existing running node. This component gives the ability to read/write the configuration item to any data-store. Currently database and .config files are supported

New snap-in was developed for the Admin tool to manage the Session cluster configuration through a user friendly UI.

Ability to inter-operate with non-Microsoft Services. Session has the capability to support all the web-services which provide the WSDL by querying the service through <serviceURL>?WSDL and follows one of the WSDL specifications (1.0, 1.1)

When session detects before routing the message to a service participant, the message has to be routed to an intercept participant, then Session has to remember the original context of the message so that then when the response comes back from the Intercept, it should be able to route the message appropriately. The context was persisted in the memory in V2.0. Now the intercept context flows with the message thereby minimizing the number of messages that could get lost during the Failover, if and when happens.

WSDL Abstraction, Caching and Auto-Expiry mechanism to support services providing different versions of the WSDL as there are multiple versions of WSDL specifications. The WSDL abstraction mechanism provides a way for Session to understand and work with multiple versions of WSDL. The Caching mechanism and auto-expiry mechanism helps Session to have the most recent WSDL from the service without any manual interference. Implementing this feature helped to avoid lots of unnecessary processing which could in-turn reduce the time taken to create a Session.

Consumer API

A new consumer API was implemented that adds additional support for the processing of responses to requests.  The existing Consumer API simplified the sending of requests to the CSF connectors by providing a set of client objects matching the connectors with similar methods.  These methods would then package and send the requests.  The responses to those requests was managed entirely by the application using the native WSE message handling.

The new API maintains a similar approach to the sending of messages, but handles the responses as well.  The responses will be returned as .NET events to an application implemented event handler.  The SDK is extensible and can be used to integrate existing applications using WSE messaging into the same event processing model if desired.

The new consumer classes send requests only to the consolidated end points for the Identity Manager and Profile Manager connectors.  In cases where there were updates to the existing actions on a connector, the new classes will only support the latest version.

The old consumer API classes are still available for this release, but are deprecated and should not be expected in future releases.