Aug 12, 2007

Microsoft Connected Services Framework

The Microsoft CSF is an integrated, server-based software product which enables service oriented architecture (SOA) to empower the creation and management of services across networks and devices.
An interoperable, manageable, and scalable infrastructure of services can be integrated with the existing technologies. It enables an SOA to create new Web Services, update the existing one and aggregate services into a single distributed application.
CSF helps to create, deploy and update applications that composed of web services. The basic built-in blocks of CSF performs identity or profile management or service discovery functionality and does not require taking care of those in services.

Key Functions and Components
Connected Services Framework consists of components (see Figure below) that provide environments for service creation, deployment, and execution of voice, data, and multimedia services, as well as system management. In addition, Connected Services Framework provides a platform for content service solutions to integrate, manage, and provision content from third-party content providers

Service Creation Environment
The components within this environment provide an integrated development environment and software development kits (SDKs) for software developers to use when creating new services. In addition, developers can be authenticated on Connected Services Framework within an operator’s environment and have access to a catalog of exposed Web services for internal functionality, as well as to external partners. Web services can be combined to create new aggregated or composite services by using Visual Studio development system. For example, a developer who wants to create a video conferencing service can browse the service catalog to discover exposed services that enable video conferencing, as well as services that can interface to media streaming and billing activities.

Service Deployment Environment
The components within this environment provide tools and mechanisms that help operators manage the deployment of new services, both within a provider’s core network and in third-party service provider and content delivery networks. Operators can automate service deployment to reduce complexity and minimize downtime, and to manage deployed services information in terms of version number, operating system, system configuration, hardware configuration, and so on.
The main components of Connected Services Framework are:

Session Component:
The Session is the central collaboration unit of CSF, and enables Web service collaboration between heterogeneous Web services that were developed without access to the other service's implementation details.
Session enables service collaboration through a session context among the services in CSF. Providing a centralized context for service collaboration enables services to be developed independently, decreasing coupling and increasing modularity. Session makes no assumptions about the services participating in a collaboration cycle, so independent development of participating services is enabled.
Session creates and manages the collaboration context through which the loosely coupled services can exchange messages. It mediates this exchange of messages by providing an environment for message routing, identity mediation, policy enforcement, security enforcement, and metering and monitoring.

Role of Session Component in CSF:
The main tasks involved in managing a session are defining a manifest, creating a session, searching for sessions, and terminating a session. Before creating a session, we should define a manifest by specifying the initial participants and any custom routing information that is required.
The important role of Session component in CSF is that all the messages are sent by using CSF pass through the Session Web service, which routes these messages to the appropriate destinations.
Identity Manager:
The identity Manager manages users, organizations, customers, and roles for CSF. It provides authentication and role-based authorization services for CSF. It also provides administrative policies, such as those for passwords and audits for a CSF deployment. The Identity Manager manages mappings between CSF users and value-added services participants to provide the Single Sign-On service to CSF, so that Requesting Authorities to CSF are only required to present valid CSF user credentials, rather than credentials for all of the VAS participants that are involved in the request. The Identity Manager uses Microsoft Enterprise Single Sign-On (ESSO) to provide an encrypted store for secondary credentials that a user or a service may have to present to an application to be authenticated and authorized by that application. The Identity Manager can be used to register applications and to create user maps, which hold the mappings between these applications and the secondary credentials that a user must present to sign-on to the application. Identity Manager also provides calls that you can use to get information about registered applications and to manage the user maps that are stored in ESSO. The Identity Manager MMC Snap-in can be used to create and manage applications and user maps in Identity Manager.


Service Catalog:
Microsoft Connected Services Framework (CSF) Service Catalog component is a Universal Description, Discovery, and Integration (UDDI) registry which stores the properties of all XML Web services that can participate in your CSF distributed application. The Service Catalog is built on Microsoft Enterprise UDDI Services, a component of Windows Server 2003.The Service Catalog provides access to the UDDI repository that holds the URIs of Web services that can be used in business scenario. The Service Catalog component stores the uniform resource identifier locations of all value-added services that are part of the distributed application, and provides a Web service that you can query to return URIs for specified services. You can obtain the URI for a service by specifying the name of the service, the binding key of the service in the service catalog, or the UUID of the service. The Service catalog exposes a Web service interface that enables you to use UDDI to discover the services that are offered for a particular request.

One of the initial steps you must perform to create your CSF application is to populate the Service Catalog. You should use the UDDI Publish command line tool. While you can also populate the Service Catalog by using the user interface provided by UDDI Services, the UDDI Publish tool dramatically reduces the possibility of introducing errors to a t-Model and the services that you register in the Service Catalog. The UDDI Publish tool automatically puts the correct identifiers into the t-Model and registers the Web service with that t-model. You do this by first creating a Provider entry in the Service Catalog, which defines the organization that offers the Web service over your internal network or across the Internet. You can also add contact information for the Provider. Next, you register the Web service itself and the binding for each endpoint within the service.

In most scenarios, the Service Catalog component is used to get a list of Web service URIs from a list of Universal Unique Identifiers that are mapped to those Web services. We should always store the physical URI of a specific Web service in the Service Catalog, and your application should read that URI from the Service Catalog before it calls the Web service. By designing your application in this way, if you change the URI for the Web service, you only change it in the Service Catalog and not in multiple locations.
You can discover Service Catalog through all common Web service discovery mechanisms, including UDDI, WS-Discovery, WS-Inspection and DISCO.
When you create a CSF application you must also design a CSF client. This client can query the Service Catalog for Web service properties so that it can build a Session Manifest. Such a query obtains URIs for the Web services and any other properties for that service, such as any security policies defined for the Web service, and authorization or authentication requirements. This information is typically used by the CSF client to create the Participant Manifest sections of the Session Manifest that the client uses to create a session for the incoming request. The following figure illustrates the relationship between a CSF client, the Service Catalog, and the Session core component.



Profile Manager:
Information about subscribers, networks, and services are managed in profiles. In Connected Services Framework, profile management is provided by Microsoft SQL Server and Active Directory on Windows Server 2003.Using profiles for each user enables operators to offer personalized services to customers. User profile management provides the foundation for effective customer targeting of information services, which leads to higher customer satisfaction and increased revenue for operators. Within the scope of Connected Services Framework, user profile management enables operators to analyze service usage activities of subscribers based on access history; this enables them to generate abstract usage patterns and supply such valuable insights to value-added services for fine-tuning their personalization engines.

This component is based on Resource Description Framework (RDF) and Simple Protocol and RDF Query Language (SPARQL) standards. In addition, this component provides capability to propagate events based on the profile changes to interested services that are registered for event notifications using the WS-Eventing standard.

Standard Business Events:
CSF enables collaboration between loosely-coupled Web services. However, enterprises often possess core business systems that are heterogeneous, tightly-coupled, and that are either rudimentarily Web service-enabled or are not Web service-enabled at all. A Standard Business Event (SBE) is a custom Web service that enables collaboration between your enterprise-wide business systems and external Web services to help you compose a service application that provides a specific area of business functionality. Conceptually, the SBE sits between your enterprise business systems and CSF and facilitates communication, a process, or both, with other Web services through a CSF session.
An SBE can provide:

· A bridge between enterprise systems that do not implement Web services and Web services that use the CSF platform.

· Specialized functionality that enables collaboration between enterprise systems and external services; for example, by transforming heterogeneous messages that are delivered by multiple external systems into schemas that can be understood by one or more enterprise systems.

Microsoft offers two Standard Business Event (SBE) products to help you integrate your enterprise-wide business systems with Web services that are provided by external systems.
  • The Order Handling Standard Business Event(OHSBE) enables order management systems to create, provision, and fill orders for resources that are provided by external Web services.
  • The Billing Standard Business Event(BSBE) enables your back-end billing systems to collect billing usage information from Web services, and to exchange advice of service messages between your general ledger application and a Web service

Well Enabled Services:
A Well-enabled Service (WES) is a Web service that provides a resource-centered view of a product. It provides four views of resources, which enables you to isolate and implement the functionality that is required to expose a product as a series of services. A WES enables you to do the following tasks:
· Provision resources
· Monitor the health of resources
· Discover resources
· Track usage of resources that are implemented by the product

For example, you can use Microsoft Exchange and a WES to provide access to Exchange mailboxes, implement provisioning services (such as creating or deleting mailboxes,) monitor the state of the Exchange server to maintain a specified quality of service, and track the amount of mailbox space occupied by users. A WES can help you to make the product available as a service. In a commercial environment, monitoring of the health and usage of resources can be the basis for billing customers.

By using a WES you can enable a product to participate in a CSF application alongside other services. The following figure illustrates a scenario where a number of consumers of the WES access the WES through a CSF application.

The Billing Web service queries the WES through the Usage interface to obtain information to bill customers of the service. The Marketing Web service uses the Health interface to provide advertisements to customers based on the state of the resource. For example, if the Value Added Service (VAS) is a mail server and the resource enters a degraded state because a user account exceeds the allocated storage limit, the marketing Web service can provide information to the user about how to upgrade the account to an increased the storage limit. The VAS is invisible to other Web services because all interaction occurs through the WES interfaces. Other Web services can access any of the interfaces that are exposed by the WES within the security restrictions that are implemented by the WES.

Utilities (Web Services):

Besides these core components, CSF provides various helper services for event notification, reporting,tracking and tracing.

The Profile Integrator subscribes to the profile updates events that the Profile Manager generates and propagates the changes to the services to which the user has subscribed. Connected Services Framework (CSF) Profile Integrator works with the Profile Manager to propagate user profile changes to all of the value-added services (VASs) for which the user is provisioned. Whenever you update an existing user profile in the Profile Manager, it automatically sends an event to notify the Profile Integrator about the change. While the event is fired for multipe VASs at a time, the Profile Integrator processes updates to each VAS individually, one at a time.

Service Logic or Service Orchestration:
The Service Logic component is a Web service that provides the business logic to drive a composite service application. The core CSF services (Session, Identity Manager, Profile Manager, and Service Catalog) provide a collaboration context through which Web services can be aggregated by providing a framework for message delivery, identity mediation/synchronization, authentication, and service discovery within a composite service application. The Service Logic component provides the rules and sequencing steps that define the interaction of Web services in a composite service application. This service logic orchestration could be implemented by using Microsoft BizTalk® Server, a Web Service,or other workflow engines.

The Notification Participant logs the messages that are routed by Session in a message queue so that the messages can be consumed by applications at a later time. Messages consumed by the Notification Participant can contain many types of data, such as billing data records. As a utility service or VAS, the Notification Participant is not one of the CSF core components, but it serves the important function of permitting messages to be sent outside CSF from any Session.

Summing up:
We can easily combine collections of Web services to create composite services and applications. CSF provides all the common services for a SOA to collaborate Web services to easily communicate with one another, identity management, profile management, and service discovery capabilities. CSF is built on top of Microsoft Web Services Enhancements (WSE) 3.0.CSF enables you to use the .NET Framework to develop secure, interopable Web services that are based on open industry specifications.

2 comments:

  1. great post...

    i'm working for a CSF 2.5 environment, but i'll not able to find the product (microsoft dismiss it)

    have u never see it?

    ReplyDelete
  2. Thanks ciko.
    They have discontinued CSF post 3.0.
    I guess Microsoft could not justify the motive. :)

    ReplyDelete