Toronto | Ottawa | Calgary | Regina | New York
Service Applications in SharePoint 2010
Andy Nogueira, MCPD, MCITP, MCTS, MCAD
Solutions Architect / Team Lead / Developer
nonlinear creations Inc. (www.nonlinear.ca)
Today’s Agenda
1. Services in MOSS 2007
2. Service Application (SA) Framework
3. Demo
4. Custom Service Application
5. Custom SA Demo
6. Questions and Answers
Objectives
Become Familiar with the new
Service Application (SA)
model
Understand how sites use the
Service Application
featuresCreate, Manage and Use Service
Applications
Session Objectives
Services inMOSS 2007
Recap
ASP.NET 2.0 (AJAX)
Windows 2003
IIS
NET Framework 3.0
WSS 3.0
Document Management Security Content Types Windows Workflow
SQL Server
MOSS 2007 Enterprise
EnterpriseSearch
User Profiles
LOB Integration
(BDC)
Excel Services
Enterprise Content
Management
My SitesRecords
Management
SharePoint 2007 (MOSS)
Shared Services Application (SSP)
User Profiles
Excel Services BDC Search
Shared Services Provider (SSP)
Web Application
1
Web Application
2
Web Application
3
So, What was “bad“ about SSP’s ?
SSP’s• Big improvement, but some
limitations
All or nothing
• Search / Profiles / Excel / BDC
Not extensible
• No custom SSP
No granularity
• Web application tied to specific SSPs
Sharing across farms
• Tied to a single farm (shared-farm SSP’s possible but tricky)
SharePoint 2010 Service
Applications
The New Model
Farm 3Farm 2Farm 1
http://www.acme.com http://intranet
Search
User Profile
s
Search
Excel
UserProfile
s
ManagedMetadata
Service Applications
So, What’s good about Service Applications ?
Flexibility• New services model much more
flexible
A la carte • Just pick the one you need
Common Framework
• Build custom using framework
Sharing • Single farm or shared across farms
Scalability• Entire farms can be dedicated to
service hosting and computing
Architectural View
Service: Actual program (binaries)deployed to servers in farm
Service Application
Service Proxy Service Proxy
Web Part, Pages(Service Consumer)
*.SVC’s, PowerShell Cmdlets(Service Consumer)
Service Machine Instance: Actual instance of the running service binaries on a server
Service Application: Configuration of the servicein a farm
Service Application Proxy:Reference to the Service Application
Service Consumer: Bits that utilize the service’s logic
Service Application Features
Configuration Store
• A configuration store within the SharePoint configuration database for application settings
Database Provisioning
• A common SQL Server database provisioning infrastructure
Custom Database
• Support for storing data in custom databases that are managed by SharePoint
Web Services• A location to host middle-tier Web services
and for provisioning and managing their security
Processing
• A service-scoped timer job infrastructure that enables you to perform scheduled operations on your service or on Web applications that consume it
Service Platform Features
Core Infrastructure
Settings (config database)
Web service provisioning
Database provisioning
Service discovery
Integrated round-robin load balancer
Claims based authentication
Backup & restore
Management
Central Administration UI
Permissions
PowerShell
Services
Service Application Lifecyle
Installation
Provision
Start Instances
Manage
SharePoint 2010 Service
Applications
Demo
Creating Custom Service
Applications in SharePoint 2010
Custom Service Applications
Creating Custom Services
Developers are free to create their own services
Allows developers to provide richer integration between a 3rd
party system and SharePoint
Allows for sharing data across SharePoint sites
Create Custom Services
Do Provide specialized computations & analytics
Share data across sites & site collections
Execute long running operations
Requires a robust scale out strategy
Common management and provisioning infrastructure
Don’t Features specific to a particular site or site collection
Features specific to site template
Developers should be familiar with
Custom WCF
services
PowerShell
SharePoint admin API
To Build a Service Application
Create a service application
Create a WCF service application
endpoint
Write the service application
installation code
Install and provision the service application
Create the service application proxy
Write the service application proxy installation code
Install and provision the service
application proxy
Create the service application consumers
Install, deploy, and test the service
application consumers
Service Application ComponentsBrowser
ConsumerWeb Part
SP W
FE
ConsumerWeb Part
Service Application Proxy
WCF Contract(*.svc)
* .asmx …
Service Logic (* .dll)
SP A
PP
SER
VER
Config DB Custom DBContent DB
SQ
LSER
VER
Client App
Service Application Installation
Components on servers
Service Application components must be
deployed to application servers
Proxies and consumers must be deployed to
WFE’s
Installation OptionsCustom MSI’s
Features
PowerShell Cmdlets
* all require custom code
CustomService
Application
Demo
Takeaways
Service Applications is here to stay (All MS services created using SA Framework)
Create custom Service Applications is not easy.
Requires big learning curve to create custom
Still lack of documentation and samples
Start with a sample solution and modify it to your needs
Links and Resources
Service Application Frameworkhttp://msdn.microsoft.com/en-us/library/ee536263(v=office.14).aspx
SharePoint 2010 Beta Developer Center http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx Get Started Developing on SharePoint 2010http://msdn.microsoft.com/en-ca/sharepoint/ee513147.aspx
Sample codes and Tutorials
• MSDN Service Application Framework Sample• http://msdn.microsoft.com/en-us/library/ee724430%28office.14%29.asp
x
• Custom SA Sample – Andrew Connell• http://www.criticalpathtraining.com/Members/Pages/default.aspx
• Building a SharePoint Service Application to Provide Auto-completion Services for AJAX-enabled Rich User Controls (4 Parts)• http://sharepointsolutions.com/sharepoint-help/blog/index.php/2009/1
0/building-a-sharepoint-service-application-to-provide-auto-completion-services-for-ajax-enabled-rich-user-controls-%E2%80%93-part-1/
?
Questions and Answers
Andy [email protected]
Thank You !
Top Related