[ms-spfepo]: sharepoint front-end protocols overview

73
1 / 73 [MS-SPFEPO] v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009 [MS-SPFEPO]: SharePoint Front-End Protocols Overview Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL‘s, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft's Open Specification Promise (available here: http://www.microsoft.com/interop/osp ) or the Community Promise (available here: http://www.microsoft.com/interop/cp/default.mspx ). If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected] . Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than specifically described above, whether by implication, estoppel, or otherwise. Tools. The Open Specifications do not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments you are free to take advantage of them. Certain Open Specifications are intended for use in conjunction with publicly available standard specifications and network programming art, and assumes that the reader either is familiar with the aforementioned material or has immediate access to it. This document provides an overview of the SharePoint Front-End Protocols Overview Protocol Family. It is intended for use in conjunction with the Microsoft Protocol Technical Documents, publicly available standard specifications, network programming art, and Microsoft Windows distributed systems concepts. It assumes that the reader is either familiar with the aforementioned material or has immediate access to it.

Upload: api-17339304

Post on 12-Nov-2014

256 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

1 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[MS-SPFEPO]: SharePoint Front-End Protocols Overview

Intellectual Property Rights Notice for Open Specifications Documentation

Technical Documentation. Microsoft publishes Open Specifications documentation for

protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies.

Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this

documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly

document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL‘s, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given

Open Specification may be covered by Microsoft's Open Specification Promise (available here: http://www.microsoft.com/interop/osp) or the Community Promise (available here: http://www.microsoft.com/interop/cp/default.mspx). If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications

Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected].

Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications do not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to

Microsoft programming tools and environments you are free to take advantage of them. Certain Open Specifications are intended for use in conjunction with publicly available standard specifications and network programming art, and assumes that the reader either is familiar with the aforementioned material or has immediate access to it.

This document provides an overview of the SharePoint Front-End Protocols Overview Protocol Family. It is intended for use in conjunction with the Microsoft Protocol Technical Documents, publicly available standard specifications, network programming art, and Microsoft Windows

distributed systems concepts. It assumes that the reader is either familiar with the aforementioned material or has immediate access to it.

Page 2: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

2 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

A Protocol Family System Document does not require the use of Microsoft programming tools or

programming environments in order to implement the Protocols in the System. Developers who have access to Microsoft programming tools and environments are free to take advantage of them.

Abstract

This document describes the intended functionality of the SharePoint Front-End Protocols System and how the protocols in this system interact. It provides examples of some of the common user scenarios. It does not restate the processing rules and other details that are specific for each protocol. These details are described in the protocol specifications for each of the protocols and data structures that make up this system.

Revision Summary

Date Revision History Revision Class Comments

04/04/2008 .01 Major Initial Availability

06/27/2008 1.0 Editorial Revised and edited technical content

10/06/2008 1.01 Editorial Revised and edited technical content

12/12/2008 1.02 Editorial Revised and edited technical content

07/13/2009 1.03 Major Revised and edited the technical content

08/28/2009 1.04 Editorial Revised and edited the technical content

Page 3: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

3 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Table of Contents

1 Introduction ............................................................................................................. 5 1.1 Glossary ............................................................................................................... 5 1.2 References ............................................................................................................ 7

2 Functional Architecture .......................................................................................... 14 2.1 Overview ............................................................................................................ 14

2.1.1 Deployment Topology ..................................................................................... 14 2.1.2 Web Infrastructure ......................................................................................... 16

2.1.2.1 Web Topology .......................................................................................... 16 2.1.2.2 Service Applications .................................................................................. 17 2.1.2.3 Web Components ..................................................................................... 18 2.1.2.4 Web Parts ................................................................................................ 18

2.1.3 Core Platform ................................................................................................ 19 2.1.3.1 Site Administration ................................................................................... 19 2.1.3.2 Lists ........................................................................................................ 19

2.1.3.2.1 Libraries ............................................................................................. 20 2.1.3.3 Security and Identity ................................................................................ 21

2.1.3.3.1 Authentication .................................................................................... 21 2.1.3.3.2 Authorization ...................................................................................... 21

2.1.4 Extended Capabilities ...................................................................................... 21 2.1.4.1 Excel Services .......................................................................................... 21 2.1.4.2 Access Services ........................................................................................ 22 2.1.4.3 InfoPath Forms Services ............................................................................ 23 2.1.4.4 User Profile Services ................................................................................. 23 2.1.4.5 Search Services ........................................................................................ 24 2.1.4.6 Business Connectivity Services ................................................................... 24 2.1.4.7 Content Management Services ................................................................... 25 2.1.4.8 PerformancePoint Services ......................................................................... 25 2.1.4.9 Analytics Services ..................................................................................... 26

2.2 Protocol Summary ............................................................................................... 26 2.2.1 Core Platform Protocols ................................................................................... 26

2.2.1.1 Site Administration Protocols ...................................................................... 26 2.2.1.2 List Data Protocols .................................................................................... 27 2.2.1.3 File Operations Protocols ........................................................................... 29 2.2.1.4 Security and Identity Protocols ................................................................... 30 2.2.1.5 Authoring Integration Protocols .................................................................. 31 2.2.1.6 ActiveX Controls for Integrated Authoring .................................................... 33 2.2.1.7 Extensibility Protocols ............................................................................... 34

2.2.1.7.1 Content Import/Export Protocols ........................................................... 34 2.2.1.7.2 Workflow Protocols .............................................................................. 35 2.2.1.7.3 Web Page Customization Protocols ........................................................ 35

2.2.1.8 SharePoint Client-Side Object Model ........................................................... 36 2.2.2 Extended Capabilities Protocols ........................................................................ 36

2.2.2.1 Excel Services Protocols ............................................................................ 36 2.2.2.2 Access Services Protocols .......................................................................... 37 2.2.2.3 InfoPath Forms Services Protocols .............................................................. 38 2.2.2.4 User Profile Services Protocols .................................................................... 39 2.2.2.5 Search Services Protocols .......................................................................... 40 2.2.2.6 Business Connectivity Service Protocols ....................................................... 40 2.2.2.7 Content Management Protocols .................................................................. 41

Page 4: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

4 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

2.2.2.8 PerformancePoint Services Protocols ........................................................... 43 2.2.2.9 Analytics Services Protocols ....................................................................... 43

2.3 Environment ....................................................................................................... 43 2.3.1 Dependencies on This System .......................................................................... 43 2.3.2 Dependencies on Other Systems/Components ................................................... 44

2.4 Assumptions and Preconditions .............................................................................. 44 2.5 Use Cases ........................................................................................................... 45

2.5.1 Core Platform Use Cases ................................................................................. 45 2.5.1.1 Create Site Collection ................................................................................ 45 2.5.1.2 Create List and Add a View ........................................................................ 46 2.5.1.3 Get List Data ............................................................................................ 47 2.5.1.4 Create a file in a SharePoint library from a client consol ................................ 47 2.5.1.5 Export and Import Site Content .................................................................. 49 2.5.1.6 Add a Web Part to a Page and Update its Properties ...................................... 50

2.5.2 Extended Capabilities Use Cases ...................................................................... 51 2.5.2.1 Excel Services Use Cases ........................................................................... 51 2.5.2.2 Access Services Use Cases ......................................................................... 54 2.5.2.3 InfoPath Forms Services Use Cases ............................................................. 56 2.5.2.4 User Profile Services Use Cases .................................................................. 58 2.5.2.5 Search Services Use Cases ........................................................................ 60 2.5.2.6 Content Management Use Cases ................................................................. 61 2.5.2.7 PerformancePoint Services Use Cases ......................................................... 62 2.5.2.8 Analytics Services Use Cases...................................................................... 63

2.6 Versioning, Capability Negotiation, and Extensibility ................................................. 64 2.7 Error Handling ..................................................................................................... 64 2.8 Coherency Requirements ...................................................................................... 64 2.9 Security .............................................................................................................. 64 2.10 Additional Considerations .................................................................................... 64

3 Examples ................................................................................................................ 65 3.1 Example 1: Create a New Site and Access List Data ................................................. 65 3.2 Example 2: Create File from Client ......................................................................... 67

4 Microsoft Implementations .................................................................................... 71 4.1 Product Behavior ................................................................................................. 71

5 Change Tracking..................................................................................................... 72

6 Index ..................................................................................................................... 73

Page 5: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

5 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

1 Introduction

This Document provides an informative overview of the front-end protocols implemented by Microsoft® Office SharePoint® Server 2007, Windows® SharePoint® Services 3.0, Microsoft SharePoint Server 2010 Technical Preview, and Windows® SharePoint® Services 4.0 Technical Preview (referred to in this document collectively as "SharePoint") to communicate with other SharePoint components communicate with client and server applications. Where appropriate, it describes the relationship between the protocols and example scenarios in which they are used. This document facilitates understanding of how to implement the protocols to support given

interoperability scenarios with Microsoft® Office SharePoint® Server 2007 Service Pack 1, Windows SharePoint Services 3.0, SharePoint Server 2010 Technical Preview, and Windows SharePoint Services 4.0 Technical Preview.

In addition to the front-end protocols described in this overview document, SharePoint implements a number of infrastructure protocols described in [MS-SPBEPO]. The front-end protocols described in this document are implemented at a higher level in the product architecture than those described in [MS-SPBEPO]. The front-end protocols use logic in SharePoint to enforce appropriate rules and data

consistency. For this reason, the front-end protocols are less complex to implement and are preferred for most interoperability scenarios.

Some Web services and file formats have changed significantly in their function between Office SharePoint Server 2007 and Microsoft SharePoint Server 2010. New versions of these protocol documents targeting the SharePoint Server 2010 release feature the same titles as their predecessors with the addition of ―Version 2‖ in the protocol title. They are considered completely

different protocols, and cross-compatibility between versions is not supported.

This overview covers both the original protocol version and the new ―Version 2‖ protocol documents and where appropriate calls out the appropriate protocol name or document short name.

Many concepts are described in this document at a high level. For detailed technical descriptions, see [MS-WSSTS].

1.1 Glossary

The following terms are defined in [MS-GLOS]:

authentication authentication mode authorization directory service Hypertext Transfer Protocol (HTTP) principal

server share XML (Extensible Markup Language)

The following terms are defined in [MS-OFSGLOS]:

ActiveX control

alert

alert subscription ASP.NET Asynchronous JavaScript + XML (AJAX) Atom Publishing Protocol (AtomPub) audience

Page 6: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

6 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

blog browser-enabled form template

bucket Business Connectivity Services

Business Data Connectivity (BDC) calculate Central Administration site change log Collaborative Application Markup Language (CAML) colleague column

content source crawl crawler dashboard data macro decomposition tree

deployment package

distribution list document document library Document Workspace site EntityInstance external content type

external data external list farm file form form digest validation forms authentication

front-end Web server group

GUID hierarchy home page HTML (HyperText Markup Language)

HTTP GET identity index server Internet Information Services (IIS) Internet message inverted index item

line-of-business (LOB) system list list item Meeting Workspace site

member group membership metadata index

metadata store Office SharePoint Server Search service OLAP OLE DB

Page 7: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

7 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Online Analytical Processing (OLAP) permission

profile page publish

role scorecard search folder search query Secure Store Service (SSS) service application site

site collection site definition site membership site template Slide Library SOAP (Simple Object Access Protocol)

social data

social rating social tag solution package SQL (Structured Query Language) term term set

term store URI (Uniform Resource Identifier) URL (Uniform Resource Locator) user profile User Profile Service user profile store view

Web application Web Part

Web service Web site WebDAV (Web Distributed Authoring and Versioning Protocol) workbook

workflow

The following terms are specific to this document:

Active Directory Service Interfaces (ADSI): A directory service model and a set of Component Object Model (COM) interfaces. ADSI enables Windows® applications and Active Directory® clients to gain access to several network directory services, including Active Directory.

property promotion: A process in which a field in an InfoPath form is made available for display

as a column in a SharePoint list or a folder name in Microsoft® Outlook® 2010 or Microsoft® Office Outlook® 2007.

1.2 References

[ISO/IEC-29500-2] International Organization for Standardization, "Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 2: Open

Page 8: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

8 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Packaging Conventions", ISO/IEC 29500-2:2008, http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=51459.

[LDAP] Microsoft Corporation, "About Lightweight Directory Access Protocol", http://msdn.microsoft.com/en-us/library/aa366075.aspx.

[MC-APDSU] Microsoft Corporation, "http://msdn.microsoft.com/en-us/library/dd541188(PROT.10).aspx", TBD.

[MS-ACCDT] Microsoft Corporation, "Access Template File Format Specification", July 2009.

[MS-ADMINS] Microsoft Corporation, "Administration Web Service Protocol Specification", June 2008.

[MS-ADS] Microsoft Corporation, "Access Services Data Server Protocol Specification", July 2009.

[MS-ADTS] Microsoft Corporation, "Active Directory Technical Specification", March 2008.

[MS-ALERTSS] Microsoft Corporation, "Alerts Service Protocol Specification", June 2008.

[MS-ASWS] Microsoft Corporation, "Access Services Protocol Specification", July 2009.

[MS-AUTHWS] Microsoft Corporation, "Authentication Web Service Protocol Specification", June 2008.

[MS-AXL] Microsoft Corporation, "Access Application Transfer Protocol Structure Specification", July 2009.

[MS-BCSDPFFS] Microsoft Corporation, "Business Connectivity Services Deployment Package File Format Specification", July 2009.

[MS-BCSDWPS] Microsoft Corporation, "Business Connectivity Services Deployment Web Service Protocol Specification", July 2009.

[MS-BDCDP] Microsoft Corporation, "Business Data Catalog Data Web Service Protocol

Specification", June 2008.

[MS-BDCMFFS] Microsoft Corporation, "Business Data Connectivity Model File Format Specification",

July 2009.

[MS-BDCRAWPS] Microsoft Corporation, "Business Data Connectivity Remote Administration Web Service Protocol Specification", July 2009.

[MS-CDEPLOY] Microsoft Corporation, "Content Deployment Remote Import Web Service Protocol Specification", June 2008.

[MS-CONATB] Microsoft Corporation, "Content Area Toolbox Web Service Protocol Specification", June 2008.

[MS-COPYS] Microsoft Corporation, "Copy Web Service Protocol Specification", June 2008.

[MS-CPSWS] Microsoft Corporation, "SharePoint Claim Provider Web Service Protocol Specification",

July 2009.

[MS-CSOM] Microsoft Corporation, "SharePoint Client Query Protocol Specification", July 2009.

[MS-CSOMSPT] Microsoft Corporation, "SharePoint Client-Side Object Model Protocol Specification", July 2009.

Page 9: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

9 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[MSDN-ASPWP] Microsoft Corporation, "ASP.NET Web Parts Overview", http://msdn.microsoft.com/en-us/library/hhy9ewf1.aspx.

[MSDN-ESO] Microsoft Corporation, "Excel Services Overview", http://msdn.microsoft.com/en-us/library/ms546696.aspx.

[MSDN-EXCELS] Microsoft Corporation, "Introducing Excel Services", http://msdn.microsoft.com/en-us/library/ms519581.aspx.

[MSDN-IIS] Microsoft Corporation, "Internet Information Services", http://msdn.microsoft.com/en-us/library/aa286507.aspx.

[MSDN-MOSS2007-SDK] Microsoft Corporation, "Microsoft Office SharePoint Server 2007 SDK", http://msdn.microsoft.com/en-us/library/bb931736.aspx.

[MSDN-MOSSWF] Microsoft Corporation, "Workflows in Office SharePoint Server 2007",

http://msdn.microsoft.com/en-us/library/ms549489.aspx.

[MSDN-ODBC] Microsoft Corporation, "Microsoft Open Database Connectivity (ODBC)",

http://msdn.microsoft.com/en-us/library/ms710252.aspx.

[MSDN-OLEDB] Microsoft Corporation, "Microsoft OLE DB", http://msdn.microsoft.com/en-us/library/ms722784.aspx.

[MSDN-WSS3CLIENTSIDEAPI] Microsoft Corporation, "Client-Side API Reference",

http://msdn.microsoft.com/en-us/library/ms440037.aspx.

[MSDN-WSSWF] Microsoft Corporation, "Workflow Development for Windows SharePoint Services", http://msdn.microsoft.com/en-us/library/ms414613.aspx.

[MSDN-WSSWP] Microsoft Corporation, "Web Part in Windows SharePoint Services", http://msdn.microsoft.com/en-us/library/ms476318.aspx.

[MS-DOCTRANS] Microsoft Corporation, "Document Transforms Service Protocol Specification", June 2008.

[MS-DSPSTSS] Microsoft Corporation, "Data-Source Adapter SharePoint Team Services Web Service Protocol Specification", June 2008.

[MS-DWSS] Microsoft Corporation, "Document Workspace Web Service Protocol Specification", June 2008.

[MS-EAWF] Microsoft Corporation, "Group Approval Web Service Protocol Specification", June 2008.

[MS-ECTPWPS] Microsoft Corporation, "External Content Type Picker Web Service Protocol Specification", July 2009.

[MS-EMMWCF] Microsoft Corporation, "Metadata Shared Service WCF Service Protocol Specification", July 2009.

[MS-EMMWS] Microsoft Corporation, "Microsoft Enterprise Managed Metadata Web Service Protocol

Specification", July 2009.

[MS-ESP] Microsoft Corporation, "Excel Web Services Protocol Specification", June 2008.

[MS-ESURL] Microsoft Corporation, "Excel Services Publishing Protocol Specification", June 2008.

[MS-FORMS] Microsoft Corporation, "Forms Service Protocol Specification", June 2008.

Page 10: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

10 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[MS-FPSE] Microsoft Corporation, "FrontPage Server Extensions Remote Protocol Specification", June 2008.

[MS-FSDAP] Microsoft Corporation, "Forms Services Design and Activation Web Service Protocol Specification", June 2008.

[MS-FSFDP] Microsoft Corporation, "Forms Services Feature Detection Protocol Specification", June 2008.

[MS-FSSHTTP] Microsoft Corporation, "File Synchronization via SOAP over HTTP Protocol Specification", July 2009.

[MS-FSSHTTPB] Microsoft Corporation, "Binary Requests for File Synchronization via SOAP Protocol Specification", July 2009.

[MS-GLOS] Microsoft Corporation, "Windows Protocols Master Glossary", June 2008.

[MS-IPFF] Microsoft Corporation, "InfoPath Form Template Format Structure Specification", June 2008.

[MS-IPFF2] Microsoft Corporation, "InfoPath Form Template Format Version 2 Structure Specification", July 2009.

[MS-IPFFX] Microsoft Corporation, "InfoPath Form File Format Specification", June 2008.

[MS-LISTSWS] Microsoft Corporation, "Lists Web Service Protocol Specification", June 2008.

[MS-MAR] Microsoft Corporation, "MOSS Analytics Reporting Protocol Specification", July 2009.

[MS-MEETS] Microsoft Corporation, "Meetings Web Services Protocol Specification", June 2008.

[MS-METAWEB] Microsoft Corporation, "MetaWeblog Extensions Protocol Specification", June 2008.

[MS-OCPROTO] Microsoft Corporation, "Office Client Protocols Overview", June 2008.

[MS-OFFICIALFILE] Microsoft Corporation, "Official File Web Service Protocol Specification", June 2008.

[MS-OFSGLOS] Microsoft Corporation, "Microsoft Office Server Master Glossary", June 2008.

[MS-OSALER] Microsoft Corporation, "Alerts Interop Protocol Specification", June 2008.

[MS-OSCO] Microsoft Corporation, "Office Server ClickOnce Manifest Structure Specification", July 2009.

[MS-OUTSPS] Microsoft Corporation, "Lists Client Sync Protocol Specification", June 2008.

[MS-PEOPS] Microsoft Corporation, "People Web Service Protocol Specification", June 2008.

[MS-PERMS] Microsoft Corporation, "Permissions Web Service Protocol Specification", June 2008.

[MS-PLSP] Microsoft Corporation, "Published Links Web Service Protocol Specification", June 2008.

[MS-PPSAS] Microsoft Corporation, "PerformancePoint Services AuthoringService Protocol Specification", July 2009.

[MS-PPSDECO] Microsoft Corporation, "PerformancePoint Services Decomposition Tree Protocol Specification", July 2009.

Page 11: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

11 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[MS-PPSRS] Microsoft Corporation, "PerformancePoint Services RenderingService Protocol Specification", July 2009.

[MS-PRIMEPF] Microsoft Corporation, "Deployment Package Format Specification", June 2008.

[MS-PUBWS] Microsoft Corporation, "Publishing Web Service Protocol Specification", June 2008.

[MS-SEARCH] Microsoft Corporation, "Search Protocol Specification", June 2008.

[MS-SITED3S] Microsoft Corporation, "Site Data 2003 Web Service Protocol Specification", June 2008.

[MS-SITEDATS] Microsoft Corporation, "Site Data Web Service Protocol Specification", June 2008.

[MS-SITESS] Microsoft Corporation, "Sites Web Service Protocol Specification", June 2008.

[MS-SLIDELI] Microsoft Corporation, "Slide Library Web Service Protocol Specification", June 2008.

[MS-SLXV] Microsoft Corporation, "Silverlight XAML Vocabulary Specification 2008", Silverlight XAML

Vocabulary Specification 2008.

[MS-SPBEPO] Microsoft Corporation, "SharePoint Back-End Protocols Overview", June 2008.

[MS-SPDIAG] Microsoft Corporation, "SharePoint Diagnostics Web Service Protocol Specification", July 2009.

[MS-SPEMAWS] Microsoft Corporation, "SharePoint E-Mail Web Service Protocol Specification", June 2008.

[MS-SPLCHK] Microsoft Corporation, "SpellCheck Web Service Protocol Specification", June 2008.

[MS-SPRSS] Microsoft Corporation, "RSS 2.0 Format Extensions Specification", June 2008.

[MS-SPSCRWL] Microsoft Corporation, "SPSCrawl Web Service Protocol Specification", June 2008.

[MS-SPSTWS] Microsoft Corporation, "SharePoint Security Token Service Web Service Protocol

Specification", July 2009.

[MS-SSAS9] Microsoft Corporation, "SQL Server Analysis Services Protocol Specification", June 2008, SQL Server Analysis Services Protocol Specification.

[MS-STSSYN] Microsoft Corporation, "StsSync Structure Specification", June 2008.

[MS-SYS] Microsoft Corporation, "Windows System Overview", March 2008.

[MS-TDS] Microsoft Corporation, "Tabular Data Stream Protocol Specification", March 2008.

[MS-TMPLDISC] Microsoft Corporation, "Template Discovery Web Service Protocol Specification", July 2009.

[MS-UGS] Microsoft Corporation, "UserGroup Web Service Protocol Specification", June 2008.

[MS-UPIEWS] Microsoft Corporation, "User Profile Import and Export Web Service Protocol

Specification", July 2009.

[MS-UPSDWS] Microsoft Corporation, "User Profile Social Data Web Service Protocol Specification", July 2009.

Page 12: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

12 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[MS-USPSWS] Microsoft Corporation, "User Profile Service Web Service Protocol Specification", June 2008.

[MS-USRPCH] Microsoft Corporation, "User Profile Change Log Web Service Protocol Specification", June 2008.

[MS-UTSP] Microsoft Corporation, "SharePoint Usage Tracking Stored Procedures Protocol Specification", July 2009.

[MS-VERSS] Microsoft Corporation, "Versions Web Service Protocol Specification", June 2008.

[MS-VIEWSS] Microsoft Corporation, "Views Web Service Protocol Specification", June 2008.

[MS-WDV] Microsoft Corporation, "Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions", March 2008.

[MS-WDVME] Microsoft Corporation, "Web Distributed Authoring and Versioning (WebDAV) Protocol:

Microsoft Extensions", March 2008.

[MS-WDVMODUU] Microsoft Corporation, "Office Document Update Utility Extensions Protocol Specification", June 2008.

[MS-WEBDAVE] Microsoft Corporation, "Web Distributed Authoring and Versioning Error Extensions Protocol Specification", June 2008.

[MS-WEBSS] Microsoft Corporation, "Webs Web Service Protocol Specification", June 2008.

[MS-WPPS] Microsoft Corporation, "Web Part Pages Web Service Protocol Specification", June 2008.

[MS-WSSCAML] Microsoft Corporation, "Collaborative Application Markup Language (CAML) Structure Specification", June 2008.

[MS-WSSCAP] Microsoft Corporation, "Windows SharePoint Services Collaborative Application Protocol Specification", June 2008.

[MS-WSSFO2] Microsoft Corporation, "Windows SharePoint Services (WSS): File Operations Database Communications Version 2 Protocol Specification", July 2009.

[MS-WSSHP] Microsoft Corporation, "HTTP Windows SharePoint Services Headers Protocol Specification", June 2008.

[MS-WSSO] Microsoft Corporation, "Windows SharePoint Services Overview", June 2008.

[MS-WSSREST] Microsoft Corporation, "ListData Data Service Protocol Specification", July 2009.

[MS-WSSTS] Microsoft Corporation, "Windows SharePoint Services: Technical Specification", June 2008.

[MS-WWSP] Microsoft Corporation, "Workflow Web Service Protocol Specification", June 2008.

[RFC2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., and Berners-Lee, T., "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2068, January 1997, http://www.ietf.org/rfc/rfc2068.txt.

[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S., and Jensen, D., "HTTP Extensions for Distributed Authoring∙WebDAV", RFC 2518, February 1999, http://www.ietf.org/rfc/rfc2518.txt.

[RFC2616] Fielding, R., et al., "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999, http://www.ietf.org/rfc/rfc2616.txt.

Page 13: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

13 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000, http://www.ietf.org/rfc/rfc2818.txt.

[RFC2822] Resnick, P., Ed., "Internet Message Format", RFC 2822, April 2001,

http://www.ietf.org/rfc/rfc2822.txt.

[RFC4627] Crockford, D., "The application/json Media Type for JavaScript Object Notation (JSON)",

July 2006, http://www.ietf.org/rfc/rfc4627.txt.

[RFC5023] Gregorio, J., Ed. and de hOra, B., Ed., "The Atom Publishing Protocol", RFC 5023, October 2007, http://www.ietf.org/rfc/rfc5023.txt.

[RSS 2.0] Winer, D., "RSS 2.0 Specification", Fall 2002, version 2.0.1: July 2003, http://cyber.law.harvard.edu/rss/rss.html.

[SAMLToken1.1] Lawrence, K., Kaler, C., Monzillo, R., et al., "Web Services Security: SAML Token Profile 1.1", February 2006, http://www.oasis-open.org/committees/download.php/16768/wss-v1.1-

spec-os-SAMLTokenProfile.pdf.

[SOAP1.1] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H. F.,

Thatte, S., and Winer, D., "Simple Object Access Protocol (SOAP) 1.1", May 2000, http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.

[SOAP1.2/1] Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J., and Nielsen, H.F., "SOAP Version 1.2 Part 1: Messaging Framework", W3C Recommendation, June 2003,

http://www.w3.org/TR/2003/REC-soap12-part1-20030624.

[SOAP1.2/2] Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J., and Nielsen, H.F., "SOAP Version 1.2 Part 2: Adjuncts", W3C Recommendation, June 2003, http://www.w3.org/TR/2003/REC-soap12-part2-20030624.

[WSFederation] Kaler, C., Nadalin, A., Bajaj, S., et al., "Web Services Federation Language", July 2003, http://www-128.ibm.com/developerworks/library/specification/ws-fed/.

[WSTrust] IBM, Microsoft, Nortel, VeriSign, "WS-Trust V1.0", December 2005, http://www.oasis-

open.org/committees/download.php/15980/oasis-wssx-ws-trust-1.0.pdf.

Page 14: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

14 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

2 Functional Architecture

This document overviews the SharePoint Front-End protocols in two main groups: Core Platform and Extended Capabilities.

Core Front-End Services cover the following groups of protocols:

Site Administration

List Data

File Operations

Security and Identity

Authoring Integration

Extensibility Protocols

Extended Front-End Capabilities cover the following groups of protocols:

Excel Services

Access Services

InfoPath Forms Services

User Profile Services

Search Services

Business Connectivity Services

Content Management Services

PerformancePoint Services

Analytics Services

Visio Graphics Services

2.1 Overview

Microsoft® Office SharePoint® Server 2007, Windows® SharePoint® Services 3.0, Microsoft SharePoint Server 2010 Technical Preview, and Windows® SharePoint® Services 4.0 Technical Preview (referred to in this document collectively as "SharePoint") are a Web-based platform that provides infrastructure for building and deploying applications and a set of out-of-box capabilities

and features. This section describes the high-level topology, architecture and deployment of SharePoint as related to front-end protocols. For information about the back-end protocol capabilities of SharePoint, see [MS-SPBEPO]. For a technical description of SharePoint concepts, see [MS-WSSTS]. For an overview of basic SharePoint File, Print, User/Group Administration also see

[MS-WSSO].

2.1.1 Deployment Topology

SharePoint can be deployed in a wide range of topologies, to provide various degrees of scale-out and high availability, depending on the requirements of particular deployment scenarios. Particular

Page 15: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

15 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

deployments of one or more individual servers are called farms. Figure 1 shows the SharePoint protocol topology. While these components can be deployed onto separate server computers, as

shown in this diagram, they can also run compatibly on a single server.

Figure 1: SharePoint protocol topology

Deployments of SharePoint can add servers of each type, as required by the specific usage scenario. These additional servers, such as front-end Web servers, provide load-balancing and scale-out through the additional computing resources.

The front-end protocols described in this document are implemented by a SharePoint front-end Web server and communicate between SharePoint and other client and server applications. For

information about intra-farm communication and back-end protocols, see [MS-SPBEPO].

Front-end protocols are implemented by using HTTP or extensions to HTTP, such as SOAP Web services. For information about SOAP and HTTP, see [SOAP1.1], [SOAP1.2/1], [SOAP1.2/2], [RFC2616], and [RFC2818].

Because of the use of HTTP and SOAP, the front-end protocols described in this document can be used by Web-friendly applications, tunneled through corporate network firewalls, and accessed through load-balancing technologies. In common usage scenarios, large-scale deployments of

SharePoint use a network load balancer to distribute external requests among the front-end Web servers. These network load balancers operate at the TCP/IP transport level and do not require special knowledge of SharePoint protocols to function.

Page 16: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

16 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

2.1.2 Web Infrastructure

SharePoint provides the ability to create and manage Web sites. This is done within the framework of two Windows server operating system components: Internet Information Services (IIS) and

ASP.NET, which provide core services for HTTP, process management, and programmability. For information about IIS, see [MSDN-IIS].

2.1.2.1 Web Topology

A Web application in IIS is a container for Web sites and a process isolation boundary. A deployment of SharePoint consists of three types of Web applications inside of IIS:

The Central Administration site Web application to handle administration of the SharePoint

farm and Web sites,

A service application Web application that enables key services spanning multiple Web sites.

Zero or more runtime Web applications to handle end-user requests.

A functioning SharePoint farm will have at least one runtime Web application. This is required to create Web sites for end-user content and applications. In a common usage scenario, a browser

accesses each Web application via an independent TCP/IP port. For example, the Central Administration site Web application could live on port 1002 and be accessed using the Uniform Resource Locator (URL) http://myserver:1002. The runtime Web application could live on TCP/IP port 80, which is the default for HTTP.

This separation between the Web applications provides simplicity for end-users (who don't have to see the complexity associated with administration and services) as well as security, because the end-user content, shared services, and Central Administration site all run in separate processes with

separate permissions and authentication.

Figure 2 shows the configuration of Web applications inside of IIS.

Page 17: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

17 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Figure 2: Configuration of Web Applications inside of IIS

In this model, the runtime Web applications are responsible for all of the rendering of end-user content and contain one or more site collections, as shown in Figure 2. SharePoint is architected to allow for large numbers of site collections in a single deployment. Also, a single deployment can support more than one runtime Web application. Because of this, groups of site collections can be

organized onto separate process boundaries, which in turn can be useful for separating content into different levels of security on the front-end Web server or for supporting different modes of authentication.

2.1.2.2 Service Applications

A service application (also known as a Shared Service Provider in Microsoft® Office SharePoint® Server 2007) exposes functionality that has been configured for providing extended capabilities

across site collections and Web applications or potentially across multiple SharePoint farms. A service application can be implemented as a Web service. Service applications that are implemented as Web services are configured and hosted under the service application Web application described in section 2.1.2.1 Web Topology.

Page 18: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

18 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

For example, full-text search is frequently used to provide aggregation of content across many site collections as well as content stored outside of SharePoint. To do this, the search capability is

defined inside of the search service application and then accessed from each individual content site application.

Every SharePoint farm will have zero or more service applications. Examples of service applications that are provided with Microsoft SharePoint Server 2010 include:

Excel Services: Storing, calculating and displaying spreadsheets, described in section 2.1.4.1.

Access Services: Storing, creating, and managing database applications, described in section

2.1.4.2.

User Profiles: Creating user profiles and audiences, described in section 2.1.4.4.

Search: Full-text querying, described in section 2.1.4.5.

Indexing: Building content indexes for full-text querying, described in section 2.1.4.5.

Business Connectivity Service: Querying data from external systems, described in section

2.1.4.6.

Usage Analytics: Recording and reporting on end-user utilization of SharePoint sites, described

in section 2.1.4.9.

2.1.2.3 Web Components

By virtue of integration with IIS and ASP.NET, SharePoint implements a full Web server capable of storing and delivering end-user content over the HTTP protocol and extensions to HTTP. Web pages in SharePoint sites use the ASP.NET framework for rendering and execution of Web content. This

includes those Web pages installed by default as well as customized Web pages. In addition, SharePoint makes use of ASP.NET Web Parts for customization and reuse of Web content.

2.1.2.4 Web Parts

ASP.NET Web Parts provide a powerful and easy-to-use mechanism for end-users to customize the presentation of their Web site, by allowing them to easily add and change information that appears

on individual Web pages. For information about ASP.NET Web Parts, see [MSDN-ASPWP].

For example, a user might choose to change the layout of components on a site's home page by removing some content and changing the page's layout or appearance. With user interface (UI) components displayed within the Web site, the user is able to customize the page by changing settings on the Web Parts or adding and removing Web Parts. Web Parts are able to provide this level of flexibility because they are represented as separate resources that are not stored on the base ASP.NET page. Instead, Web Parts are ASP.NET components for which the executable code is

deployed on the front-end Web server. All of the settings and customizations for the Web Part are stored in the SharePoint database, associated with the location of a particular page in a particular site. For information about the different types of SharePoint databases, see [MS-SPBEPO] section 2.1.1.

For a detailed technical specification of Web Parts as used in SharePoint, see [MS-WSSTS] section 2.1.2.16 (Web Part Instance). For information about the development and utilization of Web Parts, see [MSDN-WSSWP].

Page 19: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

19 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

2.1.3 Core Platform

The Core Platform provides basic physical and logical storage for content, administrative services, and a security and identity model.

2.1.3.1 Site Administration

Users access data and capabilities by interacting with individual SharePoint sites through a Web browser or other client application. Sites are organized hierarchically, so sites can contain zero or more subsites. A hierarchy of sites is contained in a site collection and multiple site collections can be contained in a single SharePoint farm. Technical details of site collections and sites can be found in [MS-WSSTS] section 2.1.2 (Content).

The client application, whether it is a Web browser or other client application, communicates with the SharePoint farm over HTTP-based protocols, as described in section 2.1.2.3. Every site collection and site within a SharePoint farm has an individual URL, so access patterns frequently involve connecting directly to the site by using the URL and then navigating or searching within the site's content hierarchy.

SharePoint provides generic site administration capabilities, such as basic creation, configuration

and inspection of sites and site collections, to all types of sites. SharePoint also supports additional site administration functionality for specific types of sites like Document Workspace sites and Meeting Workspace sites. These sites are built from specific site definitions and target specific usage scenarios. Document Workspace sites facilitate collaboration by multiple authors around a single document with supporting collateral. A Meeting Workspace site provides a Web site to organize content associated with meeting, such as agendas, participants, follow-up items and meeting collateral.

Another site administration capability is linking membership in a SharePoint site to an e-mail distribution list. If a deployment of SharePoint is configured appropriately with a directory provider, SharePoint can publish site membership with any external directory.

2.1.3.2 Lists

This section provides a summary of the physical and logical storage provided by SharePoint. For a detailed description of this model, see [MS-WSSO] section 2.1.2.

Physical Storage

All end-user information in SharePoint is stored in relational databases on one or more SQL (Structured Query Language) Servers in the data storage layer. Individual front-end Web servers are not repositories for end-user data. Instead, they store only configuration or application information that can be easily redeployed. Application servers may store some constructed data, such as full-text indexes, that are derived from end-user data. These can take time to reconstruct. The data storage is intended to be completely abstracted from SharePoint site users and

administrators. In other words, normal usage of the SharePoint farm, and interoperability with the SharePoint front-end protocols, does not require any direct interaction with the data storage environment.

Logical Storage

Logically, all user content in SharePoint is located within the container hierarchy. For a technical specification of this hierarchy, see [MS-WSSTS] section 2.1.2 (Content). A simplified perspective is

as follows:

Page 20: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

20 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Site collections: A site collection is the top level boundary of storage and security for

SharePoint. It is also the unit of scale, meaning that SharePoint is architected to allow for a large

number of site collections. Each site collection may contain a hierarchy of sites and may directly

contain lists and document libraries.

Sites: A site provides a mechanism for subdividing the URL namespace, security, and

organization of content within a site collection. Each site may contain sites, lists, or document libraries.

Lists and document libraries: Lists and document libraries are the basic containers for content

in SharePoint. They are the places where an end-user will store and access individual pieces of

content. A list can contain list items and a library can contain documents. Both lists and libraries can be organized further in a hierarchy of folders.

Folders: Folders are organizational tools to categorize items or documents in a list or document

library. They provide a way for browsing and permissions management. A folder may contain folders or individual list items and documents.

Items and documents: The basic unit of content in SharePoint is an item, as described in the

paragraph above. Inside of lists, the units of content are list items, such as an individual task, announcement, or contact entry. Inside of document libraries, the units of content are documents with associated metadata.

Each of the types of content described here has an individual URL that can be used to directly access and link to the content. In addition, SharePoint allows end-users to create lists and customize them with new columns, forms, and views.

2.1.3.2.1 Libraries

A SharePoint document library stores documents with associated metadata. Clients can interact with documents in document libraries by using File Operation protocols or with Advanced Authoring integration protocols.

File Operations

The File Operations protocols implemented by SharePoint provide basic file browsing, open, edit,

save, and rename operations. These capabilities are exposed through two primary clients: Windows Explorer and Microsoft Office. At a high level, there are two primary technologies for providing this interoperability: FrontPage Server Extensions from Microsoft and WebDAV (Web Distributed Authoring and Versioning Protocol). Earlier versions of Office and Windows clients have implemented both FrontPage Server Extensions from Microsoft and WebDAV, while newer versions of these clients are both moving towards implementations that use WebDAV. For a description of how the Office client uses these protocols to communicate with SharePoint, see [MS-OCPROTO]

section 2.1.2 (File Access).

Authoring Integration

In addition to base file operation described above, SharePoint implements several protocols that can be used by authoring applications, such as Microsoft® Office 2010, to provide specific enhanced experiences around content creation. For example, SharePoint implements protocols that facilitate

scenarios in which a client application produces content targeted for the server. This content can include a blog post for a blog or slides for a Slide Library.

Microsoft SharePoint Server 2010 Technical Preview also implements protocols to help synchronize document content between clients. These protocols allow a client to incrementally upload or download changes to documents, along with any related metadata associated to the change from

Page 21: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

21 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

SharePoint. These protocols enable co-authoring features in Microsoft® Word 2010 Technical Preview and Microsoft® PowerPoint® 2010 Technical Preview, as well as document synchronization

in Microsoft® SharePoint® Workspace 2010 Technical Preview. For more information, on how the Office client uses these protocols, see [MS-OCPROTO] section 2.1.10, 2.1.12 and 2.1.18.

2.1.3.3 Security and Identity

SharePoint security can be divided into two separate, but related, areas: authentication and authorization. Authentication is the process of reliably validating the identity claims of an individual user. Authorization is the process of correctly determining what permissions that user should have within the SharePoint farm.

2.1.3.3.1 Authentication

For user authentication, SharePoint relies on external authorities to appropriately validate a user's identity and, optionally, group or role membership. By default, this external authority is the Active Directory, but SharePoint supports pluggable security authentication that allows any appropriately configured authentication provider to validate a user's identity. This provider is called an

authentication system. It provides a list of users and group memberships available to a Web

application in SharePoint. For a technical specification of an authentication system, see [MS-WSSTS] section 2.1.4 (Authentication and Security). An example of how SharePoint authenticates a specific user is provided in [MS-WSSO] section 2.9.2 (Authentication).

Microsoft SharePoint Server 2010 Technical Preview also implements Claims based Identity, a system to describe, trust, and act on the identity of users accessing SharePoint. It is a capability that exists in addition to Windows based Authentication (NTLM/Kerberos). SharePoint Server 2010 Technical Preview implementation of Claims based Identity is standards based. Customers deploying

SharePoint Server 2010 Technical Preview, can use any protocol or service that implements these standards to provide Identity to SharePoint. In addition, when applications running on SharePoint need to make external Web service calls, SharePoint will issue a SAML token that identifies the user and application pool identity. For more information on Claims based Identity standards, see [WSTrust], [WS-Security], [WSFederation] and [SAMLToken1.1].

2.1.3.3.2 Authorization

Authentication system group and user identities are security principals which are given permissions on specific objects inside of SharePoint. For a technical description of permissions, see [MS-WSSTS] section 2.1.4 (Authentication and Security). Permissions can be set directly on standard types of content such as site collections, sites, lists, libraries, folders, and items. In addition, permissions can be inherited from containers to the objects that live in those containers. To simplify the administrative overhead associated with assigning permissions, SharePoint implements the concept of groups, allowing a collection of principals to be assigned the same permissions and roles. For a

description of how authorization is implemented, see [MS-WSSO] section 2.9.1.

2.1.4 Extended Capabilities

These are the extend capabilities build on the core protocols described above.

2.1.4.1 Excel Services

Microsoft SharePoint Server 2010 implements Excel Services, which is used to create, update,

format, calculate, and save workbooks on a server. Excel Services provides the following core capabilities:

Page 22: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

22 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

The ability to publish workbooks from a client application, such as Microsoft® Excel® 2010, to

the server. These workbooks can then be viewed and interacted with via a Web browser. This

enables browser-based interaction with the workbooks on machines that do not have a

spreadsheet application installed.

The ability to programmatically access workbook contents using a Web services protocol, called

Excel Web Services. This enables client applications to load, edit, interact with, calculate, and save workbooks which have been published to SharePoint.

Excel Calculation Services provides the core calculation and workbook processing for Excel Services. As described in section 2.1.1, Excel Calculation Services can be deployed on a separate application server. For information about this architecture and protocol communication with this application

server, see [MS-SPBEPO] section 4.1 (Excel Services Protocols). For information about Excel Services, see [MSDN-EXCELS].

Accessing Workbooks through the Web Services API

Similar to the usage scenario for viewing workbooks in the browser, it is possible to

programmatically access and manipulate server-based workbooks by using Web services. Operations available via the Excel Web Services API include opening, setting ranges in, refreshing

external data, recalculating, getting ranges from, and saving a workbook.

Accessing External Data sources with Excel Services

Workbooks loaded by Excel Calculation Services can reference external data. The data can be in relational or multidimensional databases. Similar to a client spreadsheet application, Excel Calculation Services uses the following data access APIs to retrieve information from these data sources: Open Database Connectivity (ODBC), OLE DB, and OLE DB for Online Analytical Processing (OLAP). If a workbook has elements that reference external data, such as PivotTable

or data access formulas, Excel Calculation Service executes the data retrieval by using one of these methods.

A common way to extend these features to new data sources is to install an appropriate ODBC driver for the data source, thereby making it available to Excel Services. ODBC is a commonly-used

data access API (it is not a wire protocol). There are many existing ODBC drivers for different data sources. For information about OLE DB and ODBC, see [MSDN-OLEDB] and [MSDN-ODBC]. When communicating with Microsoft SQL Server data sources, the OLE DB providers included with the

.NET framework are used. These providers use the Tabular Data Stream (TDS) protocol to communicate with the server running Microsoft SQL Server.

In addition to strictly relational data sources, Excel Calculation Services can communicate with multidimensional databases. For this purpose, SharePoint installs an OLAP driver that communicates with Microsoft SQL Server by using the SQL Server Analysis Services Protocol.

There are two front-end protocols used for interoperability with Excel Services. In addition to the

Excel Services Publishing Protocol, workbook publishing from client authoring applications to SharePoint Excel Services also uses the file operations protocols described in section 2.2.1.3.

2.1.4.2 Access Services

Microsoft SharePoint Server 2010 Standard Technical Preview implements Access Services, which is used to create database applications and manage data. Access Services provides the following core capabilities:

The ability to publish database applications from a client application, such as Microsoft® Access®

2010 Technical Preview, to the server. Data in these databases can then be viewed and edited in

Page 23: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

23 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

a Web browser. This enables browser-based viewing and interaction with the databases on machines that do not have a database application installed.

The ability to programmatically access database contents by using a Web services protocol, called

Access Services Web Services. This enables client applications to retrieve and interact with databases which have been published to SharePoint.

A user can publish an Access database application to SharePoint. Access Services creates a SharePoint site for each published Access database application. Access Services creates SharePoint lists for all the Access tables in the Access application. Data in the Access database applications is also uploaded to the SharePoint lists.

Access Services Data Server retrieves and manages data from SharePoint storage for the database

applications. For information about this architecture and protocol communication with this application server, see [MS-ADS].

A user can also get application reference files for the Access database applications. The application reference files connects to the lists, forms and reports in the Access application published to

SharePoint, and allows the user to edit them in Access. See [MS-AXL] section 1.3.7 for details.

2.1.4.3 InfoPath Forms Services

InfoPath Forms Services (IPFS) makes it possible for users to fill out InfoPath forms in a Web browser. This requires that the InfoPath Forms Services are enabled in Microsoft® Office SharePoint® Server 2007 and Microsoft SharePoint Server 2010 Technical Preview and that the browser-enabled form template is published to the server. For a list of all of the protocols used to publish InfoPath forms to SharePoint, see [MS-OCPROTO] section 2.2.14. In addition to these protocols, forms publishing uses the file operations protocols described in section 2.2.1.3.

Windows® SharePoint® Services also implements the capability for forms editing applications, such

as Microsoft Office InfoPath, to store forms as content inside of document libraries. These capabilities rely on the file operation protocols described in section 2.2.1.3.

InfoPath Forms Services (IPFS) implements the ability for InfoPath forms to connect to data sources

similar to Microsoft Office InfoPath. For information, see [MS-OCPROTO] section 4.1.1.1.

2.1.4.4 User Profile Services

Microsoft® Office SharePoint® Server 2007 and Microsoft SharePoint Server 2010 Technical Preview implement a User Profile Service that stores information about a user population. For example, this information can include name, e-mail, address, and telephone number. The profile service aggregates information from multiple data sources and provides a uniform interface to this information at both the user experience level as well as the programming level. The profile service exposes a number of capabilities including a consistent way to query over the user data, categorize users into groups, create indexes of user data for full-text search, access a consistent change log

of all modified user data, and synchronize user data with multiple SharePoint sites in a farm.

The user profile service is implemented as a service application as described in section 2.2.2. Because of this, multiple site collections can refer to one central profile service for information about

users.

A profile is intended to be a description of a person. In common usage scenarios, each profile represents one person. In some situations, it represents one identity (for example, a user account). The profile consists of a set of identifiers (for example, user name, e-mail address, alias, and so on.)

and a list of values for additional properties. Office SharePoint Server also implements support for multi-value properties, such as a list of skills for a person, and properties that are linked to specific

Page 24: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

24 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

restricted lists of allowed values. Access to properties can be restricted so that only a specific group of related users can see a particular value.

In addition to the core concept of a profile, Office SharePoint Server implements support for grouping profiles together. One mechanism for doing this is to import key grouping information from

other sources, such as e-mail distribution lists or SharePoint site memberships. Office SharePoint Server also allows the calculation of collections of user profiles based on profile metadata information. This is called an audience. For example, all of the managers of a company can form an audience. Web pages or client applications can then target information to this audience.

In Microsoft SharePoint Server 2010, user profile service also implements support for adding social data to any URI. URI can point to a resource or content inside or outside of SharePoint. Social data can be in the form of numerical ratings, a note represented by lines of text; and keywords or terms,

managed by Content Management Service as described in section 2.1.4.7. Common usage scenarios of this metadata include rating a document, tagging content with something familiar to the user (for example tagging a document with ―social computing‖ if the document is related to social computing), or writing a descriptive line of text as a reminder note for some content.

2.1.4.5 Search Services

Search provides the ability for a user to quickly see a list of the most relevant documents in a large document collection, for a given keyword query. A large document collection can have as many as tens of millions of documents. This quick query resolution requires creation and maintenance of the two basic data structures: the inverted index and the property store (known as the metadata index in Microsoft SharePoint Server 2010 Technical Preview). SharePoint implements protocols necessary for creation of these data structures, including crawling (traversing the URL space of the documents that the user wishes to search through and keeping up with the changes in the URL

space), fetching the documents, parsing the documents, tokenization, inverted index creation and index propagation. SharePoint also implements protocols necessary for executing queries against these data structures and administration of the search configuration.

Windows® SharePoint® Services and Microsoft® SharePoint® Server both implement search protocols. In Windows SharePoint Services, the protocols are limited to the subset required to crawl

and provide search over the content stored within Windows SharePoint Services. The Office SharePoint Server Search service provides search capabilities over content in all Windows

SharePoint Services sites on the enterprise, as well as other Web sites, shares and other content sources. Unless specified otherwise, the concepts, configuration, and protocols apply to both Windows SharePoint Services and SharePoint Server search services.

2.1.4.6 Business Connectivity Services

Business Connectivity Services provides access to data from server applications external to the

SharePoint farm, bridging the gap between SharePoint Web sites and business applications. Through this service, Microsoft® Office SharePoint® Server 2007 and Microsoft® SharePoint 2010 Products and Technologies Technical Preview have built-in support for displaying data from databases and Web services. Business Connectivity Services also facilitates the integration of data from line-of-business applications such as SAP, Siebel, and other databases into SharePoint lists, Web Parts, search, user profiles, and custom applications. However, Business Connectivity Services does not specify a protocol to communicate with each line-of-business system. SharePoint 2010 Products

Technical Preview implementation of Business Connectivity Services supports the ability to write back to these data sources as well.

Business Connectivity Services is comprised of two pieces, a Business Data Connectivity (BDC) metadata store (also known as the Business Data Catalog in Office SharePoint Server 2007) and an object model. The Business Data Connectivity (BDC) Service uses metadata to describe the APIs

Page 25: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

25 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

of line-of-business applications. After the API description of the line-of-business application is registered in the metadata store, it provides dynamic data access connections to the back-end data

without the need for additional code.

The metadata model abstracts the underlying physical sources and provides a consistent and

uniform way to work with different line-of-business applications. The metadata for each data source defines the programming objects that applications interact with and the methods available for client applications. Though the metadata model provides a consistent way to work with different data sources, Business Connectivity Services does not specify a generic protocol to communicate to each source.

For information about Business Connectivity Services, see [MSDN-MOSS2007-SDK].

In addition, SharePoint implements a capability for securely storing end-user credentials for

authentication to a line-of-business application. This capability is called the Secure Store Service.

2.1.4.7 Content Management Services

SharePoint implements enterprise content management capabilities on top of the core storage, platform, and file operations infrastructure described in this document. These capabilities include document management and versioning, metadata management, tools for propagating and managing

content across multiple installations, records management tools, and support for converting documents from one format to another.

Microsoft® Office SharePoint® Server 2007 continues to implement the obsolete Area Web Service. For information about the Area Web Service, see [http://msdn.microsoft.com/en-us/library/area.aspx]. Microsoft does not implement any protocol clients for this protocol. Microsoft SharePoint Server 2010 Technical Preview does not implement the Area Web Service, nor will this protocol be supported in future releases. It is recommended that any implementer of this protocol

discontinue usage.

2.1.4.8 PerformancePoint Services

PerformancePoint Services in Microsoft SharePoint Server 2010 Technical Preview (PPS) allows users

to author and publish business intelligence data to a SharePoint web part page. This SharePoint page, otherwise called a PPS dashboard, provides users the ability to analyze their business data based upon business rules and metrics. Dashboards can be filled with content representing business

performance indicators (such as grids, chards, scorecards, and other reports). This content is composed of metadata (such as names of dimensions or measures, or the names of data source references), calculation definitions, and formatting information (such as color or layout.)

The PPS web services enables a protocol client to:

Create, read, update, validate, and delete a variety of business logic content in a SharePoint

content store.

Create, read, update, and delete annotations that occur in a scorecard.

Retrieve metadata, such as the names of dimensions or measures, and data sets, via data source

references.

Retrieve a listing of content sub-types and component information from a configuration store.

A typical scenario for using this service would be to create an extensible content editing application

that enables users to create, publish and maintain some of the content used in a larger business intelligence system. A manager for a large, business, for example, might wish to create a chart

Page 26: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

26 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

showing daily sales volume for a specific product. The chart would be clickable so that the manager could drill down on a particular day and see the breakdown on the net profit and cost for that

product.

2.1.4.9 Analytics Services

Analytics Services allows users to access three categories of analytical data about how the farm is being used or utilized. The three categories of analytical usage data are:

1. Traffic data– This data is about web-traffic. Examples are top visited web-pages and trends about web-page visits, top visitors and trends about number of unique visitors.

2. Search reports – This data is about search queries and search results. Examples are top queries, failed queries and number of queries.

3. Inventory reports – This data is about utilization of various entities such as storage, libraries and templates.

The usage data can be retrieved for entities at various levels in the farm, such as site, site collection and Web application. To generate usage data, a client logs specific events about an entity to the system. Once events are logged, the client can retrieve usage data for that entity. For example, a client logs all the pages visited on a particular site to the system. The client can then retrieve a

report about the traffic volume per day for that particular site, the top pages visited for that site and the top visitors for that particular site.

Microsoft SharePoint Server 2010 uses a Usage Database to store usage data of various kinds, including user request information, performance counters, data on slow or expensive queries, and other relevant performance data. This database can be extended by 3rd party features built on SharePoint. For more information see [MS-UTSP].

2.2 Protocol Summary

2.2.1 Core Platform Protocols

This section describes the external protocols used to interoperate with the core platform components of SharePoint. These core component protocols provide the ability to discover and configure site collection and site information, access and modify list and document library content, perform file operations, configure security and permissions, integrate with authoring

applications such as Office, and take advantage of extensibility features of the platform.

2.2.1.1 Site Administration Protocols

The following tables provide a comprehensive list of the Member Protocols of the Site Administration System. The Member Protocols are grouped according to their primary purpose.

The protocols in this table enable Site Administration in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

These protocols are generic across all site collections and sites.

Protocol Name Description

Short

Name

Administration Web Service Protocol Specification

Provides the ability to create and delete site collections and to retrieve information about a site collection, such as which languages are supported by the site collection.

[MS-ADMINS]

Page 27: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

27 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Webs Web Service Protocol Specification

Provides the ability to access and modify sites, and attributes of those sites, in a site collection. In addition, it can be used to modify the design and layout of these sites.

[MS-WEBSS]

Protocols in this table enable Site Administration for Document Workspace and Meeting Workspace sites in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Document Workspace Web Service Protocol Specification

Provides the ability to create, edit and delete Document Workspace sites. In addition, allows the protocol client to organize content inside the Document Workspace sites by using folders.

[MS-DWSS]

Meetings Web Services Protocol Specification

Provides the ability to create, edit and delete Meeting Workspace sites.

[MS-MEETS]

Protocols in this table enable site membership and directory integration in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

SharePoint E-Mail Web Service Protocol Specification

Provides the ability to create and configure distribution lists. SharePoint includes a simple implementation of this Web service that can be configured to use Active Directory Service Interfaces (ADSI) to transmit requests to the Active Directory.

[MS-SPEMAWS]

2.2.1.2 List Data Protocols

SharePoint implements the following protocols to provide basic capabilities for getting access to list and library information. Lists and libraries are the basic containers for content, therefore these protocols form the basis of many SharePoint content interoperability scenarios. Multiple protocols

provide access to SharePoint list information. Each of these protocols is targeted to particular interoperability scenarios.

The following tables provide a comprehensive list of the Member Protocols of the List Data System. The Member Protocols are grouped according to their primary purpose.

Protocols in this table enable core list and library data access in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Lists Web Service Protocol Specification

Provides the ability to create, edit, delete and configure lists and list data. This includes the ability to configure list-specific settings and metadata.

[MS-LISTSWS]

Views Web Service Provides methods to add a list view and retrieve a specific view or [MS-

Page 28: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

28 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Protocol Specification

the collection of list views. VIEWSS]

Forms Service Protocol Specification

Provides methods to get a list of forms from the server and then to retrieve an individual form from that list. Protocol clients can use this to display viewing and editing forms for individual list items to end-users.

[MS-FORMS]

Protocols in this table enable core list and library data access in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

ListData Data Service Protocol Specification

Provides the ability create, edit, delete, and retrieve list data. Uses the Atom Publishing Protocol (AtomPub) messaging protocol for formatting requests and responses as specified in [RFC5023] and Uri and Payload Extensions to AtomPub protocol as specified in [MC-APDSU].

[MS-WSSREST]

SharePoint implements a markup language, called Collaborative Application Markup Language (CAML) that is used to describe lists and queries. The markup language is reused across several protocols, including [MS-LISTSWS].

Documents in this table describe the structure for CAML in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Structure Name Description

Short

Name

Collaborative Application Markup Language (CAML) Structure Specification

Markup language used to describe queries, views, and lists across multiple external and internal protocols implemented by SharePoint.

[MS-WSSCAML]

SharePoint also provides the ability for users to stay up-to-date on changes in list information using a mechanism called alerts. Alerts are sent as standard Internet messages by using [RFC2822]. To support this, SharePoint implements a protocol to allow the administration and configuration of

these alert subscriptions. The most common usage of this protocol is to allow e-mail recipients to remove the alert subscription directly from an e-mail message without having to access the SharePoint site from a Web browser.

Protocols in this table enable alerts for List and Library Data in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Alerts Web Service Protocol Specification

Allows a protocol client to list and delete alert subscriptions. Alert subscriptions specify when and how notifications are sent to users when changes are made to content stored on the server.

[MS-ALERTSS]

In addition to the [MS-LISTSWS] and [MS-VIEWSS] protocols, SharePoint provides two additional protocols that allow access to list data and configuration information. These protocols were

Page 29: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

29 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

implemented for historical interoperability with Microsoft Office Excel and Microsoft FrontPage, now Microsoft® Office SharePoint® Designer 2007. For common usage scenarios, implementation of

these protocols is not recommended, because the same capabilities are accessible through [MS-LISTSWS].

Protocols in this table enable additional ways to access list data in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Data-Source Adapter SharePoint Team Services Web Service Protocol Specification

Enables a client to obtain structured tabular data from a server. Also provides access to metadata about the server and how the tabular data is organized. This protocol is used for interoperability with earlier versions of Microsoft Office Excel.

[MS-DSPSTSS]

Windows SharePoint Services Collaborative Application Protocol Specification

Enables a client to access and manipulate lists and list views on the server. In common usage scenarios, this protocol is implemented by SharePoint Designer as a client.

[MS-WSSCAP]

SharePoint implements three protocols that are targeted to usage scenarios of synchronization from a client application, such as Microsoft Office Outlook. Outlook uses these protocols to create local copies of relevant SharePoint content, such as contacts, documents, calendar events, and tasks. Outlook also uses [MS-OSALER] to parse additional alert information from alert e-mail received from

SharePoint.

Protocols in this table enable Synchronization with Outlook in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Lists Client Sync Protocol Specification

Determines the processing and logic to host local copies of SharePoint list items in Outlook. Uses the [MS-LISTSWS] protocol for the transfers.

[MS-OUTSPS]

StsSync Structure Specification

Instantiates a connection between Outlook and a SharePoint list using a URL format.

[MS-STSSYN]

Outlook and SharePoint Alerts Interop Protocol Specification

Extracts data from an alert sent from a SharePoint server to Outlook.

[MS-OSALER]

2.2.1.3 File Operations Protocols

The table below provides a comprehensive list of the Member Protocols that enable File Operations in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description Short Name

HTTP Extensions for Distributed Authoring -- WEBDAV

Provides file access and content management. [RFC2518]

Page 30: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

30 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description Short Name

Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions

Provides file access and content management over the Internet. The implementation is a minor extension to IETF [RFC2518] (WebDAV), which is layered on top of the Hypertext Transfer Protocol (HTTP) defined in [RFC2068]. The extensions provide enhanced features such as new error codes and additional TCP ports.

[MS-WDV]

Web Distributed Authoring and Versioning (WebDAV) Protocol: Microsoft Extensions

Provides extensions and limitations to [RFC2518] as implemented by SharePoint.

[MS-WDVME]

Office Document Update Utility Extensions Protocol Specification

Provides extensions to the WebDAV protocols, including header updates, a property which enables optimized protocol interaction for synchronization, and a property which allows the server to send clients the virus infection status of a document.

This is used by the Office clients' Document Workspace feature to synchronize documents with SharePoint.

[MS-WDVMODUU]

Web Distributed Authoring and Versioning Error Extensions Protocol Specification

Describes the Extended Error codes that Windows SharePoint Services and Microsoft Office SharePoint Server 2007 can send back to a client application. Extended errors can include: document checked out; minor version limit extended; and missing required document properties.

[MS-WEBDAVE]

FrontPage Server Extensions Remote Protocol Specification

Provides file access functionality similar to WebDAV, allowing a Web site to be presented as a share.

[MS-FPSE]

Hypertext Transfer Protocol -- HTTP/1.1

Provides application-level methods for distributed, collaborative, and hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks including file access. If other protocols are not supported, Office clients use HTTP GET for read-only access to files.

[RFC2616]

In addition to the protocols described above, SharePoint supports the ability to extract document metadata and link information from specific document file formats. This is called document property promotion. For information, see [MS-WSSO] section 2.1.2.3.6 (Document Property Promotion).

2.2.1.4 Security and Identity Protocols

The following tables provide a comprehensive list of the Member Protocols of the Security and

Identity System. The Member Protocols are grouped according to their primary purpose.

Protocols in this table enable user authentication and identification in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Authentication Web Service Protocol

Identifies authentication mode in use by a Web application, and for authenticating a user when forms authentication is the

[MS-AUTHWS]

Page 31: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

31 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Specification authentication mode that is used. A common usage scenario for implementing this protocol is to use forms authentication to programmatically log a user on to an application. Subsequent requests can then be authenticated.

People Web Service Protocol Specification

Enables a protocol client to resolve and find principals. In common usage scenarios, this is used to build a user experience that allows browse and search for principals from the authentication system.

[MS-PEOPS]

Protocols in this table enable Claims based Identity in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

SharePoint Claim Provider Service Web Service Protocol Specification

Enables a protocol client to enumerate, search for and resolve the security principals available in the SharePoint system.

[MS-CPSWS]

SharePoint Security Token Service Web Service Protocol Specification

Describes the restrictions on the messages to interoperate with the SharePoint implementation of a Security Token Service. For more information on the message format see [WSTrust]. For more information on the Security Token Service, see [WS-Security].

[MS-SPSTWS]

Protocols in this table enable SharePoint authorization in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Permissions Web Service Protocol Specification

Enables clients to manage permissions to server sites and lists though a Web service. Describes messages to add, modify, get, and remove permissions.

[MS-PERMS]

UserGroup Web Service Protocol Specification

Enables the protocol client to define, modify, and retrieve information about users or groups and the role definitions to which they are assigned in a specific site or site collection.

[MS-UGS]

2.2.1.5 Authoring Integration Protocols

In addition to base file operation protocols described in section 2.2.1.3, SharePoint implements several protocols that can be used by authoring applications, such as Office, to provide specific enhanced experiences around content creation.

Protocols in this table enable SharePoint HTTP Headers in both Microsoft® SharePoint 2007 Products

and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

HTTP Windows SharePoint Services

Enables previously undefined behaviors via new headers and messages. These are extensions to Hypertext Transfer Protocol (HTTP)

[MS-WSSHP]

Page 32: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

32 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Headers Protocol Specification

mechanisms specified in [RFC2616]. The new application scenarios that these extensions introduce into HTTP include authenticating client connections, communicating error conditions, sending complex data, interacting with information rights management systems, interacting with antivirus systems, and interacting with crawlers.

Protocols in this table enable scenario-specific content authoring in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

MetaWeblog Extensions Protocol Specification

Specifies extensions and modifications to the MetaWeblog API (MWA) ([RFC-MWA]). Allows external programs to get and set the text and attributes of posts on a blog.

[MS-METAWEB]

Slide Library Web Service Protocol Specification

Enables a protocol client to send a request to the protocol server and then to receive from the protocol server information about the existence of named slides, information about all slides, information about slides specified by their identifiers, or information about slides that contain specific search strings.

[MS-SLIDELI]

Protocols in this table enable Diagnostic Submission in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

SharePoint Diagnostics Web

Service Protocol Specification

Enables a protocol client to submit details about an error

report (for example, call stack, error message, or operating environment).

[MS-

SPDIAG]

Protocols in this table enable File Synchronization in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

File Synchronization via SOAP over HTTP

This protocol enables a client to make a SOAP web service request that allows for incremental upload or download of file changes, along with related metadata changes to or from a server which supports the protocol. This protocol enables the co-authoring feature in Microsoft® Word 2010 Technical Preview and Microsoft® PowerPoint® 2010 Technical Preview. In addition, the protocol server processes different types of locking

operation requests sent by a client, that allow for uploads to be done while preventing merge conflicts on the shared resource.

[MS-FSSHTTP]

Binary Requests for File Synchronization via SOAP Protocol Specification

This protocol enables a protocol client to synchronize the state of a structured file hosted by a protocol server. It allows the protocol client to pass a set of requests to the protocol server and to receive from the protocol server a set of responses that can be used to synchronize the contents of the file. This protocol is embedded within the File Synchronization via SOAP over HTTP

[MS-FSSHTTPB]

Page 33: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

33 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

protocol described above.

2.2.1.6 ActiveX Controls for Integrated Authoring

SharePoint Web pages integrate with client-side authoring applications by invoking Office client APIs from SharePoint Web pages. For purposes of interoperability, these ActiveX controls, and the HTML (HyperText Markup Language) and JavaScript that SharePoint uses to invoke them, are described in [MSDN-WSS3CLIENTSIDEAPI]. This information is also discussed in [MS-OCPROTO] section 2.1.9 (ActiveX Controls installed by Office Client for Server integration). The controls are

listed here for completeness.

The following ActiveX controls are used in SharePoint Web pages, but do not invoke Office applications, such as Microsoft Office Word, Excel, PowerPoint or Outlook.

Protocols in this table are used by Standalone ActiveX controls in both Microsoft® SharePoint 2007

Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

ActiveX Control

Name Description

Protocols

Used

ListNet Provides more capabilities for SharePoint list datasheet editing than are provided by default.

[MS-LISTSWS]

UploadCtl Enables multiple documents to be uploaded to a document library on a SharePoint site.

[MS-WSSCAP]

[MS-FPSE]

CopyCtl Enables a user to copy a document on a SharePoint site to one or more locations on a server.

[MS-COPYS]

The following ActiveX controls do one of the following: start Office client applications; interact with them through client side APIs; or define settings that are subsequently used by Office client applications.

ActiveX controls in this table integrate with Office client applications in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

ActiveX Control

Name Description

OpenDocuments Starts Office client applications so that a user can create a document or edit an existing document. Enables users to create documents that are based on a specified template, to choose to open the documents as read-only or read/write, and to check out the documents.

OISClientLauncher Starts Microsoft Office Picture Manager and passes command line parameters for editing and downloading pictures from picture libraries.

PPActiveX Starts Office PowerPoint to open presentations from a Slide Library or publish individual slides to a Slide Library.

OpenXMLDocuments Starts Microsoft Office InfoPath to create Extensible Markup Language (XML) documents or forms based on a specified template, or to edit XML documents or

Page 34: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

34 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

ActiveX Control

Name Description

forms with InfoPath.

NameCtrl Enables a Web page to display presence information for people, and allows the user to take various actions with respect to those people through an on-object user interface (UI) in Windows SharePoint Services. Integrates through client-side APIs with Microsoft Office Communicator.

PersonalSite Configures a user's My Site location, which is used by client applications to discover locations of SharePoint sites and libraries. Also used to retrieve colleague suggestions generated from client applications.

SpreadSheetLauncher Enables a user to import lists from Office Excel spreadsheets or to verify whether Excel is enabled to export lists from Windows SharePoint Services.

StssyncHandler Returns the name of the application used to synchronize events lists and contacts lists in Windows SharePoint Services with a messaging application such as Office Outlook 2007.

ExportDatabase Enables a user to create or open a database that contains data from a SharePoint list in an application such as Office Access.

2.2.1.7 Extensibility Protocols

SharePoint implements a number of protocols that are designed specifically to provide extensibility and customization. These protocols can be divided into three major groups:

Import and export protocols,

Workflow integration protocols, and

Web page and Web Part customization protocols.

2.2.1.7.1 Content Import/Export Protocols

SharePoint implements three mechanisms for generic import and export of content.

Protocols in this table enable import and export of content in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Sites Web Service Protocol Specification

Provides methods to export and import a site on a server, retrieve site template information, and obtain a form digest validation value for authentication of a secure submit request to the server.

[MS-SITESS]

Content Deployment Remote Import Web Service Protocol Specification

Provides methods for remote management of the import of a deployment package to a server.

[MS-CDEPLOY]

RSS 2.0 Format Extensions Specification

Provides methods for serializing data from a Web site. A common usage of this structure is serialization of the most recently modified documents on a Web site. SharePoint implements RSS for all list and library data, as well as other data sources such as user

[MS-SPRSS]

Page 35: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

35 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

profiles. For information about Really Simple Syndication (RSS) 2.0, see [RSS 2.0]

In addition to these protocols, SharePoint implements an import/export file format that allows for data portability.

The file formats in this table enable import and export in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

Deployment Package Format Specification

A set of XML files and binary files that encapsulates site content and relationships. SharePoint uses this file format as the primary mechanism for portability of end-user data.

[MS-PRIMEPF]

2.2.1.7.2 Workflow Protocols

SharePoint implements support for workflow definition and execution. For information about workflow in SharePoint, see [MSDN-MOSSWF] and [MSDN-WSSWF].

Protocols in this table enable workflow development, administration, and end-user interaction in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010

Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Workflow Web Service Protocol Specification

Starts new workflows, changes existing ones, and queries for status. A common usage scenario for this protocol is managing a document approval process. Upon opening the document, the client can query for existing document approval workflow tasks or create a new document approval workflow. The client can then query for and modify existing document approval workflow tasks. Afterward the client can query for status of the document approval workflow or for new document approval workflow tasks that need to be modified.

[MS-WWSP]

Group Approval

Web Service Protocol Specification

Submits or approves Group Approval documents. A common usage

scenario for this protocol is in a custom Group Approval application that allows users to access Group Approval data remotely. Such an application can use this protocol to provide users with a way to maintain data on a central protocol server and access it through multiple protocol clients from different locations.

[MS-

EAWF]

Web Part Pages Web Service Protocol Specification

Specifies a format for workflow definitions to be deployed to a SharePoint server.

This protocol also provides capabilities for manipulating Web parts, as described in section 2.1.2.4. This protocol is also listed in Web Page Customization Protocols, in section 2.2.1.7.3.

[MS-WPPS]

2.2.1.7.3 Web Page Customization Protocols

As described in section 2.1.2.4, SharePoint implements a capability for a Web page to integrate multiple pieces of content through the Web Part mechanism.

Page 36: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

36 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocols in this table enable Web Part Page customization in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical

Preview.

Protocol Name Description

Short

Name

Web Part Pages Web Service Protocol Specification

Enables a protocol client to gather the information necessary to author Web pages that use server resources. Allows authoring of execution logic that reacts to changes in the server state.

[MS-WPPS]

Content Area Toolbox Web Service Protocol Specification

Enables a protocol client to enumerate the Web controls available for use on a web page stored on a protocol server. A common usage scenario is a Web page editing application that queries the protocol server for Web controls. Those controls are displayed to the user for insertion into a Web page.

[MS-CONATB]

2.2.1.8 SharePoint Client-Side Object Model

Windows SharePoint Services 4.0 Technical Preview implements a Client-Side Object Model (CSOM). The SharePoint Client-Side Object Model enables a client application to make batch requests to a SharePoint web front-end server to perform operations on core platform objects such as lists, sites, and users. Operations can include method calls, property reads and property writes.

Through the SharePoint Client-Side Object Model, a client application has access to much of the same functionally as exposed by the SharePoint SOAP Web services described above. The

SharePoint CSOM differs from the SOAP Web services in that it is optimized to support batching multiple operations into a single client request. The operations can also span object types, whereas the SOAP Web Services are organized by individual object types. SharePoint CSOM requests to the server in XML and responses from the server are encoded using JSON.

For more information about the objects available via the SharePoint CSOM, see [MS-CSOMSPT] section 3.2.1. For more information about JSON, see [RFC4627].

Protocols in this table enable the SharePoint Client-Side Object Model in Microsoft® SharePoint 2010 Products and Technologies Technical Preview only.

Protocol Name Description

Short

Name

Client-Side Object Model Protocol Specification

Enables a protocol client to execute a batch of method invocations, property reads, and property writes on logical objects or class types.

[MS-CSOM]

SharePoint Client-Side

Object Model API Protocol Specification

Defines types, methods and properties of objects such as

sites, lists, and other types of SharePoint data. A protocol client can access these objects using the method described in [MS-CSOM].

[MS-

CSOMSPT]

2.2.2 Extended Capabilities Protocols

2.2.2.1 Excel Services Protocols

The tables below provide a comprehensive list of the Member Protocols of the Excel Services

System. The Member Protocols are grouped according to their primary purpose.

Page 37: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

37 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocols in this table enable Excel Services in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Excel Web Services Protocol Specification

Accesses workbooks stored in a Web server or in a location that can be reached by using a UNC path. For an overview about the specific implementation of Excel Services which implements this protocol, see [MSDN-ESO].

[MS-ESP]

Excel Services Publishing Protocol Specification

Enables a client, such as Excel, to form the URL and associated parameters for a query string to display the workbook in the browser after the workbook is published to the protocol server.

[MS-ESURL]

Protocols in this table enable remote data access for Excel Calculation Services in both SharePoint 2007 Products and Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

MS-Tabular Data Stream Protocol Specification Enables remote data access to SQL Server.

[MS-TDS]

SQL Server Analysis Services Protocol Specification

Enables remote access to OLAP data. [MS-SSAS9]

2.2.2.2 Access Services Protocols

The tables below provide a comprehensive list of the Member Protocols of the Access Services System.

Protocols in this table enable Access Services in Microsoft® SharePoint 2010 Products and Technologies Technical Preview version only.

Protocol Name Description

Short

Name

Access Services Protocol Specification

Enables a client, such as Microsoft® Access® 2010 Technical Preview, to interact with Access Web applications published to SharePoint.

[MS-ASWS]

The file formats in the table below enable Access Services in SharePoint 2010 Products Technical Preview version only.

Protocol Name Description

Short

Name

Access Application

Transfer Protocol Structure Specification

The Application XML (AXL) file is used to store the structures that can

be used to describe data application components. The file follows XML formatting.

[MS-

AXL]

Access Template File Format Specification

An Access Template file (.accdt) contains a ZIP package conforming to Open Packaging Conversions as specified by [ISO/IEC-29500-2]. The file is the container for Application XML objects (defined in [MS-AXL]). The ACCDT file is used to create the structure and content of

[MS-ACCDT]

Page 38: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

38 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

an Access database application.

2.2.2.3 InfoPath Forms Services Protocols

The tables below provide a comprehensive list of the Member Protocols of the InfoPath Form Services System. The Member Protocols are grouped according to their primary purpose.

Protocols in this table enable InfoPath Forms Services in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Forms Services Design and Activation Web Service Protocol Specification

Allows InfoPath to request a list of problems that prevent InfoPath Forms Services (IPFS) from transforming a form template into a format that can be displayed in a Web browser. Allows InfoPath to request that InfoPath Forms Services (IPFS) perform the transformation, if possible.

[MS-FSDAP]

Forms Services Feature Detection Protocol Specification

Detects if InfoPath Forms Services (IPFS) is present and enabled on the server. IPFS is required to publish a browser-enabled form template.

[MS-FSFDP]

The file formats in this table enable InfoPath Form Services in both SharePoint 2007 Products and

Technologies and SharePoint 2010 Products Technical Preview.

Protocol Name Description

Short

Name

InfoPath Form File Format Structure Specification

A form file that stores the data of an electronic form that has been filled out by a user. Includes the InfoPath Property Promotion Format. Property promotion is used to communicate which fields inside an electronic form will be displayed as columns in a SharePoint document library.

[MS-IPFFX]

InfoPath Form Template Format Structure Specification

A form template (.xsn) file is a CAB file, as specified in [MS-CAB], which contains files used by a form server to visualize and edit new or existing form files in a Web browser. This document specifies the Microsoft® Office InfoPath® 2007 Service Pack 1 file format.

[MS-IPFF]

InfoPath Form Template Format Version 2 Structure Specification

A form template (.xsn) file is a CAB file, as specified in [MS-CAB], which contains files used by a form server to visualize and edit new or existing form files in a Web browser. This document specifies the Microsoft® InfoPath® 2010 Technical Preview file format.

[MS-IPFF2]

The file formats in this table enable InfoPath Form Services in SharePoint 2007 Products and Technologies only.

Protocol Name Description

Short

Name

InfoPath Form Template Format Structure Specification

A form template (.xsn) file is a CAB file, as specified in [MS-CAB], which contains files used by a form server to visualize and edit new or existing form files in a Web browser. This document specifies the

[MS-IPFF]

Page 39: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

39 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Office InfoPath 2007 SP1 file format.

The file formats in this table enable InfoPath Form Services in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

InfoPath Form Template Format Version 2 Structure Specification

A form template (.xsn) file is a CAB file, as specified in [MS-CAB], which contains files used by a form server to visualize and edit new or existing form files in a Web browser. This document specifies the InfoPath 2010 Technical Preview file format.

[MS-IPFF2]

2.2.2.4 User Profile Services Protocols

The tables below provide a comprehensive list of the Member Protocols of the User Profile Services System.

The protocols in this table enable User Profile Services in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Published Links Web Service Protocol Specification

Retrieves a list of URLs and descriptive details about each URL. A protocol client can choose to inspect the descriptive details to decide whether the URL is useful for its particular application. A common usage scenario for this is to provide a list of SharePoint sites to be displayed in the Office Open or Save dialog boxes.

[MS-PLSP]

User Profile Service Web Service Protocol Specification

Enables a protocol client to retrieve user profile data, and data in common among users. Also enables management of other user profile properties, such as links, group memberships, and colleagues. This protocol can be used to manage an enterprise social network and enable users to search for and find people within their organization for communication purposes.

[MS-USPSWS]

User Profile Change Log Web Service Protocol

Specification

Allows client applications to query and synchronize the changes from a user profile store. The User Profile Change Service protocol provides querying for changes for specific user profiles or all profiles

on the server. The protocol is also designed to be used by search engines to incrementally crawl data from the user profile store.

[MS-USRPCH]

The protocols in this table enable User Profile Services in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

User Profile Import/Export Web Service Protocol Specification

Used to import and export user profile and member group data to and from the user profile store. A typical scenario for using this protocol is a synchronization application that runs at fixed intervals to keep the user profile store and an [LDAP] directory service in sync. The protocol supports methods to retrieve all user profiles or

[MS-UPIEWS]

Page 40: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

40 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

only user profiles that have changed after a specific time. The protocol also allows importing Business Data Connectivity data for specific user profile properties for existing user profiles. Applies to Microsoft SharePoint Server 2010.

User Profile Social Data Web Service Protocol Specification

Enables a protocol client to add, update, remove and retrieve social tags, Notes and social ratings on documents and web pages stored on the server. The protocol allows the protocol client to pass criteria to the protocol server and to receive back a list of tags, notes and ratings. Applies to SharePoint Server 2010.

[MS-UPSDWS]

2.2.2.5 Search Services Protocols

The table below provides a comprehensive list of the Member Protocols of the Search Services System.

The protocols in this table enable Search Services in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Protocol Name Description

Short

Name

Search Protocol Specification

Allows a client to issue search queries. The protocol client issues a search query against the protocol server, and the protocol server responds with a list of items that are relevant to the search query.

[MS-SEARCH]

Site Data 2003 Web Service Protocol Specification

Supports creation of site indexes by external index servers. This protocol is supported in current versions of SharePoint to allow creation of indexes from earlier implementations.

[MS-SITED3S]

Site Data Web Service Protocol Specification

Supports creation of site indexes by external indexing services. [MS-SITEDATS]

SPSCrawl Web Service Protocol Specification

Allows protocol clients to read the value of any item within the context of a site or service application. The protocol client requests the protocol server to provide information about the site. On receiving this information, the protocol client requests the protocol server to provide a list of all search folders. After the protocol server provides information about all the search folders, the protocol client requests

that the protocol server enumerate buckets in each search folder. Once this information is provided by the protocol server, the protocol client requests that the protocol server provide details about each item within a bucket.

[MS-SPSCRWL]

2.2.2.6 Business Connectivity Service Protocols

The tables below provide a comprehensive list of the Member Protocols of the Business Connectivity Services System.

The protocols in this table enable Business Connectivity Services in both Microsoft® SharePoint

2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical Preview.

Page 41: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

41 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Protocol Name Description

Short

Name

Business Data Catalog Data Web Service Protocol Specification

Specifies an interface for protocol clients to search a line-of-business (LOB) system for an EntityInstance that matches a user input string.

[MS-BDCDP]

The protocols in this table enable Business Connectivity Services in SharePoint 2010 Products Technical Preview only.

Protocol Name Description Short Name

Business Data Connectivity Remote Admin Web Service Protocol Specification

Enables protocol clients to create, store and retrieve information about interfaces of line-of-business (LOB) systems and annotations of these interfaces.

[MS-BDCRAWPS]

Business Connectivity Services Deployment Package File Format Specification

Describes the contents of a deployment package for a Business Connectivity Services solution, the Business Connectivity Services specific extensions to the Visual Studio Tools for Office ClickOnce Schema Specification [MS-OSCO], and a Business Connectivity Services specific file format representing the properties of an external list.

[MS-BCSDPFFS]

Business Connectivity Services Deployment Web Service Protocol Specification

Specifies the utility functions that can be used in the creation of development or administration tools and applications interacting with Business Connectivity Services solutions. Specifically this protocol enables a protocol client to perform the following operations: Create a profile page for an external content type, retrieve solution package information for a collection of server objects and assign a custom form to a server object

[MS-BCSDWPS]

External Content Type Picker Web Service Protocol Specification

Enables protocol clients to find and resolve EntityInstances on a protocol server.

[MS-ECTPWPS]

The file formats in this table enable Business Connectivity Services in SharePoint 2010 Products

Technical Preview only.

Protocol Name Description

Short

Name

Business Data Connectivity Model File Format Specification

Specifies an XML structure used to describe the API of one or more line-of-business (LOB) systems and how that interface can be mapped to a well-defined interface of canonical operations. This structure is typically consumed by a runtime engine that translates canonical interface operation execution requests into the native LOB system‘s interface operation execution requests.

[MS-BDCMFFS]

2.2.2.7 Content Management Protocols

The tables below provide a comprehensive list of the Member Protocols of the Content Management System.

Page 42: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

42 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

The protocols in this table enable Content Management in both Microsoft® SharePoint 2007 Products and Technologies and Microsoft® SharePoint 2010 Products and Technologies Technical

Preview.

Protocol Name Description Short Name

Copy Web Service Protocol Specification

Provides a method for copying files—along with their associated properties (such as creation date, author) —to one or more locations on a single server or between different SharePoint servers.

[MS-COPYS]

Document Transforms Service Protocol Specification

Enables a client to call a file conversion service which converts a file from one format to another.

[MS-DOCTRANS]

Official File Web Service Protocol Specification

Enables the submission of files to a repository for purposes of long-term retention according to a records management policy.

[MS-OFFICIALFILE]

Publishing Web Service Protocol Specification

Provides access to publishing and content management-related functionality. Used in Web content management scenarios. Allows the control of page layout, page status, and multilingual translation.

[MS-PUBWS]

Versions Web Service Protocol Specification

Enables programmatic access to view and manage the versions of files on the server. Enables retrieval of all versions of a file, deletion of previous versions of a file and restoration of a file to a previous version.

[MS-VERSS]

SpellCheck Web Service Protocol Specification

Enables a protocol client to check the spelling of a set of words. Allows the protocol client to pass a set of chunks to the protocol server and to receive back from the protocol server a set of words

identified as containing errors and suggestions for correcting those errors. A common usage scenario for this protocol is a content editing application that allows users to enter text. Such an application can use this protocol to provide users with a way to check the spelling of the text they have entered.

[MS-SPLCHK]

The protocols in this table enable Content Management in SharePoint 2010 Products Technical Preview only.

Protocol Name Description

Short

Name

Enterprise Metadata Service -- WCF Service Protocol Specification

Specifies a set of operations to read from, write to, and manage metadata in a centrally-managed metadata store.

[MS-EMMWCF]

Microsoft Enterprise Managed Metadata Web Service Protocol Specification

Specifies a set of operations that enable clients to read from, write to, and manage metadata in a centrally-managed metadata store.

[MS-EMMWS]

Server Template Discovery Web Service Protocol Specification

Enables a client to retrieve links to the document templates associated with a document library on the protocol server.

[MS-TMPLDISC]

Page 43: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

43 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

2.2.2.8 PerformancePoint Services Protocols

The table below provides a comprehensive list of the Member Protocols of the PerformancePoint Services System.

The protocols in this table enable PerformancePoint Services in Microsoft® SharePoint 2010 Products and Technologies Technical Preview only.

Protocol Name Description

Short

Name

PerformancePoint Services Authoring Service Protocol Specification

This web service is used to read from, write to, and perform basic operations on dashboards hosted on a protocol server. The methods in this protocol center mainly on the ability to author and edit those dashboards.

[MS-PPSAS]

PerformancePoint Services Rendering Service Protocol Specification

This protocol enables a protocol client to receive dynamic HTML and JavaScript content generated by the protocol server. It also enables a protocol client to create and read annotations on select dashboard content within a browser and without a browser full-page refresh.

[MS-PPSRS]

PerformancePoint Services Decomposition Tree Protocol Specification

This protocol allows a protocol client to perform contribution analysis on a data value using a data source or data source context known to the protocol server. The protocol allows a protocol client to retrieve grouped, named actions that apply to a specific data value, or named properties and values associated with that node, and then using action name and context retrieved in a previous call, retrieve additional values that contribute to the value. The protocol server returns data points and provides or denies summary data for those data points not returned.

[MS-PPSDECO]

2.2.2.9 Analytics Services Protocols

The following tables provide a comprehensive list of the Member Protocols of the Analytics Services System.

The protocols in this table enable Analytics Services in Microsoft® SharePoint 2010 Products and Technologies Technical Preview only.

Protocol Name Description

Short

Name

MOSS Analytics Reporting Protocol Specification

Provides methods for logging events for analysis and retrieving the analytical data.

[MS-MAR]

2.3 Environment

The following sections identify the context in which the system exists. This includes the systems

that use the interfaces provided by this system of protocols, other systems that depend on this system, and, as appropriate, how components of the system communicate.

2.3.1 Dependencies on This System

The following systems have dependencies on the SharePoint Front-End Protocols System.

Page 44: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

44 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Office Client Protocols: [MS-OCPROTO]

2.3.2 Dependencies on Other Systems/Components

The SharePoint Front-End Protocols system depends on the following systems:

SharePoint Back-End Protocols: [MS-SPBEPO]

Windows® SharePoint® Services File, Print, User/Group Administration system: [MS-WSSO]

Microsoft Windows® System: [MS-SYS] section 1

Active Directory®: [MS-ADTS] section 1

WSS3 depends on the following components (or later versions) to function:

The Windows Server® 2003 operating system with Service Pack 1

Internet Information Services (IIS) 6.0

Microsoft .NET Framework 3.0

ASP.NET 2.0

Microsoft SharePoint Server 2010 Technical Preview depends on the following systems/components (or later versions) to function:

Windows Server 2008, Service Pack 2

Internet Information Services (IIS) 7.0

Microsoft .NET Framework 3.5

ASP.NET 2.0

Geneva Identity Framework

SQL Server 2008 Express, Service Pack 1

2.4 Assumptions and Preconditions

This section briefly documents the assumptions and preconditions required by the system. The scope of this discussion is intended to be implementation-independent and is limited to the system-level.

The clients can access the SharePoint Front-End Web Servers via an established IP address (or IP

addresses).

The SharePoint Services server(s) functional components are started collectively and the

Windows SharePoint Services server(s) accepts client requests.

The Front-End Web Servers can reach Back-End Database Servers and have appropriate

permissions to access data in the content and configuration Databases.

The SharePoint Front-End servers and SharePoint Back-End Servers are matching versions or

within an acceptable range of versions. See [MS-WSSO] section 2.6 for more information about versioning.

Page 45: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

45 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

In the case where Active Directory is used to provide authentication the Directory Service is

accessible to the SharePoint server. Any intermediate firewalls, routers, or connection points

between components of the system have all required ports and gateways open for

communication between them.

2.5 Use Cases

The following use cases are provided for understanding the SharePoint Front-end Protocol system only. They are not intended to be a thorough and complete modeling of the system for any implementation.

2.5.1 Core Platform Use Cases

2.5.1.1 Create Site Collection

This use case describes how a client application creates a new Site Collection. The client specifies a site definition or site template to use when creating the new site collection.

Preconditions:

The client can communicate with the Central Administration site.

The client is authenticated as a member Farm Administrators group.

Main Flow:

1. The client requests a list of available site definitions and site templates from the server.

2. The server returns the list of available site definitions and site templates.

3. The client selects a web template and specifies the URL, title, and description for the site collection.

4. The client calls the method to create a new site collection with the specified information.

5. The server creates a site collection with the specified information.

Post Conditions:

Page 46: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

46 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

A site collection exists at the client specified URL.

Error Scenario:

If the specified URL is invalid or already in use, the SharePoint will not create a new site

collection.

2.5.1.2 Create List and Add a View

This use case describes how a client application creates a new list and adds a view. The client specifies list template to use when creating the new list.

Preconditions:

The client can communicate with the SharePoint site.

The client is authenticated as a member of the Contributor group.

Main Flow:

1. The client requests a list of list templates from the server.

2. The server returns the list of list templates.

3. The client selects a list template and specifies the title and description for list.

4. The client calls the method to create a new list with the specified information.

5. The server creates a list with the specified information.

6. The client selects the list it created, and specifies a view name, and view fields.

7. The client calls the method to add a view to the list with the specified information.

8. The server adds a view to the list.

Post Conditions:

A new list exists in the site.

Page 47: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

47 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

The new list contains the new view.

2.5.1.3 Get List Data

This use case describes how a client application gets list data. Once a client receives the data, common uses include displaying the data or building reports from the data.

Preconditions

The client can communicate with the SharePoint site.

The client is authenticated and has read permission on the list.

Main Flow

1. The client requests the list of lists in the site from the server.

2. The server returns the list of list in the site.

3. The client selects a list.

4. The client requests data for the selected list.

5. The server returns the data for the list.

Post-conditions

None.

2.5.1.4 Create a file in a SharePoint library from a client consol

This use case describes the simplest way to create a file using the protocols covered in this system. The actor is the user. The user creates a text file ―hello.txt‖ which contains the text ―hello‖ in a Windows SharePoint Server Document library.

Page 48: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

48 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Preconditions

The user has permissions to an existing SharePoint document Library.

The user is logged on to a Windows7 client computer (other client versions may have different

steps), with an authenticated Windows session, and can access the Windows SharePoint Services site containing the library.

Using a Windows command line the user types the following command:

―echo hello >\\server\site\doclib\hello.txt‖.

Main Flow

1. The user hits enter on the ―echo‖ command.

2. The Windows SharePoint Services WFE authenticates the user.

3. Windows SharePoint Services finds the location of the document library, and verifies the user has

access.

Page 49: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

49 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

4. Windows SharePoint Services then creates an empty file in the library and confirms success to the client.

5. The client then updates the file properties and the file contents.

Error Scenarios

1. The user does not have permission the client notifies the user of access denied.

2. The client cannot connect to the Windows SharePoint Services WFE, the client notifies the user of the error.

3. The client cannot update the file properties or contents, the client notifies the user of the error.

2.5.1.5 Export and Import Site Content

This use case describes how a client application can Export and Import Site content. Clients export

and import site content to migrate content from one site to another.

Preconditions

The client can communicate with the SharePoint site.

The client is authenticated and has write permission to the server, open web permissions and

manager web permissions on the source site, and site creation permissions for the target site.

Main Flow

1. The client specifies the URL to the site to export, the file name for content migration package, and the directory location to place the package.

2. The client calls the method to export the site with the specified information.

3. The server packages the site content and places the content migration package in the specified location.

4. The client specifies the URL for the resulting site, the URL to the content migration package.

Page 50: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

50 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

5. The client calls the method to import the site with the specified information.

6. The server imports the content in the content migration package to the specified URL.

Post-conditions

The destination site contains all the content from the content migration package.

Error Scenarios

The sites at the specified URLs are not accessible, the server returns an error.

The locations to write and read the content migration package are not accessible, the server

returns an error.

The client lacks sufficient permissions to import or export the site, the server returns an error.

2.5.1.6 Add a Web Part to a Page and Update its Properties

This use case describes how a client application adds a web part to a page and updates a property. Web parts are a mechanism to customize the presentation of Web site.

Preconditions

The client can communicate with the SharePoint site.

The site has a page with web part zones on it.

The web part to add is available on the server.

Main Flow

1. The client specifies the URL to a page, the web part zone, the web part zone index, and the markup for the web part.

2. The client calls the method to add a web part to a web part zone.

Page 51: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

51 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

3. The server adds the web part to the web part zone.

4. The server returns the GUID that uniquely identifies the newly added web part.

5. The client specifies the same URL to the page, the GUID that identifies the web part, and the markup that contains new properties.

6. The client calls the method to update the web part with the specified information.

7. The server updates the properties of the web part.

Post-conditions

The page contains a new web part with update properties.

Error Scenarios

The web part markup is invalid, the server returns an error.

2.5.2 Extended Capabilities Use Cases

2.5.2.1 Excel Services Use Cases

Use Case 1: Publishing.

This use case describes how a client application publishes a workbook to SharePoint.

Preconditions

Excel Services is enabled on SharePoint farm.

User has created a workbook in Microsoft® Excel® 2010.

User has rights to save files to SharePoint.

Main Flow

1. Customer initiates publishing from Excel 2010.

2. Upon request from Excel 2010, SharePoint creates a file in a SharePoint library.

3. Workbook is opened in browser using URL as described in [MS-ESURL].

Page 52: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

52 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Post-conditions

A file exists in a SharePoint Library.

Error Scenarios

If user does not have rights to create content in a SharePoint library, an error will be returned.

If workbook exceeds size limit set in SharePoint administration, an error will be returned.

If workbook contains unsupported features, the workbook will not open in the browser and an

error will be returned.

Use Case 2: Interacting with workbook using a browser.

This use case describes how a browser uses Excel Services to interact with a workbook published to

SharePoint.

Preconditions

Excel Services is enabled on SharePoint farm.

User has rights to requested workbook.

User is using a supported browser.

Main Flow

1. User requests workbook by either clicking on it in the SharePoint UI or by typing the URL to the file in the browser or by opening a web page which displays all or part of a workbook.

2. Viewable range of workbook is displayed in browser.

3. If parameters exist, user can enter values in the parameter pane.

Page 53: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

53 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

4. If external data connections exist, user can request the data be refreshed.

5. User can request the workbook be recalculated

Post-conditions

Workbook is displayed to the user in the browser

Error Scenarios

If user does not have rights to the workbook, an error is returned.

If the workbook contains unsupported features which prevent it from opening, an error is

returned.

If the workbook is connected to external data to which the current user does not have rights, an

error is returned.

Use Case 3: Interacting with workbook using an application and Excel Web Services.

This use case describes how an application uses Excel Services to interact with a workbook published to SharePoint.

Preconditions

Excel Services is enabled on SharePoint farm.

User who is running the application has rights to requested workbook.

Main Flow

Page 54: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

54 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

1. Application requests workbook by URL to the file.

2. Application may get a range of data from the workbook.

3. Application may set a range of data into the workbook.

4. Application may refresh external data in the workbook.

5. Application may recalculate the workbook.

6. Application may save changes made to the workbook back to the file stored in SharePoint.

7. Application may close the workbook.

Post-conditions

Application has retrieved data required from workbook.

Workbook is updated as requested by the application.

Error Scenarios

If the user who is running the application does not have rights to the workbook, an error is

returned.

If the workbook contains unsupported features which prevent it from opening, an error is

returned.

If the workbook is connected to external data to which the current user does not have rights, an

error is returned.

2.5.2.2 Access Services Use Cases

Use Case 1: Publishing.

This use case describes how a client application publishes a database application to SharePoint.

Page 55: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

55 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Preconditions

Access Services is enabled on SharePoint farm.

Use has built a database application in Microsoft® Access® 2010 Technical Preview.

Main Flow

1. Customer initiates publishing from Access 2010 Technical Preview.

2. Upon request from Access 2010 Technical Preview, Access Services creates a SharePoint site according to the template described in [MS-ASWS] section 3.1.1.

3. Upon request from Access 2010 Technical Preview, Access Services creates lists on SharePoint to represent Access tables. The schemas of the lists are created according to [MS-LISTSWS].

4. Upon request from Access 2010 Technical Preview, Access Services synchronizes database object

structures.

5. Upon request from Access 2010 Technical Preview, Access Services synchronizes data from Access tables to the SharePoint lists.

6. Upon request from Access 2010 Technical Preview, Access Services creates SharePoint pages for Access forms and reports. They are rendered in HTML in the browser upon user request.

Post-conditions

A SharePoint site is created containing the published application.

Use Case 2: Interacting with Access Services Application on SharePoint.

This use case describes how a client application interacts with an Access application published to SharePoint.

Page 56: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

56 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Preconditions

Access Services is enabled on SharePoint farm.

A user uses Access 2010 Technical Preview to interact with an Access application that has been

published to SharePoint

Main Flow

1. After an Access 2010 Technical Preview application has been published to SharePoint, the data is stored in SharePoint content database. A user can still update data using Access 2010 Technical Preview via Web services described in [MS-ASWS]. Upon request from Access 2010 Technical Preview, Access Services updates the SharePoint lists that store the data.

2. Access 2010 Technical Preview can retrieve the current user information from Access Services.

3. A data macro can be triggered from Access 2010 Technical Preview. Access Services will run the data macro on SharePoint and track the status of the data macro instance.

Post-conditions

The data operation performed in ac14 is synchronized to the SharePoint site containing the

application.

The data macro triggered in ac14 is run on the SharePoint farm.

2.5.2.3 InfoPath Forms Services Use Cases

This use case describes how a user with InfoPath Designer could publish a form template to SharePoint, and enable browser rendering with InfoPath Forms Services for it.

Page 57: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

57 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Preconditions

InfoPath Forms Services is enabled.

The client can communicate with the SharePoint site.

The client is authenticated as a member of the Designer group.

Main Flow

1. User initiates publish from InfoPath Designer.

2. Upon request from InfoPath Designer, SharePoint responds with information about the site provided by User.

3. User provides parameters like form library name.

4. Upon request from the InfoPath Designer, SharePoint creates a document library.

5. Designer saves form template to the document library.

6. Upon request from the InfoPath Designer, SharePoint associates the document library template.

Page 58: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

58 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

7. Upon request from the InfoPath Designer, InfoPath Forms Services browser enables the form template (.xsn) file.

Post-conditions

A form template is accessible via the web browser at a URL associated with the document library.

Error Scenarios

If an error occurs during the browser enable process, the InfoPath Designer issues a call to check

the form template for errors.

2.5.2.4 User Profile Services Use Cases

Use Case 1: Retrieve a user’s profile

This use case describes how a client application can retrieve a user‘s profile which includes all information in the user‘s profile that‘s accessible to the client. Information presented to the client is based on the privacy level set on user profile properties by the administrator as a default or by the

user. For example, if a user only wants her colleagues to see her birthday and no one else, she can choose to do so through privacy settings. During access to her user profile, only users identified in the user profile service as her colleagues will be shown her birthday.

Preconditions

Client must have rights to be able to access and read the user‘s profile.

Requested user exists in the user profile store.

Main Flow

1. Client requests access to a user‘s profile.

2. User profile service retrieves properties for the user profile. This retrieval is filtered for

appropriate privacy settings.

Page 59: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

59 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

3. Properties are then presented to the client formatted in a site template applied to the user‘s personal profile site.

Post-conditions

Client sees user‘s profile, that typically includes a picture, information about the user and

additional properties if shared and entered by the user.

Error Scenarios

If the client does not have access or read rights to the user‘s profile, an access denied error can

occur.

Use Case 2: Tag a document

This use case describes how a client application can apply a tag to a document.

Preconditions

Client must have rights to be able to access the location of the document.

Client must have the rights to apply tags using the user profile service.

Content Management Service (section 2.1.4.7) is provisioned and is operational.

Main Flow

1. Client requests matching terms in the term store of the Content Management Service, by providing initial words of the tag (for example ‗soc‘ for social computing as an intended tag)

2. A set of suggested terms is returned to the client, as described in the use case in section 2.5.2.6

3. Upon acceptance of a suggested term, a GUID for this term is stored in the user profile store, along with the location of the document, information about the client‘s identity and time of tag creation

Post-conditions

Page 60: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

60 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Client sees the intended tag applied to the document location.

Error Scenarios

If the client does not have the rights to apply tags in the user profile service, tagging access will

be disabled

2.5.2.5 Search Services Use Cases

This use case describes how a client application gets search results for a search query issued against a SharePoint site. Once the search result set is returned, common uses include displaying the result set in the user interface and clicking through particular results to view more information.

Preconditions

Client must have rights to be able to access and execute queries against the SharePoint site.

The SharePoint site must be configured to consume search services from a Search Service

Application.

Main Flow

1. Client requests results for a particular query.

2. The Search application retrieves URLs and properties that satisfy a particular query.

3. These results are then presented to the client in the format specified by the configuration of the search center where the results are displayed.

Post-conditions

Client sees search results along with properties such as URL, Author, Modified date, File Size,

Title, summary.

Page 61: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

61 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Client also sees a refinement panel on the left that allows the client to further narrow down the

search results by issuing another query.

Error Scenarios

If the client does not have the rights to the SharePoint site, an access denied error can occur.

If the SharePoint site is not setup to consume search services from a Search Service Application,

an error will be displayed in the results UI when issuing a query.

2.5.2.6 Content Management Use Cases

Getting and Adding to a Term Set

This use case describes how a client application gets the data for a term set from a term store managed by a protocol server. Once a client receives the data, common uses include displaying the term set, performing validation of user-supplied data against the term set, or adding additional terms to a term set.

Preconditions

The client can communicate with the term store.

The client is authenticated and has read permission on the term store.

The client knows the identifier for the term sets in the term store.

Main Flow

1. The client requests the term set from the term store.

2. The server returns the term set data.

3. The client adds a term set to the term store.

4. The server returns the added term.

Post-conditions

Page 62: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

62 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

A new term exists in the term set.

Error Scenarios

If the term set is not open, the term store will not create a new term.

2.5.2.7 PerformancePoint Services Use Cases

This use case describes how a client application interacts with published dashboards on a SharePoint web part page. A user can analyze business data (to which they have permission as dictated by the SharePoint list in which it‘s stored) comment on that data, filter it (or run calculations on it) according to business rules, or view it through the decomposition tree, which provides a visual view of how the data unfolds from a rolled-up OLAP hierarchy (as described in [MS-PPSDECO]).

Preconditions

PerformancePoint Services in Microsoft SharePoint Server 2010 Technical Preview has been set

up and the site collection level feature has been started on SharePoint Enterprise Server.

A PerformancePoint Services 2010 Technical Preview dashboard has been published to SharePoint

Enterprise Server.

Silverlight [MS-SLXV] has been installed on the client machine.

Main Flow

1. The client browser requests a published dashboard from the SharePoint server.

2. PerformancePoint Services 2010 Technical Preview retrieves requested objects from the SharePoint list service.

3. PerformancePoint Services 2010 Technical Preview executes a data source query (for each object

that requires one) to return data to the rendered dashboard.

4. Users drill through rendered data, sending an AJAX request for each data request that the client browser initiates.

Page 63: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

63 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

5. In scorecard objects, users right-click on a cell and comment on (annotate) the value within the cell.

6. In charts and analytic grids, users can analyze data in a decomposition tree, rendered in Silverlight.

Post-conditions

A user views the result of the dashboard upon which he/she acted.

Error Scenarios

If a user does not have access to the dashboard item (for example, the analytic grid, chart, or

scorecard) in the SharePoint list, a user will receive an error in the web part zone of the web part page.

2.5.2.8 Analytics Services Use Cases

This use case describes how a client application log an event for analysis and retrieve the analytical

data for reporting purposes.

Preconditions

Analytics Services are enabled on the server.

The client can communicate with the SharePoint site.

Main Flow

1. The client calls the method to log when search queries are issued.

2. The server returns the list of events to be logged for analysis.

3. The client specified a start date for the data.

4. The client request data for the top search queries for the specified start date.

Page 64: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

64 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

5. The server returns the top search queries for the specified start date.

Post-conditions

None.

2.6 Versioning, Capability Negotiation, and Extensibility

The SharePoint Front-End servers and the SharePoint Back-End servers perform explicit version verifications.

See [MS-WSSO] section 2.6 (Versioning, Capability Negotiation, and Extensibility) for more information about SharePoint Front-End and Back-End versioning.

2.7 Error Handling

The SharePoint Front-end Protocol system does not have system level error handling for cross protocol error states. Protocol documents describe the errors returned by individual protocols and

what the errors mean for the system. How errors are handled, based on the protocol description, is an issue for the implementer.

2.8 Coherency Requirements

This system has no special coherency requirements beyond specific details covered in the protocol documents.

2.9 Security

For a detailed overview of SharePoint Authentication and Authorization, as well as the core concepts used to manage security in SharePoint see [MS-WSSO] section 2.9.

2.10 Additional Considerations

None.

Page 65: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

65 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

3 Examples

3.1 Example 1: Create a New Site and Access List Data

This example describes how to create a new site, create a new list, and access the list data. This example builds on the use cases covered in section 2.5.1.1, section 2.5.1.2, and section 2.5.1.3. In this example, a client creates a new subsite, creates a new list in that subsite, and populates the list with some data. After adding data to the list, the client gets a filtered set of list items.

This scenario assumes:

The client can communicate with the SharePoint site

The client has permissions to create a subsite

Page 66: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

66 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

Main Flow:

1. The client calls the GetSiteTemplates on the Sites web service to determine the list of available site templates and site definitions

2. The server returns the collection of available site templates and site definitions

3. The client calls CreateWeb on the Sites Web Service to create a subsite

4. The server returns the URL to the newly create subsite

For more information about the Sites web service, see [MS-SITESS].

Page 67: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

67 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

1. The client uses the URL of the newly created subsite to determine the location of the Webs web service. The client then calls GetListTemplates

2. The server returns the collection of list templates for the new site

For more information about the Webs web service, see [MS-WEBSS].

1. The client calls AddList on the Lists web service

2. The server returns the new list‘s properties and fields

3. The client calls UpdateListItems on the Lists web service to add items to the list

4. The server returns the list items that were added to the list

5. The client calls GetListItems on the Lists web service with the custom query

6. The server returns the requested list items.

For more information about the Lists web service, see [MS-LISTSWS]. For more information about

the query XML structure, see [MS-WSSCAML] section 2.2.

3.2 Example 2: Create File from Client

This example describes how to create a file using the protocols covered in this system. This example uses the Creating a file in a SharePoint library from client console use case in section 2.5.1.4.

In the interests of readability the following diagram and steps:

Consolidate multiple WFE to BEDs actions, and multiple WFE to AD actions into single flows. The

flow step descriptions call out where that happens and points other examples which expand on that detail.

Avoids some initial interactions between client and server that optionally happen on some clients,

and can also depend on whether the client has connected to the site previously to verify the

server is able to support WebDAV.

This scenario assumes:

The user has permissions to an existing SharePoint document Library called

http://server/site/doclib

The user is logged on to a Windows7 Release Candidate client computer (other client versions will

have different steps), with an authenticated Windows session, and can access the Windows® SharePoint® Services site containing the library

Using a Windows command line the user types the following command:

―echo hello >\\server\site\doclib\hello.txt‖

Page 68: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

68 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

1. After the user hits enter on the echo command the client sends a WebDAV request to the server asking it to PUT the hello.txt file in the document library

2. The WFE (IIS) authenticates the user with Active Directory. In practice may involve multiple

LDAP requests with the AD esp. if the user has not visited the site before.

3. The AD responds with multiple LDAP results.

For more detail on Authentication see Section 2.9.2.1.

Page 69: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

69 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

For more information about what the details of the scenario where the user has not visited the site before might resemble see [MS-WSSFO2] section 4.3 for Windows® SharePoint® Services 4.0

Technical Preview. In the interests of readability this example uses the WSS programming API; the actual steps may vary when the request is generated by user interaction with the WFE as in this

case.

1. In multiple roundtrips with the back-end database the WFE locates the content DB for the document library, and that the library exists.

2. The back-end database server returns multiple objects for the Site collection, web and Library to the WFE.

For more detail on the preceding steps 4 and 5 see [MS-WSSFO2] section 4.7 for Windows SharePoint Services 4.0 Technical Preview. In the interests of readability this example uses the

Windows SharePoint Services programming API; the actual steps may vary when the request is generated by user interaction with the WFE as in this case.

1. In multiple roundtrips with the back-end database server the WFE creates an empty file in the

document library, which if successful also verifies the user has permissions to access and write to the document library.

2. The back-end database server returns multiple results sets as part of the process to create the

file.

For more details on file creation see [MS-WSSFO2] section 4.10 for Windows SharePoint Services 4.0 Technical Preview. In the interests of readability this example uses the WSS programming API; the actual steps may vary when the request is generated by user interaction with the WFE as in this case.

1. The WFE returns a WebDAV response saying the file was created successfully

2. The client sends a WebDAV HEAD request to WFE with the URL to the hello.txt file in the

document library, to verify the success of the previous call.

3. In multiple roundtrips with the back-end database server the WFE retrieves the file.

4. The BEDs server returns multiple results sets as part of the process to retrieve the file.

For more details on file retrieval see [MS-WSSFO2] section 4.2 for Windows SharePoint Services 4.0 Technical Preview. In the interests of readability this example uses the WSS programming API; the actual steps may vary when the request is generated by user interaction with the WFE as in this case.

1. In response to the HEAD request the WFE send a response saying the request was successful.

2. Then client sends a WebDAV PUT request to the WFE, which will have multiple parts to upload the file and update its properties.

3. The client sends a WebDAV request to the WFE with an XML payload that has the file properties from the client.

4. The client sends a WebDAV request to the WFE with an XML payload that has the file content, in

this example that content is simply the work ―hello‖.

5. In multiple roundtrips with the back-end database server the WFE updates the file and it‘s properties in the document library.

Page 70: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

70 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

6. The back-end database server returns multiple results sets as part of the process to update the files.

7. On completing the update the WFE sends a WebDAV Response saying the request was successful.

Page 71: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

71 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

4 Microsoft Implementations

There are no variations in the behavior of the SharePoint Front-end Protocols system in different versions of Windows® SharePoint® Services and Microsoft® SharePoint® Server beyond those described in the specifications of the protocols supported by the system, as listed in section 2.2.

The information in this specification is applicable to the following versions of Windows SharePoint Services and SharePoint Server:

Windows® SharePoint® Services 3.0

Windows SharePoint Services 4.0 Technical Preview

Microsoft® Office SharePoint® Server 2007

Microsoft SharePoint Server 2010 Technical Preview

Exceptions, if any, are noted in the following section.

4.1 Product Behavior

The information in this specification is applicable to the following product versions. References to product versions include released service packs.

Windows® SharePoint® Services 3.0 Service Pack 1

Windows SharePoint Services 4.0 Technical Preview

Microsoft® Office SharePoint® Server 2007

Microsoft SharePoint Server 2010 Technical Preview

Exceptions, if any, are noted below. If a service pack number appears with the product version, behavior changed in that service pack. The new behavior also applies to subsequent service packs of

the product unless otherwise specified.

Unless otherwise specified, any statement of optional behavior in this specification prescribed using the terms SHOULD or SHOULD NOT implies product behavior in accordance with the SHOULD or

SHOULD NOT prescription. Unless otherwise specified, the term MAY implies that product does not follow the prescription.

Page 72: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

72 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

5 Change Tracking

No table of changes is available. The document is either new or has had no changes since its last release.

Page 73: [MS-SPFEPO]: SharePoint Front-End Protocols Overview

73 / 73

[MS-SPFEPO] — v20090827 SharePoint Front-End Protocols Overview Copyright © 2009 Microsoft Corporation. Release: Thursday, August 27, 2009

6 Index

C

Change tracking 72

D

Details 65

G

Glossary 5

I

Introduction 5

P

Product behavior 71 Protocol Examples 71

R

References overview 7

T

Tracking changes 72