Clientseitiges Objektmodell (CSOM) für Project 2013

Das clientseitige Objektmodell (CSOM) von Project Server 2013 implementiert allgemeine Serverfunktionen. Das clientseitige Objektmodell von Project Server umfasst ein clientseitiges Objektmodell für Microsoft .NET Framework, ein clientseitiges Objektmodell für Microsoft Silverlight, ein clientseitiges Objektmodell für Windows Phone 8 und ein JavaScript-Objektmodell (JSOM). Außerdem umfasst das CSOM einen OData-Dienst, der eine REST-Schnittstelle aktiviert. Die REST-Schnittstelle dient in erster Linie der Entwicklung von Apps auf Nicht-Windows-Plattformen, wie z. B. iOS und Android.

Hinweis

Lösungen für Project Online müssen das CSOM verwenden. Lokale Apps können jedoch entweder das CSOM oder die Project Server-Schnittstelle (PSI) verwenden. Wenn das CSOM die Funktionalität umfasst, die Sie verwenden möchten, empfehlen wir, dass Sie das CSOM für neue Apps verwenden.

In CSOM-Erweiterungen bietet das ProjectContext-Objekt den Einstiegspunkt für Serverinhalte und -funktionen. Das .NET-CSOM, das Silverlight-CSOM und das Windows Phone-CSOM verwenden das Microsoft.ProjectServer.Client.ProjectContext-Objekt, und das JSOM verwendet das PS.ProjectContext-Objekt. ProjectContext-Eigenschaften bieten direkten Zugriff auf Project Server-Kernobjekte in der aktuellen Project-Web-App-Websitesammlung. Informationen zum Speicherort der CSOM-Assemblys und der JavaScript-Datei finden Sie unter Microsoft.ProjectServer.Client.

Apps und das Sicherheitsmodell Apps müssen für CRUD-Vorgänge (Create, Read, Update, Delete) das CSOM mit Project Server 2013 und Project Online verwenden. Project-Apps verwenden nicht das Nur-App-Authentifizierungsmodell in SharePoint 2013. Eine Project Server-App erfordert einen bestimmten Berechtigungsanforderungsumfang, der angibt, in wessen Auftrag Befehle ausgeführt werden sollen.

REST-Abfragen Sie können REST-Abfragen des CSOM-OData-Diensts erstellen, ohne die Metadaten zu verbrauchen. Einige Drittanbietertools ermöglichen die Verwendung der .NET-Assemblys für das CSOM, um Apps für andere Geräte zu entwickeln. Suchen Sie im Internet z. B. nach „plattformübergreifende .NET-Entwicklungstools für iOS oder Android“.

Hinweis

Obwohl die Option $metadata für den ProjectData-Berichtsdienst gültig ist ( https://ServerName/pwaName/_api/ProjectData/$metadata), wurde die $metadata-Option für den ProjectServer-Dienst des CMOS in der veröffentlichten Version von Project Server 2013 entfernt. Um die CSOM-Objekte und Elemente zu suchen, die als REST-Endpunkte zur Verfügung stehen, lesen Sie die Informationen unter JavaScript-Bibliothek und REST-Referenz für Project Server 2013.

Sie können die https://ServerName/pwaName/_api/ProjectServer-Abfrage verwenden, um die im CSOM über die REST-Oberfläche verfügbaren Entitäten anzuzeigen. Bei REST-Abfragen spiegelt die ProjectServer-Entität die Eigenschaften des ProjectContext-Objekts in der verwalteten Assembly „Microsoft.ProjectServer.Client.dll“ und des PS.ProjectContext-Objekts im JSOM wider. Sie können zum Beispiel Ihren Browser verwenden, um Informationen von der CSOM zu Projekten in PWA, zu den Zuweisungen in einem bestimmten Projekt und zum Aufgabennamen einer angegebenen Zuweisung für eine angegebene Ressource abzurufen, indem Sie die folgenden Abfragen verwenden (jede Abfrage verwendet dasselbe https://ServerName/pwaName/_api-URL-Präfix). Die GUIDs sind Beispielwerte für Project.Id, EnterpriseResource.Id und Assignment.Id.

/ProjectServer/Projects
/ProjectServer/Projects('263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
/ProjectServer/EnterpriseResources('28eeb2b5-fe74-4efc-aa35-6a64514d1526')/Assignments('a2eafeb5-437c-e111-92fc-00155d3ba208')/Task?$select=Name

Im Gegensatz zur OData-Schnittstelle für den ProjectData-Dienst, die für die Berichterstellung schreibgeschützt ist, können Sie CRUD-Vorgänge mithilfe von REST-Abfragen mit dem ProjectServer-Dienst ausführen. REST-Abfragen für das Project Server-CSOM wurden in erster Linie für andere Plattformen als Windows-Desktop entworfen, z. B. Windows RT, iOS und Android. Für Windows-Desktop und Serverplattformen wie Windows 7, Windows 8 und Windows Server 2008 R2, können Sie die CSOM-verwalteten Assemblys verwenden. Bei Web-Apps können Sie PS.js für JavaScript verwenden. Informationen zum Ausführen von CRUD-Vorgängen mithilfe von REST-Abfragen finden Sie im Thema Verwenden von OData-Abfragevorgängen in SharePoint REST-Anforderungen im SharePoint 2013 SDK. Weitere Informationen zur Verwendung des ProjectData-Diensts finden Sie unter Abfragen von OData-Feeds für Project-Berichtsdaten.

In Tabelle 1 sind die ProjectContext-Eigenschaften aufgeführt, die Project Server-Objekte darstellen. Sie können diese Objekte verwenden, um andere Project Server 2013-Entitäten, z. B. Zuweisungen und Aufgaben, abzurufen.

Tabelle 1. ProjectContext-Eigenschaften, mit denen auf Project Server-Objekte im CSOM und JSOM zugegriffen werden kann

CSOM (.NET, Silverlight und Windows Phone) JSOM
CustomFields
customFields
EnterpriseProjectTypes
enterpriseProjectTypes
EnterpriseResources
enterpriseResources
EntityTypes
entityTypes
EventHandlers
eventHandlers
Ereignisse
Ereignisse
LookupTables
lookupTables
Phases
phases
Projekte
projects
Stages
stages
WorkflowActivities
workflowActivities
WorkflowDesigner
workflowDesigner

Inhalt dieses Abschnitts

Unter Erste Schritte mit dem Project Server-CSOM und .NET finden Sie grundlegende Informationen zum Project Server-CSOM und zu .NET-Anweisungen zum Erstellen einer einfachen .NET-CSOM-Erweiterung in Visual Studio 2012 und Codebeispiele.

Unter Erste Schritte mit dem Project Server 2013-JavaScript-Objektmodell finden Sie grundlegende Informationen zum Project Server-JSOM, Anweisungen zum Erstellen einer einfachen JSOM-Erweiterung in Visual Studio 2012 und Codebeispiele.

Lesen Sie auch die folgenden Artikel, in denen die Verwendung des CSOM erläutert wird:

Hinweis

Sie können auch Visual Studio 2010 für die .NET Framework 4-Entwicklung mit dem CSOM verwenden.

Referenz

Microsoft.ProjectServer.Client

Siehe auch

Project Server 2013-ArchitekturWählen Sie den richtigen API-Satz in SharePoint 2013