What's New: Service Application Framework
Published: May 2010
The Service Application Framework provides a platform that allows developers to build scalable middle-tier applications that are hosted in Microsoft SharePoint Foundation 2010. These services can provide data or processing resources to other SharePoint features. The Service Application Framework enables services to be shared between computers on a server farm; it also helps load balance and manage services in SharePoint.
The Service Application Framework provides over 20 services that are built into the core product. For example, SharePoint Search is implemented by Service Application Framework. The Service Application Framework is an API that is provided to build services that are hosted by back-end application servers and consumed by front-end Web servers.
The Service Application Framework replaces the Shared Services Provider in Microsoft Office SharePoint Server 2007. The Service Application Framework model is much more flexible than the Shared Services Provider model. Service applications can be used by a single server farm or shared across farms, allowing centralized shared computing investments. Service Application Framework applications are easily scaled out for load balancing high-demand service applications.
Key features of the Service Application Framework include the following:
The Service Application Framework allows service developers to focus on the business logic of their applications. The Service Application Framework makes it easy to implement details such as writing code to configure a server that runs Internet Information Services (IIS), installing a Secure Sockets Layer (SSL) certificate, creating a virtual directory, managing credentials for a pool of application users, managing and caching distributed settings, tracking and load balancing endpoints, and also performing many backup and restore tasks.
The Service Application Framework offers integration with the management experience. Services plug their management User Interface (UI) into the SharePoint Service Management page, thereby providing a common experience for administrators. Services benefit from common SharePoint administration tools such as Upgrade, Backup/Restore, and Account management. Administrators can use this common UI to manage, start, stop, group, associate, federate, and backup services.
Service developers can build their own administrative pages to manage their services and host them by using SharePoint Central Administration. Services can be configured to have their own additional specialized administrative roles. Service Administration can also be delegated to users who are not server farm administrators. In this case, the Central Administration UI is security trimmed to include only the pages that the Service Administrator has permission to access.
Management of Service Application Framework applications can be performed through either the Central Administration UI or Windows PowerShell.
The Windows Communication Foundation (WCF) service model addresses communication between client and service. The SharePoint service model addresses deployment, management, and discovery of services in a server farm. These models are complementary, the Service Application Framework is ideal for deploying, managing, and discovering WCF service clients and endpoints
Service Application Framework provides round-robin load balancing.
SharePoint service applications are typically hosted on multiple machines and invoked from a service client application that is running on a front-end Web server. Service application proxy method invocations must be routed from the front end Web server to an appropriate application server by using a load balancing tool.
While SharePoint Foundation administrators do configure external load balancing solutions for front-end Web servers, they do not expect calls between front-end Web servers and application servers to require yet another external load balancer. SharePoint provides a simple round-robin load balancer implementation in the SPRoundRobinServiceLoadBalancer class, which can be enhanced or replaced by third-party developers as necessary. Service application proxies may use the built-in round-robin load balancer to route requests to the appropriate back-end service application.
For more information, see Implementing Load Balancing.
The claims-based identity model for SharePoint Foundation and SharePoint Server is built upon Windows Identity Foundation (WIF). This new identity model includes features such as authentication of users across both Windows-based systems and non-Windows-based systems, also multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications.
When you build claims-aware applications, the user presents an identity to your application as a set of claims. One claim could be a user name, another claim might be an e-mail address. The idea here is that an external identity system is configured to give your application everything it needs to know about the user with each request, along with cryptographic assurance that the identity data you receive comes from a trusted source. Under this model, single sign-on is much easier to achieve. Service application authorization is performed by using claims. Web application calls to service applications are secured by using claims.
The Service Application Framework allows for easy integration with the SharePoint backup and restore tool.For more information, see: Backing Up and Restoring