Your SlideShare is downloading. ×
0
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Sharepoint Application Lifecycle Management mit SPSF
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sharepoint Application Lifecycle Management mit SPSF

545

Published on

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

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
545
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. è 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. è 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. è 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. è 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. è 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. è 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. è 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. è 21.06.11 9 Besonderheiten SharePoint-Erweiterungen werden im selben Ordner wie SharePoint selbst installiert Erweiterungen Standard SharePoint- Features
  • 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. è 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. è Demo: Was kann VS OOTB? VS SharePoint Tools 21.06.11 12
  • 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. è 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 SharePoint Software Factory è  Code Generierung è  Refactoring è  Coding Conventions Demo
  • 16. è SharePoint Software Factory Verfügbar auf CodePlex http://spsf.codeplex.com 21.06.11 16
  • 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. è 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. è 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. è 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. è 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 Anwendungsfälle Prüfung einer Application auf unterstützte Supportlevel (Silver, Gold, Platinum), z.B. zu Microsoft Customization Policy 21.06.11
  • 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. è 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 ShareCop è  SharePoint Code Analyse è  Report Demo
  • 26. è 26 SharePoint Software Factory è  Code Analyse in SPSF Projekten è  Integration im Release Build Demo
  • 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. è 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. è 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. è SharePoint Staging 21.06.11 30 Admin kopiert und installiert Dateien manuell in alle Staging Umgebungen (für jedes Release!) Test Integration Production
  • 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. è 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. è 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. è 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. è 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. è 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 SPApplication Deployer Demo
  • 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. è 21.06.11 39 Kontakt è  www.spalmblogger.de è  http://spalm.codeplex.com è  www.xing.com/net/spalm è  @SharePointALM @SPALMSPSF @mattein è  matthias.einig@steria.de

×