Download presentation
Presentation is loading. Please wait.
Published byWilfred Campbell Modified over 5 years ago
1
Maxim Lukiyanov Program Manager Microsoft Corporation
2/24/2019 4:00 PM 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 © 2007 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.
2
Agenda SharePoint Web Services REST Client Object Model
2/24/2019 4:00 PM Agenda SharePoint Web Services REST Client Object Model Custom Web Services © 2007 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.
3
SharePoint Web Services
Browser .NET CLR Other Platforms Internet REST Client OM ASP.NET WCF
4
REST REST Client OM ASP.NET WCF
5
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
6
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’ }
7
Based on ADO.NET Data Services
Flexible URL conventions for querying data listdata.svc/Employees? $filter=JobTitle eq 'SDE' $orderby=Fullname Multiple representations JSON and Atom (full AtomPub support) Feed readers, Excel Power Pivot (Gemini) Batching, ETags, Paging, Documents
8
REST: Atom feeds in the browser
demo
9
Example: Query Translation
Original REST Query: GET /_vti_bin/listdata.svc/Employees? $filter=Project/Title eq ‘Project1‘ HTTP/1.0 Translated into CAML Query: <Joins> <ProjectedFields> <Join Type='LEFT' <Field ListAlias=‘Projects'> Name=‘ProjectTitle' <Eq> Type='Lookup' <FieldRef Name=‘Project' RefType='ID'/> List=‘Projects' ShowField='Title'/> <FieldRef List=‘Projects' Name='ID'/> </ProjectedFields> </Eq> <Query> </Join> <Where> </Joins> <FieldRef Name=‘ProjectTitle'/> <Value Type='Text'>Project1</Value> </Where> </Query>
10
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
11
REST: Master-Detail Application
demo
12
Client Object Model REST Client OM ASP.NET WCF
13
Client Object Model Motivation Unified object model across all clients
Removes the need for custom wrappers around SharePoint Web Services Unified object model across all clients JavaScript .Net CLR Silverlight CLR
14
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
15
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 context.ExecuteQuery(); command 1; command 2; command 3; JSON Process results Send results back
16
Client Object Model demo
17
Other SharePoint 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
18
Custom Web Services REST Client OM ASP.NET WCF
19
ASP.NET vs WCF ASP.NET web services are supported
SOAP REST Other Bindings Simple Configuration ASP.NET 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
20
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
21
? WCF Problem Solution 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
22
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
23
WCF Service Configuration
Service Type Service Factory SOAP Service MultipleBaseAddressBasicHttpBindingServiceHostFactory REST Service MultipleBaseAddressWebServiceHostFactory ADO.NET Data Service MultipleBaseAddressDataServiceHostFactory Behavior Attribute Compatible Mode [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] Enable MEX endpoint [BasicHttpBindingServiceMetadataExchangeEndpoint] Customizing WCF Endpoint Parameters SPWebService.WcfServiceSettings
24
Custom WCF Service demo
25
Details of WCF Service Configuration
SharePoint Service Factory Service.svc SharePoint HTTP Module HTTP POST
26
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
27
Related Sessions Questions? FT12
ADO.NET Data Services: What's New with the RESTful Data Services Framework Pablo Castro PR02 Developing Solutions for Microsoft SharePoint Server 2010 Using the Client Object Model Mike Ammerlaan PR07 Overview of SharePoint 2010 Programmability Questions?
28
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation forms online at MicrosoftPDC.com
29
channel9.msdn.com/learn
2/24/2019 4:00 PM 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…. © 2007 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.
30
2/24/2019 4:00 PM © 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.
31
2/24/2019 4:00 PM © 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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.