slide1
Download
Skip this Video
Download Presentation
It's All About the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET

Loading in 2 Seconds...

play fullscreen
1 / 31

It's All About the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

PR12. It's All About the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET, WCF, and REST. Maxim Lukiyanov Program Manager Microsoft Corporation. Agenda. SharePoint Web Services REST Client Object Model Custom Web Services.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'It's All About the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET' - butch


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
PR12

It's All About the Services:Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET, WCF, and REST

Maxim Lukiyanov

Program Manager

Microsoft Corporation

agenda
Agenda
  • SharePoint Web Services
  • REST
  • Client Object Model
  • Custom Web Services
sharepoint web services
SharePoint Web Services

Browser

.NET CLR

Other Platforms

Internet

REST

Client OM

ASP.NET

WCF

slide4

REST

REST

Client OM

ASP.NET

WCF

slide5
REST
  • Access to SharePoint lists and library data
    • …/_vti_bin/listdata.svc
  • Lists and List items map to resources
    • listdata.svc/Employees(123)
  • Operations map to HTTP verbs
    • GET, POST, PUT, DELETE
example adding announcement to sharepoint using http post
Example: Adding Announcement to SharePoint using HTTP POST
  • POST /_vti_bin/listdata.svc/Announcements HTTP/1.0
  • Content-Type:application/json
  • Accept:application/json
  • Content-Length: 58
  • { Title: ‘New SharePoint REST Interface’,
  • Body: ‘Accessible from any platform with HTTP stack’ }
based on ado net data services
Based on ADO.NET Data Services
  • Flexible URL conventions for querying data
    • listdata.svc/Employees? $filter=JobTitleeq 'SDE' $orderby=Fullname
  • Multiple representations
    • JSON and Atom (full AtomPub support)
      • Feed readers, Excel Power Pivot (Gemini)
  • Batching, ETags, Paging, Documents
example query translation
Example: Query Translation

Original REST Query:

  • GET /_vti_bin/listdata.svc/Employees? $filter=Project/Title eq ‘Project1‘ HTTP/1.0

Translated into CAML Query:

ListAlias=‘Projects'>

Name=‘ProjectTitle'

Type='Lookup'

List=‘Projects'

ShowField='Title'/>

Project1

integrated development experience
Integrated Development Experience
  • Visual Studio 2010 & 2008 SP1
    • Client library for .NET and Silverlight
    • IDE integration, “Add Service Reference”
  • Entity based programming
    • Typed experience through code-gen
    • LINQ support
    • Updates
  • Client Libraries for PHP, Java
client object model

Client Object Model

REST

Client OM

ASP.NET

WCF

client object model13
Client Object Model
  • Motivation
    • Removes the need for custom wrappers around SharePoint Web Services
  • Unified object model across all clients
    • JavaScript
    • .Net CLR
    • Silverlight CLR
client object model coverage
Client Object Model Coverage
  • Supports broad set of SharePoint objects
    • Site operations
    • Lists, ListItems
    • Content Types, Fields, …
    • But not Administration namespace, Farm objects
  • Implemented as WCF service
    • …/_vti_bin/client.svc
    • Uses Web Binding for request batching
how client object model works
How Client Object Model Works

Client Application

Server

Sequence of commands:

Client.svc

command 1;

command 2;

command 3;

Execute commands

in the batch:

XML

command 1;

command 2;

command 3;

context.ExecuteQuery();

JSON

Process results

Send results back

other sharepoint web services
Other SharePoint Web Services

Web Services

Advanced Operations

SharePoint Server Operations

Client Object Model

Advanced List Operations

Site Operations

Security

  • User Profiles
  • People
  • Search
  • Enterprise Metadata
  • Document Coauthoring
  • Excel REST web services
  • Publishing
  • Workflow
  • BCS web services
  • see MSDN

REST

List data

custom web services

Custom Web Services

REST

Client OM

ASP.NET

WCF

asp net vs wcf
ASP.NET vs WCF
  • ASP.NET web services are supported
  • WCF is recommended for new web services
    • SharePoint 2007 does not support WCF directly
      • Separate Web Application is required or
      • Custom Virtual Path Provider/HTTP Module

asp net web service development
ASP.NET Web Service Development
  • SOAP
    • The same as in SharePoint 2007
    • Deploy ASMX service to ISAPI folder
    • Add ServiceWSDL.aspx and ServiceDisco.aspx files to represent WSDL of your service.
  • REST
    • Place ASHX request handler in ISAPI folder
slide21
WCF

?

  • Problem
    • IT Admin configures IIS
      • Different Authentication schemes can be configured
        • Basic, Forms, Claims, Windows Integrated, Digest, …
      • Multiple IIS address bindings
    • Developer configures WCF Service endpoint
  • Solution
    • Dynamic (Programmatic) Configuration
      • RTM only, not available in Beta2
wcf web service development
WCF Web Service Development
  • SOAP
    • Specify Service Factory in SVC file
    • Add MEX endpoint behavior attribute to the service class
      • BasicHttpBindingServiceMetadataExchangeEndpoint
    • Deploy SVC service to ISAPI folder
  • REST
    • Specify Service Factory in SVC file
    • Deploy SVC service to ISAPI folder
details of wcf service configuration
Details of WCF Service Configuration

SharePoint

Service Factory

Service.svc

http://server/_vti_bin/Service.svc/negotiate

http://server/_vti_bin/Service.svc/ntlm

http://server/_vti_bin/Service.svc/anonymous

SharePoint

HTTP Module

HTTP POST

http://server/_vti_bin/Service.svc

key takeaways
Key Takeaways
  • SharePoint 2010 is designed for Services Oriented Applications
  • New REST and Client Object Model provide easy access to SharePoint from client apps
    • SharePoint Lists have enhanced relational capabilities
  • WCF is supported and easy
slide28
YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation forms online at

MicrosoftPDC.com

learn more on channel 9
Learn More On Channel 9
  • Expand your PDC experience through Channel 9.
  • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses.

channel9.msdn.com/learn

Built by Developers for Developers….

ad