Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Auswählen der richtigen API-Satz in SharePoint 2013  

SharePoint 2013

Informationen Sie zu den verschiedene Sätze von APIs, die in SharePoint 2013, einschließlich der Server-Objektmodell und die verschiedenen clientobjektmodelle und den REST/OData-Webdienst bereitgestellt werden.

Betrifft:

Inhalt dieses Artikels:
Legen Sie die Faktoren, die bestimmen, welche API verwenden
Serverobjektmodell
Clientobjektmodelle für verwalteten code
JavaScript-Objektmodell
REST/OData-Endpunkten
WCF Data Services Framework
Veraltete API-Sätze
Zusätzliche Ressourcen

Video ansehen: SharePoint 2013-Strategie für die SharePoint-clientobjektmodell (CSOM) und REST

Videos

Sie können aus mehreren Gruppen von APIs auswählen, auf die SharePoint 2013 -Plattform zugreifen.Welche Sie verwenden hängt von den folgenden Faktoren ab:

  • Anwendungstyp. Die Möglichkeiten enthalten, aber nicht beschränkt auf, die folgende, die nicht schließen sich gegenseitig aus Kategorien sind: ein App für SharePoint, ein Webpart auf einer SharePoint-Seite ein Silverlight -Anwendung, die auf entweder einem Clientcomputer oder einem mobilen Clientgerät, eine ASP.NET -Anwendung in SharePoint nach einem IFrame JavaScript in einer SharePoint-Website-Seite, eine SharePoint-Anwendungsseite, eine Microsoft .NET Framework -Anwendung, die auf einem Clientcomputer mit verfügbar gemacht werden, ein Skript Windows PowerShell und eines Zeitgeberauftrags auf einer SharePoint-Server ausgeführt.

  • Ihre vorhandenen Kenntnisse. Verblüffende Maße können Sie Anwendungen in SharePoint 2013 erstellen, ohne viel zur SharePoint-Programmierung erlernen zu müssen.Sie können rechts in SharePoint-Entwicklung springen, wenn Sie bereits Erfahrungen auf eine der folgenden Programmiermodellen verfügen:

    • JavaScript

    • ASP.NET

    • REST/OData

    • .NET Framework

    • Windows Phone

    • Silverlight

    • Windows PowerShell

  • Das Gerät, auf dem der Codeausführung. Die Möglichkeiten enthalten einen Server in der SharePoint-Farm, einen externen Server wie ein Server in der Cloud, einem Clientcomputer und einem mobilen Gerät.

Dieses Thema bietet eine Übersicht über die verschiedenen API-Sätze, die von SharePoint 2013bereitgestellt werden.Abbildung 1 zeigt, welche Gruppen von APIs alle 13 allgemeine-SharePoint-bezogenen Anwendungen entwickeln verwendet werden können.Für viele Anwendungen können Sie mehrere API auswählen.

Abbildung 1.Ausgewählte Typen für SharePoint-Erweiterung und SharePoint-Gruppen von APIs

Venn-Diagram mit API-Sätzen und SharePoint-App-Typen

Die folgende Tabelle enthält Anleitungen für welche Satz von APIs für die ausgewählten Liste der allgemeine SharePoint Erweiterbarkeit Projekte verwenden.Die verbleibenden Abschnitten in diesem Thema wird beschrieben, die verschiedene Sätze von APIs.

Wenn Sie dies tun möchten...

...verwenden Sie diese APIs

Erstellen einer Webanwendung für die ASP.NET , die führt Vorgänge aus erstellen/Read/Update/gelöscht (CRUD) über eine Firewall auf SharePoint-Daten oder externen Daten, die von einem externen Inhaltstyp Microsoft Business Connectivity Services (BCS) in SharePoint angezeigt wird

JavaScript -clientobjektmodell

Erstellen einer ASP.NET -Webanwendung, die ausführt CRUD-Vorgänge für SharePoint-Daten oder externe Daten, die ist in SharePoint mithilfe eines externen Inhaltstyps BCS angezeigt, aber keinen auf SharePoint über eine Firewall anrufen

.NET Framework Client Object Model, Silverlight -clientobjektmodell oder REST/OData-Endpunkte

Erstellen einer Lampe-Webanwendung, die CRUD-Vorgänge für SharePoint-Daten ausführt oder externen Daten, die angezeigt werden in SharePoint mithilfe eines externen Inhaltstyps BCS

REST/OData-Endpunkten

Erstellen Sie eine Windows Phone-app, die ausführt CRUD-Vorgänge für SharePoint-Daten

Mobilen Client Object model

Erstellen Sie eine Windows Phone-app, die die Microsoft Pushbenachrichtigungsdienst wird verwendet, um das mobile Gerät von Ereignissen in SharePoint warnen

Mobilen Client Object Model und das Serverobjektmodell

Erstellen eines iOS oder Android app, die ausführt CRUD-Vorgänge für SharePoint-Daten

REST/OData-Endpunkten

Erstellen Sie eine .NET Framework -Anwendung, die ausführt CRUD-Vorgänge für SharePoint-Daten

.NET Framework -clientobjektmodell

Erstellen Sie eine Silverlight -Anwendung, die ausführt CRUD-Vorgänge für SharePoint-Daten

Silverlight -clientobjektmodell

Erstellen Sie eine HTML /JavaScript -Anwendung, die CRUD-Vorgänge für SharePoint-Daten ausführt

JavaScript -clientobjektmodell

Erstellen einer App für Office an, das mit SharePoint

JavaScript -clientobjektmodell

Erstellen eines benutzerdefinierten Windows PowerShell -Befehls

Serverobjektmodell

Erstellen eines Zeitgeberauftrags

Serverobjektmodell

Erstellen Sie eine Erweiterung der Zentraladministration

Serverobjektmodell

Erstellen Sie konsistente branding über eine gesamte SharePoint-farm

Serverobjektmodell

Erstellen Sie ein benutzerdefiniertes Webpart, Anwendungsseite oder ASP.NET -Benutzersteuerelement

Serverobjektmodell

Wichtiger Hinweis Wichtig

Wenn die Funktionalität, die Sie den Kunden anbieten möchten nicht auf SharePoint-Zentraladministration in einem Bereich breiter als Websitesammlung ausgerichtet ist, wird empfohlen, anstatt das Serverobjektmodell, Sie ein App für SharePoint , die eine Webanwendung remote ASP.NET mit benutzerdefinierten Webparts und Benutzersteuerelemente enthält erstellen nach Bedarf.Finden Sie unter die ersten zwei Zeilen dieser Tabelle.

Der größte Satz von APIs befindet sich in das Serverobjektmodell erfolgt.Auf der Ebene der SharePoint Foundation 2013enthält dieses Objektmodell Klassen und Member, mit die programmgesteuerten Kontrolle von der Website- und Listenschemas Grundstruktur SharePoint Foundationkönnen.Die meisten dieser Klassen befinden sich im Namespace Microsoft.SharePoint .Darüber hinaus können Sie beinahe jede Komponente SharePoint Foundation erweitern mithilfe des Servers-Objektmodell, einschließlich der Workflows, Benachrichtigungen, Webparts, einfache Suche und Microsoft Business Connectivity Services (BCS).Das Serverobjektmodell enthält auch eine umfassende Sammlung APIs aktivieren Erweiterungen des Systems Verwaltungs- und Sicherheit der SharePoint Foundation, einschließlich der Sicherung, Farm Integrität und Diagnose, Protokollierung, Farm und Verwaltung von Webanwendungen, Upgrade, Bereitstellung, Zwischenspeicherung und Windows PowerShell Anpassungen.

Auf der Ebene der SharePoint Server 2013werden viele weitere Klassen hinzugefügt, um Programmierung von Enterprise Content Management (ECM), Benutzerprofile, Taxonomie, erweiterte Suche und andere Features von SharePoint Server 2013zu aktivieren.

Sie können die LINQ to Objects verwenden, um alle IEnumerable -Auflistung im Speicher Abfragen, aber eine LINQ to SharePoint provider ermöglicht das direkte Abfragen von Listen in der SharePoint-Inhaltsdatenbanken.Streng genommen, steht diesem Anbieter nicht mit einer anderen Reihe von APIs, die in diesem Thema behandelten; gibt es jedoch Möglichkeiten zur Verwendung von LINQ-Syntax in den meisten anderen.

Die Assemblys, mit die die integrierten serverseitige-Klassen definiert werden bei der Installation von SharePoint 2013 im globalen Assemblycache der einzelnen Server installiert.Wenn Sie das Serverobjektmodell programmieren, werden Ihre Assemblys als Farmlösungen im globalen Assemblycache installiert.

Hinweis Hinweis

Entwickeln neuer Lösungen mit eingeschränkter Sicherheitsstufe gegen SharePoint 2013 ist für die Entwicklung von Apps für SharePointveraltet, aber Lösungen mit eingeschränkter Sicherheitsstufe können weiterhin auf Websitesammlungen auf SharePoint 2013installiert werden.Die Assemblys dieser Lösungen verbleiben in dem Paket nur wenn sie tatsächlich verwendet, werden diesem Zeitpunkt sie vorübergehend in einen Ordner auf dem Server installiert sind.Weitere Informationen finden Sie unter Where are Assemblies in Sandboxed Solutions Deployed?.

Einschränkungen für das wenn Sie das Serverobjektmodell verwenden können

Benutzerdefinierte Geschäftslogik in Apps für SharePoint ist immer "down" an den Client oder verteilt "bis" in die Cloud (oder "over" mit einem Server außerhalb der SharePoint-farm).All dieser Verteilergruppe-Modelle muss eine der clientobjektmodelle oder die REST/OData-Endpunkte verwendet werden.(Sie können nicht das Serverobjektmodell in einer App für SharePointverwenden.) Beispielsweise wenn die Webanwendung SharePoint gehosteter Seiten enthält, können diese Seiten SharePoint-Daten zugreifen mithilfe des clientobjektmodells JavaScript .Solche Seiten konnte auch Silverlight -Anwendungen verwenden, die das SharePoint 2013 Silverlight -Client-Objektmodell verwenden.Weitere Informationen zu Apps für SharePointfinden Sie unter Wichtige Aspekte der Architektur und Entwicklungslandschaft von Apps für SharePoint.

SharePoint 2013 hat drei clientobjektmodelle für verwalteten Code: .NET Silverlight und Mobile.

.NET-Clientobjektmodell

Das SharePoint 2013 -Objektmodell für .NET Framework wird in .NET Framework -Anwendungen verwendet werden, die auf einem Telefon Client ausgeführt.Eines der folgenden zählt als solche ein Clients:

  • Dem Computer eines Benutzers

  • Ein Server, der außerhalb der Farm SharePoint 2013 ist

  • Eine Webserverrolle oder Worker-Rolle auf Windows Azure

Beinahe jede Klasse in der Website- und Listenschemas Server Kernobjektmodell hat eine entsprechende Klasse im .NET Framework -Client-Objektmodell.Darüber hinaus stellt das .NET Framework -Client-Objektmodell eine umfassende APIs für andere Features, einschließlich einige SharePoint Server 2013 Features wie ECM, Taxonomie, Benutzerprofile, erweiterte Suche, Analytics, BCS, und andere erweitern.

Zur Verbesserung der Leistung werden in das clientobjektmodell .NET Framework gegen geschriebenen Codezeilen auf dem SharePoint-Server in Batches gesendet, wo sie in serverseitigem Code konvertiert und ausgeführt werden.Die abgefragte Ergebnisse und den neuen Zustand aller Variablen, werden dann an den Client zurückgegeben.Sie als Entwickler ermitteln, ob ein Batch synchron oder asynchron ausgeführt wird.(In einem Batch synchrone wartet die .NET Framework -Anwendung für den zurückgegebenen Ergebnissen vom Server bevor Sie fortfahren; in einer asynchronen Batch mithilfe der clientseitigen die Verarbeitung wird sofort und die Client-Benutzeroberfläche (UI) weiterhin reagiert.)

Sie können LINQ-Abfragesyntax im Clientcode verwenden, Abfragen jedes IEnumerable Objekt gilt, einschließlich SharePoint 2013 -Objekte, die IEnumerableimplementieren.Jedoch, wenn Sie dies tun, verwenden Sie LINQ to Objects, nicht die LINQ to SharePoint provider, damit eine Dokumentation der da letztere nicht mithilfe der clientseitigen Code relevant ist.

Die-Assemblys für das clientobjektmodell .NET Framework müssen auf dem Client installiert werden.Sie sind in einem redistributable-Paket enthalten, die Sie auf der SharePoint-Clientkomponentenherunterladen können.(Wenn aus irgendeinem Grund, die Vorschau-Version von der redistributable nicht alle benötigten Dateien vorhanden ist, können Sie die fehlenden Dateien aus dem %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ ISAPI-Ordner auf einem beliebigen Server SharePoint 2013 erhalten.)

Beispiele für die Verwendung des Objektmodells .NET Framework finden Sie unter Gewusst wie: Ausführen grundlegender Vorgänge unter Verwendung von SharePoint 2013-Clientbibliothekscode.

Hinweis Hinweis

Sie können auch die SharePoint-REST-/ OData-Endpunkte in einer .NET Framework -Anwendung verwenden.Einen Vergleich der des .NET Framework -clientobjektmodells mit den SharePoint-REST-/ OData-Endpunkten finden Sie im Abschnitt REST/OData-Endpunkten weiter unten in diesem Artikel.

Silverlight-Clientobjektmodell

Das SharePoint 2013 -Objektmodell für Silverlight wird verwendet, in Silverlight -Anwendungen, unabhängig davon, wo die kompilierte XAP-Datei gespeichert wird.Es kann in einer aktiven-Bibliothek auf einer Website SharePoint 2013 auf einem Clientcomputer in der Cloud-Speicher oder auf einen externen Server sein.In der Regel wird eine Silverlight -Anwendung im SharePoint 2013 in einem SilverlightWebPart -Objekt angezeigt.Des Silverlight -clientobjektmodells in SharePoint 2013 ist fast identisch mit der .NET Framework Client Object Model, und es bietet Unterstützung für den gleichen Erweiterbarkeit-Bereichen.Der Hauptunterschied, die in der Version Silverlight ist, werden alle Batches von Befehlen zum Server asynchron gesendet, damit die Benutzeroberfläche der Anwendung aktiv bleibt.

Die-Assemblys für die Silverlight -clientobjektmodell werden auf jedem Server SharePoint 2013 unter %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\ClientBin beibehalten.Sie müssen nicht auf dem Computer mit die Anwendung Silverlight , installiert werden, auch wenn Sie die Option, damit haben.Darüber hinaus können Sie sie in die XAP-Datei der Anwendung packen.

Silverlight XAP-Dateien können in Apps für SharePoint, einschließlich SharePoint-gehostete Anwendungen enthalten sein.In diesem Fall wird die XAP-Datei in einer Bibliothek im Web appbereitgestellt.(Weitere Informationen zu app-Webs finden Sie unter Hostwebsites, App-Websites und SharePoint-Komponenten in SharePoint 2013.) Dadurch wird eine Silverlight -Anwendung sinnvoll einschließlich benutzerdefinierten SharePoint-code in einer Webanwendung, da benutzerdefinierter serverseitigem Code in Apps für SharePointnicht zulässig ist.Es kann auch Silverlight Entwickler ihre vorhandenen Kenntnisse zum Erstellen von SharePoint 2013 -Anwendungen mit ein minimaler Lernprozess verwenden.

Hinweis Hinweis

Sie können auch die SharePoint-REST-/ OData-Endpunkte in einer Silverlight -Anwendung verwenden.Einen Vergleich der des Silverlight -clientobjektmodells mit den SharePoint-REST-/ OData-Endpunkten finden Sie im Abschnitt REST/OData-Endpunkten weiter unten in diesem Artikel.

Mobile-Objektmodell

Eine spezielle Version des clientobjektmodells für den Silverlight ist für Windows Phone-Geräten verfügbar.Sie umfasst einige zusätzliche APIs, die nur für Telefone, z.B.APIs relevant sind, mit die eine Telefon app für Benachrichtigungen von der Microsoft Pushbenachrichtigungsdienst registrieren können.Es werden alle wesentlichen SharePoint 2013 -Funktionen unterstützt; jedoch ist es keinem Bereich Übrige Erweiterbarkeit unterstützen, die von der anderen zwei clientobjektmodelle für verwalteten Code unterstützt werden.Verwenden Sie für den Zugriff auf die zusätzliche Bereiche der SharePoint-REST-/ OData-Endpunkte in Ihrer mobilen app.Siehe Abschnitt REST/OData-Endpunkten weiter unten in diesem Artikel.

Die Assemblys für das mobile-Objektmodell werden auf jedem Server SharePoint 2013 unter %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\ClientBin beibehalten.Sie verpacken sie in die XAP-Datei der Anwendung Windows Phone.

SharePoint 2013 stellt eine Objektmodell JavaScript für die Verwendung in einer Linie-Skript oder separaten JS-Dateien.Sie umfasst alle die gleiche Funktion wie die .NET Framework und Silverlight clientobjektmodelle.Wie die Silverlight Client Object Model ist das Objektmodell für JavaScript sinnvoll einbinden von benutzerdefinierten SharePoint-Code in einer Webanwendung, da benutzerdefinierter serverseitigem Code in Apps für SharePointnicht zulässig ist.Sie können auch Webentwickler ihre vorhandenen Kenntnisse JavaScript zum Erstellen von SharePoint-Anwendungen mit ein minimaler Lernprozess verwenden.

Genau wie die verwalteten Code clientobjektmodelle interagiert mit der Farmserver in Batches die JavaScript -Infrastruktur für SharePoint 2013 .Dieser Batches Ausführung immer asynchrone.Darüber hinaus kann jetzt Zugriff auf SharePoint-Daten in Domänen in JavaScript (aber nur Daten, die innerhalb der gleichen Websitesammlung übergeordneten ist), die wurde nicht in früheren Versionen von SharePoint zulässig.Weitere Informationen finden Sie unter Vorgehensweise: Zugreifen auf SharePoint 2013-Daten über Remote-Apps mithilfe der domänenübergreifenden Bibliothek.Daten werden vom Server in JavaScript Object Notation (JSON)zurückgegeben.

Das Objektmodell JavaScript ist in einer Reihe von JS-Dateien befindet sich unter %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS auf jedem Server definiert.

Beispiele für die Verwendung des Objektmodells .NET Framework finden Sie unter Gewusst wie: Ausführen grundlegender Vorgänge unter Verwendung von JavaScript-Bibliothekscode in SharePoint 2013.

Hinweis Hinweis

Sie können auch die SharePoint-REST-/ OData-Endpunkte in einer JavaScript -Anwendung verwenden.Einen Vergleich der des JavaScript -clientobjektmodells mit der SharePoint-REST/OData-Endpunkten finden Sie unter den folgenden Abschnitt REST/OData-Endpunkten.

Für Szenarien, in denen Sie SharePoint Entitäten von Clienttechnologien zugreifen, die nicht JavaScript verwenden und nicht auf die .NET Framework oder Silverlight Plattformen integriert werden müssen, stellt SharePoint 2013 eine Implementierung eines Webdiensts Representational State Transfer (REST), die die OData-Protokoll verwendet, um CRUD-Vorgänge für SharePoint-Listendaten auszuführen.Darüber hinaus ist fast jeder-API in den clientobjektmodellen einen entsprechenden REST-Endpunkt.Code direkt mit SharePoint-Artefakte mithilfe einer Technologie für die standard-HTTP-Anforderungen und-Antworten unterstützt interagieren können.Um die Nutzung der REST-Funktionen, die in SharePoint 2013integriert sind, erstellt der Code eine Rest HTTP-Anforderung an einen Endpunkt, der die die gewünschte Client Objektmodell-API entspricht.Der client.svc-Webdienst behandelt die HTTP-Anforderung und Antwort im Format Atom oder JSON dient.

Weitere Informationen zur Verwendung des REST/OData-Webdiensts finden Sie unter dem Knoten Programmieren mit dem SharePoint 2013 REST-Dienst  ; Beispiele finden Sie unter dem Thema Gewusst wie: Ausführen grundlegender Vorgänge unter Verwendung von SharePoint 2013-REST-Endpunkten.

Vergleich zwischen REST/OData-Programmierung mit Client Objektmodell-Programmierung

In manchen Situationen möglicherweise die REST-Endpunkte auch in Anwendungen verwendet für die ein SharePoint-Objektmodell verfügbar, insbesondere für Entwickler ist, die nicht über Windows-Entwicklungsumgebung verfügen.Die folgende Tabelle enthält einen Vergleich der Hauptfeatures des diese Programmierung Auswahlmöglichkeiten für Entwickler Erstellen einer Dienstanwendung auf einer Windows-Plattform oder eine Plattform, die JavaScriptunterstützt.

Funktion

.NET Framework oder Silverlight -Objektmodelle

JavaScript -Objektmodell

REST/OData-Endpunkte aufgerufen wird, aus einer Windows-Plattform oder JavaScript

Objektorientierte Programmierung

Yes

Yes

No

Batchverarbeitung

Yes

Yes

No

APIs für bedingte Verarbeitung und Ausnahmebehandlung

Yes

No

No

Verfügbarkeit von LINQ-syntax

Yes

No

No

Kombinieren von Listendaten aus verschiedenen SharePoint-Webanwendungen

Yes

No

Yes

Vertrautheit für erfahrene REST/OData-Entwickler

No

No

Yes

Ähnlichkeit mit nicht-Windows-Programmierung oder JavaScript-Programmierung

No

Yes

Yes

Starke Typisierung für Felder für Listenelemente

Nein (außer bei LINQ)

No

Ja, aus der Windows-Plattform
Nein, aus JavaScript

Nutzung von jQuery-Ko und andere JavaScript-Bibliotheken

No

Yes

Nein, aus der Windows-Plattform
ja, aus JavaScript

Wenn Sie LINQ-Syntax in .NET Framework oder Silverlight -Client-Anwendungen zu verwenden lieber, unterstützt SharePoint 2013WCF-Datendienste als ein LINQ-Anbieter.Sie können entweder die listdata.svc (für die nur Listendaten) wie in früheren Versionen von SharePoint FoundationZiel, oder Sie können die gleichen client.svc, die die OData-Schnittstelle für den Zugriff auf alle SharePoint-Entitäten neben Listendaten unterstützt Ziel.Weitere Informationen finden Sie unter Query SharePoint Foundation with ADO.NET Data Services.

Abbildung 2 zeigt die Beziehung zwischen den verschiedenen Client-APIs, verschiedenen Typen von Client-Anwendungen und SharePoint.Die verschiedenen _api * URLs sind die farmbezogene-URLs für die REST-Endpunkte.Weitere Informationen finden Sie unter das Thema mehr über den SharePoint 15-REST-Dienst  .

Abbildung 2.Client-Anwendungen und APIs in SharePoint

Programmiermodell für Apps für SharePoint

Zwei API-Sätze werden weiterhin im Rahmen SharePoint 2013 für Abwärtskompatibilität unterstützt, aber es wird empfohlen, dass Sie sie nicht für neue Projekte verwenden: die ASP.NET (asmx) web servicesund direct Remote Procedure Calls (RPC) calls to the owssvr.dll -Datei.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

© 2013 Microsoft. Alle Rechte vorbehalten.