Dienstobjektmodell
Letzte Änderung: Dienstag, 20. April 2010
Gilt für: SharePoint Foundation 2010
Inhalt dieses Artikels
SPFarm-Objekt
SPServer-Objekt
Dienstobjekte
Clientobjekte (Front-End)
Microsoft SharePoint Foundation 2010 stellt ein stark strukturiertes, serverseitiges Objektmodell bereit, das Sie für den Zugriff auf Objekte verwenden können, die die verschiedene Aspekte einer SharePoint 2010-Website repräsentieren. Von Objekten auf höheren Ebenen können Sie einen Drilldown in der Objekthierarchie ausführen, um die Objekte abzurufen, die die Member enthalten, die Sie im Code verwenden müssen.
Das folgende Diagramm zeigt die Beziehungen zwischen den Hauptklassen, wenn Sie das Service Application Framework von SharePoint 2010 implementieren. Durchgezogene Pfeile verweisen von einer übergeordneten Klasse auf die Art der untergeordneten Klasse, die in der Auflistungseigenschaft eines übergeordneten Objekts enthalten ist. Der gepunktete Pfeil zeigt an, dass die SPServiceInstance-Klasse einen aktiven Prozess (eine Instanz) des farmweiten Dienstes repräsentiert, der durch die SPService-Klasse repräsentiert wird.
Abbildung 1. Klassenbeziehungen im Service Application Framework
SPFarm-Objekt
Das SPFarm-Objekt repräsentiert eine Serverfarm. SPFarm ist die oberste Ebene der Konfigurationsspeicherhierarchie. Eine Serverfarm ist ein Cluster aus physischen Servern mit Lastenausgleich. Die Lastenausgleichssoftware (oder die Lastenausgleichshardware) leitet eine eingehende Netzwerkverbindung von einem Clientcomputer an den Computer in der Farm, der zu einem bestimmten Zeitpunkt am wenigstens ausgelastet ist. Auf diese Weise wird die Arbeitsauslastung durch das Bedienen von Clientverbindungen auf viele Server, Prozessoren, Festplatten und andere Peripheriegeräte verteilt.
Ein physischer Server wird durch das SPServer-Objekt repräsentiert. Zusätzlich zu den Membern, die es von SPFarm erbt, verfügt SPServer über eine Address-Eigenschaft, die die IP-Adresse des Servers enthält, sowie eine Role-Eigenschaft, die die Rolle des Servers in der Farm identifiziert. Die ServiceInstances-Eigenschaft enthält Verweise auf alle Instanzen von Windows-Diensten und Webdiensten, die auf dem Server ausgeführt werden.
SPServer-Objekt
Ein SPServer-Objekt wird erstellt, wenn ein Server mit einer SharePoint-Serverfarm verbunden wird. SPServer.Local ist das Konfigurationsobjekt. In der Zentraladministration können Sie eine Liste der Server in der Farmanzeigen. SPServer erbt vom SPPersistedObject-Objekt. Objekte, die SPPersistedObject instanziieren, bleiben in der SharePoint 2010-Konfigurationsdatenbank bestehen.
Ein physischer Server in einer SharePoint 2010-Farm wird durch das SPServer-Objekt repräsentiert. Das Objekt verfügt über eine Address-Eigenschaft, die die IP-Adresse des Servers enthält, sowie über eine Role-Eigenschaft, die die Rolle des Servers in der Farm identifiziert. Die ServiceInstances-Eigenschaft enthält Verweise auf alle Instanzen von Windows-Diensten und Webdiensten, die auf dem Server ausgeführt werden.
Dienstobjekte
Dienstobjekte, auch Back-End-Systemobjekte genannt, stellen den gemeinsamen Dienst für die Client-Front-End-Objekte bereit. Zu diesen Objekten gehören folgende:
SPService
Die SPService-Klasse repräsentiert einen Dienst, der in einer Serverfarm verfügbar oder installiert ist.
Jedes SPService-Objekt verfügt über eine Instances-Eigenschaft, die alle Instanzen des Dienstes enthält, die auf verschiedenen Servern in der Farm ausgeführt werden. Auf jedem Server wird immer nur eine Instanz eines bestimmten Dienstes ausgeführt, aber einige Dienste verfügen über mehrere Instanzen, von denen jede auf einem anderen Server ausgeführt wird. Jede Instanz wird durch ein Objekt einer Klasse repräsentiert, die von SPServiceInstance abgeleitet wird.
SPServiceInstance
Die SPServiceInstance-Klasse repräsentiert eine Instanz eines Dienstes auf einem Server in der Farm. Dienstinstanzen sorgen für Skalierbarkeit und Fehlertoleranz. Eine Dienstinstanz bietet dieselbe Funktionalität wie alle anderen Serverinstanzen desselben Typs, ist jedoch von diesen unabhängig. Ein SPServiceInstance-Objekt wird erstellt, wenn ein Dienst auf einem Server in der Farm installiert wird. Um verwendbar zu sein, ist für eine Dienstinstanz eine ausgeführte Dienstanwendung erforderlich. Jeder Computer, auf dem der Dienst ausgeführt wird, verfügt über eine eigene Dienstinstanz, die gestartet und beendet werden kann. Wenn eine Dienstinstanz eines bestimmten Dienstes ausgeführt wird, ist der Dienst vollständig funktionsfähig. Die Dienstinstanz stellt den Hostprozess für die Dienstanwendung bereit. Ein Entwickler kann Dienstinstanzen programmgesteuert starten oder beenden; ein Farmadministrator kann Dienstinstanzen über die Zentraladministration im Abschnitt Dienste auf dem Server verwalten in Systemeinstellungen starten oder beenden.
Verwenden Sie Provision(), um die Dienstinstanz zu starten (bereitzustellen). Verwenden Sie in Windows PowerShellget-SPServiceInstance, um festzustellen, welche Dienste auf dem Server installiert sind.
SPServiceApplication
Eine Dienstinstanz hostet eine Dienstanwendung. Ohne eine Dienstinstanz ist die Dienstanwendung nicht verwendbar. Die Dienstanwendung enthält die anwendungsspezifischen Daten und Einstellungen und stellt die Dienstschnittstelle bereit, die die Administratoreinstellungen enthält. Eine Dienstanwendung kann Benutzerdaten steuern.
Jede Dienstinstanz ist von allen anderen Dienstanwendungen isoliert. Die Finanz-Suchdienstanwendung ist beispielsweise von der Personal-Suchdienstanwendung isoliert, obwohl beide in derselben Serverfarm gehostet werden.
Normalerweise ist es ein Farmadministrator, der eine Dienstanwendung mithilfe von SPServiceApplication erstellt. Der Farmadministrator kann eine beliebige der folgenden Möglichkeiten nutzen, um ein SPServiceApplication-Objekt zu erstellen:
Assistent für die Farmkonfiguration
Installation im Evaluierungsmodus (eigenständige Installation)
Zentraladministration auf der Seite Neue Dienstanwendung
Windows PowerShell
SPServiceApplicationCollection ist die Auflistung der Dienstanwendungen für einen Dienst und wird in der Zentraladministration unter Dienstanwendungen verwalten verwendet.
SPIisWebServiceApplication
Die SPIisWebServiceApplication-Klasse implementiert die ISharedServiceApplication-Schnittstelle und ermöglicht es, eine Dienstanwendung über den Topologiedienst zu veröffentlichen (anzukündigen).
Clientobjekte (Front-End)
Eine Clientanwendung kommuniziert mit dem Back-End-Dienst. Clients sind Anwendungen, die eine Verbindung initiieren. Dienste sind Anwendungen, die darauf warten, dass Clients mit ihnen kommunizieren, und die darauf reagieren. Zu den Clientdienstobjekten gehören folgende:
SPServiceProxy
Ein Dienstproxy repräsentiert einen Dienstclient, der in einer Serverfarm installiert ist.
Ein SPServiceProxy-Objekt ist das übergeordnete Element des SPServiceApplicationProxy-Objekts. Es ist das Äquivalent eines SPService-Objekts auf der Serverseite, das das übergeordnete Element eines SPServiceApplication-Objekts ist. Diese übergeordneten Objekte können auch als Klassenfactorys für die untergeordneten Objekte angesehen werden.
SPServiceApplicationProxy
Das SPServiceApplicationProxy-Objekt repräsentiert eine Verbindung zu einer Dienstanwendung und stellt die öffentliche Schnittstelle (Front-End) zu einer Dienstanwendung bereit. SPServiceApplicationProxy unterstützt Verbindungen zu Remotefarmen und ermöglicht es, dass Clientcode Remotedienstanwendungen in Anspruch nimmt. Dienstanwendungen können nicht lokal installiert werden und können daher nicht direkt vom Client aufgerufen werden.
Ein SPServiceApplicationProxy-Objekt wird automatisch mit einer Dienstanwendung erstellt. Dienstproxys leiten mindestens Aufrufe an die Remotedienstanwendung weiter. Das SPServiceApplicationProxy-Objekt kann auch einem Ort zum Implementieren weiterer Logik zur Verbindung mit der Dienstanwendung entsprechen.
Farmadministratoren können ein SPServiceApplicationProxy-Objekt explizit im Abschnitt Verbunddienste der Zentraladministration erstellen.
Siehe auch
Referenz
Konzepte
Server- und Websitearchitektur: Übersicht über das Objektmodell