36

SharePoint 2010 & Team Foundation Server

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: SharePoint 2010 & Team Foundation Server
Page 2: SharePoint 2010 & Team Foundation Server

22

SharePoint 2010 et Team Foundation Server : les meilleures pratiques de développement  (SHA104)

08/01/2010Philippe SentenacMVP SharePointWygwam

Page 3: SharePoint 2010 & Team Foundation Server

www.wygwam.com

Wygwam ParisWygwam Nord

Wygwam Belux

Wygwam Suisse

Page 4: SharePoint 2010 & Team Foundation Server

44

Agenda

Etat des lieux de l’intégration SharePoint 2007/TFS 2008ProblématiquesRetours d’expérience

Nouvelles versions, Nouvelles FonctionnalitésSharePoint 2010VSTS 2010

Bonnes pratiquesEnvironnement de développement

Travail en équipeProcessus de développementValidation Logicielle

Page 5: SharePoint 2010 & Team Foundation Server

55

Problématiques du Développeur

Avantages

• ASP.Net • Sécurité• Topologie• Stockage• Modèle de Site• API

Inconvénients

• Apprentissage• Expérience

Développeur• Déploiement• Outils• Virtualisation

Page 6: SharePoint 2010 & Team Foundation Server

66

Problématiques du Resp. de Projet

Environnement de test difficiles à mettre en place

Identification des goulots d’étranglements

Synchroniser le travail de plusieurs développeurs

Gérer les chaines de livraisons de différentes versions

Page 7: SharePoint 2010 & Team Foundation Server

77

Retour d’expérience

Quelques exemples…

Ces problématiques ne sont pas insurmontables cf. Session de l’année dernière sur Industrialisation des Développements SharePoint 2007 avec Team System.

La mise en place d’ ALM SharePoint représente un gros retour sur investissement mais demande une implication forte de l’ensemble de l’équipe et une bonne connaissance du sujet.

Page 8: SharePoint 2010 & Team Foundation Server

88

Nouveautés SharePoint 2010Développement sur Windows 7 (et Windows Vista SP1)

SharePoint Foundation ou SharePoint Server

Uniquement OS x64

Pas pour la production

Installation Stand Alone

Déstiné aux développeurs

Windows 7

Page 9: SharePoint 2010 & Team Foundation Server

99

Nouveautés SharePoint 2010

Developper Dashoarddebug rapide et

performances de la page

stsadm -o setproperty -pn developer-dashboard -pv ondemand

Page 10: SharePoint 2010 & Team Foundation Server

1010

Nouveautés SharePoint 2010Listes, SharePoint Designer, Performances

Relation en cascade ou blocage.Validation avec règles « Excel »Vues XSLT à la place du CAMLLookup sur plusieurs collonnesAmélioration des performances“List Query Throttling”

Page 11: SharePoint 2010 & Team Foundation Server

1111

Nouveautés SharePoint 2010Accès aux données

LINQ

Ferme Site Listes Listes Externes

Données

Coté client

Coté Serveur

Listes fortement typées

Listes faiblement typées

Listes fortement typées

Listes faiblement typéesModèle Objet Serveur

Modèle Objet Client

REST APIs

Nouveau

Amélioré

Page 12: SharePoint 2010 & Team Foundation Server

1212

Nouveautés SharePoint 2010

Business Agility

Security & Stability

AgilitéDéploiment simplifiéDéveloppement itératifSharePoint Online

StabilitéSécurisé (Processus séparés)Limitation de l’APISurveillance des ressources

Business Agility

Security & Stability

Sanboxed Solutions

Page 13: SharePoint 2010 & Team Foundation Server

1313

• SharePoint 2007 (2007):– STSADM: 182 Commandes (MOSS)

• 520 PowerShell cmdlets ajoutés– Plateforme extensible – Découverte des commandes– Optimisé pour les Batch

Nouveautés SharePoint 2010

Powershell

Page 14: SharePoint 2010 & Team Foundation Server

1414

Nouveautés SharePoint 2010

Commande STSADM pour activer une feature sur chaque SPSite

La même commande en SharePoint 2010 PowerShell:

$rawdata = stsadm.exe -o enumsites -url $WebAppURL $sitexml = [XML]$rawdata$sitesxml.Sites | foreach-object{ $_.Site } | foreach-object{  stsadm -o activatefeature -url $_.url -filename $featureFileName         if( $lastexitcode -ne 0 ){             Write-Host “Failure:$lastexitcode `n" -Fore Red;            $failure = $true;          }}

Get-SPSite –Limit ALL –WebApplication $WebAppNameorUrl |%{ Enable-SPFeature $FeatureIdOrName –url $_.Url }

12+ Heures(5300 SPSites)

30 Minutes(5300 SPSites)

Powershell

Page 15: SharePoint 2010 & Team Foundation Server

1515

DémoCréation d’un Environnement avec PowerShell

Page 16: SharePoint 2010 & Team Foundation Server

1616

Visual Studio Team System 2008 > 2010

Page 17: SharePoint 2010 & Team Foundation Server

1717

Visual Studio Team System 2008 > 2010

Page 18: SharePoint 2010 & Team Foundation Server

1818

Nouveautés Visual Studio Team System 2010

− Comprendre la santé du projet− Nouveaux diagrammes et rapports pour

connaitre l’état réel de l’ensemble

− Optimisé pour le développement itératif− Bien adapté au développement SharePoint

Gérer ses projets

Page 19: SharePoint 2010 & Team Foundation Server

1919

Nouveautés Visual Studio Team System 2010

Eviter les erreurs

− Analyses et Métriques de codes− Pour prévenir les dégats avant qu’il ne soit

trop tard (Utilisation de Code Analysis, etc.)

− Gated Check-In & Serveur de build− Prévient les erreurs de builds.

Page 20: SharePoint 2010 & Team Foundation Server

2020

Nouveautés Visual Studio Team System 2010

Améliorer la qualité des projets

− Test et Lab Manager− Une nouvelle façon d’envisager vos tests.− Planification, Gestion et éxécution de vos tests.

− Tests fonctionnels et tests de charge− Savoir que votre code tient “la charge” − S’assurer du fonctionnement global de

l’application

Page 21: SharePoint 2010 & Team Foundation Server

2121

+

Nouveautés Visual Studio Team System 2010

VS2005 VS2008 VS2010

F5 Deploy Debug

WSP Packaging

SPSolGen

WSP View

+64 bit support

WSP View Improved

Separate Package

Command

Command Line Build

+

VSeWSS VSeWSS 1.3

Multiple Visual Designers

Packaging and Deployment

Project & Item Templates

TFS integration

Extensible Projects & Tools

Upgrade Tool

2007 2008 2009 2010

Sequential Workflow

State Machine

Workflow

VSeWSS 1.2

Evolution des Extensions Visual Studio pour Sharepoint

+

Page 22: SharePoint 2010 & Team Foundation Server

2222

Support des Sandboxed SolutionsImport de WSP depuis SharePoint Designer (workflow inclus)Possibilités d’étendre les extensions Visual Studio

Web Part, BDC and designers de WorkflowPackager and Deployer des projets SharePoint Exploration de site SharePoint via le Server Explorer

Meilleur support de SharePoint

“Develop, Deploy and Debug”

Nouveautés Visual Studio Team System 2010

Visual Studio 2010 pour SharePoint

Page 23: SharePoint 2010 & Team Foundation Server

2323

DémoNouvel environnement Visual Studio & SharePoint

Page 24: SharePoint 2010 & Team Foundation Server

2424

Bonnes pratiques

Développer sur Windows 7 en localInstallation Stand AloneA minima, intégration au contrôleur de sourceExcellentes performances

Développer sur une environnement virtuel via Hyper-VPermet de faire des installations plus complexesPlus lourd à mettre en place et performances moindres

Dans tout les cas, intégration au contrôleur de source de TFS et mise en place d’un mécanisme de build voire d’intégration continue.

Environnement de développement

Page 25: SharePoint 2010 & Team Foundation Server

2525

Utilisation de WSP pour le déploiement et le développementUtilisation de Patterns (MVP, Service Locator)

Model : Accès aux donnéesView : AffichagePresenter : “Intelligence” du composant

Séparation des couches = Maintenabilité, Isolation.Permet les tests unitaires

Bonnes pratiquesProcessus de développement

Page 26: SharePoint 2010 & Team Foundation Server

2727

DémoExemple de Projet

Page 27: SharePoint 2010 & Team Foundation Server

2828

Bonnes pratiques

Utilisation de TypeMock ou de PexAméliore la confiance du développeur dans son propre codeAméliore la qualité et la fréquence des Check-insPermet d’identifier les erreurs plus rapidement.

Validation logicielle : Tests

Page 28: SharePoint 2010 & Team Foundation Server

2929

Bonnes pratiques

Test

Code en Production

Underlying Dependencies (For Example, SharePoint)

Tests d’Intégration

Substitut(Mock, Stub, Fake, Wrapper)

Tests Unitaires

Validation logicielle : Tests Unitaires != Test d’Intégration

Page 29: SharePoint 2010 & Team Foundation Server

3030

TestImplémentation

ProductDetailsPresenterFixture (Unit Test)

ProductDetailsPresenter

Service Locator

MockProductCatalogRepository

MockProductDetailsViewImplements IProductDetailsView

ProductDetailsControl (User Control)Implements IProductDetailsView

ProductDetailsPresenter

Service Locator

ProductCatalogRepository

Code Under Test

Bonnes pratiquesValidation logicielle : Exemple

Page 30: SharePoint 2010 & Team Foundation Server

3131

DémoTests Unitaires

Page 31: SharePoint 2010 & Team Foundation Server

3232

Bonne pratiques

Valider le comportement global de l’applicationEnregistrement de scénari d’utilisation

Ensemble de requêtes HTTPValidation des paramètres ou du contenu de la page

Exécution de tests fonctionnels simultanés pour simuler une charge utilisateur

Validation du comportement de l’application avec plusieurs utilisateurs en même tempsAnalyse de quelques indicateurs de performance

Validation logicielle : Tests fonctionnels et de Charge

Page 32: SharePoint 2010 & Team Foundation Server

3333

Bonnes pratiques

SharePoint Application Lifecycle Management Resource Centerhttp://msdn.microsoft.com/dd552992.aspx

Travail en équipe

Page 33: SharePoint 2010 & Team Foundation Server

3434

Bonnes pratiquesNatalie (Excelle),0273316688 Natalie (Excelle),0273316688

Dev PC

Développement

Test Unitaires

F5 D

eplo

y

Team Foundation Server

Check In

Validation

Tests Automatiques

Test manuel

Serveur de Build

Team Build

SP2010 DLL’s

Build

Test Unitaires

Fix Bugs(autant de fois que nécessaire)

Build Nocturne

-ou-

Intégrationcontinue

Check in WSP

Check out et

Activate W

SP

Powershelland XCopy

Bugs

-OR-

WSP

WSP

WSP

Page 34: SharePoint 2010 & Team Foundation Server

3535

Conclusion

Environnement Développeur

Amélioration du Framework

PowerShellIntégration TFS « Naturelle »

Expérience Développeur

www.codeplex.com/spg

Page 35: SharePoint 2010 & Team Foundation Server

Pour approfondirName Code Speaker Jour Heure SalleArchitecture : quoi de neuf avec Visual Studio 2010 IND301 Sacha Leroux (Bewise) Mardi 17:30 352BDéveloppement : suivi, planification et tableaux de bord IND302

Sylvain Gross (Evaluant), Noham Choulant (Evaluant) Lundi 11:00 242A

L’ALM, facteur clé de succès des projets de développement IND104

François Merand (Microsoft), Philippe Puschmann (Avanade) Lundi 17:30 342B

Laboratoires de tests avec la virtualisation IND203Vincent Labatut et Guillaume Rouchon (Winwise) Lundi 11:00 352A

L'industrialisation et les environements hétérogènes IND205 Etienne Margreaff(Access-It) Lundi 14:30 252AMéthodologie : quel développement au 21ème siècle ? IND206

Xavier Warzee (Microsoft), Mathieu Szablowski (Pyxis) Lundi 16:00 352B

Plus de No Repro IND107 Olivier Dupont (Tekigo) Lundi 16:00 242BPremiers pas dans l'industrialisation : TFS Basic IND108 Florent Santin (Access-It) Lundi 17:30 351 Tests fonctionnels, tests d'interfaces, tests de charges IND109 Etienne Margraff (Access-It) Mardi 14:30 352A

Visual Studio : comment l'adapter à vos besoins IND110François Merand (Microsoft), Alain Metge (ASF) Lundi 13:00 242A

TD : Visual Studio 2010 : prise en main WKS9 Guillaume Leborgne (MCNext) Lundi 11:00 343 TD : Team Foundation Server 2010 : prise en main WKS9 Guillaume Leborgne (MCNext) Mercredi 11:00 343 TD : Expression Blend, prise en main WKS13 Eric Ambrosi (Regart.net) Mardi 16:00 343 TD : Tests fonctionnels : prise en main WKS12 Guillaume Leborgne (MCNext) Lundi 16:00 343 TD: Expression Web : Prise en main WKS24 Yannick Lejeune (IONIS) Mercredi 13:00 362/TD : Tests de charge, prise en main WKS11 Philippe Boudard (Scopteam) Mardi 11:00 343

Et beaucoup de docs sur le stand « outil de développement » (D11)

Page 36: SharePoint 2010 & Team Foundation Server