for SharePoint Zlatan Dzinic Principal Consultant Microsoft Most Valuable Professional SharePoint Business Connexion Session Objectives and Takeaways Audience Developers who want to learn more about building services ID: 192528
Download Presentation The PPT/PDF document "Developing and Consuming Services" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Developing and Consuming Services for SharePoint
Zlatan
Dzinic
Principal Consultant
Microsoft Most Valuable Professional - SharePoint
Business ConnexionSlide3
Session Objectives and
Takeaways
Audience:
Developers who want to learn more about building services
for SharePoint
Session Objectives:
To understand the different ways in which you can develop web services for SharePoint
Provide some guidance around native, ASMX, and WCF services for SharePoint 2007
Level 400 means:
You’ve got enough development experience
We will walk through concepts
and
code
You understand at least basic concepts of services
You have a general willingness to toil and occasionally be frustrated Slide4
Agenda
Custom app development and SharePoint
SharePoint Web services
Custom Web services
Futures
Summary
Q & ASlide5
Custom App Development and SharePointSlide6
SharePoint? Development Platform?
Microsoft Windows 2003/2008
SQL
Server
IIS
.NET Framework
ASP.NET
WF
Windows SharePoint Services
MOSS
Custom Solutions
VS/SPD
Internet
LOB Systems
Intranet
…
650,000 SharePoint Developers WWSlide7
Your Development EnvironmentGetting Started
Windows Server 2003 or 2008
WSS 3.0 SP1
MOSS 2007 (Standard/Enterprise/FIS) SP2
.NET Framework 3.5 SP1
Visual Studio 2008 SP1
VSeWSS 1.2 or 1.3
Optional
Expression Blend (WPF or Silverlight UI development)
SharePoint Designer (Master pages, custom field types)
Silverlight Tools for VS 2008 SP1 (Silverlight solution development)Slide8
SharePoint Web ServicesSlide9
SharePoint Web Services
Provide programmatic access to key
SharePoint functionality
Work with lists, Excel services, business data catalog, etc.
Both admin and non-admin services available
Cannot be accessed anonymously
Windows Credentials
are requiredSlide10
SharePoint Web Services (cont’d)
Take caution when writing custom services
You could write one when the service already exists
Think about type of reference
Creating a service increases portability
Referencing DLL increases performance (but you’re restricted to
server-only deployment)
SharePoint Virtual Directories
_vti_bin
_vti_adm
Things you can do in WSS sitesThings you can do in Central Admin
http://server/site/_vti_bin/service.asmx* Note the path to the site!http://server:1234/_vti_adm/service.asmx
* Note the PORT!C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\admisapiSlide11
Exploring the Native SharePoint Web Services
d
emoSlide12
Common Usage
Document and asset management
Create or store images
Document and form libraries
Read/write list data
Enhance applications using DM capabilities
Site management
Create sites dynamically
Add users programmatically
Custom listsCreate and populate custom listsMicrosoft Office 2003 and 2007
Check In/Out DocumentsSlide13
Development MethodologyNative SharePoint Web Service
Get familiar with the available services
Create your client
Discover the services
Consume the service in your app
Through service integration
Through DLL reference
Deploy your app
Windows Server
SharePoint
Client
1
Microsoft.SharePoint.dll
2Slide14
Consuming a Native SharePoint Web Service
demoSlide15
Custom Web ServicesSlide16
ASP.NET and WCF
You can create either ASMX or WCF
Web services
SharePoint supports ASMX natively
Both are supported through isolated Web
app domain
Deployment to hive requires additional
service configuration
Security considerations include cross-domain policy filesSlide17
Consuming Custom Services
No different than other web services
Create a Web Reference
Write some code
Here’s how to call a custom web service deployed to the _layouts virtual directory which creates
sub sitesSlide18
Development Methodology
Custom ASP.NET Web Service
Create and build your service
Test the service
Deploy the service
To SharePoint Hive (with configurations)
To Isolated Web App Domain
Test in deployed environment
Create your client
Discover the services
Consume the service in your appDeploy your clientWindows Server
SharePoint
Client
App
Domain
1
2Slide19
Creating the ASMX Web ServiceDeploying to SharePoint Hive
In VS 2008, create an ASP.NET Web Service
Copy the DLL to the GAC and make sure you add a fully qualified reference to it in your ASMX file
Run the disco tool against the ASMX file to create a .
dsco
and .
wsdl
file
Amend the files to work with SharePoint
Append the files with .
aspx and copy to ISAPI folder (copy ASMX and the two ASPX files)List in SPDISCO.ASPX fileSlide20
Creating the ASMX Web Service
Deploying to SharePoint Hive
In VS 2008, create an ASP.NET Web Service
Copy the DLL to the GAC and make sure you add a fully qualified reference to it in your ASMX file
Run the disco tool against the ASMX file to create a .
dsco
and .
wsdl
file
Amend the files to work with SharePoint
Append the files with .aspx and copy to ISAPI folder (copy ASMX and the two ASPX files)List in SPDISCO.ASPX fileSlide21
Developing and Consuming a Custom ASP.NET Web Service
demoSlide22
Development MethodologyCustom WCF Web Service
Create and build your service
Test the service
Deploy the service
To SharePoint Hive (with configurations)
To Isolated Web App Domain
Test in deployed environment
Create your client
Discover the services
Consume the service in your app
Deploy your clientWindows Server
SharePoint
Client
App
Domain
1
2Slide23
Developing and Consuming a Custom WCF Service
demoSlide24
FuturesSlide25
No Touch
Low Touch
High Touch
Streaming Services
<
iframe
/>
Web Part as Host
.NET Assembly/ Web Part
SP OM/External Data
Silverlight and SharePoint
Integrating Custom ServicesSlide26
SharePoint, Silverlight & Custom Services
demoSlide27
Windows Azure
Azure
™
Services PlatformSlide28
Windows Azure - Services
Windows Azure exposes services
Blob storage
Table storage
Queues
Services can be exposed via Web Role
Worker Role can consume services
Scheduled or command initiated tasks can interact with SharePoint
web servicesSlide29
SummarySlide30
Summary
You have a number of options when developing services for SharePoint
Range from native Web services to custom services to services in the cloud
Be sure to evaluate needs and design for custom services against existing Web services
Explore both native and custom services—trying both ASMX and WCF to test the difference
The future will see more development in the area of Azure SharePoint Services and certainly more Silverlight integration with servicesSlide31Slide32
Win!
LifeCam Show
Ultra-Thin Mobile Design
World-Class
High Definition
Optics
Question:
{Enter the qualifying question here / or find another way to select your winner}
Please attend other business productivity sessions
Office and SharePoint track (OFC)
Unified Communications (UNC)Slide33
question & answerSlide34
Additional Resources
Blogs
http://dotnet.org.za/zlatan
http://blogs.msdn.com/steve_fox/default.aspx
http://blogs.msdn.com/sharepoint/
Books
Microsoft SharePoint 2007 Development Unleashed (
Sams)Real World SharePoint Development (Wrox)Professional SharePoint Developing using Silverlight 2 (Wrox)MSDNhttp://msdn.microsoft.com/en-us/sharepoint/default.aspxhttp://msdn.microsoft.com/en-us/office/aa905503.aspx
Slide35
©
2009 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,
it
should not be interpreted to be a commitment on the part
of Microsoft
, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.