© Kellie L. Folkerts/Shutterstock.com
SharePoint-Apps mit Visual Studio LightSwitch erstellen

Es werde Licht …


Microsoft Visual Studio LightSwitch ist eine Rapid-Application-Development-Umgebung für die Entwicklung von Anwendungen auf der Basis von Daten bzw. Datenbanken. Während man SharePoint bisher hauptsächlich als Datenquelle für Visual-Studio-LightSwitch-Anwendungen nutzen konnte, gibt es seit dem Update Pack 2 für Visual Studio eine entscheidende Änderung: Nun kann man mit Visual Studio LightSwitch auch Apps für SharePoint 2013 entwickeln. Wie genau das funktioniert und welche Technologien hinter der Entwicklung von SharePoint-Apps in Visual Studio LightSwitch stehen, davon handelt dieser Artikel.

Vor knapp zwei Jahren hat Microsoft Visual Studio LightSwitch veröffentlich, eine modellbasierte RAD-(Rapid-Application-Development-)Entwicklungsumgebung, mit der man schnell und einfach Datenbankanwendungen erstellen kann. Während Visual Studio LightSwitch 2011 als separates Produkt verkauft wurde, das sich in Visual Studio 2010 eingebunden hat, ist die neue Version fester Bestandteil von Visual Studio 2012 ab der Professional Edition [1].

Der Ansatz von Visual Studio LightSwitch ist der, dass man von einem Domänenmodell der Anwendung ausgeht. Dieses Modell besteht aus Entitäten und Bildschirmen. Entitäten definieren, wie die Daten gespeichert werden, und werden im Rahmen der Visual-Studio-LightSwitch-Anwendung als Tabellen umgesetzt. Bildschirme werden auf Basis von Entitäten aufgebaut. Die Bildschirme ermöglichen es dem Anwender mit den Entitäten zu interagieren und beispielsweise neue Daten einzugeben, vorhandene Daten anzuzeigen oder zu ändern und natürlich auch Daten zu löschen. Als Ausgangspunkt zum Aufbau eines Bildschirms verwendet man eine Bildschirmvorlage, der resultierende Bildschirm lässt sich aber nach dem Erstellen beliebig anpassen. Wenn man mit Visual Studio LightSwitch eine Anwendung für SharePoint erstellt, werden die Bildschirme als HTML5-Webseiten ausgegeben. Abbildung 1 veranschaulicht den Aufbau einer LightSwitch-Anwendung.

geisler_lightswitch_1.png

Abbildung 1: LightSwitch-Anwendung bestehend aus Datenquellen und Bildschirmen

Die Architektur einer LightSwitch-Anwendung

Arbeitet man in Visual Studio LightSwitch auf dieser abstrakten Ebene, die innerhalb von Visual Studio auch als „logische Sicht“ bezeichnet wird, wird im Hintergrund eine dreischichtige Anwendung als C#- oder VB.NET-Anwendung erzeugt. Nutzt man HTML5 als Technologie für den Client-Layer, so kommt noch clientseitiges JavaScript hinzu. Den Aufbau der dreischichtigen Anwendung können Sie Abbildung 2 entnehmen.

geisler_lightswitch_2.png

Abbildung 2: Aufbau einer Visual-Studio-LightSwitch-Anwendung

In der Clientschicht werden von Visual Studio LightSwitch Bildschirme, Methoden und Steuerelemente implementiert. Außerdem besitzt die Clientschicht einen Datenarbeitsbereich, in dem die Daten lokal gecacht werden. Erst wenn der Anwender in einer Visual-Studio-LightSwitch-Anwendung auf die Schaltfläche Speichern klickt, werden die lokal gespeicherten Daten an die Anwendungsschicht weitergegeben und von dort in der Datenbank persistiert. Die Kommunikation zwischen Clientschicht und Datenschicht wird über einen WCF-Datendienst realisiert. Der WCF-Datendienst spricht OData. Das hat den Vorteil, dass man auf ihn auch von anderen Anwendungen aus, wie beispielsweise von Windows-8-Apps oder PowerPivot, auf die Daten zugreifen kann.

Als Technologien für das Frontend werden Silverlight und HTML5 verwendet, wobei die Silverlight-Oberfläche für Desktoprechner gedacht ist. Die HTML5-Oberfläche bietet eine moderne Benutzerführung, die Touch-Bedienung unterstützt und daher hervorragend auf Tablet-PCs oder Smartphones läuft. Natürlich kann die HTML5-Oberfläche auch auf Desktopbrowsern genutzt werden.

In der Anwendungsschicht werden die Übertragungspipeline, die in LightSwitch definierten Abfragen und natürlich die benutzerdefinierte Businesslogik realisiert. Auch hier gibt es wieder einen lokalen Datenarbeitsbereich, in dem die Daten lokal auf dem Anwendungsserver gecacht werden. Und natürlich gibt es auch hier einen WCF-Datendienst zur Kommunikation mit dem Client. Der Anwendungsserver ist als ASP.NET-Dienst implementiert, läuft auf der Zielplattform Internet Information Server und somit auch unter Azure – und zwar sowohl als Website wie auch als Dienst. Schlussendlich gibt es noch eine Datenbankschicht, in der die Tabellen, in denen die Daten gespeichert werden, implementiert sind. Als Datenbanken unterstützt Visual Studio LightSwitch den SQL Server, SQL Azure, SharePoint und OData-Datenquellen. Auf beliebige weitere Datenquellen kann man mithilfe von custom ADO.NET-Providern zugreifen. Unter [2] finden Sie eine Anleitung, wie man beispielsweise auf MySQL über devart DotConnect für MySQL auf eine MySQL-Datenbank zugreifen kann.

Visual Studio LightSwitch und SharePoint

Schon immer war es mit Visual Studio LightSwitch möglich, SharePoint-Listen als externe Datenquellen zu verwenden und auf die in den Listen gespeicherten Daten sowohl lesend als auch schreibend zuzugreifen. Seit Visual Studio 2012 Update 2 ist es nun aber auch möglich, mithilfe von Visual Studio LightSwitch SharePoint-2013-Apps zu erstellen. Die starke Integration zwischen LightSwitch und SharePoint ist sinnvoll, da Unternehmen so alle Unternehmensanwendungen in einem einzelnen SharePoint-Portal zur Verfügung stellen können. Außerdem kann die im Unternehmen existierende Authentifizierung weiterverwendet werden. Darüber hinaus können alle Funktionen einer SharePoint-Website, wie beispiel...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang