18 Sep 2011

Developing Service Applications


Service Application Architecture

Service application is new version of the Shared Services Provider (SSP) infrastructure of SharePoint 2007.

A service application is a middle-tier service that can be shared between multiple web application instances of the same farm or even across multiple farms.

All the native services of SharePoint 2010 are implemented as service applications


Architectural schema of SharePoint 2010, based on various native service applications


Architecture of a single service application


A service application shared across multiple farms.

By default, SharePoint 2010 installs and preconfigures a couple of service applications

  • Application Discovery and Load Balancer Service Application
  • Security Token Service Application


To manage the service applications environment, you can use the SharePoint Central

Service Application Framework

This is a framework of classes from which you can inherit to build your custom service applications

Creating a Service Application

The main and fundamental components of a service application are

Service engine

Service database

A set of custom rights

Administrative pages

Management scripts for the Windows PowerShell management console.

A proxy library for consuming the service application.

Consumer page, Web Part, or component to use in sites

Custom Protocol Service Application

Business logic to Integrate SharePoint 2010 with an external protocol engine


imageThe custom service applications’ management page, available in SharePoint Central Administration.


You will learn how to define such a page for your developed service:

Upon clicking the OK button, you will see the Protocol Service Application in the list of configured services. However, to use the service you will need to start it on a server of the farm.


After you activate a service instance on a specific server, the Application Discovery And Load Balancer Service Application will begin announcing the availability of that service instance through that specific server, and you will be ready to consume it.


To develop the service application, you need to define a new solution in Visual Studio 2010.
You should create at least four projects

  1. Service application
    This project defines the service, the service application, and all the management pages and scriptlets. It is based on an “Empty SharePoint Project.”
  2. Service contracts
    If you decide to implement the service application as a WCF service, you will need to isolate the communication contracts to share them between the service application and the service application proxy. This project is based on a “Class Library” project targeting .NET Framework 3.5 for x64 or anyCPU platforms.
  3. Service application proxy
    This project implements the code to invoke the service via the base service application proxy. It is based on an “Empty SharePoint Project.”
  4. Service consumer
    This project will host the consumer’s controls, such as Web
    Parts, Web Part Pages, and so on. It is based on an “Empty SharePoint Project.”

No comments:

Post a Comment