Entwickeln von SharePoint Online-Lösungen

SharePoint 2010

Von SharePoint Online wird eine robuste, flexible Entwicklungsoberfläche bereitgestellt, mit der Entwickler benutzerdefinierte Lösungen erstellen können, indem sie eine zentrale Teilmenge der Entwicklungsoptionen verwenden, die beim Entwickeln für SharePoint vor Ort verfügbar sind.

Letzte Änderung: Montag, 17. Oktober 2011

Gilt für: SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Server 2010

Inhalt dieses Artikels
Entwickeln von SharePoint Online-Lösungen
Entwickeln für SharePoint Online mithilfe von Sandkastenlösungen
Zugreifen auf SharePoint Online-Daten über die Clientobjektmodelle

Verfügbar in SharePoint Online

Weil SharePoint Online-Administratoren Websitesammlungen in SharePoint Online besitzen und verwalten, und nicht vollständige Farminstallationen, bezieht sich der Entwicklungsansatz bei SharePoint Online notwendigerweise ausschließlich auf die Websitesammlung.

Da die Entwicklung in SharePoint Online auf die Websitesammlungsebene beschränkt ist, bilden zwei Entwicklerfeatures die Basis für das Erstellen von benutzerdefinierten SharePoint Online-Lösungen:

  • Sandkastenlösungen   Sandkastenlösungen stellen die Rahmenbedingungen für die Entwicklung sowie für das Hochladen und Aktivieren von SharePoint Online-Lösungen mit benutzerdefiniertem Code in SharePoint Online bereit. Sandkastenlösungen werden in einer Umgebung ausgeführt, die auf eine zentrale Teilmenge des Serverobjektmodells zugreifen kann. Das Framework für Lösungen mit eingeschränkter Sicherheitsstufe ermöglicht Entwicklern den Zugriff auf die wichtigsten Objekte auf Ebene der Websitesammlung und darunter.

  • Clientobjektmodell   Das Clientobjektmodell stellt drei parallele, vergleichbare Darstellungen der zentralen Objekte im serverseitigen SharePoint-Objektmodell bereit: ein verwaltetes Microsoft .NET Framework-Modell, ein Microsoft Silverlight-Modell und ein ECMAScript (JavaScript, JScript)-Modell. Diese Clientobjektmodelle ermöglichen den Remotezugriff auf SharePoint-Daten und -Funktionen.

    Darüber hinaus können Sie mithilfe von clientseitigem Code auf die von SharePoint Online zur Verfügung gestellten Webdienste und externen Datenquellen zugreifen. Deshalb ist clientseitiger Code nützlich, wenn Sie entweder auf zusätzliche Objekte, die nicht in Lösungen mit eingeschränkter Sicherheitsstufe enthalten, dafür aber über einen SharePoint Online-Webdienst verfügbar sind, oder auf externe Daten zugreifen müssen.

Abbildung 1 zeigt diese Entwicklungsoptionen:

  • Verwenden des für Sandkastenlösungen verfügbaren Serverobjektmodells.

  • Verwenden des Clientobjektmodells und von clientseitigem Code zum Zugreifen auf zusätzliche Daten, die über die SharePoint-Webdienste verfügbar sind, oder auf Daten aus externen Quellen.

Beachten Sie, dass das SharePoint-Webpart tatsächlich in SharePoint Online ausgeführt wird. Der clientseitige Code, auf den es verweist, wird allerdings auf den Client heruntergeladen und dort ausgeführt, wobei für die Datenübertragung mithilfe des SharePoint-Clientobjektmodells eine Verbindung zurück zu SharePoint Online hergestellt wird.

Abbildung 1. SharePoint Online-Entwicklungsoptionen

Entwicklungsoptionen in SharePoint Online

Für die SharePoint Online-Entwicklung verwenden Sie dasselbe Framework zum Packen und Bereitstellen von Lösungen mit benutzerdefiniertem Code wie für eine SharePoint-Installation vor Ort: das Lösungsframework. Beim Entwickeln für SharePoint Online erstellen Sie einen spezifischen Lösungstyp, eine so genannte Lösung mit eingeschränkter Sicherheitsstufe. Mithilfe einer Lösung mit eingeschränkter Sicherheitsstufe können SharePoint Online-Administratoren eigene Lösungen mit benutzerdefiniertem Code hochladen.

Eine Lösung mit eingeschränkter Sicherheitsstufe funktioniert ähnlich wie eine (voll vertrauenswürdige) Farmlösung. Beispielsweise können Sie bei Lösungen mit eingeschränkter Sicherheitsstufe alle Komponenten, die zum Erweitern von SharePoint Online verwendet werden können, in einer einzelnen neuen Datei bündeln, einer so genannten Lösungsdatei. Eine Lösung mit eingeschränkter Sicherheitsstufe ist ein bereitstellbares, wiederverwendbares Paket, das einen Satz von Features, Websitedefinitionen und Assemblys für Websites enthalten kann und das Sie einzeln aktivieren oder deaktivieren können. Mithilfe der Datei der Lösung mit eingeschränkter Sicherheitsstufe können Sie den Inhalt eines Webpartpakets einschließlich aller Assemblys, Klassenressourcen, Webpart-Beschreibungsdateien (DWP-Dateien) und anderen Paketkomponenten bereitstellen.

Sandkastenlösungen unterscheiden sich in erster Linie durch die Bereitstellung und den Umfang des Zugriffs auf das Serverobjektmodell von Farmlösungen. Sandkastenlösungen werden in einem separaten Prozess ausgeführt, der auf eine zentrale Teilmenge des Serverobjektmodells zugreifen kann. In einem Lösungskatalog werden alle Lösungen mit eingeschränkter Sicherheitsstufe gespeichert. Zusätzlich wird Lösungen mit eingeschränkter Sicherheitsstufe eine benutzerdefinierte Richtlinie für die Codezugriffssicherheit zugewiesen.

Informationen zu den Funktionen und Elementen, die in Lösungen mit eingeschränkter Sicherheitsstufe verwendet werden können, sowie zur Codezugriffssicherheits-Richtlinie für Lösungen mit eingeschränkter Sicherheitsstufe und zur Ressourcenüberwachung von Lösungen mit eingeschränkter Sicherheitsstufe finden Sie unter Architektur von Sandkastenlösungen.

Eine Liste der Typen und Mitglieder des in Lösungen mit eingeschränkter Sicherheitsstufe verfügbaren Serverobjektmodells finden Sie unter In Sandkastenlösungen verfügbare Microsoft.SharePoint.dll-APIs.

Entwicklungsprozess für SharePoint Online-Lösungen

Nachfolgend sind die grundlegenden Schritte beim Erstellen, Bereitstellen und Aktivieren von Sandkastenlösungen für SharePoint Online aufgeführt:

  1. Entwickeln und Testen der Lösung

    Zum Erstellen oder Anpassen von SharePoint Online-Lösungen müssen Sie die Lösung auf einem lokalen Computer entwickeln, auf dem SharePoint Server 2010 oder SharePoint Foundation 2010 installiert ist. Hierzu gehört auch das Debuggen der Lösung. Es ist nicht möglich, die Lösung direkt in SharePoint Online zu debuggen.

    Nachdem Sie die Entwicklungsumgebung eingerichtet haben, können Sie mithilfe von Visual Studio 2010 die Lösungen mit eingeschränkter Sicherheitsstufe erstellen. Als Tool für die schnelle Entwicklung von SharePoint-Lösungen bietet Visual Studio 2010 Features wie erweiterte Debugtools, IntelliSense, Anweisungsvervollständigung und Projektvorlagen. Visual Studio 2010 bietet eine Reihe von Spezialvorlagen für die Erstellung von SharePoint-Elementen für Ihre Lösungen mit eingeschränkter Sicherheitsstufe. Außerdem können Lösungspaketdateien (WSP-Dateien) in Visual Studio 2010 geöffnet und bearbeitet werden, die in SharePoint Designer 2010 erstellt wurden. Dies ermöglicht eine enge Zusammenarbeit zwischen Designern und Entwicklern im Rahmen eines gemeinsamen Frameworks.

    Weitere Informationen zum Einrichten der Entwicklungsumgebung, Hardwareempfehlungen, Betriebssystem- und Hyper-V-Optionen sowie Voraussetzungen finden Sie unter Einrichten der Entwicklungsumgebung für SharePoint 2010 unter Windows Vista, Windows 7 und Windows Server 2008.

    Informationen zum Verwenden und Anpassen von Visual Studio 2010 für maximale Effizienz finden Sie unter Verwenden von Visual Studio für die SharePoint-Enwicklung.

  2. Bereitstellen und Aktivieren der Lösung

    Nach dem Erstellen und Debuggen der Lösungen mit eingeschränkter Sicherheitsstufe auf dem lokalen Computer müssen Sie die Lösung an den SharePoint Online-Administrator übergeben, falls Sie nicht selbst über SharePoint Online-Administrationsberechtigungen verfügen. Der SharePoint Online-Administrator lädt die Lösungspaketdatei (WSP-Datei) zur Aktivierung in den Lösungskatalog hoch.

    Weitere Informationen finden sie unter Deploying a Sandboxed Solution.

    Wenn Sie die Lösung für die Benutzer verfügbar machen möchten, müssen Sie sie aktivieren. Falls das Paket Ihrer Lösung mit eingeschränkter Sicherheitsstufe ein Feature enthält, das auf die Ebene der Websitesammlung ausgelegt ist, wird es automatisch aktiviert. Jedes Feature, das auf die Websiteebene ausgelegt ist, muss auf der Seite Websitefeatures verwalten unter http://servername/site/subsite/_layouts/managefeatures.aspx aktiviert sein.

  3. Überwachen der aktivierten Lösung

    Aktivierte Lösungen werden im Hinblick auf die verbrauchten Ressourcen überwacht. Die Leistung der Lösung kann durch verschiedene Messgrößen, beispielsweise die CPU-Ausführungsdauer, die Speicherauslastung sowie die Dauer von Datenbankabfragen, überwacht werden.

In Abbildung 2 sind die Hauptschritte des Entwicklungsprozesses für eine Lösung mit eingeschränkter Sicherheitsstufe in SharePoint Online dargestellt.

Abbildung 2. Entwicklung einer Sandkastenlösung in SharePoint Online

Entwicklungsprozess für Sandkastenlösungen

Eine Referenzimplementierung einer Lösung mit eingeschränkter Sicherheitsstufe sehen Sie unter Referenzimplementierung: Das Sandkastenausführungsmodell.

Schulungen zu Lösungen mit eingeschränkter Sicherheitsstufe finden Sie unter Sandkastenlösungen auf Channel 9.

Zusätzliche Lösungseinschränkungen in SharePoint Online

Da es sich um eine mehrinstanzenfähige Umgebung handelt, werden von SharePoint Online, zusätzlich zu den üblichen Validierungsüberprüfungen für lokal gehostete SharePoint-Installationen, weitere Überprüfungen durchgeführt, wenn Sie ein Lösung mit eingeschränkter Sicherheitsstufe in den Lösungskatalog hochladen. Ein Lösung mit eingeschränkter Sicherheitsstufe kann nicht aktiviert werden, wenn es Code enthält, durch den einer der folgenden Namespaces aufgerufen wird:

Folgende Typen und Member können nicht durch Code in einem Lösung mit eingeschränkter Sicherheitsstufe in SharePoint Online aufgerufen werden:

SharePoint Online enthält drei Clientobjektmodelle, die jeweils ungefähr dieselbe Teilmenge des Serverobjektmodells bereitstellen, die in Microsoft.SharePoint.dll definiert ist. Die Clientobjektmodelle JavaScript, verwaltetes .NET Framework und Silverlight enthalten jeweils Objekte für die wichtigsten Objekte auf Ebene der Websitesammlung oder darunter in der SharePoint-Hierarchie. Die Objektmodelle stellen ein einheitliches und benutzerfreundliches, objektorientiertes System für die Interoperation mit SharePoint-Daten von einem Remoteclient oder -server aus bereit.

Da für die Clientobjektmodelle geschriebener Code remote auf dem Client ausgeführt wird, gelten für ihn nicht dieselben Einschränkungen wie für Lösungen mit eingeschränkter Sicherheitsstufe. Somit kann er auf externe Datenquellen zugreifen.

Für eine bessere Sicherheit und Leistung enthalten die Clientobjektmodelle nur die relevantesten APIs für die Cliententwicklung, nicht alle Typen und Mitglieder, die im Serverobjektmodell abgebildet sind. Durch den beschränkten Umfang der Clientbibliotheken wird die Dauer für das Herunterladen der Bibliotheken im Kontext von Silverlight und JavaScript reduziert. Außerdem minimieren die neuen APIs die Anzahl der Roundtrips, die für häufige Aktionen implementiert werden müssen.

Die Clientobjektmodelle werden über Proxy-JS-Dateien und verwaltete DLL-Dateien bereitgestellt, auf die in benutzerdefinierten Anwendungen wie auf andere Objektmodelle verwiesen werden kann. Die Objektmodelle sind als ein Windows Communication Foundation (WCF)-Dienst implementiert, sie verwenden jedoch Webbindungen, um eine effiziente Batchverarbeitung von Anforderungen zu implementieren. Alle Vorgänge sind inhärent asynchron, und Befehle werden in XML serialisiert und in einer einzelnen HTTP-Anforderung an den Server gesendet. Für jeden Befehl erfolgt ein entsprechender Aufruf des Serverobjektmodells, und der Server gibt eine Antwort auf den Client im komprimierten JavaScript Object Notation (JSON)-Format zurück, die vom Proxy analysiert und entsprechenden Objekten zugeordnet wird.

In Abbildung 3 ist der Ablauf der Aufrufe und Antworten für Clientobjektmodelle dargestellt.

Abbildung 3. Architektur der SharePoint-Clientobjektmodelle

Architektur des SharePoint-Clientobjektmodells

Mit den auf dem Client ausgeführten Programmen und einem der Clientobjektmodelle können Sie Listen hinzufügen und entfernen, Listenelemente hinzufügen, aktualisieren und löschen, Dokumente in Dokumentbibliotheken ändern, Websites erstellen, Berechtigungen für Elemente verwalten, Webparts auf Seiten hinzufügen oder entfernen und vieles mehr.

Unter anderem werden folgende Entwicklungsbereiche unterstützt:

  • Websitesammlungen und Websites

  • Listen, Listenelemente, Ansichten und Listenschemas

  • Dateien und Ordner

  • Web-, Listen- und Listenelement-Eigenschaftenbehälter

  • Webparts

  • Sicherheit

  • Inhaltstypen

  • Websitevorlagen und Vorgänge an Websitesammlungen

Hinweis Hinweis

Derzeit ist der programmgesteuerte Zugriff auf SharePoint Online-Inhalte nur mithilfe von Office ID-Anmeldeinformationen möglich. Mithilfe von Benutzeranmeldeinformationen einer lokalen Domäne, wie z. B. mithilfe der mit dem DirSync-Tool importieren Anmeldeinformationen, kann nicht programmgesteuert auf SharePoint Online-Inhalte zugegriffen werden.

Verwenden des Silverlight-Clientobjektmodells in SharePoint Online

Mit Silverlight und dem Silverlight-Clientobjektmodell können Sie reichhaltige, anspruchsvolle Anwendungen in SharePoint Online erstellen. Sie können die Silverlight-Anwendung (XAP-Datei) auf einer eigenen ASPX-Seite oder in einem Webpart hosten. SharePoint Online enthält ein standardmäßiges Silverlight-Webpart. Sie können aber auch ein benutzerdefiniertes Webpart in einer Lösung mit eingeschränkter Sicherheitsstufe erstellen.

Wenn Sie das SharePoint-Silverlight-Objektmodell in einem Silverlight-Webpart verwenden möchten, können Sie eine Silverlight-Anwendung in Visual Studio 2010 erstellen und der Page-Klasse in der standardmäßigen Datei Page.xaml.cs Ihres Projekts den Code hinzufügen. Nachdem Sie das Projekt erstellt haben, laden Sie die Anwendungspaketdatei (XAP-Datei) des Projekts in eine frei wählbare Dokumentbibliothek hoch. Fügen Sie ein Silverlight-Webpart in eine Webpartseite ein, und richten Sie die URL-Quelle des Webparts auf den Pfadspeicherort der XAP-Datei in der Dokumentbibliothek. Das Webpart kann benutzerdefinierte Eigenschaften enthalten, die über die InitParameters-Eigenschaft an Silverlight gesendet werden.

Verwenden Sie die formularbasierte Authentifizierung (FBA), um die Benutzer für SharePoint Online zu authentifizieren.

Zusätzlich können Sie mithilfe von Visual Studio 2010 eine einzelne Lösungsdatei (WSP-Datei) erstellen, die beim Bereitstellen und Aktivieren die folgenden Aktionen ausführt:

  • Bereitstellen eines Webparts auf Basis des standardmäßigen Silverlight-Webparts, um die Silverlight-Anwendung zu hosten

  • Bereitstellen der als Modul gepackten Silverlight-Anwendungspaketdatei (XAP-Datei) am angegebenen Speicherort in der Dokumentbibliothek

  • Erstellen von Seiten, in die das Webpart eingebettet ist, in der Websitesammlung

Nach dem Aktivieren der Lösung kann der Benutzer zu den erstellten Seiten navigieren und mit dem Webpart interagieren, das als Host für die Silverlight-Anwendung fungiert. Die Anwendung selbst kann das SharePoint-Silverlight-Objektmodell für den Remotezugriff auf SharePoint Online-Daten nutzen, obwohl sie für den Benutzer scheinbar in SharePoint Online gehostet wird.

Verwenden des ECMAScript-Clientobjektmodells in SharePoint Online

Sie können das JavaScript-Objektmodell in SharePoint Online ähnlich verwenden. Sie können benutzerdefinierten Code einbinden, der das JavaScript-Objektmodell in einem Skriptblock auf einer ASPX-Seite nutzt, oder Sie können eine separate JS-Datei mit Ihrem Code erstellen und auf diese in der ASPX-Seite verweisen. Weitere Informationen finden Sie unter Einrichten einer Anwendungsseite für ECMAScript.

Weitere Informationen zu den SharePoint-Clientobjektmodellen

Eine ausführlichere Vorstellung der Clientobjektmodelle finden Sie unter Verwenden des verwalteten Clientobjektmodells von SharePoint Foundation 2010. Ausführliche technische Informationen und Anweisungen für die Implementierung finden Sie in folgenden Abschnitten im SharePoint 2010 SDK:

Informationen zum Erstellen von Silverlight-Clientanwendungen finden Sie unter Verwenden des Silverlight-Objektmodells und Gewusst wie: Verwenden eines SharePoint-Projekts zum Bereitstellen einer Silverlight-Anwendung.

Ein Beispiel für eine Referenzimplementierung unter Verwendung der SharePoint-Clientobjektmodelle finden Sie unter Referenzimplementierung: Client.

API-Referenzinformationen finden Sie unter Clientklassenbibliothek und ECMAScript-Klassenbibliothek.

Schulungen zu den SharePoint-Clientobjektmodellen finden Sie unter Clientobjektmodell auf Channel 9.

Anzeigen: