Verwenden des SharePoint-Listenobjektmodells und -Clientobjektmodells mit externen Listen
Letzte Änderung: Donnerstag, 15. April 2010
Gilt für: SharePoint Server 2010
Inhalt dieses Artikels
Vorteile der Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells
Einschränkungen bei der Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells
Bei der Verwendung des Listenobjektmodells mit externen Listen zu beachtende Punkte
Externe Daten, die über Microsoft Business Connectivity Services (BCS) verfügbar gemacht werden, können Sie mit folgenden Objektmodellen programmgesteuert bearbeiten:
Dem BDC-Objektmodell, das sowohl auf dem Server als auch auf dem Client verfügbar ist.
Dem Microsoft SharePoint 2010-Objektmodell, das aus der SPList-Klasse beim serverseitigen Objektmodell im Microsoft.SharePoint-Namespace und der entsprechenden List-Klasse beim clientseitigen Objektmodell in den Namespaces Microsoft.SharePoint.Client und Microsoft.SharePoint.Client.Silverlight besteht.
In Tabelle 1 finden Sie eine Übersicht über die verfügbaren Objektmodelle.
Tabelle 1. Verfügbare Server- und Clientobjektmodelle für SharePoint
Objektmodell |
Server |
Client |
Beschreibung |
---|---|---|---|
BDC-Objektmodell |
Ja |
Ja |
Enthält eine Bibliothek mit Namespaces, die durch Business-Konnektivitätsdienste (Business Connectivity Services) bereitgestellt werden, und ist in SharePoint Foundation 2010, SharePoint Server 2010 und Office Professional Plus 2010 vorhanden. Mit dem BDC-Objektmodell werden die Vorgänge Create, Read, Update und Delete (CRUD) über einen externen Inhaltstyp für die externen Systemdaten symmetrisch sowohl auf dem Server als auch dem Client ausgeführt. |
SPList-Klasse (serverseitiges Objektmodell) |
Ja |
Nein |
Stellt eine Liste auf einer SharePoint-Website dar (Microsoft.SharePoint.dll). Die SPList-Klasse basiert auf dem BDC-Objektmodell, um CRUD-Vorgänge für eine externe Liste auf dem Server auszuführen. |
Clientseitiges Objektmodell |
Nein |
Ja |
Stellt die SharePoint Foundation 2010-Client-APIs für die Interaktion mit SharePoint-Websites in mit Microsoft .NET Framework verwalteten Anwendungen, Microsoft Silverlight-Anwendungen und in ECMAScript (JavaScript, JScript), das im Browser ausgeführt wird, dar. Die APIs bietet die Möglichkeit der Interaktion mit SharePoint-Daten auf einem Remotecomputer, indem ein Clientkontextobjekt abgerufen wird, um Zugriff auf Clientobjekte auf Websitesammlungsebene oder darunter zu erlangen (Microsoft.SharePoint.Client.dll und Microsoft.SharePoint.Client.Silverlight.dll). Das clientseitige Objektmodell basiert auf der SPList-Klasse, um CRUD-Vorgänge auf dem Client über die SharePoint-Webdienste auszuführen. |
Das folgende Architekturdiagramm zeigt, welche Objektmodelle auf dem Server und dem Client vorhanden sind, wie sie miteinander und mit anderen Business-Konnektivitätsdienste (Business Connectivity Services)-Komponenten interagieren sowie wie sie mit Lösungen interagieren, die mithilfe von Business-Konnektivitätsdienste (Business Connectivity Services) erstellt wurden.
Abbildung 1. Objektmodelle auf dem Server und dem Client
Sie können auswählen, für welchen Stapeleinstiegspunkt auf dem Client oder Server programmiert werden soll. Für die SPList-Klasse gelten jedoch Einschränkungen, und wenn diese Einschränkungen vorhanden sind, können Sie APIs auf niedrigerer Ebene im BDC-Objektmodell verwenden, mit denen die tatsächlichen externen Inhaltstypen bearbeitet werden.
Vorteile der Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells
Die Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells bietet die folgenden Vorteile.
Einfaches und vertrautes Objektmodell. Das SharePoint-Listenobjektmodell (SPList-Klasse) ist einfach in der Handhabung, und SharePoint-Entwickler sind bereits damit vertraut.
Verfügbarkeit. Das BDC-Objektmodell ist auf einem Client nur verfügbar, wenn Office Professional Plus 2010 installiert ist. Das SharePoint-Objektmodel ist jedoch sowohl auf dem Server als auch dem Client verfügbar.
Wird in teilweise vertrauenswürdiger Umgebung ausgeführt. Das SharePoint-Objektmodell kann in einer teilweise vertrauenswürdigen Umgebung ausgeführt werden. Bei BDC-Objektmodellen ist dies nicht der Fall.
Einschränkungen bei der Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells
Für die Verwendung des SharePoint-Listenobjektmodells und -Clientobjektmodells gelten die folgenden Einschränkungen.
Erfordert externe Listen. Mit dem SharePoint-Listenobjektmodell und -Clientobjektmodell werden CRUD-Vorgänge für eine Liste auf dem Server ausgeführt. Deshalb muss eine externe Liste auf dem Server erstellt werden. Für das BDC-Objektmodell ist dies nicht erforderlich, da damit CRUD-Vorgänge direkt über einen externen Inhaltstyp ausgeführt werden.
Kann nur für unterstützte einfache Typen verwendet werden. Das SharePoint-Listenobjektmodell und das -Clientobjektmodell können nur verwendet werden, wenn die externe Liste einfache Felder aufweist. Standardmäßig sind externe Listen einfache, zeilenbasierte Darstellungen von Daten. Komplexe Typen und einfache Typen, die nicht vom SharePoint-Listentypsystem unterstützt werden, werden ausgelassen. Felder mit den folgenden Typen sind deshalb nicht zulässig:
Komplexe Typen Beispielsweise ein Feld "Kundenadresse" als Teil der Struktur "Kunde", das wiederum untergeordnete Elemente für "Straße", "Ort", "Bundesland" und "PLZ" aufweist.
Benutzerdefinierte Typen Beispielsweise ein Feld "Wiederaufnahme" als Teil der Struktur "Bewerber", das keine untergeordneten Elemente aufweist, aber nicht mithilfe einer der unterstützten SharePoint-Listenfeldtypen dargestellt werden kann.
Nicht unterstützte .NET-Typen Die folgenden .NET Framework-Typen werden von externen Listen nicht unterstützt: System.GUID, System.Object, System.URI, System.UInt64 und System.Int64. Wenn deshalb Felder der externen Liste den hier aufgelisteten .NET Framework-Typen entsprechen, werden diese Felder ausgelassen.
Für das BDC-Objektmodel ist dies nicht erforderlich, es kann mit allen hier erwähnten Typen komplexer Felder verwendet werden.
Keine Unterstützung erweiterter BDC-Features. Für das SharePoint-Listenobjektmodell und das -Clientobjektmodell werden die folgenden erweiterten Features, die von BDC unterstützt werden, nicht unterstützt:
Auslagerung Das Auslagern oder Segmentieren von Daten wird für externe Listen nicht unterstützt.
Massenvorgänge Für externe Listen können keine Massenvorgänge ausgeführt werden, z. B. das gleichzeitige Lesen von 25 Instanzen.
Streamen Das Streamen von Daten wie z. B. BLOBs (Binary Large Objects) wird für externe Systeme nicht unterstützt.
Komplexe Zuordnungen Zuordnungen werden für externe Listen nicht unterstützt.
Bei der Verwendung des Listenobjektmodells mit externen Listen zu beachtende Punkte
BdcIdentity ist ein Feld des SharePoint-Listenobjekts, das die Identität eines bestimmten Listenelements darstellt. Dies ist die einzige deterministische Methode, um ein bestimmtes Listenelement eindeutig zu identifizieren. Sie können es mithilfe der Fields-Auflistung des SPList-Objekts abrufen. Beispiele hierzu finden Sie unter Codeausschnitte: Verwenden des SharePoint-Listenobjektmodells mit externen Listen auf dem Server und Codeausschnitte: Verwenden des SharePoint-Clientobjektmodells mit externen Listen.
ItemID für externe Listenelemente ist immer 0. Sie sollten stattdessen BdcIdentity verwenden.
Wenn Sie das SharePoint-Clientobjektmodell mit externen Listen verwenden, müssen Sie ein paar zusätzliche Dinge beachten. Weitere Informationen finden Sie unter Codeausschnitt: Abrufen von Elementdaten aus einer externen Liste auf dem Client.
Siehe auch
Konzepte
Festlegen des Kontexts für die Verwendung der BDC-Objektmodelle
Weitere Ressourcen
Codeausschnitte: Verwenden des SharePoint-Listenobjektmodells mit externen Listen auf dem Server
Codeausschnitte: Verwenden des SharePoint-Clientobjektmodells mit externen Listen
Codeausschnitte zum Business Connectivity Services-Objektmodell