Monday, December 14, 2009

Sharepoint 2010 Top 10 : Service Applications

  1. No SSP - Shared Service Providers (SSP's) are replaced by Service Applications.
    • Services are no longer combined into a SSP. They are running independent and "unboxed" as a application.There are a lot more services now, 20 or more.
    • Similar to SSP in MOSS 2007, a single set of services can be shared by all sites in a farm.
    • In MOSS 2007 the limitation of having only one SSP associated web-application, forced us to use all or nothing of all the services from the SSP. So we can’t consume more than one service from 2 or more different SSPs. With SP 2010, a web application can choose from all the available service application. All services are installed by default and there is no SSP setup.
  2. The service application architecture is now also built into Microsoft SharePoint Foundation 2010, in contrast to the SSP architecture that was only part of MOSS 2007.
  3. WCF - All these Services in Service Application are WCF Services. So the Advantages are:
    • Each Service (Search, BDC, PROFILE, etc) is independent and can be independently scaled & configured to run on different Application Servers
    • Web applications can be associated with any service application, not like MOSS 2007 where we were limited to use only those Service provided by the SSP.
    • We can have an independent Farm that is hosting only Services and then we share these services across farms.
    • Cross Farm support - Share to anyone and consume from anywhere
    • They have optimization built into their protocol, using binary streams instead of XML for data transfer.
  4. Extensible – The platform for building these services is now open.The new services architecture is extensible, so third-party companies can build services and add them to the platform.
  5. Availability – Service applications can be published to make them available outside the current farm. It allows you to select the connection type, for example https or net.tcp. The service is published on a url (url format - https://myfarm/Topology/topology.svc). Through this url an other farm can find the published services. The other farm can connect to your farm through a remote service connection. To publish your service application to other farms you simply install the service application’s proxy in the other farm and point it to a specific URI provided by Central Administration when you publish the service application. This enables enterprises to have dedicated service farms that can be specially configured based on the services that are provided (search, taxonomies, analytics, data aggregation, etc). They could then share these service offerings with other SharePoint farms in the enterprise or with customer farms!
  6. Management
    • Services are managed directly in Central Administration (rather than a separate administration site). they can be managed and scripted by using Windows PowerShell as well. Services can be monitored and managed remotely.
    • Farm Admins have access to all Service Application, but they can delegate permissions to a specific user for a specific service.
  7. Consumption -
    • You can configure which services are running on an application server.
    • Services can assign to Web Apps. Per web application you can configure which services apps you want to be available. By default all web applications use all service applications available; associations are not direct but through a proxy.
    • The key limitation of the SSP architecture was that it was configured by using a set of services, and all Web applications associated with the SSP bore the overhead of all the services even if they weren’t being used. To change the service configuration for a particular Web application, a new SSP would have to be created. The service application architecture allows a set of services to be associated with a given Web application and a different set of services to be associated with another Web application. Also, the same service application can be configured differently in different Web applications; therefore, Web sites can be configured to use only the services that are needed, rather than the entire bank of services.
    • Service Workflow -A web application does not communicate directly to a service application, but does this through a proxy:
      Web Application <-> Service Application Proxy <-> Service Application,
      So a general workflow can be:
      Browser -> Web Front End ->(Request) Application Server ->(Result) Web Front End -> Browser
    • How is a Service Application used
      • Features, for example Web Parts use these application
      • You associate a web application with a service application via a proxy
      • Associations done by Admins, can be changed anytime
      • Can be grouped for administrative reasons “Service Application Proxy Group”
    • The consumption piece happens on the SharePoint Web Front End (WFE') level. So you need to connect your service applications to the WFE’s. This is done using a proxy .This proxy knows how to talk to your service application, exposed on the app server by a custom WCF service. Now, you can have a consumer, such as a Web Part, that talks to the proxy to communicate with the service. The consumer doesn’t have a clue where the service is running.
  8. Load Balancing
    • Software Load Balancer and fail over (load balancer can be replaced by a third party load balancer)
    • Application Directory and Load Balance Service Application
      • Responsible for sharing the list of available services to other applications
      • Discovery mechanism.
      • You can now effectively deploy farms that are dedicated to specific tasks. A search farm for example.
    • Load Balancing – When the proxy on the WFE ask for service , the service architecture’s internal round-robin load balancer will pick the next server where that contains an instance of the service application and hand the URI of it’s specific WCF service back to the proxy which it will then use to communicate with the service application. We can add additional application server at any time in Farm.
  9. Isolation - The Service Application infrastructure provides application isolation: each service application can use separate databases if needed and optionally run in separate app pool. There is support for multiple service apps for a service with different accounts and databases. Great for multi-tenancy (hosting for multiple customers on same platform)
  10. Services are flexible, secure and provide cross-farm federation:
    • Trust based security between farms, claims based authorization within the farm
    • Share to anyone, consume from anywhere
    • WCF based web services for communication
    • No direct DB Access
Service Application Framework
  1. Provides a platform that allows developers to build scalable middle-tier applications that are hosted in SharePoint 2010 and that 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 manages services in SharePoint.
  2. The Service Application Framework is an API provided by back-end application servers and consumed by front-end Web servers.
  3. The Service Application Framework replaces the Shared Services Provider in Microsoft Office SharePoint Server 2007.
  4. Improved development experience - 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 many backup and restore tasks.
  5. Services that use the built-in Backup and Restore functionality now have the following resources backed up and restored automatically:
    • The persisted object
    • Platform level ACLs
    • Service endpoints
    • Service application pool
    • Databases that are referenced by using subclasses of SPDatabase
  6. Integration with Windows Communication Foundation - The 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, Service Application Framework is ideal for deploying, managing, and discovering WCF service clients and endpoints
  7. Round Robin Load Balancing - 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.
  8. The Service Application Framework offers integration with the management experience. Services plug their management 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 SharePoint services. Services can define their own additional specialized administrative roles. Service Administration can also be delegated to users who are not farm administrators. In this case, the user interface (UI) for the Central Administration is security trimmed to include only the pages that the Service Administrator has permission to access.
  9. Claims Based Identity - This new identity model includes features such as authentication across users of Windows-based systems and non-Windows-based systems, multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications. The user presents an identity to your application as a set of claims e.g. user’s name, e-mail address. The external identity system 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. Single sign-on is much easier to achieve.
  10. Building Service Applications
    • The OOB service applications have been built on the same API developers can use
    • You get:
      • Multi-Server Support
      • Fault Tolerant Round Robin Load Balancing
    • Timer Job Support
    • Load Balancer is extensible
    • Settings can be stored in the configuration Database, and you can add your own databases and manage them through SharePoint.
    • Can create your own Central Admin pages
    • Lots of controls that can be reused
    • Can create your own PowerShell Commandlets

More - SharePoint 2010 Top 10 Features Source - SharePoint 2010 Resources

No comments: