J'entends beaucoup parler de Sharepoint ces jours-ci, mais j'ai du mal à comprendre exactement ce que c'est à travers tout le jargon de l'entreprise et du marketing. L'essayer sur le terrain semble également trop compliqué (plusieurs logiciels lourds que vous ne pouvez pas télécharger gratuitement).
Quelqu'un pourrait-il donner une bonne description de développeur à développeur de ce qu'est Sharepoint? J'aimerais surtout savoir ce que font généralement les développeurs de Sharepoint.
== Modifier 2017 ==
Il s'agit d'un article assez ancien et SharePoint a beaucoup changé ces dernières années. La plupart des parties de la publication d'origine sont toujours valides, mais certaines ne s'appliqueraient que si vous effectuez des installations sur site où l'avenir de SharePoint semble pencher vers SharePoint Online. Cela étant dit, la plupart des fonctionnalités sont toujours là avec quelques améliorations.
== Message d'origine ==
SharePoint est un CMS (Content Management System) très complexe avec beaucoup de fonctionnalités Nice BSS (Business support system). Il y a tellement d'avantages qu'il est difficile de limiter ce qu'il faut mentionner. Cependant, certaines des choses évidentes seraient que vous pouvez mélanger autant d '"environnements" sur le même serveur, ces environnements sont séparés en tant que sites.
Qu'est-ce que j'entends par environnement?
Supposons que vous dirigiez une entreprise de logistique et que vous en ayez marre d'avoir autant de systèmes différents juste pour maintenir votre entreprise en marche. De nombreux systèmes ont également des fournisseurs différents, de sorte que l'écosystème autour de l'entreprise devient également complexe, voici SharePoint à la rescousse car c'est un système qui peut réellement héberger tous les environnements requis. Par exemple.
Chacun de ces environnements peut bénéficier des fonctionnalités intégrées de SharePoints telles que les flux de travail et les types de contenu personnalisés.
Je dirais que la principale raison de choisir SharePoint serait sa polyvalence de stockage de différents types de données. Ce n'est pas un système de choisir si vous prévoyez un million de transactions par seconde, même si les performances peuvent être considérablement améliorées avec plusieurs serveurs dans une batterie de serveurs.
Mon point de vue en tant que développeur est que SharePoint concerne à peu près les listes, les bibliothèques et le magasin de métadonnées, car c'est là que la plupart des données sont conservées. C'est quelque chose que vous devez apprendre et comprendre comment structurer vos données et comment mettre en œuvre votre modèle d'information.
La tâche la plus courante dans mon monde serait l'intégration de SharePoint avec un CMS externe, comme EPIServer ou Joomla, pour mettre en place une intégration où les visiteurs pourront envoyer des messages du Web directement dans SharePoint. Ces affectations suivent ensuite la création d'un flux de travail ce qui arrivera avec ce message lorsqu'il sera reçu par le support client/le personnel des ventes ou autre, jusqu'à la fermeture de la course. Une fois cela fait, je pourrais créer des graphiques dans un composant WebPart personnalisé en utilisant mschart affichant certaines données de vente ou des statistiques des courses d'assistance. Actuellement, je planifie la structure des données en utilisant SharePoint comme boutique en ligne. Et c'est reparti, polyvalence!
Il existe également une API très puissante dans SharePoint si vous êtes dans les intégrations. Je suis moi-même impliqué dans la production d'un connecteur ADO.NET pour SharePoint qui transforme SharePoint en serveur SQL permettant aux développeurs de sauter à l'aide de CAML. Et, il existe de nombreux autres outils sympas.
N'oublions pas le deuxième plus grand avantage d'utiliser SharePoint. Vous pouvez vous concentrer sur le développement futur, le backend est déjà là.
Voici une courte vidéo décrivant SharePoint du point de vue de l'utilisateur final/de l'entreprise http://www.youtube.com/watch?v=s12Jb5Z2xaE
Du point de vue du développeur, SharePoint est une plate-forme qui se trouve au-dessus d'ASP.NET qui fournit les services décrits dans la vidéo (et plus). Le travail du développeur consiste à étendre la plate-forme lorsque les fonctionnalités prêtes à l'emploi ne peuvent à elles seules résoudre un problème commercial.
Alors que SharePoint se situe au-dessus d'ASP.NET, le développement pour SharePoint diffère du développement ASP.NET à bien des égards. SharePoint utilise des listes comme mécanisme de stockage principal, il a son propre modèle de composant (fonctionnalités), il a son propre modèle de package et de déploiement (solutions), etc. Il faut du temps pour devenir compétent en tant que développeur SharePoint, même pour quelqu'un qui est qualifié dans le développement ASP.NET.
SharePoint est livré avec de nombreuses parties extensibles sur lesquelles vous pouvez construire. Vous n'avez pas à écrire votre propre authentification, flux de travail, équilibrage de charge, thème du site, versionnage de documents, etc.
Cela vous permet de créer rapidement des solutions de haut niveau.
En fait, la première question que vous devriez vous poser en tant que développeur est de savoir si un problème peut être résolu sans codage. Les utilisateurs professionnels et les administrateurs peuvent composer des solutions dans le navigateur ou à l'aide de SharePoint Designer. Un développeur doit essayer de se familiariser avec le travail de ces rôles et les outils qu'ils utilisent. Souvent, vous serez l'administrateur de votre propre serveur de développement qui vous exposera aux tâches AD, PowerShell et d'installation et de configuration.
Si Visual Studio est nécessaire, le code que vous développez devra se conformer aux cadres de SharePoint et utiliser des éléments tels que le modèle d'objet côté serveur ou client, divers schémas Xml, etc. en plus de html, JavaScript et C #. Par exemple, au lieu de créer une page simple (comme pourrait le faire un développeur ASP.NET), une solution SharePoint peut vous obliger à encapsuler vos fichiers html/js dans un WebPart qui peut ensuite être réutilisé et configuré dans différentes pages par des utilisateurs professionnels.
Les versions hébergées de SharePoint (en particulier 2013) ajoutent une autre dimension au développement SharePoint: outre le html/js, vous pouvez utiliser Azure.