Integration in die Office-Plattform –machen eigene Erweiterungen Sinn?
• Apps… Warum eigentlich?
• Apps für Office
• Apps für SharePoint
• Entwicklungsumgebungen
• Bereitstellung
Agenda
AppsWarum eigentlich?
• Office-Erweiterungen via Add-Ins (z. B. VSTO)
• SharePoint Farm Solutions und Sandboxed Solutions
• Herausforderungen
• Spezialwissen
• Verteilung (Client/Server)
• Versionswechsel
Bisher…
• Einfach zu erstellen
• Web-Standards als Entwicklungs-Technologie
• Breite Entwicklerbasis
• Freie Wahl der Entwicklungsumgebung
• Einfach und flexibel bereitstellbar (intern / öffentlich)
Motivation
Apps für Office
• Unterstützen Office 2013 und Office Web Apps
• Basieren auf HTML5 und JavaScript
• Nutzen das Web Extension Framework (WEF)
• Können mit dem Dokument/Nachricht interagieren
• Werden zentral über einen Katalog bereitgestellt
• Ersetzen (noch) nicht alle Technolgien (VSTO, Add-Ins,…)
Apps für Office
Apps für Office Typen
Task Pane App• Unterstützen den Anwender bei der Arbeit mit Dokumenten
• Word, Excel, PowerPoint, Project
Content App• Werden in das Dokument eingebettet
• PowerPoint, Access, Excel und Excel Web App
Mail App• Anwendbar auf Nachrichten und Kalendereinträge
• Erweitert Outlook / OWA Elemente kontextabhängig
• Erfordert Outlook 2013 und Exchange 2013
• Beliebige Entwicklungsumgebung für HTML5/JavaScript
• Napa (Visual Studio Online)
• Visual Studio 2012 oder höher (mit Office Developer Tools)
• Team Foundation Server (wenn im Team entwickelt wird)
Wie wird entwickelt ?
Apps für SharePoint
• SharePoint Online und SharePoint 2013
• Mehr Möglichkeiten als in Sandboxed-Solutions
• Keine Komponenten auf dem SharePoint Server• Weniger Auswirkungen auf V2V Upgrades
• Keine Beschränkungen in gehosteten Umgebungen
• Entwicklung wird einfacher• Weniger SharePoint spezifisches Spezialwissen notwendig
Vorteile
Oberflächen-IntegrationArt Beschreibung Beispiel
ImmersiveFull Page App
Implementiert eine komplette Anwendung, Übernahme der gesamten Oberfläche
Budgetplanung,Urlaubsantrag, etc.
App Part Implementiert Funktionen und UI in einer bestehenden Teamsite
Wetter, Newsticker, etc.
Extension App Neue Aktionen auf Dokumenten oder Listeneinträgen
Dokumentenvorschau, Drucken, Start eines Freigabe-Workflows, etc.
• Kein lokal installierter SharePoint Server mehr notwendig
• Napa (Visual Studio Online)
• Visual Studio 2012 oder höher (mit Office Developer Tools)
• Team Foundation Server (wenn im Team entwickelt wird)
• Beliebige Entwicklungsumgebung (Unterscheidung nach
App Hosting Typ)
Wie wird entwickelt ?
• SharePoint Hosted• Code läuft rein auf dem Client (HTML5/JavaScript)
• SharePoint hält die Anwendung in eigenem App Web
• Provider Hosted (Cloud Hosted)• Webentwicklung mit ASP.Net oder alternativen Web Technologien
• Benötigt eigene Infrastruktur (Webserver und Konfiguration für Authentifizierung)
Apps für SharePoint Hosting Typen
Apps für SharePoint Hosting Typen
App Web
Host
Web
SharePoint Hosted App
Das App-Web (isolierte
Subsite) ist der Host, Nur
HTML5/JavaScript
Provider Hosted App
(Cloud Hosted App)
BYOH – Bring your own Host
Host
Web
Zugriff auf SharePoint über
CSOM oder REST / ODATA Gehostete Site
(Remote Web)
Zugriff auf SharePoint über
JSOM oder REST / ODATA
• Ausführung im Browser
• SharePoint hält die App und liefert diese aus
• Darstellung in HTML5, Logik rein in JavaScript
• Kommunikation mit SharePoint via JSOM oder REST / ODATA
• Kein Code-Behind (kein Server-Side Code)
SharePoint Hosted Apps
• SharePoint Elemente wie Listen und Bibliotheken können
verwendet werden
• Businesslogik wird außerhalb gehosted und ausgeführt• Selbstgehostete Webanwendung (z. B. in Azure Websites)
• Kommunikation mit SharePoint via CSOM oder REST / ODATA
• Zugriffs-Authorisierung über OAUTH 2.0
Provider Hosted App (Cloud Hosted)
VergleichFull-Trust Solutions
Sandboxed Solutions
Apps
Client-Side SharePoint API X X X
Server-Side SharePoint API X (X)
Remote Services (X) X
App-based Permissions (OAuth2) X
Einsatz in On-Premise X X X
Einsatz in Office 365 X X
Verteilung über den Marktplatz X
Bereitstellung
• Keine klassische Softwareverteilung (Deplyoment)
notwendig
• Apps werden in Katalogen bereitgestellt
Zentrale Verfügbarkeit
• Unternehmens App Katalog• Bereitstellen eigener Apps
• Verwaltung erworbener Apps aus dem Office Store
• Lizenzmanagement (Anzahl der App-Instanzen / Global)
• Öffentlicher Office Store• Onboarding Prozess (ähnlich zu Windows Store, XBOX Marketplace)
• App wird übermittelt und nach Prüfung veröffentlicht
Katalog Varianten
• Office Developer Center
http://dev.office.com
• Video-Trainings
http://msdn.microsoft.com/de-DE/office/dn448488
• Code Beispiele für Apps
http://code.msdn.microsoft.com/officeapps
• Zertifizierungen für Entwickler
http://www.microsoft.com/learning/en-us/sharepoint-training.aspx
Weitere Informationen
• Office 365 for Developers http://www.microsoftvirtualacademy.com/product-training/office-development
• Introduction to Office 365 Development
• Deep Dive into the Office 365 App Model
• Deep Dive: Integrate Office 365 APIs in Your Web Apps
• Deep Dive: Integrate Office 365 APIs in Your Mobile Device Apps
Microsoft Virtual Academy (MVA)
© 2014 Microsoft Corporation. All rights reserved. Because
Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft,
and Microsoft cannot guarantee the accuracy of any information
provided after the date of this presentation. MICROSOFT MAKES
NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE
INFORMATION IN THIS PRESENTATION.
Vielen Dank