Mobile Webapps für SharePoint entwickeln

Seite 3: Beispiel 2

Inhaltsverzeichnis

Ein weiteres Beispiel dafür, wie moderne Webtechniken um HTML5 und jQuery Mobile es mit geringem Aufwand ermöglichen, individuelle mobile Enterprise-Anwendungen zu entwickeln, ist die mobile Version eines SharePoint-Projektportals. Dieses soll Mitarbeitern unterwegs Zugriff auf wesentliche Inhalte wie Projektinformationen, beteiligte Personen, Projektdokumente und Aktivitätsverlauf geben. Die App ist ebenfalls in der Split-View-Ansicht aufgeteilt.

Projektportal Mobile (quer) (Abb. 4)

Auf der linken Seite werden Projektlisten nach Filterkriterien wie persönliche Favoriten, Region, Status oder Projektgröße angezeigt. Am Kopf jeder Liste gibt es eine Suchbox, um die Ergebnisse direkt beim Eintippen zu reduzieren. Nach der Auswahl liest die Webapp die Projektdaten aus dem zugehörigen SharePoint-Portal und zeigt diese im Inhaltsbereich auf der rechten Seite an.

Zu den allgemeinen Projektinformationen gehören unter anderem Projekttitel, Kundenname, Beschreibung, Zeitraum, Region und Status. Im Aktivitätsbereich entstehen zum einen automatisch Einträge, wenn ein Projektmitglied Dokumente hochlädt oder bearbeitet. Zum anderen können Projektmitglieder individuelle Nachrichten schreiben, etwa um den Status zu dokumentieren oder sich mit Kollegen auszutauschen. Die Dokumente finden sie unter Projektdokumente zentral angezeigt. Da der Zugriff über ein mobiles Endgerät in der Regel nicht zur Bearbeitung dient, ist die Darstellung auf einen Dateityp-Icon und einen Hyperlink zum Dokument beschränkt. Die meisten Mobilgeräte können nämlich übliche Office-Formate anzeigen.

Eine besondere technische Herausforderung bei dieser Webapp ist das dynamische Erzeugen von HTML5-/jQuery-Mobile-Code. Nach Abfrage der Projektliste in SharePoint über den List-Webservice werden die Navigationseinträge dynamisch hinzugefügt und die Click-EventHandler für die Menüeinträge registriert. Beim Klicken auf ein Projekt aus der linken Projektliste ruft man die Projektdetails, Aktivitäten und Dokumente per Webservice aus SharePoint ab und stellt sie im rechten Inhaltsbereich dar.

Der Einsatz von jQuery Mobile bietet auf der einen Seite ein umfangreiches Framework, auf der anderen Seite werden viele Ressourcen benötigt, da die zugehörigen JavaScript-Bibliotheken verhältnismäßig groß sind. Dank dem Offline Caching aus HTML5 lassen sich Ressourcendateien allerdings cachen, und nur die reinen Projektdaten sind stets aktuell zu übertragen. Das zugehörige Listing, das das dynamische Hinzufügen der Navigationseinträge beschreibt, sieht wie in Listing 1 aus.

Projektportal Mobile (Hochformat) (Abb. 5)

Bei Enterprise-Apps spielt Sicherheit eine entscheidende Rolle. Zum einen muss der Zugang geschützt sein, da die App auf einem internen Server gehostet wird. Zum anderen ist die verschlüsselte Übertragung der Daten zu gewährleisten, insbesondere wenn wie auf Messen und Konferenzen ein offenes W-LAN zum Einsatz kommt. Innerhalb der App muss außerdem sichergestellt sein, dass zum Beispiel nur Projekte und Dokumente angezeigt werden, auf die der Benutzer Zugriff hat. Daher benötigt die App eine umfangreiche Authentifizierung bei der Verbindung mit dem Unternehmensnetz und der Webapp.

Die Beispiele des Artikels demonstrieren, wie einfach sich Webapps entwickeln lassen, die über Webservices Daten mit SharePoint austauschen. Allein durch die Verwendung von HTML5 können Entwickler bereits mobile Frontends erstellen. Die Webapps werden dabei auf dem SharePoint-Server selbst abgelegt oder auf einem anderen Server im Unternehmensnetz, der Zugriff auf die SharePoint-Webservices besitzt.

Falls solch eine Anwendung doch als native App zur Verfügung stehen soll oder native Funktionen, zum Beispiel Zugriff auf das Telefonbuch oder Push-Notifications, fehlen, lassen sich Tools wie PhoneGap nutzen. Hier kann ein Entwickler seine Webapp hochladen sowie gegebenenfalls erweitern und erhält eine für ein bestimmtes Betriebssystem kompilierte App zurück. Benötigt er allerdings optimierten Zugriff auf native Gerätefunktionen wie Telefonbuch, Kamera oder Gyrosensor, kommt er um die Programmierung spezieller nativer Apps nicht herum.

Bernd Pehlke
ist zertifizierter SharePoint Developer und ITPro sowie MCPD ASP.NET Developer 3.5 und MCPD Windows Developer 3.5. Er arbeitet als SharePoint Consultant und Technikberater mit Fokus auf Microsoft-Techniken bei Computacenter.