Was ist eigentlich SharePoint?
Oder: Was ist SharePoint eigentlich?
.NET User Group Göttingen 04.07.2013
Max Nowack
Wer bin ich?
Agenda
• Was ist eigentlich SharePoint?
• Kernfunktionen
• Architektur
• Was ist SharePoint Entwicklung?
• App-Modell in SharePoint 2013
• Praxis-Beispiele
• Urlaubsplanung
• Dokumentenverwaltung
Was ist eigentlich SharePoint?
SharePoint ist kein Programm
SharePoint ist eine Plattform!
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Kernfunktionen
SharePoint
Sites
Communities
Content
Search
Insights
Composites
Die eierlegende Wollmilchsau
Architektur
Farm
WebApplication
Site Collection
Root Web
Sub Web
List Library
Sub Web
Sub Web List
Site
Collection
Root Web
Library
WebApplication
Site Collection
Root Web
Sub Web
List
Sub Web
List
Was ist SharePoint
Entwicklung?
Was ist Software-
Entwicklung?
Entwicklungstool
s
Ja, es gibt mehrere!
Visual Studio öffnen
Was man als SharePoint Entwickler gerne falsch
macht
Ohne vorher über andere Wege nachzudenken
Out of the Box (OOTB)
Out of the box (OOTB)
• Wird direkt in der Web-Oberfläche umgesetzt
• Erstellen von Listen, Webpart-Seiten, Webpart-Connections
• Sollte immer als erste Lösung in Betracht gezogen werden
• Grundlegendes Verständnis von SharePoint ist Voraussetzung
Vorteile
• Kein Programmcode notwendig
• Auch der Chef kann es!
• Keine externen Tools notwendig
Nachteile
• Es reicht meistens nicht aus
• Auch der Chef kann es!
SharePoint Designer
SharePoint Designer (SPD)
• Kostenloses Entwicklungstool von Microsoft
• Es können schnell kleinere Anpassungen umgesetzt werden
• Erstellen von Workflows, External Content Types, Custom Views, etc.
• Benutzt bestehende Webservices
• Web-Basics (HTML, CSS, JS, etc.) + OOTB sind Voraussetzung
Vorteile
• Mehr Möglichkeiten als bei OOTB
• Größeren Einfluss auf Look&Feel
• Workflows!
Nachteile
• Man kann trotzdem nicht alles umsetzen
• Unsauberes Entwickeln
• Customizing von Standardseiten
Javascript / jQuery
Javascript / jQuery
• Läuft im Browser (clientseitig)
• Kann Webservices für Aktionen auf dem Server ansprechen
• Manchmal der einzige Weg in der Cloud
• Web-Basics + OOTB-Wissen sind Voraussetzung
Vorteile
• Verursacht keine Last auf dem Server
• Gute Usability
• Kann nahezu Alles!
Nachteile
• Browserweichen
• Debuggen ist schwierig
• Jeder kann es
• Performance Issues
Powershell
Powershell
• Scripting-Umgebung
• Konfigurieren der Farm
• Deployment von Solutions
• Erstellen von SharePoint-Objekten
• Super um sich automatisiert eine Test-Umgebung aufzubauen
• Powershell- und SharePoint-OM Wissen sind Voraussetzung
Vorteile
• Perfekt für kleine Vorbereitungen und
Deployment von Solutions
Nachteile
• Nicht zum entwickeln von kompletten
Lösungen geeignet
• Kann nicht vollständig in der Cloud benutzt
werden
Wenn alles nichts hilft…
Visual Studio / Napa
Visual Studio / Napa
• Farm- und Sandboxed-Solutions (bzw. Apps mit Napa)
• Komplettes .NET Framework steht zur Verfügung
• Manchmal gibt es keine andere Lösung
• ABER: Auch wunderbar um OOTB-Lösungen zu „verpacken“
• Erforderliche Kenntnisse: SharePoint-OM, .NET, ASP, etc.
Vorteile
• Einzige Weg für sauberes Staging
• Sehr viele Möglichkeiten
Nachteile
• Für „Einmal“-Solution zu viel Overhead
• Globales Deployment bei Farmsolutions
Die Entwicklungstools
• Out of the Box
• SharePoint Designer
• Javascript / jQuery
• Powershell
• Visual Studio / Napa
App-Modell in SharePoint 2013
App-Modell in SharePoint 2013
• SharePoint-Apps werden mit HTML5, CSS3 und Javascript entwickelt
• Serverseitige Logik läuft nicht auf dem SharePoint-Server
• Spricht mit den SharePoint-Webservices
• Cloud und on-premise
• Appstores: Public und Private
• Entwicklungsumgebung (für Code): Visual-Studio oder Napa
Typen von Apps
• Fullscreen App
• Läuft als eigene Website und kommuniziert per Webservices mit SharePoint
• App Part
• Webpart mit Iframe auf App
• App die SharePoint Objekte erstellt
• Custom Actions
• Lists / Libraries
• etc.
Hosting-Arten von Apps
• SharePoint-hosted
• Wird auf einer SharePoint-Site deployed
• Sinnvoll für kleinere Anwendungen, die nur Client-Technologien benutzen um mit dem SharePoint zu interagieren
• Keine serverseitige Logik
• Provider-hosted
• Wird auf einem beliebigen Webserver deployed
• Serverseitige Logik auf eigenem Server
• Autohosted
• App wird auf Windows Azure deployed
• SQL Azure als Datenbank
Urlaubsplanung
mit SharePoint
• Mitarbeiter sollen Urlaub beantragen können
• Der Urlaub soll vom Abteilungsleiter genehmigt
werden
• Genehmigter Urlaub soll für alle einsehbar sein
Dokumentenverwaltun
g
• Dokumente sollen Zentral für alle Benutzer sichtbar
sein
• Dokumente dürfen nur von bestimmten Benutzern
hochgeladen werden und erfordern eine
Genehmigung
Fazit
Was ist SharePoint eigentlich?
• Einfach
• Kompliziert
• Flexibel
• Entwicklungsplattform
• Eine Website
• Unternehmensportal
• Alternative zum Netzlaufwerk
• Content Management System
• Document Management System
• BI Tool
Vielen Dank!
Max Nowack
max@unsou.de
http://max.unsou.de

Was ist eigentlich SharePoint