Sharepoint Application Lifecycle Management mit SPSF

983 Aufrufe

Veröffentlicht am

Von der .net Online User Group Köln vom 20.06.2011

SPSF - SharePoint Application Lifecycle Management mit der SharePoint Software Factory

SharePoint Entwicklung macht nicht immer Spaß :-( Gerade die vielen möglichen Wege eine Anforderungen in SharePoint umzusetzen und die unterschiedlichen Skills und Erfahrungen der Entwickler haben häufig zur Folge, dass die Qualität der Lösung meist auf der Strecke bleibt. SharePoint Application Lifecycle Management (SPALM) hilft dabei auch bei größeren Entwicklungsteams, vielen kleinteiligen Projekten und geshareten Farmen die Qualität hoch zu halten.

In diesem Vortrag wird gezeigt, wie die Erstellung von SharePoint Code, Strukturierung von SharePoint Solutions, kontinuierliche Qualitätsprüfung und standardisiertes reproduzierbares Deployment mit Hilfe der SharePoint Software Factory (SPSF) vereinfacht werden kann.

SPSF ist unter GPLv2 auf http://spsf.codeplex.com zum Download verfügbar.

Zielgruppe¶

Ihr entwickelt bereits für SharePoint oder habt es vor zu tun und kämpft mit den vielen Fallstricken.

Ihr wollt mehr über die Möglichkeiten in der SharePoint Entwicklung erfahren ohne einen dicken Wälzer zu lesen.
Ihr wollt Konventionen in Euren Entwicklungsteams einführen und prüfen um die Qualität und Wartbarkeit Eurer Lösungen zu verbessern.
Ihr verzweifelt am Deployment Prozess und wollt sicherstellen, dass Eure Applikation auch noch in ein paar Jahren wartbar und aktualisierbar ist.

Der Vortrag ist für Anfänger wie für Experten gleichermaßen geeignet und soll Denkansätze und Methoden liefern um Euch die SharePoint Entwicklung in Zukunft angenehmer zu machen.

Inhalt¶

Was läuft schief in SharePoint Projekten?
Was ist SharePoint Application Lifecycle Management?
Probleme bei der SharePoint Entwicklung?
SharePoint Entwicklung mit VS2010…
Was ist die SharePoint Software Factory?
Code Generierung mit SPSF
Konventionen in SPSF
Quality Checks mit SPSF
SPSF Deployment Paket

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
983
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
68
Aktionen
Geteilt
0
Downloads
13
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Sharepoint Application Lifecycle Management mit SPSF

  1. 1. è è www.steria-mummert.de © Steria Mummert Consulting AG SharePoint Entwicklung mit SPSF Schnellere und standardisierte SharePoint Entwicklung mit der SharePoint Software Factory 2010 © Steria Mummert Consulting AG
  2. 2. è 21.06.11 2 Vorstellung Matthias Einig è  Diplom-Informatiker(FH) è  Seit 2008 bei Steria Mummert Consulting è  6 Jahre SharePoint-Erfahrung als Berater, Architekt, Entwickler Kernkompetenzen è  Architekturen von großen, globalen SharePoint-Farmen è  Einführung von SharePoint-Entwicklungsprozessen in Unternehmen Kontakt è  matthias.einig@steria.de è  www.matthiaseinig.de è  Twitter: @mattein
  3. 3. è Was läuft schief in SharePoint Projekten? Ergebnis è  Projekte können häufig Zeit- und Budgetplanung nicht einhalten è  Anforderungen können nicht zeitnah umgesetzt werden è  Akzeptanz von SharePoint im Unternehmen leidet 21.06.11 3 Fehlende Transparenz §  Welche Anforderungen wurden in welchem Release umgesetzt? §  Welche Bugs wurden gefunden und wurden sie auch gelöst? §  Welche Testfälle testen welche Anforderung? §  Wer hat wann welchen Code geändert und warum? Viele manuelle Schritte §  Manuelle Installation der Lösungen in SharePoint §  Manueller Build des Lösungen §  Manuelles Testing §  etc. Oft mangelnde Qualität §  Schlechte Performance und Stabilität §  Geringe Code Qualität (Namenskonventionen, Coding Style) §  Fehlende Tests (Unitests, Webtests, Smoketest) §  etc. SharePoint Entwicklung macht oft keinen Spass! L
  4. 4. è Was ist Application Lifecycle Management? 21.06.11 4 Application Lifecycle Requirements Management Solution Architecture Development Quality Assurance Solution Deployment Testing Operate Application Lifecycle Management “is a continuous process of managing the life of an application through governance, development and maintenance“ “ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.”
  5. 5. è Was ist SharePoint ALM? 21.06.11 5 Application Lifecycle Requirements Management Solution Architecture Development Quality Assurance Solution Deployment Testing Operate SharePoint + ALM = SPALM No Code Analysis Complex Development Complex Deployment Complex Webtesting No Code Metrics Complex UnitTesting
  6. 6. è 21.06.11 6 Was ist SharePoint ALM? Application Lifecycle SharePoint + ALM = SPALM Requirements Management Solution Architecture Development Quality Assurance Solution Deployment Testing Operate
  7. 7. è Ziele Implementierung des Codes auf Basis einer technischen Architektur è  Konformität des Codes zu Microsoft Guidelines è  Konformität zu Namenskonventionen und firmenspezifischen Coding Guidelines è  Hohe Qualität (Stabilität, Performance) è  Testbarkeit, Installierbarkeit, Build to change 21.06.11 7 SharePoint Development
  8. 8. è 21.06.11 8 Herausforderung bei der SharePoint Development Feature (.XML) (generated) SharePoint Code besteht aus vielen einzelnen Dateien Beispiel: Visual Webpart, in Feature mit FeatureReceiver, Mehrsprachig FeatureReceiver Code (.CS) Resource-file for multilanguage, (.RESX) Manifest (.XML) (generated) WebPart description (.WEBPART) Feature Icon (.GIF) CAS-Policy for BIN deployment (.XML) ControlTemplate (UserControl) (.ASCX) ElementsManifest (.XML) WebPart Code (.CS)
  9. 9. è 21.06.11 9 Besonderheiten SharePoint-Erweiterungen werden im selben Ordner wie SharePoint selbst installiert Erweiterungen Standard SharePoint- Features
  10. 10. è 21.06.11 10 Besonderheiten è  Code besteht aus viel XML-Code, der häufig manuell erstellt werden muss z.B feature.xml è  Eine SharePoint Solution hat viele Abhängigkeiten z.B. GUIDs, Ressourcen, Assemblies, ManifestFiles, ContentTypeIds
  11. 11. è SharePoint Tools in Visual Studio 2010 Neue Funktionen für SharePoint 2010 è  Package Explorer è  Feature Designer è  Mapped Folders è  Neue Templates, BCS è  Import von Workflows und WSPs è  Server Explorer è  Postbuild-Steps (Activate Feature) Nachteile: è  Nur SharePoint 2010 è  Nur für lokales Deployment geeignet è  Nur für kleine Projekte geeignet è  Nur begrenzter Umfang an Templates 21.06.11 11
  12. 12. è Demo: Was kann VS OOTB? VS SharePoint Tools 21.06.11 12
  13. 13. è 21.06.11 13 SMC SharePoint Software Factory è  Eigenentwicklung von SMC è  Integriert sich in Visual Studio beim Entwickler è  Erzeugt SharePoint Code mit Hilfe von Wizards è  basiert auf Microsoft Guidance Automation Extensions (GAX, kostenlos herunterladbar) è  Open Source
  14. 14. è 21.06.11 14 SharePoint Software Factory Vorteile für SharePoint Projects è  Generierter Code bricht keine Regeln von FxCop und StyleCop è  Code respektiert SharePoint Namenskonventionen und Style Richtlinien è  Alle Entwickler im Team verwenden das gleiche Tool mit den gleichen Templates è  Funktionalität ist einfach zu erweitern è  Führt SharePoint Anfänger durch die SharePoint Entwicklung
  15. 15. è 15 SharePoint Software Factory è  Code Generierung è  Refactoring è  Coding Conventions Demo
  16. 16. è SharePoint Software Factory Verfügbar auf CodePlex http://spsf.codeplex.com 21.06.11 16
  17. 17. è 21.06.11 17 SharePoint Quality Assurance ^ Application Lifecycle SharePoint + ALM = SPALM Requirements Management Solution Architecture Development Quality Assurance Solution Deployment Testing Operate
  18. 18. è Ziele Sicherstellung hoher Qualität von SharePoint Lösungen è  Erkennung von Schwachstellen im Code (Redundanzen, Architekturprobleme, Stabilitätsprobleme) è  Wartbarkeit des Codes sicherstellen (z.B. Coding guidelines) è  Code gegen SharePoint spezifische Regeln und Policies validieren è  Validierung des Codes gegen eine Zielkonfiguration è  Unnötige Abhängigkeiten bereinigen 21.06.11 18 SharePoint Quality Assurance
  19. 19. è 21.06.11 19 Besonderheiten è  Entwicklungsergebnis besteht nur zu einem Teil aus DLL è  Großer Teil besteht aus XML (feature.xml, manifest.xml, usw.) è  Entwicklung ist verteilt auf viele einzelne Artefakten (XML, Bilder, CSS, DLL usw.)
  20. 20. è Code Analysis Tools Geprüfte Elemente Ziel Tool Assembly Code (.dll) Prüfung des Codes auf Qualität, Redundanzen, Strukturierung usw. Microsoft FxCop Quellcode (C#) Konformität zu Coding Guidelines Microsoft StyleCop Assembly Code (.dll) Prüfung auf Speicherlecks Microsoft SPDisposeChecker Assembly Code (.dll) + SharePoint Code (XML, ASPX) Prüfung auf Konformität zu - Customization Policy - Security-Richtlinien - Schema-Vorschriften - Best Practices - Lizenzbestimmungen - usw. Kein Tool L
  21. 21. è Gefährdet der Code die Sicherheit der Farm, z.B. durch CAS-Policies, RunWithElevatedPrivileges etc.? 21.06.11 21 Anwendungsfälle Verstößt der Code gegen Microsoft Vorgaben oder Best practices? Kann die Application auch als Sandboxed Solution installiert werden? Hat die Applikation Abhängigkeiten zu MOSS Enterprise Features? Verstößt die Application gegen Unternehmens- richtlinien, z.B. Mehrsprachigkeit, Guidelines? Gefährden wir durch Installation den Support von Microsoft, z.B. durch Überschreiben von Systemdateien?
  22. 22. è 22 Anwendungsfälle Prüfung einer Application auf unterstützte Supportlevel (Silver, Gold, Platinum), z.B. zu Microsoft Customization Policy 21.06.11
  23. 23. è Herausforderung: Korrekter SharePoint Code : XML in Visual Studio Projekten wird nicht im Build validiert. 21.06.11 23 MSDN: “The ActivateOnDefault attribute does not apply to site collection (Site) or Web site (Web) scoped Features.” Fehlerhafter Code… ...aber keine Fehler im Build. Fehlerhafter SharePoint Code führt zu Problemen bei: §  Build? Nein §  FxCop Code Analysis? Nein §  Installation? Nein §  Ausführung? Ja!
  24. 24. è 21.06.11 24 SMC ShareCop Toolbasierte Code Analyse mit „ShareCop“ è  Eigenentwicklung von SMC, da keine vergleichbare Lösung in VS.NET è  Überprüfung von WSP-Solutions auf Verstöße gegen bestimmte Regeln è  Integration in Build Open Source (noch nicht veröffentlicht) http://sharecop.codeplex.com
  25. 25. è 25 ShareCop è  SharePoint Code Analyse è  Report Demo
  26. 26. è 26 SharePoint Software Factory è  Code Analyse in SPSF Projekten è  Integration im Release Build Demo
  27. 27. è 21.06.11 27 SharePoint Solution Deployment ^ Application Lifecycle SharePoint + ALM = SPALM Requirements Management Solution Architecture Development Quality Assurance Solution Deployment Testing Operate
  28. 28. è Ziele Automatisierte Installation einer Applikation in einer SharePoint Farm è  Vollständige Installation der Applikation (inkl. notwendiger Konfigurationsschritte) è  Automatisierte Installation è  Bei Bedarf auch Deinstallation möglich è  Aktualisierung einer vorherigen Version möglich 21.06.11 28 SharePoint Deployment
  29. 29. è SharePoint Staging Problem: Häufig erfolgt das Deployment manuell durch den Betrieb 21.06.11 29 Manuelle Installation Manuelles Setup von WebApps & Site Collections Manuelle Tests zusammen mit Fachanwender Manuelle Konfiguration von Sucher, Service Apps etc.
  30. 30. è SharePoint Staging 21.06.11 30 Admin kopiert und installiert Dateien manuell in alle Staging Umgebungen (für jedes Release!) Test Integration Production
  31. 31. è Besonderheiten Verteilung eines Installationspakets durch mehrere Server (DEV, Staging, Produktion) è  Gleiches Paket muss automatisiert in verschiedenen Umgebungen installiert werden è  Installationsprozess muss deshalb parametrisierbar sein (z.B. für URLs von SharePoint Webapplikationen etc.) 21.06.11 31 Test Integration Produktion
  32. 32. è 21.06.11 32 Besonderheiten Nachträgliche Konfigurationsschritte sind häufig notwendig, z.B. è  Aktivierung von Features è  Anpassungen der Suchkonfigurationen è  … Installationsschritte 1.  Deploy Solution to WebApp http://tfsrtm08 2.  Activate Feature „DE6E1F2D-6409…“ in Site collection http://tfsrtm08/root …. 22. Create Quota Template „Limit S“ 23. Create Managed Path „intranet“ …. 55. Enable Usage Analysis in SSP „http://tfsrtm:13856“ …
  33. 33. è Bei Aktualisierung einer Applikation z.B. auf Version 2.0 sind häufig sehr lang laufende Aktualisierungen notwendig è  Aktivierung eines neuen Features in allen bestehenden Webs è  Aktualisierung eines Content Types in allen Site Collections è  … 21.06.11 33 Besonderheiten Inhalt •  2 Neue ContentTypes •  Bei bestehenden ContentType Spalte entfernen •  Bei bestehenden ContentType Spalte ergänzen Version 1.0 Version 1.1 Version 2.0
  34. 34. è Standardfunktionen für Deployments VS 2010 Ausführung von Aktionen nach dem Deployment è  möglich über Visual Studio Postbuild-Actions è  Kann erweitert werden um eigene Aktions Nachteil: è  Funktioniert nur auf der lokalen SharePoint-Farm è  Keine Packaging für Deployments in mehrere Umgebungen 21.06.11 34
  35. 35. è 21.06.11 35 SMC Best Practices Deployment Prozess durchführen mit MSBUILD §  Ausführbar auf jedem Rechner mit .NET 2.0 (keine Installation) §  Leicht erweiterbar durch eigene MSBUILD-Tasks §  Wiederverwendbarkeit von Tasks §  Parametrisierbarkeit aller Tasks §  Detailliertes Logging aller Aktivitäten §  Integration in TFS Nachteil: è  XML-basiert mit schwer lesbarem XML-Code Alternativen: PowerShell, Batch, VBScript
  36. 36. è 21.06.11 36 SMC SP Application Deployer Deployment Projekt für SharePoint Lösungen è  Eigenentwicklung von SMC è  „Sammelt“ alle WSPs der VS Solution in ein Deployment Projekt è  MSBuild Tasks + Batches für Deployment Prozess Open Source (noch nicht veröffentlicht) http://spappdeploy.codeplex.com
  37. 37. è 37 SPApplication Deployer Demo
  38. 38. è Ergebnis: è  Projekte in Kosten und Zeit è  Business Requirements werden schneller in höherer Qualität umgesetzt è  Akzeptanz von SharePoint im Unternehmen steigt. SharePoint Entwicklung macht Spaß! J Zusammenfassung 21.06.11 38 Volle Transparenz §  Welche Requirements werden im nächsten Release umgesetzt? §  Welche Bugs wurden gefunden und wann werden sie gelöst? §  Wie lange wird das Projekt noch dauern? §  etc. Weniger manuelle Schritte §  Automatisches Deployment von Applikationen §  Automatischer Build von Solutions §  Automatische Qualtiätschecks §  etc. Gesteigerte Qualität §  Höhere Performance und Stabilität §  Höhere Code Qualität §  Einhaltung von Konventionen §  etc.
  39. 39. è 21.06.11 39 Kontakt è  www.spalmblogger.de è  http://spalm.codeplex.com è  www.xing.com/net/spalm è  @SharePointALM @SPALMSPSF @mattein è  matthias.einig@steria.de

×