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
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
A set of custom rights
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
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
- 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.”
- 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.
- 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.”
- 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.”