OfficeApps entwickeln–Teil 1 Die Grundlagen

2013-01-15 | Toni Pohl

Mit Office 2013 und SharePoint Server 2013 hat Microsoft ein neues Applikationsmodell für Apps eingeführt. Neue Apps funktionieren technisch auf einer ganz anderen Basis als bisher, sie bauen auf Webstandards und Services. Apps werden nun über Webdienste eingebunden und in SharePoint, in Windows Azure oder bei einem Provider gehostet – sie laufen nicht mehr IN der Applikation, sondern sind gänzlich davon losgelöst.

Gleich zu Beginn ein paar Worte zur neuen App-Welt: OfficeApps und SharePointApps sind ein sehr weites Thema. Ohne zu tief in die Details einzugehen, möchte ich hier einen raschen Überblick über diese neue Art von Apps geben und die wichtigsten Informationen liefern, um rasch eigene Apps erstellen zu können. Somit ist dieser Artikel Teil Eins einer mehrteiligen Serie. Im Laufe der Serie werden verschiedenste Aspekte und Beispiele entwickelt und wir werden nach und nach tiefer in die App-Welt eintauchen.

Natürlich existieren die bestehenden Wege der Programmierung nach wie vor. Jedoch, das neue App-Konzept bietet eine Reihe von Vorteilen – ich habe bereits im Juli 2012 in Alles neu für Developer in SharePoint 2013 einen Überblick darüber geschrieben. Nun gehen wir konkreter in die App-Entwicklung.

Anatomie einer App

Office-AddIns liegen nun als Webseite vor, die Koppelung mit den Applikationen erfolgt über Datendienste. Für die Entwicklung werden HTML5, XML, CSS3, JavaScript und REST APIs verwendet. Microsoft setzt darauf, dass auch Webentwickler mit ihrem KnowHow rasch Lösungen für Office 2013 und SharePoint 2013 erstellen können.

Eine App besteht grundsätzlich aus zwei Teilen (wie in der Abbildung gezeigt):

apps-1

Grafik: Overview of apps for Office 

Das Manifest definiert alle Einstellungen und zeigt zu der Webseite, wo die App gehostet ist:

In Visual Studio sieht ein eigenes XML-Manifest zum Beispiel so aus (zum Vergrößern anklicken):

apps-3

Das App-Manifest selbst wird im Office Store oder in einem eigenen App-Katalog bereitgestellt – es kann also ganz woanders als die App gespeichert sein.

Die Webseite enthält das User Interface und die ganze App-Logik. Je nach Hosting können verschiedene Programmiersprachen verwendet werden, dazu später mehr.

Erforderliche Werkzeuge

Um eigene OfficeApps zu entwickeln benötigt man:

Wie die Werkzeuge verwendet werden, sehen wir in den folgenden Artikeln.

Verwenden von Apps

OfficeApps können von jedem Benutzer sehr einfach in eigene Dokumente eingebunden werden und zwar über einen App-Katalog. Dort werden die App-Manifestdateien ausgelesen, darüber kann dann die entsprechende App bezogen werden. Das Ganze funktioniert über das Menü Einfügen/Apps für Office und Auswahl der gewünschten App. Im TechNet Blog findet ihr dafür eine detaillierte Vorgangsweise in Verwenden von Office 2013 Apps.

Ein wichtiger Hinweis darf hier nicht fehlen: OfficeApps sind ausschließlich in Office 2013 (und Nachfolgeversionen) und in SharePoint 2013 verfügbar – nicht in älteren Versionen!

Deployment und Workflow

Ein Developer legt sein App Manifest im Office Store oder einem anderen App Catalog ab und lädt die App auf einen Webserver (dies kann auch im Intranet für das eigene Unternehmen erfolgen). Ein Benutzer durchsucht den App Catalog, wählt die Anwendung aus und verwendet diese direkt vom Webserver.

Auch bei der Weitergabe von Dokumenten erfolgt der Zugriff wieder über die URL der App, also auf den Webserver. Ist dieser nicht mehr erreichbar (z.B. wenn es eine App auf einem Intranet Server war), kann die App nicht geladen und nicht verwendet werden. Die Verweise bleiben aber bestehen, bis sie explizit aus dem Dokument entfernt werden.

office-app-deployment

Diese Grafik stammt aus einer Präsentation der build conference 2012, 3-020, Building apps for Office and SharePoint 2013 – Part 1 und verdeutlicht diesen Vorgang.

Hosting der App

Eine App für Office oder SharePoint kann so verfügbar gemacht (ge-hostet) werden:

  1. SharePoint Hosted oder
  2. Auto-Hosted (Cloud-Hosted in Windows Azure) oder
  3. Provider-Hosted (Cloud-Hosted)

SharePoint Hosted Apps werden direkt in SharePoint gespeichert und im App Web (s.o.) ausgeführt. Die Kommunikation erfolgt nur über Javascript, es wird kein serverseitiger Code unterstützt, sondern nur SharePoint + HTML/JS. Die beiden Cloud-Hosted Modelle erlauben jedoch auch serverseitigen Code in der App, sie laufen schließlich auf einem Applikations-Server.

Auto-Hosted kann Azure Webseiten und Azure Datenbanken beinhalten, die automatisch auf Windows Azure bereitgestellt werden. In Windows Azure steht die gesamte Palette von PaaS zur Verfügung, wie Load Balancing, Multitenancy sowie Reporting.

Beim Modell Provider-Hosted muss sich der Betreiber um die gesamte Infrastruktur kümmern. Die Grafik zeigt diese Hosting-Varianten im Überblick.

office-app-hosting

Bildquelle: build conference 2012, 3-021, Building apps for Office and SharePoint 2013, Part 2

Nach welchen Kriterien sollte der Entwickler also entscheiden, wo die App gehostet wird?

Die folgende Grafik versucht, eine Richtlinie für Office und SharePoint Apps zu liefern:

office-app-hosting-choose

Bildquelle: build conference 2012, 3-021, Building apps for Office and SharePoint 2013, Part 2

Das Hosting-Modell bestimmt also auch die Art der Entwicklung und somit auch die Funktionalität der App!

Im Teil 2 gehen wir auf Besonderheiten von SharePointApps ein und zeigen, wie die Entwicklung und SharePoint Hosting grundsätzlich funktioniert!

Categories: App, Developer, Microsoft, Office365, SharePoint

Source: https://blog.atwork.at/post/OfficeApps-entwickeln-Teil-1-Die-Grundlagen