SharePoint Object Model et Performances
Par Laurent Capin <Feet on the datacenter, Head in the cloud> le mercredi 18 mars 2009, 16:19 - .NET - Lien permanent
Un très bon article sur InfoQ écrit
par Andreas Grabner revient sur un des problèmes récurrents dans l’usage de
SharePoint : les mauvais usages du model objet de SharePoint qui peut entrainer
de vrai pertes de performances. Dans cet article, il insiste bien sur un trait
classique dans beaucoup d’outils riches comme SharePoint, à savoir que ce n’est
pas parce que les possibilités sont nombreuses, qu’elles sont toutes bonnes. En
particulier, il faut toujours s’assurer qu’un choix technique est en adéquation
avec le cas d’utilisation considéré. SharePoint propose souvent beaucoup de
moyens d’arriver au même résultat, tout comme le framework .NET. Pour autant,
chacun des moyens proposé a été conçu dans une optique précise, qu’il ne faut
pas oublier. Finalement, ces considérations sont valables pour la plupart des
outils, frameworks, langages etc. C’est pourquoi il est bon lorsque l’on
cherche à améliorer les performances sur un projet quelconque, de regarder ce
qui se fait et de ne pas se jeter bille en tête sur le code. Quand-on dit qu’il
ne faut pas réinventer la roue, c’est flagrant ici.
Le premier exemple est simplissime mais tellement parlant. Il rappelle que pour compter les items d’un liste, on a deux possibilités : utiliser la propriété “Count” de la collection “Items” de la liste ou directement la propriété “ItemCount” de la liste. Quelle différence ? Dans le premier cas la liste est effectivement parsée entièrement en base et retournée à SharePoint qui va faire le comptage lui-même. Dans le second cas, SharePoint demande le chiffre à la base, qui ne renvoie que lui, créant donc infiniment moins de trafic, et assurant un traitement instantané. Si l’on ajoute à cela que la valeur retournée est une valeur stockée dans la base elle même et non le fruit d’un calcul fais par la base à l’instant T, on comprend d’autant mieux le gain de cette option.
Voici donc une bonne occasion de voir ce que sait faire un expert et de l’appliquer. Il ne parle que des listes sous SharePoint et de leur lenteur fréquente, dû à chaque fois à un défaut de programmation. En 6 cas d’utilisations, il fait le tour des écueils fréquent dans l’implémentation des listes sous SharePoint. De quoi faire le tour de la question. A lire absolument !
L’article sur InfoQ : http://www.infoq.com/articles/SharePoint-Andreas-Grabner;jsessionid=DAC9303433D5783F94BA3BBDB01F611C
