Sharepoint 2010: Teil 1 – Überblick über Sharepoint Produkte und Technologien

Dieser Artikel ist der Startpunkt unserer Sharepoint 2010 Blog Reihe. In den folgenden Wochen werde ich hier eine Einführung in Sharepoint 2010 für Entwickler geben, damit zum offiziellen Release am 12.05.2010 sofort gestartet werden kann mit der Erweiterung und Anpassung der Sharepoint 2010 Installationen.

Beginnend mit einem Überblick “Was ist Sharepoint” über das Einrichten einer Entwicklungsumgebung, bis hin zu fortgeschrittenen Techniken (TDD mit Sharepoint,..), soll diese Artikelreihe eine Anleitung zum Einstieg oder Umstieg in die Sharepoint Entwicklungswelt bieten.

Ohne Umwege gehts gleich zur ersten Frage: “Was ist Sharepoint”. Aus eigener Erfahrung habe ich gelernt, dass mit “Sharepoint” meist der Sharepoint Server bezeichnet wird. Dass dass nur die Spitze des Eisbergs ist und dass darunter eigentlich Standard ASP.NET/IIS steckt ist vielen gar nicht bewusst. Sharepoint wird eher als ein Produkt wahrgenommen, dass eine eigene Welt und ein eigenes Programmierparadigma darstellt. In Wirklichkeit ist es so, dass jeder Entwickler der ASP.NET / IIS versteht sehr leicht um- oder “auf” steigen kann auf die Sharepoint Entwicklung.

Gründe warum Sharepoint Technologien in Unternehmen eingeführt werden gibt es viele. Meist soll die Entwicklung von Collaborations Portalen vereinfacht und standardisiert werden wie zum Beispiel Intranets etc. Oft steht auch Reportung und Business Intelligence im Vordergrund oder die Möglichkeit Sharepoint Server als “Frontend” für heterogene Datenquellen und Systeme einzusetzen, sodass alle Quellen über ein System erreichbar sind. Für all dies eignet sich Sharepoint Server hervorragend. Für Entwickler bedeuted es jedoch einen nicht zu unterschätzenden Aufwand sich einzuarbeiten.

sp2010

Wichtig ist, dass man bei der Einarbeitung “unten” anfängt. Also nicht gleich versucht eine riesen Business Intelligence Lösung zu implementieren sondern sich die Grundlagen erarbeitet, da man so auch sehr schön die Architektur von Sharepoint versteht.

Also gehts von unten los:

Die Basis bilden Windows Server/7, IIS und ASP.NET. Darauf direkt aufbauend bildet die Sharepoint Foundation die erste “Sharepoint Schicht”. Bis MOSS 2007 war dieser Layer als WSS – Windows Sharepoint Services bekannt.

Die Sharepoint Foundation stellt die Grundfunktionalitäten bereit und Sharepoint Server setzt nur mehr darauf auf und erweitert diese um zusätzliche Funktionen, je nach Edition (Standard/Enterprise)

SharePoint-2010-foundation

Was bringt mir als Entwickler das Ganze?

In einem Unternehmen werden heutzutage dutzenden Web- oder Client/ Server-Applikationen betrieben und neu erstellt. Jede dieser Applikationen wird meist von Grund auf entwickelt und jede bringt eine dicke Infrastrukturschicht mit. Damit ist gemeint: Jede Applikation hat ihre eigene Applikations-Schicht für Datenzugriff/Persistenz, Sicherheit und Berechtigungen, Integration externer Anwendungen und Daten,….also sehr viel Code der nichts mit dem eigentlichen Businessproblem zu tun hat sondern den Context und die Infrastruktur darstellt.

Sharepoint bietet mir ein Framework an, welches mir all das abnimmt. Eine richtig konfigurierte Sharepoint Farm bietet mir über eine einzige API alle diese infrastrukturellen Dinge an. Das heisst die Integration von Daten, das Verwalten von Berechtigungen etc. wird von der Entwicklung weg, zu eigenen Sharepoint Administratoren verschoben und somit an einen zentralen Punkt. Alle Applikationen die, die Sharepoint “Toolbox” nutzen profitieren von der kompletten eingerichteten Infrastruktur und alle Applikationen können auf einer gemeinsamen Platform erstellt und gewartet werden und existieren nicht als “Inseln”.

“Meine” Applikation, welche auf der Sharepoint Toolbox (API) aufbaut oder diese erweitert muss sich somit nur mehr um den Business-relevanten Teil kümmern, das heisst um die eigentlich Problemstellung. Alle Infrastrukturellen Komponenten spreche ich über die API, da sie schon vorhanden und konfiguriert sind. Weiters habe ich als Entwickler natürlich damit auch die Möglichkeit sehr einfach mit anderen Applikationen und Systemen zu interagieren und Daten bereit zu stellen, Workflows anzustossen, uvm…

Die Entwicklung erfolgt dabei gewohnt mit Visual Studio 2010 und der Sharepoint API, aber auch mit einem eigenen Tool namens Sharepoint Designer, welcher noch Teil eines eigenen Artikels sein wird.

Soweit mal ein Mini Überblick über die Sharepoint Platform und eine Motivation die Artikelreihe in Zukunft zu verfolgen. Nächstes Thema, um tiefer in den Aufbau von Sharepoint zu tauchen, wird die Installation und Erstkonfiguration sein. Also der erste Schritt zu einer Entwicklungsumgebung für Sharepoint 2010

Links:

Microsofts Offizielle Sharepoint 2010 Seite Channel 9 - Videos zu Sharepoint 2010