Maxim Lukiyanov Program Manager Microsoft Corporation

Slides:



Advertisements
Similar presentations
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
Advertisements

.NET Framework V3.5+ & RESTful web services Mike Taulty Developer & Platform Group Microsoft Ltd
 Alexander Malek Lead Program Manager SharePoint Microsoft Corporation BB47.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Project “Astoria” first announced in Mix 2007 Shared early prototypes, got tons of feedback Now we’re talking about the real deal Production quality bits,
customer.
1 ADO.NET Data Services Mike Taulty Developer & Platform Group Microsoft Ltd
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Course Agenda Deep Dive into the Building Blocks and Services of the SharePoint Platform Module 1: Developing Advanced Workflow Scenarios in Office 365.
2 ADO.NET Data Services for the Web Mike Flasko Program Manager, Microsoft “Project Astoria”
O SharePoint 2013 Remote Event Receivers Speaker.
DoRon Motter Development Lead Microsoft Corporation
MIX 09 6/5/2018 9:14 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Business Connectivity Services in SharePoint 2010 and Office 2010
Jim Nakashima Program Manager – Cloud Tools Microsoft Corporation
6/26/2018 9:02 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Managing the Solution Lifecycle for xRM Applications
Excel Services Deployment and Administration
Возможности Excel 2010, о которых следует знать
Office Power Hour New developer APIs and features for Apps for Office
Office 365 Development.
ADO.NEXT Advances in Data Access for 2008
Implementing RESTful Services Using the Microsoft .NET Framework
Driving Experiences via Services Using the Microsoft .NET Framework
Title of Presentation 11/22/2018 3:34 PM
Office 365 Development July 2014.
Excel & Excel Services: The Top 10 Features you Need to Know!
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
New Developer Tools in Windows Embedded Standard 2011
Accessing Data in a .NET Web Application
SharePoint & jQuery: Better Together
SharePoint data access and LINQ to SharePoint
SPC2012 – IT-Pro 11/30/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Title of Presentation 12/2/2018 3:48 PM
TechEd /4/2018 3:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Windows Azure Keenan Newton 3-021
MIX 09 12/9/2018 6:08 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech Ed North America /1/ :36 AM Required Slide
SPC Developer 1/1/2019 Deep Dive on the Capabilities of SharePoint Online's New Public Website Josh Stickler Program Manager WCM Kevin Gjerstad Principal.
OPEN DATA FOR THE OPEN WEB
TechEd /11/ :54 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
ASP.NET 4 Core Runtime for Web Developers
Pablo Castro Software Architect Microsoft Corporation
Visual Studio 2010 SharePoint Development Tools Overview
Mike Ammerlaan Program Manager Microsoft Corporation
Tech·Ed North America /22/2019 3:15 AM
The OpenRasta framework for building RESTful applications
Developing and Managing SharePoint Solutions with Visual Studio 2012
Developing and Managing SharePoint Solutions with Visual Studio 2012
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Silverlight 2 Mike Taulty Developer & Platform Group Microsoft Ltd
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
2010 Microsoft BI Conference
Title of Presentation 5/12/ :53 PM
The complete developer's guide to the SkyDrive API
WCF and .NET Framework Microservices in Containers
Title of Presentation 5/24/2019 1:26 PM
Title of Presentation 7/24/2019 8:53 PM
Office 365 Development.
Erik Porter Program Manager ASP.NET Microsoft Corporation
data programming and modeling for the Microsoft .net developer
Building Data-Driven Applications Using "Quadrant" and "M"
WCL425 App Compat for Nerds Chris Jackson.
利用IIS部署與維護 SOA應用程式的技巧
Presentation transcript:

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.

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.

SharePoint Web Services Browser .NET CLR Other Platforms Internet REST Client OM ASP.NET WCF

REST REST Client OM ASP.NET WCF

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 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 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

REST: Atom feeds in the browser demo

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>

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

REST: Master-Detail Application demo

Client Object Model REST Client OM ASP.NET WCF

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

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 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

Client Object Model demo

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

Custom Web Services REST Client OM ASP.NET WCF

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

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

? 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

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

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

Custom WCF Service demo

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 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

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?

YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com

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.

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.

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.