Entwicklung von Webportalen mit Microsoft SharePoint

Transcrição

Entwicklung von Webportalen mit Microsoft SharePoint
Entwicklung von Webportalen
mit Microsoft SharePoint
05.12.2011
Name:
Matrikelnummer:
Studiengang:
Betreuer:
[Text eingeben]
Andreas Riehl
836735
Scientific Programming
Prof. Dr. rer. nat. Bodo Kraft, FH Aachen
Dipl. Phys. Michael Benden, synaix Gesellschaft für angewendete
Informations-Technologie mbh
Inhaltsverzeichnis
Inhaltsverzeichnis .................................................................................................................................... 2
1
Einleitung ......................................................................................................................................... 3
2
Was ist ein Webportal? ................................................................................................................... 3
2.1
Vertikale und horizontale Webportale.................................................................................... 3
3
Was ist SharePoint........................................................................................................................... 4
4
Die SharePoint Architektur.............................................................................................................. 5
4.1
Aufbau einer SharePoint Webanwendung .............................................................................. 7
4.2
Die SharePoint 2010 Produktfamilie ....................................................................................... 8
5
4.2.1
SharePoint Foundation 2010 ........................................................................................... 8
4.2.2
SharePoint Server 2010 Standard ................................................................................... 8
4.2.3
SharePoint Server 2010 Enterprise ................................................................................. 8
4.2.4
SharePoint Online............................................................................................................ 9
4.2.5
SharePoint Designer 2010 ............................................................................................... 9
4.2.6
SharePoint Workspace 2010 ........................................................................................... 9
Funktionsübersicht .......................................................................................................................... 9
5.1
Webseiten ............................................................................................................................... 9
5.2
WebParts ............................................................................................................................... 10
5.3
Listen ..................................................................................................................................... 11
5.4
Dokumentenbibliotheken ..................................................................................................... 11
5.5
Benutzerverwaltung .............................................................................................................. 11
5.6
Workflows ............................................................................................................................. 12
5.6.1
5.7
6
In SharePoint Server vorhandene Workflows ............................................................... 12
Business Connectivity Services .............................................................................................. 13
Entwicklung eigener Funktionalität............................................................................................... 14
6.1
Entwicklungsumgebung und SDK .......................................................................................... 14
6.1.1
Microsoft SharePoint Designer 2010 ............................................................................ 14
6.1.2
Microsoft Visual Studio 2010 ........................................................................................ 14
6.2
Das Objektmodell .................................................................................................................. 15
6.3
Exemplarische Erstellung eines eigenen WebParts .............................................................. 16
6.4
Deployment und Installation ................................................................................................. 19
Glossar ................................................................................................................................................... 20
Liste verwendeter Quellen .................................................................................................................... 21
2
1 Einleitung
Diese Arbeit beschäftigt sich mit dem Thema „Entwicklung von Webportalen mit Microsoft
SharePoint“. Der Fokus liegt auf der Erstellung eines Webportales mittels SharePoint Server 2010 für
den Einsatz im Unternehmen. Dabei stehen die standardmäßig bereitgestellten Funktionen des
SharePoint Server 2010 sowie dessen Konzepte im Vordergrund. Es sollen die Möglichkeiten der
Software in Hinblick auf den Einsatz als Intranet Anwendung erläutert werden Der Fokus liegt nicht
auf der Entwicklung eigener Erweiterung, obgleich im letzten Kapitel die Möglichkeiten der
Erweiterungen durch Drittentwickler beleuchtet wird, sowie exemplarisch die Entwicklung einer
eigenen Komponente gezeigt wird.
2 Was ist ein Webportal?
In der Informatik wird als Portal eine Anwendung bezeichnet, die dem Benutzer verschiedene
Funktionen, Dienste, Prozesse und Anwendungen an zentraler Stelle und möglichst einheitlich zur
Verfügung stellt. Bei einem Webportal dienen als technische Grundlage Webtechnologien wie z.B
HTML,CSS, PHP, Java oder auch ASP.NET, um das Portal als dynamische Webanwendung zu
realisieren, die über einen Webbrowser bedient werden kann.
Charakteristisch für Portale sind gewisse Grundfunktionalitäten die portalweit, allen integrierten
Anwendungen und Diensten, zur Verfügung stehen. Dazu gehört unteranderem:






eine einheitlich Navigation und „Look and Feel“,
die Personalisierung des Portals durch den Endbenutzer,
DMS (Dokument Management System) Funktionalität, zum verwalten von Dateien,
eine einmalige Anmeldung, sog. Single-Sign-On (SSO),
eine Integrationsmöglichkeit für externe Systeme
und eine portalweite Suchfunktion
In der Literatur wird gerne auf folgende Definition verwiesen:
„Ein Portal ist […] eine Applikation, die […] einen zentralen Zugriff auf personalisierte Inhalte sowie
bedarfsgerecht auf Prozesse bereitstellt. Charakterisierend für Portale ist die Verknüpfung und der
Datenaustausch zwischen heterogenen Anwendungen über eine Portalplattform. Eine manuelle
Anmeldung an den in das Portal integrierten Anwendungen ist durch Single-Sign-On nicht mehr
notwendig, es gibt einen zentralen Zugriff über eine homogene Benutzungsoberfläche. Portale bieten
die Möglichkeit, Prozesse und Zusammenarbeit innerhalb heterogener Gruppen zu unterstützen.“
(Gurzki, 2004)
Bekannte Hersteller von Webportalen sind Microsoft mit SharePoint, IBM mit WebSphere, Oracle
mit WebCenter und Liferay mit ihrem gleichnamigen Webportal.1
2.1 Vertikale und horizontale Webportale
Im Zusammenhang mit Webportalen kann grob zwischen zwei Typen unterschieden werden.
Sogenannte horizontale, auch breite, Webportale und vertikale, auch tiefe, Webportale.
1
http://www.gartner.com/technology/reprints.do?id=1-17RRLXF&ct=111025&st=sb
3
Vertikale Portale zeichnen sich durch die Fokussierung auf eine Themenbereich aus. Ein Beispiel für
ein vertikales Webportale ist das bekannte Versandhaus Amazon. Auch wenn die angebotenen
Waren durchaus sehr breit gefächert sind und von Nahrungsmitteln über Bücher bis zu
Elektronikartikeln reichen, liegt der Fokus des Webportales klar auf den Verkauf und Versand dieser
Waren. Das Portal stellt dem Kunden verschiedene Dienste und Anwendungen zu genau diesem
Zweck bereit. Als typische Portalfunktionen wäre der personalisierte Zugang inkl. Profilverwaltung
und die portalweite Suche.
Als horizontales Webportal wird dagegen ein Portal bezeichnet, das zahlreiche und vor allem
unterschiedliche Themenbereich abdeckt. Dies lässt sich ebenfalls sehr gut an einem Beispiel mit
dem Internetunternehmen Yahoo und dessen gleichnamigen Portals zeigen. Das Yahoo Portal bietet
viele verschiedene Dienste und Anwendungen wie Nachrichten, Wetterberichte, Online-Spiele oder
gar Email an. Ebenfalls sind alle Dienste und Anwendungen unter einer Oberfläche mit einheitlicher
Navigation und Benutzerführung zusammengeführt, personalisierbar und durchsuchbar. Was fehlt ist
die Fokussierung der einzelnen Dienste und Anwendungen auf einen Themenbereich.
3 Was ist SharePoint
Meist wird mit SharePoint die Webportallösung von
Microsoft gemeint. Genau genommen ist SharePoint
aber die Bezeichnung einer Ganzen Produktfamilie
bestehend aus mehreren verschiedenen
Softwareprodukten, mit dem Schwerpunkt Webportal
für Unternehmen.
Die aktuelle Version des Webportals von Microsoft
heißt SharePoint Foundation 2010 bzw. SharePoint
Server 2010. Es wird von Microsoft als „Plattform zur
Zusammenarbeit" im Unternehmen beworben und
umfasst unteranderem DMS Funktionalitäten,
Diskussionsforen und Wikis.
Microsoft ordnet und vermarktet den Leistungsumfang
des SharePoint Servers in sechs Kategorien:2


2
Abbildung ‎3-1
Sites
Der Bereich „Sites“ bildet als konsolidierte Plattform die Grundlage für die Einsatzfähigkeit
von SharePoint 2010 in Bezug auf die optimierte Zusammenarbeit von Mitarbeitern und
Partnern. Der Austausch von Informationen, Daten und Fachkenntnissen untereinander und
auch mit den Kunden kann sowohl innerhalb als auch außerhalb der Firewall erfolgen.
Composites
Im modernen, dynamischen Unternehmen bilden sich ständig neue Anforderungen heraus,
denen nicht mit standardisierten Lösungen begegnet werden kann. Ihre Mitarbeiter
verlangen mit Recht nach individuellen Antworten – ohne stets auf die Hilfe der IT-Abteilung
angewiesen zu sein. Diesem komplexen Problem begegnet der Bereich „Composites“, der
http://sharepoint.microsoft.com/de-de/product/capabilities/Seiten/default.aspx
4




gleichzeitig der IT-Abteilung ermöglicht, diese geforderte Flexibilität auch mit Rücksicht auf
Stabilität und Verfügbarkeit der IT-Umgebung zu erlauben.
Insights
Jederzeit, weltweit und ohne Barrieren und Hürden auf Informationen und Daten nicht nur
zugreifen können, sondern diese auch weiterverarbeiten und für Analysen nutzbar machen als Grundlage zur Entscheidungsfindung und für verbindliche Schlussfolgerungen. Das
verstehen wir unter „Insights“ – Business Intelligence für jedermann.
Communities
Die Basis des neuen Wissensmanagements. Unter diesem Überbegriff sind alle Technologien
zusammengefasst, die es ermöglichen, sich in formellen wie informellen Netzwerken
auszutauschen – für sämtliche Anwendungen in Enterprise 2.0, Learning 2.0 oder Web 2.0
Content
Alle erforderlichen Tools zur Erstellung, Prüfung, Veröffentlichung und Entfernung
unterschiedlichster Inhalte sind unter diesem Punkt gebündelt. In diesem Bereich wird
nachvollziehbares Dokumentenmanagement (Compliance) und Web Content Management
abgedeckt. Funktional beinhaltet dies Dokumenten- und Taxonomie-, Records sowie Web
Content Management (WCM)
Search
Um Wissensarbeit effizient zu machen, muss der leichte, schnelle und zielgenaue Zugang
dazu ermöglicht werden. Genau dies gewährleisten die Suchmechanismen für Inhalte,
Personen und Daten (beispielsweise für eDiscovery). Weitere Vorteile sind die Erhöhung der
Web-Umsätze/Verweildauer sowie die Personalisierung von Webseiten.
Die genaue Beschreibung der verschiedenen SharePoint Produkte folgt in Kapitel „Die SharePoint
2010 Produktfamilie“.
4 Die SharePoint Architektur
Der SharePoint Server ist eine komplexe mehrschichtige und erweiterbare Serveranwendung mit
Anbindung an verschiedenste, teilweise externe, Systeme. Die programmiertechnische Umsetzung
erfolgt vollständig auf Basis des Microsoft .NET Frameworks.
Abbildung ‎4-1 zeigt die verschiedenen Komponenten und Schnittstellen, sowie den Unterbau des
SharePoint Servers, den sog. „SharePoint 2010 Development Platform Stack".
5
Abbildung ‎4-1: SharePoint 2010 Development Platform Stack
Die unterste Schicht bildet das Betriebssystem. Seit SharePoint Server 2010 ist ein 64-Bit Windows
Server ab Version 2008 zwingend Voraussetzung. Der IIS (Internet Information Service) ist der in
Windows Server integrierte Webserver und übernimmt die HTTP/HTTPS Anbindung nach außen. Das
ebenfalls im Windows Server integrierte .NET Framework bildet die Laufzeitumgebung des
SharePoint Server und ist somit für die Ausführung der Programmlogik verantwortlich.
Als Datenbank muss ein Microsoft SQL Server ab Version 2008 verwendet werden. Dieser kann sich
allerdings auch extern, d.h nicht auf demselben System des SharePoint Server befinden.
Auf dieser Basis implementiert die SharePoint Foundation 2010 verschiedenste Funktionen. Und
bietet auch für mobile Endgeräte speziell angepasste Ansichten.
Der SharePoint Server 2010 erweitert die durch die SharePoint Foundation 2010 bereitgestellte
Funktionalität. Der SharePoint Server 2010 wird noch in Standard und Enterprise unterteilt. Letztere
Version zeichnet durch die besondere Unterstützung und Integration von Microsoft Office aus. Eine
detaillierte Beschreibung der verschiedenen Server Versionen und anderen SharePoint Produkten
folgt im Kapitel „Die SharePoint 2010 Produktfamilie“.
6
4.1 Aufbau einer SharePoint Webanwendung
Grafik ‎4-1 zeigt den hierarchischen Aufbau einer exemplarischen SharePoint Installation.
Grundsätzlich werden alle Einstellung einer Ebene auf die darunter liegenden Ebenen vererbt. Die
untere Ebene kann diese aber wiederrum meist überschreiben
Server
(IIS-)Webanwendung
Webseitensammlung
(IIS-)Webanwendung
Webseitensammlung
(Root-)Webseite
Unterwebseite
Liste
Unterwebseite
Liste
Liste
Dokumentenbibliothek
Grafik ‎4-1: Hierarchischer Aufbau einer SharePoint Umgebung
7
(Root-)Webseite
Unterwebseite
Unterwebseite
Liste
Webseitensammlung
Eine Webseitensammlung stellt die Wurzel einer SharePoint Installation dar. Sie definiert
unteranderem die Basis URL (z.B: http://srv-sp01.de/web/) unter der die Inhalte aufrufbar sind. Die
darunter folgenden Webseiten befinden sich alle unterhalb des auf Webseitensammlung-Ebene
definierten Pfades (z.B: http://srv-sp01.de/web/subweb1/). Die sog. Root-Webseite stellt dabei eine
kleine Ausnahme dar. Die Root-Webseite ist die allererste Webseite die einer Webseitensammlung
hinzugefügt wird und übernimmt die dort definierte URL (hier: http://srv-sp01.de/web/). Für den
Endbenutzer sieht es also aus als wäre diese Root-Webseite die Wurzel einer SharePoint Installation.
Die Möglichkeit der hierarchischen Ausrichtung einer SharePoint Anwendung erleichtert es
Unternehmensstrukturen abzubilden. Geschäftsbereiche eines Unternehmens könnte als
Webseitensammlung abgebildet werden, Webseiten und deren Unterwebseiten könnten dann den
Abteilungen des jeweiligen Geschäftsbereiches entsprechen. Ressourcen auf die alle
Geschäftsbereiche zugreifen müssen, wären dann horizontal als separate Webseitensammlung
aufzubauen.
Die genaue Funktionsbeschreibung von Listen, Dokumentenbibliotheken oder Webseiten folgt in
Kapitel Funktionsübersicht.
4.2 Die SharePoint 2010 Produktfamilie
Die SharePoint Produktfamilie besteht aus mehrere Softwareprodukten, sowohl serverseitigen als
auch clientseitigen. Teilweise kostenpflichtig, teilweise kostenlos.
4.2.1
SharePoint Foundation 2010
SharePoint Foundation 2010 bildet die Grundlage für den SharePoint Server 2010 und ist für jeden
Einsatzzweck, kommerziell oder privat, kostenlos einsetzbar. Es wird von Microsoft eher als Plattform
anstelle als Produkt vermarktet und soll Drittentwicklern als Grundlage dienen, um angepasste
Lösungen zu entwickeln. Dennoch bietet die SharePoint Foundation 2010 genügend Funktionalität
auch ohne Einsatz von Drittentwicklern produktiv eingesetzt werden zu können.
4.2.2
SharePoint Server 2010 Standard
Der SharePoint Server 2010 baut auf SharePoint Foundation 2010 auf und erweiter somit dessen
Funktionalität. Im Gegensatz zu SharePoint Foundation 2010 wird der SharePoint Server 2010 als
Produkt, und nicht als Plattform, vermarktet und ist darüber hinaus kostenpflichtig. Diese Edition
richtet sich an Unternehmen mit bis zu mehreren hundert Mitarbeitern, was sich auch in den
hinzugefügten Funktionen wiederspiegelt. So wird unteranderem das zeitgesteuerte und
automatische importieren und synchronisieren von Benutzerstammdaten aus dem Windows
Verzeichnisdienst Active Directory unterstützt. Das Anzeigen von erweiterten Benutzerinformationen
wie z.B die Hierarchie der Abteilung in der der Mitarbeiter arbeitet in Form eines Organigramms
unterstreichen ebenfalls die Zielgruppe eines großen Unternehmens.
4.2.3
SharePoint Server 2010 Enterprise
Die Enterprise Variante des SharePoint Server 2010 erweitert den Funktionsumfang vor allem um
Berichterstattungstools. Dazu zählen WebPart die Daten grafisch als Graphen oder
Kuchendiagrammen anzeigen können, sowie eine besondere Integration von Microsoft Excel, um
diese Daten aufzubereiten und zu pflegen. Nicht nur Microsoft Excel erfährt eine besondere
Integration innerhalb des Servers auch die andere Office Produkte wie Access, InfoPath und Viso sind
ebenfalls stark integriert. Ein Hauptaspekt der Integration besteht darin, dass Dateien dieser
8
Produkte wie z.B eine Access Datenbank mithilfe von SharePoint Server 2010 Enterprise geöffnet
genutzt und bearbeitet werden kann, ohne das die Anwendung Microsoft Access auf dem Client
installiert sein muss. Selbiges gilt für InfoPath und Visio Dateien.
4.2.4
SharePoint Online
SharePoint Online stellt eine von Microsoft gehostete SharePoint Server 2010 Standard bzw.
Enterprise Umgebung dar, die für eine monatliche Gebühr gemietet werden kann. Dem Endbenutzer
stehen alle Funktionen einer herkömmliche SharePoint Umgebung zur Verfügung. Nur Entwickler
müssen auf einen leicht reduzierte API zurückgreifen.
4.2.5
SharePoint Designer 2010
Der SharePoint Designer 2010 ist eine clientseitige Software, die die Möglichkeit bietet SharePoint
Webseiten in ihrer Gestaltung und ihrem Verhalten anzupassen. Aber auch das verwalten von Listen
und Dokumentenbibliotheken ist möglich, sowie das erstellen von benutzerdefinierten Workflows.
Der SharePoint Designer stellt also eine Erweiterung der Anpassungs- und Verwaltungsmöglichkeiten
der Weboberfläche dar und wendet sich an fortgeschrittene Benutzer. In Kapitel ‎6.1.2‎6.1.1.
4.2.6
SharePoint Workspace 2010
SharePoint Workspace ist ebenfalls eine clientseitige, aber kostenpflichtige, Software, die es
ermöglicht SharePoint Inhalte offline, ohne Netzwerkverbindung zum SharePoint Server, zu
bearbeiten oder zu erstellen. Sobald wieder eine Netzwerkverbindung zum SharePoint Server
besteht, werden die Inhalte wieder bidirektional synchronisiert. Die Anwendung ist Teil des Office
Professional Plus 2010 Paketes.
5 Funktionsübersicht
5.1 Webseiten
Der SharePoint Server bietet die Funktion eines Web Content Management Systems (WCMS), oft
auch nur Content Management System (CMS) genannt, an. D.h Endbenutzer können innerhalb von
SharePoint bequem und mithilfe von Vorlagen eigene dynamische und statische Webseiten erstellen
und verwalten. Die Webseiten-Vorlage definiert bestimmte Bereiche in denen der Endbenutzer
seinen Inhalt einbringen und gestalten kann. In Webseiten können auch sog. WebPart-Zonen
eingefügt werden. In diese WebPart-Zonen können vom Endbenutzer wiederrum WebParts eingefügt
werden. Was ein WebPart ist wird im Kapitel „WebParts“ behandelt. Die Entwicklung von eigenen
WebParts widmet sich Kapitel "Entwicklung eigener Funktionalität". Für das erstellen eigener
Webseiten innerhalt des SharePoint Servers sind nicht zwingend Programmierkenntnisse
erforderlich. Die Gestaltung kann mittels eines sog. WYSIWYG (What you see is what you get) Editors
erfolgen. Die Bedienung des Editors ist an herkömmliche Desktop-Anwendungen wie z.B Microsoft
Office Word angelehnt und soll intuitiv erfolgen.
9
Abbildung ‎5-1
Abbildung ‎5-1 zeigt eine neu angelegte Webseite unter Verwendung der Standardvorlage. Die
Standardvorlage definiert ein zwei spaltiges Layout, in jeder Spalte befindet sich eine WebPart-Zone,
und fügt automatisch mehrere WebParts hinzu.
5.2 WebParts
Ein WebPart ist eine grafische als auch funktionale Kapselung. Sie dient meist als Schnittstelle
zwischen Benutzer und der SharePoint Umgebung. Der Endbenutzer kann ein WebPart auf jeder
Webseite innerhalb von SharePoint einbinden. Einzige Voraussetzung ist, dass die Webseite über
mindestens eine WebPart-Zone verfügen muss, in diese man dann das WebPart einbinden kann.
Webparts können grundsätzlich auf jeder beliebigen Webseite, in beliebiger Anzahl, eingefügt
werden. Die Platzierung erfolgt dabei über das Frontend oder mithilfe von SharePoint Designer. Über
das Frontend oder den SharePoint Designer kann man die meisten WebParts auch personalisieren.
Das minimieren oder gar ausblenden ist ebenso möglich. Die WebParts folgen somit einer FensterMetapher.
Viele Funktionalitäten innerhalb von SharePoint wie z.B Listen oder Dokumentenbibliotheken
realisieren die Benutzerinteraktion über WebParts.
Abbildung ‎5-2
Abbildung ‎5-2 zeigt exemplarisch das Dokumentenbibliotheks-WebPart. Es ist ein benutzerdefinierter
Titel „Meine Dokumente“ sowie ein ebenfalls durch den Benutzer hinzugefügtes Dokument zu sehen.
10
Andere Hersteller von Portallösungen haben ähnliche Konzepte zu SharePoints WebParts und heißen
z.B Portlet bei Liferay oder Widget.3
5.3 Listen
Listen sind integraler Bestandteil des SharePoint Servers. Jeglicher Inhalt den Benutzer in SharePoint
hinzufügen oder verwalten, wird i.d.R in Listen oder Dokumentenbibliotheken gespeichert. Auch
wenn die spätere Präsentation der Daten nicht zwingend in Listenform erfolgt. Mehr zu
Dokumentenbibliotheken in Kapitel „Dokumentenbibliotheken“. Die Interaktion mit Listen wird
ebenfalls durch WebPart realisiert, und kann somit auch von Endbenutzern eingebunden und
personalisiert werden.
Im wesentlichen bestehen Listen aus Spalten, Ansichten und Formularen. Spalten definieren den
Datentyp des Zelleninhaltes, wie z.B „Text“, „Zahl“ oder „Datum“. Ansichten definieren die
Sortierung der Spalten, mögliche Filterungen oder wie viele Einträge pro Seite angezeigt werden
sollen. Über Formulare kann der Endbenutzer Einträge löschen, bearbeiten oder neu anlegen. Die
Kombination dieser drei Komponenten wird als Listenvorlage bezeichnet. Ein Benutzer kann anhand
dieser Listvorlagen eine konkrete Liste erstellen.
Der SharePoint Server bietet bereits standardmäßig eine Reihe von Listenvorlagen an.
Listen können über das Frontend, per Microsoft SharePoint Designer oder programmatisch durch
Microsoft Visual Studio erstellt werden.
5.4 Dokumentenbibliotheken
Dokumentenbibliotheken sind eine Erweiterung der Listenfunktionalität. Sie verfügen ebenfalls über
Spalte, Ansichten und Formulare. Größter Unterschied ist, dass man zusätzlich Binärdateien wie
Office oder PDF Dokumente hochladen kann und somit zur Abdeckung der DMS Funktionalität
verwendet werden. Die Spalten dienen dann als beschreibende Metainformationen zum
hochgeladenem Dokument. Da das Durchsuchen von Binärdokumenten schwierig bis unmöglich ist,
können diese Metainformationen dann zum schnelleren auffinden des gewünschten Dokuments
benutzt werden.
Ebenso wie Liste können auch Dokumentenbibliotheken über das Frontend, mit Microsoft SharePoint
oder durch Microsoft Visual Studio erstellt werden.
5.5 Benutzerverwaltung
Der SharePoint Server verfügt über eine granulare Benutzer- und Rechteverwaltung. Der Zugriff auf
Inhalt innerhalb einer SharePoint Umgebung kann mittels Benutzern, Gruppen, Rechten und sog.
Webseitenberechtigungen gesteuert werden. Ein Benutzer besteht im wesentlichen aus einem
Anmeldenamen sowie einem Passwort und weiteren optionalen Attributen. Eine Gruppe ist eine
Ansammlung von Benutzer. Ein Recht definiert eine Aktion oder Option die einem Benutzer erlaubt
oder verweigert wird. Der SharePoint Server definiert einen festen Vorrat an Rechte, der nicht
erweitert werden kann. Webseitenberechtigung wird in anderen Softwaresystemen auch als Rolle
bezeichnet und stellt eine Ansammlung von Rechten dar. Rechte und Webseitenberechtigungen
können sowohl einem Benutzer als auch einer Gruppe zugeordnet werden.
3
http://en.wikipedia.org/w/index.php?title=Web_part&oldid=455022898
11
5.6 Workflows
Mit Workflows können Geschäftsprozesse innerhalb von SharePoint abgebildet werden. Ein
Workflow wird durch eine vorher definierte Abfolge von Aufgaben beschrieben. Jeder Workflow
besteht aus mindestens einer Aufgabe. Diese Aufgabe kann entweder einer einzelnen Person oder
einem ganzen Personenkreis zur Bearbeitung zugewiesen werden. Das Abschließen einer Aufgabe
durch einen Bearbeiter hat ein ebenfalls vorher definiertes Ereignis zur Folge.
Es können eigene benutzerdefinierte Workflows erstellt werden und anderen Benutzern zur
Verfügung gestellt werden. Die Entwicklung solcher Workflows erfolgt entweder in Microsoft
SharePoint Designer oder in Microsoft Visual Studio 2010.
5.6.1
In SharePoint Server vorhandene Workflows
Der SharePoint Server stellt standardmäßig folgende sieben parametrierbare Workflows zur
Verfügung:4






4
Genehmigung Mit diesem Workflow ist es möglich ein gegebenes Dokument
(Dokumentenbibliothek) oder einen Listeneintrag (Liste) an eine Personengruppe
weiterzuleitet und dessen Genehmigung einzufordern.
Feedback sammeln Dieser Workflow leitet ähnlich zum Workflow „Genehmigung“ das
Dokument an einen definierten Personenkreis weiter, allerdings mit der Absicht Feedback
über das gesendete Dokument anzufordern.
Signaturen sammeln Dieser Workflow leitet ein Microsoft Office-Dokument an eine Gruppe
von Benutzern weiter, um deren digitale Signaturen zu sammeln. Dieser Workflow muss in
einem Clientprogramm gestartet werden, das Teil von 2007 Office Release ist. Teilnehmer
müssen ihre Signaturaufgaben abschließen, indem sie ihre digitalen Signaturen im relevanten
Microsoft Office-Programm zum Dokument hinzufügen. Standardmäßig ist der Workflow
zum Sammeln von Signaturen mit dem Dokumentinhaltstyp verknüpft und daher
automatisch in Dokumentbibliotheken verfügbar. Der Workflow zum Sammeln von
Signaturen wird allerdings nur dann für ein Dokument in der Dokumentbibliothek angezeigt,
wenn dieses Dokument mindestens eine Microsoft Office-Signaturzeile enthält.
Dispositionsgenehmigung Dieser Workflow, der Verwaltungsprozesse für Datensätze
unterstützt, verwaltet den Ablauf und die Beibehaltung von Dokumenten, indem die
Teilnehmer entscheiden können, ob abgelaufene Dokumente beibehalten oder gelöscht
werden sollen. Der Workflow für die Dispositionsgenehmigung ist hauptsächlich für die
Verwendung auf einer Datenarchivwebsite vorgesehen.
Drei Status Dieser Workflow kann zur Verwaltung von Geschäftsprozessen verwendet
werden, bei denen Organisationen zahlreiche Probleme oder Elemente nachverfolgen
müssen, z. B. Kundendienstprobleme, Vertriebslead oder Projektaufgaben.
Gruppengenehmigung Dieser Workflow ähnelt dem Genehmigungsworkflow, unterscheidet
sich aber dadurch, dass er eine spezielle Dokumentbibliothek verwendet und eine
personalisierte Ansicht der Genehmigungsprozesse bietet, an denen ein Benutzer teilnimmt.
Dieser Workflow stellt ein hierarchisches Organigramm zum Auswählen der genehmigenden
Personen bereit, das es diesen ermöglicht, anstelle einer Signatur ein Stempelsteuerelement
http://office.microsoft.com/en-us/sharepoint-foundation-help/about-the-workflows-included-withsharepoint-HA102420739.aspx
12

zu verwenden. Diese Lösung ist nur für ostasiatische Versionen von Office SharePoint Server
2007 verfügbar.
Übersetzungsverwaltung Mit diesem Workflow wird der Übersetzungsprozess für
Dokumente verwaltet. Es werden Kopien des zu übersetzenden Dokuments erstellt und
Übersetzungsaufgaben Übersetzern zugewiesen. Dieser Workflow ist nur für
Übersetzungsverwaltungsbibliotheken verfügbar.
5.7 Business Connectivity Services
Unter Business Connectivity Services werden eine Reihe von Funktionen zum anbinden und
integrieren externer Datenquellen in die SharePoint Server Umgebung bezeichnet. Die Möglichkeit
externe Datenquellen einzubinden ist dabei eine für ein Webportal charakteristische Funktionalität,
um den Anforderungen der Zusammenführung verschiedener Anwendungen unter einer
einheitlichen Oberfläche gerecht zu werden.
Grundsätzlich kann jede SharePoint Server Komponente wie z.B Listen/Dokumentenbibliotheken,
Workflows oder WebParts auf die, durch die Business Connectivity Services bereitgestellten,
externen Daten zugreifen. Seit SharePoint 2010 kann der Zugriff lesend und auch schreibend
erfolgen.
Listen deren Daten in einer externen Datenquelle vorgehalten werden, werden als externe Liste
bezeichnet. Über die Business Connectivity Services kann eine externen Datenquelle derart in eine
SharePoint Liste integriert werden, dass der Endbenutzer keinen Unterschied zwischen einer
externen Liste und einer normalen Liste erkennt. Alle gewohnten Funktionen wie anlegen,
bearbeiten, löschen, filtern und sortieren stehen zur Verfügung.
Externe Microsoft SQL Server Datenbanken, XML Dokumente oder Webservices können
standardmäßig ohne weiteren Programmieraufwand eingebunden werden. Um Datenbanken
anderer Hersteller oder gänzlich andere Datenquellen einbinden zu können muss eine sog.
Connectivity Assembly programmiert werden.
(Externe) Listen
Dokumentenbiblothek
Workflows
Business Connectivity Services
Webservice
Datenbanken
Grafik ‎5-1
13
XML Dokument
WebParts
6 Entwicklung eigener Funktionalität
Wenn die standardmäßig angebotenen Funktionen des Sharepoint Server, trotz Anpassungs- und
Personalisierungsmöglichkeiten, nicht ausreichen, besteht die Möglichkeit eigene Funktionalität auf
Basis der vorhandenen SharePoint Infrastruktur zu entwickeln bzw. zu integrieren. Es besteht die
Möglichkeit bereits vorhandene Funktionalität zu erweitern, gänzlich neue Funktionen in SharePoint
zu integrieren oder aber auch SharePoint in andere Anwendungen zu integrieren. Letzteres wurde
mit Version 2010 stark gefördert.
Folgende Bereich können durch Dritte erweiter werden...
6.1 Entwicklungsumgebung und SDK
Je nachdem welchen Bereich man erweitern möchte, müssen verschiedene Technologien,
Programmiersprachen und Programme eingesetzt werden. Grundsätzlich gibt es zwei Programme
mit denen man eine SharePoint Umgebung, über die Möglichkeiten des Frontends hinaus, anpassen
und erweitern kann: Die Entwicklungsumgebung Microsoft Visual Studio in Version 2010 und den
Microsoft SharePoint Designer 2010. Ersteres wendet sich an Softwareentwickler und deckt alle
Erweiterungsmöglichkeiten ab. Letzteres richtet sich an Webseitengestalter mit HTML, CSS und
JavaScript Kenntnissen und bietet nur die Möglichkeit Webseiten zu erstellen und anzupassen.
6.1.1
Microsoft SharePoint Designer 2010
Der Microsoft SharePoint Designer 2010 richtet sich an professionelle Webseitengestalter und an
fortgeschrittene Endbenutzer. In erster Linie vereint der SharePoint Designer die Anpassungs- und
Verwaltungsmöglichkeiten, die man über das Webseiten Frondend hat in einer Desktop-Anwendung.
D.h es können Listen angelegt und angepasst werden, Texte oder Bilder gepflegt werden oder
Benutzer verwaltet werden. Der SharePoint Designer geht allerdings über die Funktionen des
Frontends hinaus und ermöglicht es auch den Quelltext von Webseiten anzupassen. Sowohl
gestalterisch über HTML oder CSS als auch funktional mittels JavaScript.
6.1.2
Microsoft Visual Studio 2010
Um Visual Studio in Verbindung mit dem SharePoint Server einzusetzen, ist mindestens die
kostenpflichtige Professional Version Voraussetzung, die kostenlose Express Edition kann leider nicht
zur Entwicklung mit SharePoint Server eingesetzt werden. Um den Einstieg in die Entwicklung zu
erleichtern, bietet Visual Studio standardmäßig, entsprechend den Erweiterungsmöglichkeiten des
Servers, verschiedene Projektvorlagen. Diese Projektvorlagen legen die Grundstruktur der zu
entwickelnden Erweiterung fest.
Folgende typische Erweiterungen werden durch Projektvorlagen unterstützt:





14
WebPart
Workflows
Listen
Dokumentenbibliotheken
Business Connectivity Assemblys
6.2 Das Objektmodell
Seit Version 2010 kann bei der Entwicklung zwischen zwei grundsätzlichen Objektmodellen
unterschieden werden. Das serverseitge Objektmodell und das clientseitige Objektmodell. Frühere
SharePoint Server Versionen haben es nur erlaubt, dass Anwendungen, die auf SharePoint
Funktionalität zurückgriffen, zwingend auch auf dem Server betrieben werden mussten. Für viele
Komponenten wie WebParts, Webseiten oder Workflows stellt dies keine Hürde dar, da diese aus
anderen Gründen generell nur im Kontext der SharePoint Webanwendung sinnvoll sind. Allerdings
war es so nicht möglich SharePoint ohne Umwege in eine, nicht auf dem Server laufende,
Anwendung zu integrieren. Das in Version 2010 hinzugekommene sog. Client Object Model, erlaubt
es nun Entwicklern z.B auf Listeninhalten des SharePoint Server zuzugreifen und diese zu in ihre
Anwendung zu integrieren. In dieser Arbeit wird nicht weiter auf das Client Object Model
eingegangen.
SPSite
SPSite
(Webseitensammlung)
(Webseitensammlung)
SPWeb
((Root-)Webseite)
SPWeb
((Root-)Webseite)
SPWeb
SPListe
SPWeb
(Unterwebseite)
(Liste)
(Unterwebseite)
SPWeb
SPWeb
(Unterwebseite)
(Unterwebseite)
SPListe
SPListe
(Liste)
(Liste)
SPListe
(Liste)
SPList
(Dokumentenbibliothek)
Grafik ‎6-1: Umsetzung im Objektmodell
15
Wenn man den hierarchischen Aufbau einer SharePoint Umgebung verinnerlicht hat, wird man sich
auch recht schnell im Objektmodell zurechtfinden, da die hierarchische Struktur sinnvollerweise
ebenfalls im Objektmodell umgesetzt wurde. Grafik ‎6-1: Umsetzung im Objektmodell zeigt die
Umsetzung im Objektmodell des in Grafik ‎5-1 beispielhaft dargestellten Aufbaus.
6.3 Exemplarische Erstellung eines eigenen WebParts
Die Möglichkeit zum entwickeln von SharePoint WebParts ist seit Visual Studio 2010 fester
Bestandteil und wird z.B durch Projektvorlagen und das direkte installieren des WebParts auf den
SharePoint Server unterstützt.
Im folgenden wird die Entwicklung eines eigenes simples SharePoint WebPart gezeigt. Das WebPart
soll die Nachricht „HelloWorld“ ausgeben. Nicht nur die Entwicklung sondern auch das
dahinterliegende Installationsmodell des SharePoint Servers soll beleuchtet werden. Es wird dabei
versucht auf die wichtigsten Punkte einzugehen. Eine detaillierte Erklärung jedes einzelnen Aspektes
kann es in dieser Arbeit allerdings nicht geben. Darüber hinaus werden Programmierkenntnisse mit
C# und Visual Studio vorausgesetzt.
Abbildung ‎6-1
Zu Beginn muss, wie üblich in Visual Studio, ein neues Projekt angelegt werden. Unter der Kategorie
SharePoint muss die Vorlage Visuelles Webpart ausgewählt werden. Sollte die Kategorie SharePoint
nicht zur Verfügung stehen. Wurde entweder die Unterstützung zur SharePoint Entwicklung während
des Installationsprozesses von Visual Studio deaktiviert oder es wird die Visual Studio 2010 Express
16
Edition verwendet. Die Entwicklung für SharePoint wird erst mit Visual Studio 2010 Professional oder
höher unterstützt.
Visual Studio legt nun eine Ordnerstruktur inklusive einiger
Dateien an, die grundlegen für das WebPart sind. Die
vorgegebene Ordnerstruktur muss nicht zwingend
eingehalten werden. Wenn sie angepasst wird, ist allerdings
darauf zu achten, dass man alle Verweise in den anderen
automatisch angelegten Dateien manuell anpassen muss.
Properties und Verweise sind Standardelemente die in
jedem Projekt ganz unabhängig, ob es sich um ein
SharePoint Projekt oder um eine Windows
Desktopanwendung handelt. Sie sind somit nicht SharePoint
WebPart spezifisch.
Unter Properties werden allgemeine Einstellungen zum
Abbildung ‎6-2
Projekt festgehalten, dazu zählt z.B die Versionsnummer
oder der Pfad unter dem die kompilierte Datei abgelegt werden soll.
Verweise enthält alle Verweise auf eingebundene Bibliotheken. Jedes WebPart leitet von der Klasse
Microsoft.SharePoint.WebPartPages.WebPart ab. Diese Klasse ist in der Microsoft.SharePoint.dll
definiert, sodass mindestens ein Verweis auf diese Datei bestehen muss.
Die Elemente Feature und Package sind SharePoint spezifisch und finden sich in jedem Visual Studio
SharePoint Projekt wieder. Sie sind für die Installation der eigenen SharePoint Erweiterung nötig.
Mehr dazu im Kapitel Deployment und Installation.
Unter HelloWorldWebPart, benannt nach dem Namen des WebParts, befinden sich die WebPart
spezifischen Elemente. Die WebPart.cs enthält den ausführbaren Code des WebParts, es kann
beliebig viele weitere Codedateien (.cs) geben. Die Datei WebPart.webpart ist eine XML Datei und
enthält Metadaten zur Beschreibung des WebParts die bei der Installation benötigt werden.
Elements.xml ist ebenfalls für die Installation des WebParts nötig.
Das folgende XML zeigt eine mögliche Beschreibung eines WebParts. Zeile 5 definiert welche Datei
inkl. Dateiversion zu diesem WebPart gehört. Der data Abschnitt in Zeile 8 definiert Eigenschaften
und deren Standardwerte, Titel und Description sind, wenn auch nicht zwingend nötig,
standardmäßig vorhanden. Es können aber auch eigene Werte definiert werden. Zum Beispiel wäre
es möglich in der XML die Nachricht anzugeben, die das WebPart später anzeigen soll.
<?xml version="1.0" encoding="utf-8"?>
2: <webParts>
3:
<webPart xmlns="http://schemas.microsoft.com/WebPart/v4">
4:
<metaData>
5:
<type name="SharePointProject1.HelloWorldWebPart, HelloWorldWebPart,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
6:
<importErrorMessage>Error importing Web Part</importErrorMessage>
7:
</metaData>
8:
<data>
9:
<properties>
10:
<property name="Title" type="string">HelloWorldPart</property>
17
11:
<property name="Description" type="string">WebPart das die
Zeichenkette HelloWorld anzeigt.</property>
21:
</properties>
22:
</data>
23:
</webPart>
24: </webParts>
Ein SharePoint WebPart muss aus mindestens einer Klasse bestehen die wiederum von der Klasse
WebPart im Namespace Microsoft.SharePoint.WebPartPages.WebPart ableitet. Diese Klasse stellt
den Ausgangspunkt der weiteren WebPart Entwicklung dar. Aus dieser Klasse können andere Klassen
instanziiert und benutzt werden. Die Basisklasse WebPart stellt unteranderem Methoden zum
hinzufügen und Anzeigen von sogenannten WebControls dar. Sodass es sich anbietet hier die
grafische Visualisierung des WebParts vorzunehmen. Geschäftslogik, Datenbankzugriffe, usw. sollten
in andere Klassen ausgelagert werden. Ein WebControl ist eine grafische Komponente, die bei der
Anzeige durch den Endbenutzer als HTML dargestellt wird. Die Klasse Literal stellt solch ein
WebControl dar. Der Literal Klasse kann man eine Zeichenkette übergeben, dieses wird bei der
Anzeige dann als Text dargestellt.
Folgender Code stellt schon ein vollfunktionsfähiges WebPart dar, es wird ein Literal WebControl
erstellt und die Zeichenkette „Hello Wordl!“ zugewiesen. Damit das WebControl auch angezeigt wird
muss es noch dem sogenannten Visual Tree hinzugefügt werden. Der Visual Tree ist eine baumartige
verkettete Liste an WebControls, die beim erstellen der HTML-Ausgabe durchlaufen wird:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
namespace SharePointProject1
{
public class HelloWorldWebPart : WebPart
{
private Literal messageLiteral;
18
// Diese von der Basisklasse bereitgestellte Methode
// kann zum erstellen von WebControls verwendet werden.
protected override void CreateChildControls ()
{
/* Das WebControl Literal erzeugen
* und die anzuzeigende
* Nachricht zuweisen. */
this.messageLiteral = new Literal();
this.messageLiteral.Text = "Hello World!";
this.Controls.Add(messageLiteral);
}
}
}
6.4 Deployment und Installation
Das im Kapitel zuvor entwickelte WebPart muss nach dem Kompiliervorgang auf dem SharePoint
Server ausgeliefert und, damit es den Anwendern auch zur Verfügung steht, installiert werden.
Visual Studio 2010 bietet die Möglichkeit entwickelte Komponenten direkt aus der
Entwicklungsumgebung auszuliefern und zu installieren. Dazu muss man auf Ebene des Projektes per
Kontextmenü den Eintrag „Bereitstellen“ verwenden. Leider funktioniert dieser Mechanismus nur
mit einem auf demselben System installiertem SharePoint Server. Entfernte SharePoint Server
können so leider nicht so einfach bespielt werden. Wenn Erweiterungen auf nicht lokalen Systemen
installiert werden müssen, ist nötig das im vorherigen Kapitel angedeutete Konzept des Feature und
des Package zu verstehen, da dieses nicht mehr automatisch ohne Zutun des Entwicklers von Visual
Studio erledigt wird.
Ein Feature vereinfach und vereinheitlicht die Bereitstellung von Erweiterungen auf einem
SharePoint Server. Es stellt einen Container für Erweiterungen dar, die aktiviert bzw. deaktiviert
werden können. Ein Feature kann beliebig viele und auch verschiedene Arten an Erweiterungen
gleichzeitig aktivieren bzw. deaktivieren. Beispielsweise könnte ein Dritthersteller verschiedene
Erweiterungen zum Thema Urlaubsantrag entwickelt haben, wie ein WebPart das die nächsten 10
Urlauber auflistet, ein WebPart das die momentanen Urlauber auflistet und einen Workflow um
Urlaub zu beantragen. Diese Erweiterungen machen nur Sinn, wenn sie gemeinsam genutzt werden.
Der Dritthersteller könnte diese drei Erweiterungen zu einem Feature zusammenfügen. Würde ein
Kunde dieses Produkt (Feature) kaufen und installieren, hat er die Möglichkeit alle drei
Erweiterungen auf einmal zu aktivieren. Einzelne Erweiterungen können nicht losgelöst der anderen
Erweiterungen aktiviert werden.
Darüber hinaus lassen sich Abhängigkeiten zwischen verschiedenen Features definieren. Der besagte
Dritthersteller könnte zu dem oben beschriebenem Feature, eine weiteres darauf aufbauendes
Feature anbieten. Bei der Aktivierung des neue Features wird überprüft ob das andere nötige
Feature bereits installiert und aktiviert ist.
Ein Package wiederum ist ein Container für ein oder mehrere Features. Technisch gesehen ist es
nichts anderes als eine CAB Datei mit der Dateiendung wsp. Wird ein SharePoint Projekt aus Visual
Studio heraus kompiliert entsteht eine einziges Package (wsp-Datei). Diese Datei beinhaltet alles zur
Bereitstellung der entwickelten Funktionalität. Zur Installation muss die Datei auf den Server kopiert
werden. Über die SharePoint 2010-Verwaltungskonsole kann unter Verwendung des Add-SPSolution
Befehls die Datei dem sogenannten Lösungsspeichers hinzugefügt werden. Mittels Install-SPSolution
kann das Package unter Angabe der URL der Webseitensammlung letztendlich installiert werden. Der
Umweg über den Lösungsspeicher wird gemacht, da die Erweiterungen eventuell später auch für
andere Webseitensammlungen installiert werden soll.
>> Add-SPSolution -LiteralPath C:\package.wsp
>>Install-SPSolution package.wsp -WebApplication http://srv-sp01.de/web/
Mit den oben aufgeführten Befehlen wird die wsp-Datei dem Lösungsspeicher hinzugefügt und auf
der Webseitensammlung unter http://srv-sp01.de/web installiert.
19
Glossar
ASP.NET ist ein Framework der Microsoft .NET Plattform und umfasst insbesondere die Erstellung
serverseitiger synamicher HTML Webanwendungen. ASP.NET besteht im wesentlichen aus zwei
Bereichen. Der Markup Syntax, der die HTML Darstellung übernimm und dem sogenannten Codebehind, der die serverseitge Anwedungslogik abbildet.
C# ist eine plattformunabhänige objektorientierte, von Microsoft entwickelte, Programmiersprache
und Bestandteil der Microsoft .NET Plattform.
Ähnlich wie bei Java oder Adobes ActionScript wird die Plattformunabhänigkeit durch eine separate
Laufzeitumgebung realisiert
CSS (Cascading Style Sheets) ist eine Sprache zum definieren von Stilvorlagen unteranderem für
HTML Dokumente. Idee ist es Inhalt von Aussehen zu trennen.
Deployment ist der Vorgang zur Bereitstellung von Software Computer. Meistens wird der Begriff im
Zusammenhang mit der Installation auf Servern benutzt.
Ein Objektmodell beschreibt in der objektorientierten Softwareentwicklung den Zusammenhang
zwischen den beteiligten Objekten. Durch die grafische Darstellung kann dem Entwickler ein
schneller Überblick über die vorhanden Funktionen gegeben werden.
PHP ist eine serverseitige Skriptsprache zur Erstellung dynamischer Webanwendungen, ähnlich zu
ASP.NET
SSO (Single-Sign-On) beschreibt eine Technik, die es erlaubt den Benutzer einmalig
Anwendungsübergreifend anzumelden. Die Anwendungen reichen die Zugangsdaten untereinander
automatisch weiter, um so den Benutzer zu authentifizieren und autorisieren.
20
Liste verwendeter Quellen
SharePoint 2010 Produktübersicht
http://sharepoint.microsoft.com/en-us/product
MSDN Library
http://msdn.microsoft.com/en-us/library
WebPart Klasse Referenz
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.aspx
Packaging and Deployment in SharePoint Foundation, Mai 2010
http://msdn.microsoft.com/en-us/library/ee539979.aspx
Microsoft Office SharePoint Server 2007 & Windows SharePoint Services 3.0
Ulrich B. Boddenberg, 2009
Vorlesung Webportale
Dr. Philip Rohde, Dipl.-Inform. Patrick Stalljohann
CiL - Center for Innovative Learning Technology, RWTH Aachen
Magic Quadrant for Horizontal Porals, 24. Oktober 2011
http://www.gartner.com/technology/reprints.do?id=1-17RRLXF&ct=111025&st=sb
Microsoft SharePoint 2010 - Funktionen
http://sharepoint.microsoft.com/de-de/product/capabilities/Seiten/default.aspx
Web part, 11. Oktober 2011
http://en.wikipedia.org/w/index.php?title=Web_part&oldid=455022898
21

Documentos relacionados