Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. SharePoint Server 2016
  3. Business Connectivity Services
Extrait - SharePoint Server 2016 Déploiement et administration de la plate-forme
Extraits du livre
SharePoint Server 2016 Déploiement et administration de la plate-forme Revenir à la page d'achat du livre

Business Connectivity Services

Introduction : qu’est-ce que BDC ?

L’application de service Business Data Connectivity ou BDC est un composant qui permet d’accéder à des données stockées dans des bases externes à SharePoint et de les exposer dans l’interface web du produit, principalement sous forme de liste.

Ce service est apparu avec MOSS 2007 sous le même acronyme de BDC, qui signifiait alors Business Data Catalog, traduit par catalogue de données métiers. Cette traduction illustre bien le concept d’accès à des données externes à SharePoint. Tout outil de gestion d’entreprise, tout logiciel qui stocke ses informations dans une base de données compatible est susceptible d’être exploité grâce au service BDC pour rendre les données accessibles depuis un site SharePoint.

Business Data Connectivity permet de lire et d’écrire les données depuis et vers les systèmes compatibles. BDC est un des composants de Business Connectivity Services (BCS) disponibles dans SharePoint Server.

Les composants

En premier lieu, le service BDC est le composant qui interprète le contenu des fichiers modèles BDC. Ces fichiers, au format XML, sont appelés types de contenu externe et contiennent les informations caractérisant les systèmes externes auxquels SharePoint doit accéder (noms de serveurs, de bases de données, authentification, structure du système externe). Le service BDC stocke ses informations dans une base de données de la ferme SharePoint appelée Bdc_Service_DB. Enfin, ce composant établit les connexions aux systèmes.

Les modèles BDC peuvent être créés de manière entièrement graphique avec SharePoint Designer. Le second outil permettant la création de ces fichiers est Visual Studio. Une fois les types de contenu externe déclarés, trois possibilités sont offertes dans SharePoint pour exposer les données :

  • Les listes externes : sur le même principe qu’une liste personnalisée, la liste externe prend sa définition dans le type de contenu externe qui représente sa source de données. Certaines fonctionnalités sont communes avec les listes comme la possibilité de tri, de filtrage, de groupement des éléments ;

  • Les colonnes de données externes : un type de colonne utilisable dans toute liste SharePoint, sauf les listes externes dans lesquelles...

L’authentification sur le système externe

Le service BDC permet d’accéder à des données stockées dans des systèmes externes. Cependant, l’accès à ces bases de données n’est pas anonyme. Le service doit s’authentifier sur ces systèmes pour être autorisé à lire les données. Trois modes peuvent être utilisés :

  • Pass Through : l’identité de l’utilisateur Windows connecté à SharePoint est utilisée et présentée au système externe. Pour pouvoir utiliser ce mode, les éléments de la ferme doivent être configurés pour utiliser Kerberos. En effet, NTLM ne sait pas gérer ce type d’authentification déléguée où un identifiant sert deux fois ;

images/18RI02.png
  • Single Sign On : grâce au service de banque d’informations sécurisé, il est possible d’éviter l’implémentation de Kerberos pour gérer le problème du double saut d’authentification avec le compte d’utilisateur. Le service de banque d’informations sécurisé stocke les identifiants dans SharePoint (dans une base de données SQL particulière). Il est alors possible d’emprunter l’identité d’un utilisateur Windows en utilisant ce même compte stocké...

Mécanisme d’authentification dans un environnement SharePoint

Dans l’environnement d’un domaine Active Directory, un client (ordinateur, utilisateur, application) utilise typiquement les protocoles NTLM ou Kerberos pour l’authentification. Un client Kerberos existe sur les systèmes d’exploitation Microsoft depuis Windows 2000 pour l’authentification des utilisateurs et des ordinateurs Active Directory.

Le mécanisme choisi entre un client et un serveur dépend de la configuration des applications. Lorsque nous avons installé notre premier serveur SharePoint, la première application web qui héberge le site d’administration centrale a été configurée pour utiliser NTLM. L’application web du contenu de l’intranet a été créée également selon le même principe. Cependant, NTLM n’autorise pas l’authentification par délégation. Dans le cas de l’utilisation du service BDC, les identifiants de l’utilisateur ne pourront pas être réutilisés pour s’authentifier sur la base de données externe si l’application web utilise NTLM. Le service de banque d’informations sécurisé� permet de s’authentifier auprès du système externe en stockant les identifiants (Windows ou non Windows) dans une base SQL et ainsi disposer...

Construire une ferme SharePoint avec authentification Kerberos

1. Configuration d’Active Directory

La configuration d’Active Directory consiste à créer les SPN et à configurer les comptes d’ordinateurs et de services pour la délégation. Pour créer le SPN pour le service de bases de données, rendez-vous dans ADSI Edit :

 Cliquez sur la commande Connexion et ouvrez la partition du domaine (choisir le Contexte d’attribution de noms par défaut).

 Développez l’arborescence jusqu’à l’unité d’organisation contenant le compte de service pour SQL Server et repérez le nom du compte.

 Dans son menu contextuel, choisissez la commande Propriétés.

 Dans la liste des attributs, naviguez jusqu’à servicePrincipalName et double cliquez sur l’attribut pour saisir son contenu.

 Saisissez l’attribut pour le nom NetBIOS du serveur SQL et son nom DNS sous la forme : MSSQLSvc/Srvsps:1433 et MSSQLSvc/Srvsps.masociete.ad:1433

images/16RI03N.PNG

Répétez l’opération pour le compte d’exécution du pool IIS de l’application web du portail (application web SharePoint - 80) en saisissant les entrées HTTP dans la propriété servicePrincipalName pour les noms DNS, NetBIOS et les éventuels alias (par exemple : HTTP/Srvsps, HTTP/Srvsps.masociete.ad).

Un SPN doit être créé pour le compte du pool IIS de la ferme, celui qui exécute le pool de l’application d’administration centrale. Ce SPN est identique au précédent mais il faut ajouter le numéro de port TCP de l’application d’administration centrale, qui est proposé lors de l’installation de SharePoint :

  • HTTP/Srvsps:28771 ;

  • HTTP/Srvsps.masociete.ad:28771.

Enfin, il faut activer la délégation sur les comptes d’ordinateurs du serveur SharePoint et sur les comptes d’utilisateurs des comptes de service des pools IIS. Rendez-vous dans la console Utilisateurs et ordinateurs Active Directory :

 Naviguez jusqu’à l’unité d’organisation contenant le compte d’ordinateur du serveur SharePoint.

 Dans le menu contextuel du compte, choisissez la commande...

Configuration du service BDC

Avant de créer un type de contenu externe qui permettra de créer une liste externe, rendez-vous dans l’administration centrale SharePoint pour configurer le service BDC. Dans la gestion des applications, utilisez le lien Gérer les applications de service et sélectionnez le service BDC.

Cette page permet de lister les modèles BDC importés ou créés avec SharePoint Designer (les fichiers XML définissant les modalités d’accès aux systèmes) et les types de contenu. Il s’agit en premier lieu d’accorder les autorisations pour la manipulation de ce service :

 Cliquez sur le lien Définir les autorisations du magasin de métadonnées.

 Ajoutez au moins un compte utilisateur disposant des quatre droits.

 Ajoutez un compte utilisateur ayant les droits Exécuter et Sélectionnable dans les clients.

images/16RI10N.PNG

Création d’une source de contenu externe

Pour tester les composants du service BDC, vous devez disposer d’une base de données sur le serveur SharePoint (ou un second serveur SQL distinct). Vous pouvez par exemple récupérer les fichiers du projet CodePlex AdventureWorks disponible à cette adresse pour les versions les plus récentes de SQL Server, y compris la préversion 2016 : http://msftdbprodsamples.codeplex.com/. Si vous utilisez un serveur SQL Server distinct, avant de tenter d’accéder aux services SQL sur cette machine, il faudra vérifier qu’une règle d’accès entrant au niveau du pare-feu de ladite machine autorise le trafic vers le port local 1433. De même, le compte d’utilisateur qui effectuera cette opération devra posséder au minimum des droits d’accès en lecture à la base de données. Pour créer une source de contenu externe et le fichier modèle BDC, démarrez SharePoint Designer et connectez-vous à un site :

 Sélectionnez dans le panneau des objets Types de contenu externe.

 Cliquez sur le bouton Types de contenu externe du ruban.

 Saisissez un nom pour le type de contenu.

 Cliquez sur le lien Cliquez ici pour découvrir les sources de données externes.

images/16RI11N.PNG

 Dans la page affichée, cliquez sur le bouton Ajouter...

Création d’une liste externe

De retour dans le site racine ou un des sous-sites de notre intranet, il suffit alors de créer un objet de type Liste externe dont les caractéristiques sont les suivantes :

  • Un nom et une description ;

  • La sélection du type de contenu externe sur lequel est basée la liste.

images/16RI16N.PNG

Une fois la liste créée, il est possible d’y accéder comme à toute autre liste via le raccourci de la barre de lancement rapide. Les actions possibles sur les éléments de liste sont disponibles dans le menu contextuel et dépendent des actions créées dans le type de contenu externe grâce à SharePoint Designer.

images/16RI17N.PNG

Par défaut, le service BDC limite l’affichage du nombre d’éléments de liste externes à 2000. Si la source de données contient plus d’enregistrements, un message d’avertissement apparaît et vous demande de modifier ce paramètre. Pour cela, il faut exécuter la séquence de commandes PowerShell suivante :


$bdcProxy = Get-SPServiceApplicationProxy | where {$_.GetType().FullName 
-eq ('Microsoft.SharePoint.BusinessData.SharedService.' + 
'BdcServiceApplicationProxy')} 
 
Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType 
Items -ServiceApplicationProxy $bdcProxy | 
Set-SPBusinessDataCatalogThrottleConfig -Maximum...

Colonnes de données externes pour liste SharePoint

Outre la création de listes externes, une autre possibilité pour exposer les données d’une base externe dans SharePoint est la création d’une colonne externe. Une colonne de données externe ressemble à une colonne de type Recherche si ce n’est qu’elle affiche le contenu d’une liste externe au lieu d’une liste SharePoint (données contenues dans le site). Les caractéristiques de la colonne sont :

  • Son Nom ;

  • Le type Données externes ;

  • Une éventuelle Description ;

  • La colonne doit-elle contenir obligatoirement une valeur ou non ? ;

  • Le choix du Type de contenu externe pour l’accès aux champs ;

  • La sélection du champ à afficher dans la colonne ;

  • La sélection de champs supplémentaires éventuels.

images/16RI18N.PNG

Recherche dans les données externes

Il est possible d’indexer les éléments provenant de données non stockées dans les bases de contenu SharePoint en créant une nouvelle source. Rendez-vous sur le site d’administration centrale :

 Utilisez les liens Paramètres généraux de l’application puis Administration de la recherche sur la batterie de serveurs.

 Sélectionnez l’application de service de recherche et utilisez le bouton Sources de contenu.

 Cliquez sur le lien Nouvelle source de contenu.

 Donnez un nom à la nouvelle source puis, dans la zone de type, choisissez l’option Ligne de données métiers.

 La zone Source de données externe doit mentionner Service BDC et permet de sélectionner la source à indexer ou toutes les sources gérées par le service.

 Sélectionnez ou créez une planification pour l’exécution de l’analyse de la source.

images/16RI19N.PNG

Le compte de service d’accès aux sources de contenu doit avoir au minimum un droit en lecture sur le type de contenu externe. Ce compte a été défini dans la page d’administration de la recherche (vérifiez le compte d’accès au contenu par défaut). Sur le site de l’administration centrale :

 Utilisez les liens Gestion des applications puis Gérer...

WebParts de données métiers

Pour exposer directement sur les pages d’un site les listes alimentées par les types de contenu BDC, vous disposez d’un ensemble de WebParts dans la catégorie Données métiers de la commande Composant WebPart du ruban INSÉRER en mode modification de page. Le composant le plus simple Liste de données métiers permet d’insérer le contenu d’une liste externe sur une page.

images/16RI20N.PNG

Le composant WebPart Eléments de données métiers affiche lui un élément particulier d’une liste plutôt que l’ensemble du contenu de la liste.

Configuration du service Banque d’informations sécurisé

Cette application de service permet de stocker des identifiants pour accéder à des données qui ne sont pas stockées au sein des bases SharePoint. Nous avons précédemment configuré un type de données externe SharePoint en utilisant le mode RevertToSelf pour des raisons de facilité de configuration dans une maquette. Cependant, en environnement de production, il est préférable d’utiliser le service Banque d’informations sécurisé. Cette application est dotée de sa propre base de données. Une fois l’application de service créée, rendez-vous sur la page de gestion des applications de service, sélectionnez l’application banque d’informations et cliquez sur le bouton Générer la nouvelle clé puis saisissez et confirmez un mot de passe. Cette opération est nécessaire avant de pouvoir utiliser ce service car les identifiants stockés dans la base de données sont cryptés. En cliquant sur le bouton Nouveau, vous accédez à la page de création d’une application cible. Une application cible est une méthode pour faire utiliser un identifiant par des utilisateurs SharePoint vers les applications hors du périmètre, à la manière d’une fonction...

Conclusion

La plate-forme SharePoint est non seulement capable d’organiser du contenu en son sein mais également de rassembler d’autres sources grâce au service BDC. Les possibilités offertes par ce composant étendent encore les usages du produit. Il permet d’exposer des données dans une interface web si le système externe n’en dispose pas, éventuellement de manipuler ces données, de les associer aux données stockées dans des listes SharePoint.