Sharepoint Application Lifecycle Management mit SPSF

  • View
    984

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Text of Sharepoint Application Lifecycle Management mit SPSF

  • 1. www.steria-mummert.de SharePoint Entwicklung mit SPSFSchnellere und standardisierte SharePoint Entwicklung mit derSharePoint Software Factory 2010 Steria Mummert Consulting AG

2. Vorstellung Matthias Einig Diplom-Informatiker(FH) Seit 2008 bei Steria Mummert Consulting 6 Jahre SharePoint-Erfahrung als Berater, Architekt, Entwickler Kernkompetenzen Architekturen von groen, globalen SharePoint-Farmen Einfhrung von SharePoint-Entwicklungsprozessen in Unternehmen Kontakt matthias.einig@steria.de www.matthiaseinig.de Twitter: @mattein21.06.11 2 3. Was luft schief in SharePoint Projekten? Schlechte Performance und Stabilitt Oft mangelnde Geringe Code Qualitt (Namenskonventionen, Coding Style) Qualitt Fehlende Tests (Unitests, Webtests, Smoketest) etc. Manuelle Installation der Lsungen in SharePoint Viele manuelle Manueller Build des LsungenSchritte Manuelles Testing etc. Welche Anforderungen wurden in welchem Release umgesetzt?Fehlende Welche Bugs wurden gefunden und wurden sie auch gelst?Transparenz Welche Testflle testen welche Anforderung? Wer hat wann welchen Code gendert und warum? Ergebnis Projekte knnen hufig Zeit- und Budgetplanung nicht einhalten AnforderungenEntwicklung macht oft keinen Spass! SharePoint knnen nicht zeitnah umgesetzt werden L Akzeptanz von SharePoint im Unternehmen leidet21.06.11 3 4. Was ist Application Lifecycle Management? Application Lifecycle Management Operate is a continuous process ofRequirementsManagement managing the life of an application through governance, development Solution and maintenance DeploymentSolution Application ArchitectureLifecycle ALM is the marriage of business management to software engineeringQualityAssurance made possible by tools that facilitateDevelopment and integrate requirements management, architecture, coding,Testing testing, tracking, and release management.21.06.11 4 5. Was ist SharePoint ALM?ComplexDeployment OperateSharePoint Requirements Management+SolutionDeploymentSolution Complex ALM No Code Metrics ApplicationLifecycleArchitecture Development= Quality Assurance Development SPALMNo Code Analysis Testing Complex Complex WebtestingUnitTesting21.06.11 5 6. Was ist SharePoint ALM?OperateSharePoint Requirements Management+ Solution Deployment Solution ALMApplication LifecycleArchitecture= Quality Assurance Development SPALM Testing21.06.11 6 7. ZieleSharePoint Development Implementierung des Codes auf Basis einer technischen Architektur Konformitt des Codes zu Microsoft Guidelines Konformitt zu Namenskonventionen und firmenspezifischen Coding Guidelines Hohe Qualitt (Stabilitt, Performance) Testbarkeit, Installierbarkeit, Build to change 21.06.11 7 8. Herausforderung bei der SharePoint Development SharePoint Code besteht aus vielen einzelnen Dateien Beispiel: Visual Webpart, in Feature mit FeatureReceiver, MehrsprachigFeature (.XML) (generated)FeatureReceiver Code (.CS)Manifest (.XML) (generated)Resource-file for multilanguage, (.RESX)Feature Icon (.GIF)ElementsManifest (.XML)WebPart Code (.CS)WebPart description (.WEBPART)ControlTemplate (UserControl) (.ASCX)CAS-Policy for BIN deployment (.XML)21.06.11 8 9. Besonderheiten SharePoint-Erweiterungen werden im selben Ordner wie SharePoint selbst installiert Standard SharePoint- FeaturesErweiterungen 21.06.11 9 10. Besonderheiten Code besteht aus viel XML-Code, der hufig manuell erstellt werden muss z.B feature.xml Eine SharePoint Solution hat viele Abhngigkeiten z.B. GUIDs, Ressourcen, Assemblies, ManifestFiles, ContentTypeIds 21.06.11 10 11. SharePoint Tools in Visual Studio 2010 Neue Funktionen fr 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 fr lokales Deployment geeignet Nur fr 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. 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 Source21.06.11 13 14. SharePoint Software Factory Vorteile fr 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 Funktionalitt ist einfach zu erweitern Fhrt SharePoint Anfnger durch die SharePoint Entwicklung 21.06.11 14 15. Demo SharePoint Software Factory Code Generierung Refactoring Coding Conventions15 16. SharePoint Software Factory Verfgbar auf CodePlex http://spsf.codeplex.com21.06.11 16 17. SharePoint Quality AssuranceOperate SharePointRequirements Management +Solution Deployment SolutionALM Application Lifecycle ^Architecture =Quality Assurance DevelopmentSPALMTesting 21.06.11 17 18. Ziele SharePoint Quality Assurance Sicherstellung hoher Qualitt von SharePoint Lsungen Erkennung von Schwachstellen im Code (Redundanzen, Architekturprobleme, Stabilittsprobleme) Wartbarkeit des Codes sicherstellen (z.B. Coding guidelines) Code gegen SharePoint spezifische Regeln und Policies validieren Validierung des Codes gegen eine Zielkonfiguration Unntige Abhngigkeiten bereinigen21.06.11 18 19. Besonderheiten Entwicklungsergebnis besteht nur zu einem Teil aus DLL Groer Teil besteht aus XML (feature.xml, manifest.xml, usw.) Entwicklung ist verteilt auf viele einzelne Artefakten (XML, Bilder, CSS, DLL usw.) 21.06.11 19 20. Code Analysis Tools Geprfte Elemente Ziel Tool Assembly Code Prfung des Codes aufMicrosoft FxCop (.dll)Qualitt, Redundanzen, Strukturierung usw. Quellcode (C#)Konformitt zu CodingMicrosoft StyleCop Guidelines Assembly Code Prfung auf SpeicherlecksMicrosoft SPDisposeChecker (.dll) Assembly Code Prfung auf Konformitt zu Kein Tool L (.dll) + SharePoint -Customization Policy Code (XML, ASPX)-Security-Richtlinien -Schema-Vorschriften -Best Practices -Lizenzbestimmungen -usw. 21. Anwendungsflle Gefhrdet der Code die Kann die ApplicationSicherheit der Farm, z.B. auch als Sandboxeddurch CAS-Policies, Hat die ApplikationSolution installiertRunWithElevatedPrivilegesAbhngigkeiten zuwerden?etc.? MOSS Enterprise Features? Verstt dieApplication gegen Unternehmens- richtlinien, z.B.Mehrsprachigkeit, Guidelines?Verstt der Code Gefhrden wir durch gegen MicrosoftInstallation den Support Vorgaben oder Best von Microsoft, z.B. durchpractices?berschreiben vonSystemdateien?21.06.11 21 22. Anwendungsflle Prfung einer Application auf untersttzte Supportlevel (Silver, Gold, Platinum), z.B. zu Microsoft Customization Policy21.06.11 22 23. Herausforderung: Korrekter SharePoint Code : XML in Visual Studio Projekten wird nicht im Build validiert. Fehlerhafter Code ...aber keine Fehler im Build. MSDN: The ActivateOnDefault attribute does not apply to site collection (Site) or Web site (Web) scoped Features.Fehlerhafter SharePoint Code fhrt zu Problemen bei: Build? Nein FxCop Code Analysis? Nein Installation?Nein Ausfhrung?Ja!21.06.11 23 24. SMC ShareCop Toolbasierte Code Analyse mit ShareCop Eigenentwicklung von SMC, da keine vergleichbare Lsung in VS.NET berprfung von WSP-Solutions auf Verste gegen bestimmte Regeln Integration in Build Open Source (noch nicht verffentlicht) http://sharecop.codeplex.com 21.06.11 24 25. Demo ShareCop SharePoint Code Analyse Report25 26. Demo SharePoint Software Factory Code Analyse in SPSF Projekten Integration im Release Build26 27. SharePoint Solution DeploymentOperate SharePointRequirements Management +Solution Deployment SolutionALM Application Lifecycle ^Architecture =Quality Assurance DevelopmentSPALMTesting 21.06.11 27 28. Ziele SharePoint Deployment Automatisierte Installation einer Applikation in einer SharePoint Farm Vollstndige Installation der Applikation (inkl. notwendiger Konfigurationsschritte) Automatisierte Installation Bei Bedarf auch Deinstallation mglich Aktualisierung einer vorherigen Version mglich21.06.1128 29. SharePoint Staging Problem: Hufig erfolgt das Deployment manuell durch den BetriebManuelle Installation Manuelles Setup vonWebApps & Site Collections Manuelle Konfiguration von Sucher, Service Apps etc. Manuelle Tests zusammenmit Fachanwender 21.06.11 29 30. SharePoint Staging Admin kopiert und installiert Dateien manuell in alle Staging Umgebungen (fr jedes Release!) TestIntegration Production 21.06.11 30 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. fr URLs von SharePoint Webapplikationen etc.) Test Integration Produktion21.06.11 31 32. Besonderheiten Nachtrgliche Konfigurationsschritte sind hufig notwendig, z.B. Aktivierung von Features Anpassungen der Suchkonfigurationen Installationsschritte1. Deploy Solution to WebApp http://tfsrtm082. Activate Feature DE6E1F2D-6409 in Sitecollection http://tfsrtm08/root.22. Create Quota Template Limit S23. Create Managed Path intranet.55. Enable Usage Analysis in SSP http://tfsrtm:1385621.06.11 32 33. Besonderheiten Bei Aktualisierung einer Applikation z.B. auf Version 2.0 sind hufig sehr lang laufende Aktualisierungen notwendig Aktivierung eines neuen Features in allen bestehenden Webs Aktualisierung eines Content Types in allen Site Collections Inhalt 2 Neue ContentTypes Bei bestehendenVersion 1.1ContentType Spalteentfernen Bei bestehendenVersion 2.0 Version 1.0ContentType Spalteergnzen21.06.11 33 34. Standardfunktionen fr Deployments VS 2010 Ausfhrung von Aktionen nach dem Deployment mglich ber Visual Studio Postbuild-Actions Kann erwei