Sie sind hier
E-Book

Share Point Server 2010

Das Entwicklerbuch

AutorMarc André Zhou
Verlagentwickler.press
Erscheinungsjahr2012
Seitenanzahl462 Seiten
ISBN9783868022612
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis21,99 EUR
Die aktuelle SharePoint-Version 2010 stellt die ideale Plattform dar, um unternehmensweite Anwendungen umzusetzen und bereitzustellen. Aufgrund des vorhandenen Funktionsumfangs ist die Realisierung eigener Lösungen aber leider nicht trivial. Ein SharePoint-Entwickler muss nicht nur genaue Kenntnisse über das API besitzen, sondern auch Administrationswissen. Letzteres wird schon benötigt, wenn es darum geht, die Entwicklungsplattform aufzubauen. Das Buch 'SharePoint Server 2010 - Das Entwicklerbuch' nimmt sich genau dieser Thematik an und erläutert wichtiges SharePoint-Wissen aus Entwicklersicht. Im ersten Kapitel wird zunächst detailliert erläutert, wie verschiedene Entwicklungsumgebungen bereitgestellt werden können. Die dann anschließenden Kapitel gehen u.a. auf die folgenden Aspekte genauer ein: Server- und Clientobjektmodell Dialogframework jQuery & SharePoint Erweiterung des Ribbon Verwaltung von Konfigurationswerten Datenspalten und Inhaltstypen SharePoint-Erweiterungsmöglichkeiten SharePoint-Steuerelemente Visuelle und Standard-Web-Parts Silverlight-Anwendungen Reagieren auf Ereignisse Workflows Anwendungsseiten Timer & Jobs Authentifizierungsanbieter Anhand zahlreicher Beispiele werden die einzelnen Themen praktisch erläutert. Ebenfalls werden auch Begriffe wie Farm- und Sandbox-Lösungen anhand des SharePoint-Prozessmodells erklärt. Neben der Realisierung von Lösungen für einen On-Premise SharePoint Server werden auch die Besonderheiten dargestellt, die zu beachten sind, wenn als Zielplattform SharePoint Online (Office 365) zum Einsatz kommt. Zielgruppe Entwickler, Administratoren und Softwarearchitekten im .NET-Umfeld

Marc André Zhou ist Dipl. Inf. (FH) und erwarb zusätzlich den Titel Master of Science (M. Sc.). Er entwirft und entwickelt seit über zehn Jahren Software für unterschiedliche Branchen. Er ist als freiberuflicher Technologieberater hauptsächlich als Entwickler, Architekt und (Entwickler-)Coach tätig. Sein Schwerpunkt ist die Realisierung von Anwendungen auf Basis der Microsoft-.NET-Plattform und SharePoint. Neben diesen Tätigkeiten ist er regelmäßiger Autor des dot.NET Magazins und Speaker auf der BASTA!. Mehr Infos über Marc André Zhou sowie seinen Blog finden Sie unter www.dev-sky.net.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

2 Das SharePoint-Objektmodell

Das SharePoint-Objektmodell ermöglicht einen vollständigen Zugriff auf alle Funktionen und Inhalte einer SharePoint Farm. Alle Aktionen, die über die SharePoint-Oberfläche durch einen Benutzer durchgeführt werden können, sind auch über das SharePoint-Objektmodell realisierbar. Daher ist es für einen SharePoint-Entwickler essenziell wichtig, das Objektmodell und dessen Aufbau zu kennen. Da das verfügbare Objektmodell die vollständige Kontrolle und Interaktion mit dem SharePoint Server zulässt, ist es auch entsprechend umfänglich. Das Objektmodell ist in ca. 50 Namensräumen (Namespaces) gegliedert, wobei lediglich 16 davon für die normale SharePoint-Entwicklung relevant sind. Zudem sind einige Verwendungsregeln zu beachten, wenn aus eigenem Code heraus auf das Objektmodell zugegriffen wird. Dieses Kapitel gibt im ersten Teil einen Überblick über die SharePoint-Struktur, und im zweiten Teil werden die verschiedenen verfügbaren Objektmodelle erläutert.

Hinweis: Die einzelnen Beispiele stellen nur einen kleinen Ausschnitt der Möglichkeiten dar, die mit dem vorhandenen Client/Server-Objektmodell umgesetzt werden können. Die einzelnen Kapitel in diesem Buch verwenden jeweils unterschiedliche SharePoint-Funktionen. Ziel der Beispiele ist es, die generelle Funktionsweise und die Möglichkeiten aufzuzeigen. Auf eine detaillierte Aufzählung aller Klassenmitglieder wurde bewusst verzichtet. Sie können der (Online-)MSDN-Bibliothek entnommen werden.

2.1 SharePoint-Struktur

Wie jedes andere Server- bzw. Anwendungssystem besitzt auch SharePoint eine Systemarchitektur. Im SharePoint-Bereich existieren zwei wesentliche Architekturmodelle bzw. Architektursichten. Zum einen handelt es sich dabei um die physikalische Serverarchitektur und zum anderen um die logische Seitenarchitektur, die auch als Seitenhierarchie bezeichnet wird. Um ein gutes Verständnis für das eigentliche Objektmodell zu erhalten, ist es im Vorfeld wichtig, die Server- und Seitenarchitektur zu verstehen. Sind diese Architekturen bekannt, kann daraus sehr gut das Objektmodell abgeleitet werden. Anhand der beiden Architektursichten werden die verschiedenen Objektabhängigkeiten deutlich und ermöglichen so eine einfache Navigation zwischen den Objekten. Dies ist ein wenig vergleichbar mit einem klassischen Datenbankmodell und den darin enthaltenen Tabellen. Erst wenn die Datenbankstruktur bekannt ist, können effizient Daten verknüpft und abgerufen werden. In den beiden folgenden Kapiteln werden daher die beiden Architekturen erläutert.

Hinweis: Das obere Datenbankbeispiel bezieht sich nicht auf die internen SharePoint-Datenbanken. Diese Datenbanken sollten niemals direkt manipuliert werden. Jegliche Änderungen müssen immer über das Objektmodell – also das API – durchgeführt werden.

2.1.1 Serverarchitektur

Die Serverarchitektur beschreibt die physikalische Verteilung einer SharePoint Farm. Dabei stehen die einzelnen Server im Mittelpunkt der Betrachtung. Im ersten Kapitel wurden die verschiedenen Möglichkeiten für eine SharePoint-Entwicklungsumgebung dargestellt. Werden alle Komponenten auf einem Server installiert, besteht die gesamte Serverarchitektur lediglich aus einem Server. Bei größeren Bereitstellungen im Enterprise-Umfeld sieht es allerdings schon anders aus. So finden sich im Enterprise-Umfeld nicht selten Anforderungen, mehr als 10 000 Benutzer unterstützen zu müssen. Das ist nur dann möglich, wenn die SharePoint Farm entsprechend groß dimensioniert ist. Die verschiedenen Serverrollen werden also auf mehrere Server physikalisch verteilt. Mithilfe der Serverarchitektur kann die notwendige Verteilung geplant und beschrieben werden. Abbildung 2.1 zeigt dazu eine typische SharePoint-Foundation-Serverarchitektur. Nachfolgend werden die einzelnen Bestandteile und die zugehörigen Klassen aus dem Objektmodell beschrieben. Detaillierte Informationen zu den einzelnen Klassen sind in den Unterkapiteln 2.2 und 2.3 zu finden.

Abbildung 2.1: SharePoint-Foundation-Serverarchitektur 1

Wie erkennbar ist, steht an oberster Stelle der Architektur die SharePoint Farm. Ein programmatischer Zugriff ist über das korrespondierende Objekt SPFarm möglich. Über ein gültiges SPFarm-Objekt können über die Eigenschaft Servers die verfügbaren Server abgefragt werden. Die Eigenschaft Servers gibt dazu eine Liste von SPServer-Objekten zurück. Jedes Objekt repräsentiert einen physikalischen Server aus der zugehörigen SharePoint Farm. Die einzelnen verfügbaren Dienste auf einem physikalischen Server sind über die Eigenschaft ServiceInstances abrufbar, die eine Liste von SPServiceInstance-Objekten enthält. Eine Instanz vom Typ SPDatabaseServiceInstance stellt eine einzelne Instanz eines Datenbankdienstes dar. Die Klasse SPDatabaseServiceInstance stellt die Eigenschaft Databases bereit, über die alle verfügbaren Inhaltsdatenbanken abgerufen werden können. Weiterhin ist über das SPFarm-Objekt ein Zugriff auf alle Web Services möglich. Dazu enthält das SPFarm-Objekt die Eigenschaft ServiceInstances, die eine Liste von verfügbaren SPService-Objekten zurückgibt. Ein gültiges SPService-Objekt ermöglicht den Zugriff auf Konfigurationseinstellungen eines logischen Dienstes oder einer Anwendung. Die SPService-Klasse besitzt die Eigenschaft WebApplications, über die eine Liste aller zugeordneten Webanwendungen abgerufen werden kann. Die Liste enthält dazu Objekte vom Typ SPWebApplication. Jede dieser Instanzen stellt eine Webanwendung bereit, die im Microsoft Internet Information Server (kurz: MS IIS) betrieben wird. Für den SharePoint-Entwickler beginnt es in der Regel ab dieser Stelle interessant zu werden, da über die SPWebApplication-Eigenschaft Sites der Zugriff auf die zugehörigen Site Collections möglich ist. Die ab hier beginnende Seitenarchitektur wird im nächsten Kapitel erläutert.

2.1.2 Seitenarchitektur

Die Seitenarchitektur beginnt unterhalb der Webanwendung beim SPSite-Objekt. Obwohl die Klasse SPSite im Singular benannt ist, handelt es sich in Wirklichkeit um eine Auflistung in Beziehung stehender SPWeb-Objekte. Abbildung 2.2 verdeutlicht diesen Sachverhalt. Die Namensgebung der beiden Klassen SPSite und SPWeb führt leider des öfteren zu Irritationen, daher wird an dieser Stelle detaillierter auf diese beiden Klassen eingegangen.

Abbildung 2.2: Sitehierarchie 2

SPSite

Laut der MSDN-Beschreibung stellt ein SPSite-Objekt folgenden Kontext dar:

„Represents a collection of sites in a Web application, including a top-level Web site and all its subsites. Each SPSite object, or site collection, is represented within an SPSiteCollection object that consists of the collection of all site collections in the Web application.“ 3

Bei der SPSite-Klasse handelt es sich aber nicht selbst um eine Auflistungsklasse, da die Klasse lediglich von der allgemeinen Object-Klasse erbt. Auch besitzt die Klasse kein visuelles Gegenstück im SharePoint-Portal, sondern stellt lediglich eine Liste mit zugehörigen SPWeb-Instanzen bereit. Zusätzlich stellt die Klasse über die Eigenschaft RootWeb die oberste Webseite zur Verfügung.

SPWeb

Bei der Beschreibung der SPWeb-Klasse ist die MSDN-Dokumentation dagegen kurz und knapp und beschreibt die Klasse wie folgt:

„Represents a SharePoint Foundation Web site. 4

Diese Beschreibung ist klar und verständlich. Jede Instanz einer SPWeb-Klasse stellt eine Webseite dar und besitzt somit auch ein visuelles Gegenstück im SharePoint-Portal. Die Klasse erbt – genau wie die SPSite-Klasse – von der allgemeinen Object-Klasse. Somit haben die beiden Klassen SPSite und SPWeb objekttechnisch nichts miteinander gemeinsam.

SPSite und SPWeb

Die beiden Klassen sind objekttechnisch zunächst unabhängig voneinander. Dennoch stehen sie in einer logischen Beziehung. Um diese Beziehung zu verdeutlichen, werden die folgenden Adressen eines fiktiven SharePoint-Portals den beiden Klassen zugeordnet:

a) http://sharepoint/

b) http://sharepoint/department

c) http://sharepoint/department/Internal/

Im Fall a) handelt es sich um die Adresse einer Seitenauflistung (Site Collection) inklusive einer (Wurzel-)Webseite (Root Web Site). Der URL aus Punkt b) bezieht sich auf eine Unterwebseite (Sub-Site) von a). Die letzte Adresse ist ebenfalls eine Unterwebseite (Sub Web Site) der Seitenauflistung von a). Der Pseudocode in Listing 2.1 bildet die Adressen auf entsprechende SharePoint-Objekte ab.

SPSite root = new SPSite("http://sharepoint/");
SPSite sub1 = new SPSite("http://sharepoint/department");
SPSite sub2= new SPSite("http://sharepoint/department/Internal");

SPWeb web1 = root.OpenWeb();
SPWeb web2 = sub1.OpenWeb();
SPWeb web3 = sub2.OpenWeb();

bool compareSites = root.Equals(sub1) && root.Equals(sub2);
bool compareWebRoot = web1.RootWeb.Equals(web2.RootWeb) &&
web1.RootWeb.Equals(web3.RootWeb);

Listing 2.1: Pseudocode

Bei der...

Blick ins Buch

Weitere E-Books zum Thema: Netzwerke - Clouds - Datenbanken

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Weitere Zeitschriften

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...