sharepoint für entwickler
DESCRIPTION
Hintergrund, Motivation und Herausforderungen für den SharePoint Entwickler.TRANSCRIPT
![Page 1: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/1.jpg)
Veranstalter: Partner:
31. JAN.-1. FEB. 2012
SHAREPOINT 2010 – PRAXIS PUR!
SharePoint als Entwicklungsplattform
Applikationen auf Basis von SharePoint entwickeln
Jörg Krause, www.joergkrause.de
![Page 2: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/2.jpg)
Veranstalter: Partner:
Warum SharePoint?
Darum SharePoint!
![Page 3: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/3.jpg)
Veranstalter: Partner:
Praxis & Herausforderung
• Die Situation heute:• Heterogene Landschaften• Endlose Toolsammlungen
(brauchen wir alle; sind unersetzlich; bei uns ist alles anders als bei anderen Unternehmen)
• Ständige Anpassung und Erweiterung ist nötig
![Page 4: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/4.jpg)
Veranstalter: Partner:
Wie die Praxis aussieht
• Es war einmal ein ganz normales Unternehmen…–…4000 Mitarbeiter–…viele gute Produkte–…lange am Markt–…gestandene IT-Experten
> 300 Tools, obwohl wesentliche
unternehmenskritische Applikationen im SAP liegen
Große Unternehmen haben bis zu 8000 (!sic) Tools im
Einsatz
![Page 5: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/5.jpg)
Veranstalter: Partner:
Praxis & Herausforderung
• Abbildung kompletter Abläufe ist mit heutiger Technik realistisch
• Integration von heterogenen Tools
• Rapid Prototyping für die schnelle Entscheidungs-findung
![Page 6: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/6.jpg)
Veranstalter: Partner:
Die Sicht der Anwender
• Überladene Benutzeroberflächen, komplexe Produkte
• Zerstreute Ablage von Mails, Dokumenten, Fax, Notizen etc.
• Geringe Anpassung an Einzelarbeitsplatz
• Langwierige Suche vonInformationen und Personen
• Viele Insellösungen ohne Integration
Office SuiteBrowser
Mailclient
Dateiablage
DBFrontend KalenderSAP
Client
Anwender ist Middleware
![Page 7: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/7.jpg)
Veranstalter: Partner:
Vorteile SharePoint & Office
• Für Benutzer– Konsistente Benutzeroberfläche– Integration in Officeapplikationen
• Für Entwickler– Einheitliche Entwicklungsplattform– Interoperabilität, basiert auf .NET
• Für Administratoren– Einheitliche technische Infrastruktur– Einheitliches Benutzer- und Rollenmanagement
![Page 8: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/8.jpg)
Veranstalter: Partner:
Office ist für den Anwender sichtbar!
Aber was liegt unter der Oberfläche?
![Page 9: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/9.jpg)
Veranstalter: Partner:
Wofür wird Office heute eingesetzt?
Wieso nicht auch …
• zum Verwalten von Dokumenten?• zum Analysieren von
Geschäftsdaten?• zum Teilen von Wissen?• zur Identifikation von Personen?• zur Verknüpfung mit
Geschäftsprozessen?
• als UI für all die „crazy“ Tools ??
Rechnen Mail
PräsentierenSchreiben
![Page 10: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/10.jpg)
Veranstalter: Partner:
Ist SharePoint die Antwort?
![Page 11: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/11.jpg)
Veranstalter: Partner:
![Page 12: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/12.jpg)
Veranstalter: Partner:
Und was kann ich als Entwickler tun?
![Page 13: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/13.jpg)
Veranstalter: Partner:
![Page 14: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/14.jpg)
Veranstalter: Partner:
Entwickler Evolution
1. Ablehnung: “Das darf nicht wahr sein! Ich lehne es ab zu glauben, dass dies der Weg ist eine ASP.NET-Anwendung zu entwickeln.”
2. Ärger: “Warum ich? Warum wurde ich ausgewählt? Das ist nicht fair! SharePoint-Entwickler werden so schlecht unterstützt. Das muss ein Witz sein.”
3. Geschäftstüchtig: ”Ich mach alles. Das ist mein Job. Nur ein wenig Hilfe bitte. Ein Werkzeug! Ein Programm! Irgendwas!”
4. Depression: ”Ich bin so traurig, warum soll mich das stören? Ich werde sterben, was spielt das noch für eine Rolle? “
5. Akzeptanz: “Es ist okay. Ich bin nicht allein. Jede ordentliche Anpassung funktioniert nur auf diesem Weg. Ich kann es schaffen, ich muss nur lernen wie.”
14
![Page 15: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/15.jpg)
Veranstalter: Partner:
Entwickler Evolution
?
![Page 16: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/16.jpg)
Veranstalter: Partner:
Verstehe SharePoint…
• Eine stabile, hoch skalierbar Plattform• Alles fürs Intranet „out-of-the-box“• Ist eine „multiple Persönlichkeit“
1. Eine Applikation für Benutzer2. Eine Umgebung für Power User3. Eine Plattform für die
Applikationsentwicklung4. Ein Framework für Softwareentwickler
![Page 17: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/17.jpg)
Veranstalter: Partner:
Beherrsche Grundlagen…
• Betriebssystem: AD, Konfiguration, Firewall, …
• Protokolle: HTTP, TCP/IP, …• Framework: .NET 3.5 + ASP.NET + WF, …• Sprachen: HTML, CSS, JavaScript, XML,
C#/VB, …• Verfahren: AJAX, Cookies, Web Services,
…• Konzepte: OOP
![Page 18: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/18.jpg)
Veranstalter: Partner:
Kenne Strategien…
• Developer Dashboard• Ereignisprotokoll• SharePoint Logs• Debugger an laufenden Prozess
anhängen• IIS Logs• Traces auswerten
![Page 19: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/19.jpg)
Veranstalter: Partner:
Aber vor allem…
Kenne SharePoint!
![Page 20: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/20.jpg)
Veranstalter: Partner:
Content Types Listen Bibliotheken WebParts Features Solutions Central Administration Sites Site Collection Publishing Services Excel Services Visio Services Provisioning Meta Data Service Taxonomien Terms Termsets Calendar Meeting Space Blog Wiki Templates Galeries Master Pages Application Pages Ribbon Config Database Content Database Records Management InfoPath Data Services Client Object Model Developer Dashboard SharePoint Designer Picture Library Asset Management Tag Cloud WebPart Views Lookups Recycle Bin Service Applications Access Services Business Data Connectivity Secure Store Health Service Word Automation Search Content Deploym
in no particular order
![Page 21: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/21.jpg)
Veranstalter: Partner:
Philosophische Fragen…
• Konfigurieren oder Programmieren?• SharePoint Designer?• Visual Studio Workflows?• Client Object Model oder REST API?• Silverlight oder JavaScript?
…sind eher Randthemen
![Page 22: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/22.jpg)
Veranstalter: Partner:
Wichtige Themen
• Entwicklungsumgebung aufbauen• Tools• Deployment-Strategien, ALM• Erweiterungstechniken• Und:• Einstiegspunkte in die API• Coding Guidelines• SharePoint Governance
![Page 23: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/23.jpg)
Veranstalter: Partner:
Die Entwicklungsumgebung
• Plattform:• Windows Server 2008 x64• Windows Server 2008 R2 x64• Windows Vista x64• Windows 7 x64
• System• 4GB RAM Minimum, 8GB dringend empfohlen• x64 CPU• SQL Server separat empfohlen
![Page 24: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/24.jpg)
Veranstalter: Partner:
Die Entwicklungsumgebung
Tipp
![Page 25: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/25.jpg)
Veranstalter: Partner:
Die Entwicklungsumgebung• Standardinstallation– SharePoint Server 2010 + pre-requisites (Standalone)– Visual Studio 2010 Ultimate Edition– Silverlight 4 Tools for Visual Studio– Expression Studio 4 Ultimate– Open XML SDK– Visual Studio SDK– Visual Studio SharePoint Power Tools– Office 2010 Professional Plus– SharePoint Designer 2010– Visio 2010
• Tipps:- Fiddler 2- Reflector oder ILSpy
![Page 26: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/26.jpg)
Veranstalter: Partner:
31. JAN.-1. FEB. 2012
SHAREPOINT 2010 – PRAXIS PUR!
“Toooools”“Fiddler”“F12”“Developer Dashboard”“14 Hive / LOGS”“ILSpy || Reflector”
![Page 27: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/27.jpg)
Veranstalter: Partner:
Wie komme ich eigentlich an die API?
![Page 28: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/28.jpg)
Veranstalter: Partner:
Der Seitenkontext
• SPSite als typischer Einstiegspunkt• Laufzeitumgebung beachten:• Web Application, Silverlight (ASP.NET)• SharePoint Instanz (Web Part, Feature,
…)• Konsolenapplikation, Windows Forms,
WPF, …
![Page 29: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/29.jpg)
Veranstalter: Partner:
Der Seitenkontext
• Am einfachsten im Kontext einer Site
• Auf Application Pages• Sollten von LayoutsPageBase ableiten
SPSite oSiteCollection = SPContext.Current.Site;SPWeb oWebSite = SPContext.Current.Web;
SPWeb oWebSite = this.Web;
![Page 30: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/30.jpg)
Veranstalter: Partner:
Der Seitenkontext
• Isolierter Programmierstil• SPSite Instanz wird explizit erstellt• Konsolen-App, WinForms, WPF, …• Nicht verwechseln mit Client Object
ModelSPSite site = new SPSite("http://meinserver");...site.Dispose();
![Page 31: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/31.jpg)
Veranstalter: Partner:
Dispose Pattern
• Achte auf IDisposable• COM-Objekte hinter SharePoint-Instanzen• Speicherverbrauch überwachen
• Regeln• Selbst erstellte Objekte müssen entsorgt
werden• Von der API gelieferte Objekte in Ruhe
lassen
• Techniken• using verwenden• Dispose() im finally-Zweig
sicherstellen
![Page 32: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/32.jpg)
Veranstalter: Partner:
Aktiv mit Daten arbeiten
• Daten ändern (Listelemente, Dateien)• SPList, SPFile, SPListItem
• Auf Ereignisse reagieren• SPListEventReceiver,
Before/After Events
• Das Datenmodell verändern• Auf Installationsvorgänge reagieren• Feature Receiver• Web Event Receiver
![Page 33: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/33.jpg)
Veranstalter: Partner:
31. JAN.-1. FEB. 2012
SHAREPOINT 2010 – PRAXIS PUR!
“Get the Context”“Dispose Pattern”“Retrieve Data”“Event Receiver”
![Page 34: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/34.jpg)
Veranstalter: Partner:
![Page 35: SharePoint für Entwickler](https://reader038.vdocuments.site/reader038/viewer/2022103018/558a680cd8b42a737a8b45e2/html5/thumbnails/35.jpg)
Veranstalter: Partner:
31. JAN.-1. FEB. 2012
SHAREPOINT 2010 – PRAXIS PUR!
Vielen Dank!Jörg Krause