Archives du mot-clé Business Connectivity Services

Configuration du Secure Store Service et ajout d’une application afin de créer un type de contenu externe


Cet article fait partie d’une série concernant la mise en oeuvre de liste externes et de workflows avec SharePoint. Les étapes seront passées en revue :

_______________________________________________________________________________________________

Le service de banque d’informations sécurisé dans SharePoint 2013

Le service Banque d’informations sécurisé est un service d’autorisation qui s’exécute sur un serveur d’applications. Il permet de stocker les informations d’identification requises pour   d’accéder à une ou plusieurs application(s) tierce(s) dans une base de données chiffrée. Il permet d’éviter, entre autres, les problèmes d’authentification dans un « double-hop » et parfois de s’affranchir d’une authentification Kerberos, bien que celle-ci soit souvent mise en oeuvre pour d’autres cas d’usage (utilisation du profil de l’utilisateur directement plutôt qu’un compte générique permettant l’impersonification).

La mise en oeuvre de ce service

  1. Il faut au préalable avoir identifié le compte géré (ex : spserviceapps) ainsi que le pool d’application qui seront utilisés pour exécuter cette application de service.
  2. Tout d’abord commencez par démarrer le service de Banque d’information sécurisé sur le serveur d’applications SharePoint 2013.
  3. Ensuite il faut créer l’application de services Banque d’informations sécurisé (procédure simple). 

Les procédures détaillées sont simples et visibles ici.

L’ajout d’une application

1 – Générer une nouvelle clé pour le chiffrement / déchiffrement de la base données associée à l’application de service.

Génération clé banque de données sécurisées

2 – Cliquer sur « Nouveau » puis remplissez le formulaire avec les informations de votre application tiece

Création application secure store service

Formulaire application cible du magasin sécurisé

Image 059

Dans mon cas il s’agit de la base de données AventureWorks2012 avec une authentification Windows donc rien de plus simple.

3 – Il est ensuite possible de définir les informations d’authentification qui seront utilisées pour impersonifier l’utilisateur lorsqu’il accédera à l’application cible. J’ai ici donné les login/password de l’administrateur de la base données (sous la forme NDD\user). Un utilisateur qui n’a qu’un accès en lecture à la base serait suffisant, il est également possible d’utiliser un couple login/password pour une authentification SQL plutôt que Windows.

Secure store service

Secure store services

4 – il ne me reste plus qu’à vérifier que je peux accéder à ces informations en créant un type de contenu externe via SharePoint Designer. Pour cela ouvrir son site cible avec SharePoint Designer et créer un type de contenu externe comme suit.

Type de contenu externe SharePoint Designer

5 – Saisir le nom du type de contenu externe puis cliquer sur « découvrir les sources de données externes et définir les opérations » puis sur « ajouter une connexion ».

Type de contenu externe SharePoint Designer

type de contenu externe sharepoint designer

6 – Choisir SQL Server.

SharePoint Designer type de contenu externe

7 – Saisir le nom de votre serveur de base de données ainsi que le nom de la base. Sélectionner « Se connecter avec l’identité Windows empruntée » et saisir le nom de l’application tel qu’il apparaît dans le Magasin de données sécurisées.

Type de contenu externe SharePoint Designer

8 – La connexion à la base est créée il est ainsi possible de créer un ensemble d’opération sur une table définie. Sélectionner la table et cliquer, par exemple, sur « Créer toutes les opérations ».

type de contenu externe sharepoint designer

9 – Dans le Wizzard vérifier que l’ID unique de votre table est bien mappé sur l’identificateur comme suit pour le BusinessEntityID.

secure store service

10 – Sélectionner les colonnes dont la valeur devra être affichée dans le sélecteur (liste déroulante) et cliquer sur « afficher dans le sélecteur. Dans mon cas j’ai choisi FirstName et LastName.

type de contenu externe SharePoint 2013

11 – Si aucun filtre n’est ajouté et que la table à plus de 2000 lignes  l’erreur suivante apparaîtra lorsqu’on essaiera d’afficher notre liste « Le connecteur de base de données a limité la réponse. La réponse de la base de données contient plus de « 2000 » lignes. Le connecteur de base de données peut lire « 2000 » lignes au maximum. La limite peut être modifiée via l’applet de commande « Set-SPBusinessDataCatalogThrottleConfig ». » Il faut alors ajouter un filtre de type « limite » avec la limite par défaut.

Filtre type de contenu externe SharePoint 2013

type de contenu externe sharepoint designer 2013

Editer la valeur par défaut du filtre avec une valeur inférieure à 2000.

sharepoint designer 2013 type de contenu externe

12 – Sauvegarder le type de contenu externe et vérifier que celui-ci est bien créé dans le service Business Connectivity Service via l’administration centrale.

BDC SharePoint 2013

types de contenu externe sharepoint 2013

13 – Il est alors possible d’accorder les autorisations d’accès à ce type de contenu externe pour les utilisateurs cibles.

business connectivyt services sharepoint 2013

14 – Enfin, pour vérifier que ces données sont réellement accessibles depuis notre site SharePoint, créer une liste externe basée sur le type de contenu.

Liste externe SharePoint Designer 2013

Liste externe SharePoint Designer 2013

15 – Vérifier l’accès à cette liste dans votre site SharePoint en lecture et écriture si telles sont les opérations que vous avez autorisé.

SharePoint Designer 2013 liste externe

Liste externe SharePoint 2013

Dans les articles suivants nous verrons faire la même chose via un développement Visual Studio 2012.

Utilisation de Business Connectivity Services dans SharePoint 2013


Cet article fait partie d’une série concernant la mise en oeuvre de liste externes et de workflows avec SharePoint. Les étapes seront passées en revue :

_______________________________________________________________________________________________

Quelques petits éclaircissements au préalable

en effet on s’emmêle encore un peu les pinceaux dans les sigles utilisés (BDC et BCS).

Le BDC était initialement le Business Data Catalog proposé dans la version SharePoint Server 2007 (MOSS). Le même sigle est utilisé pour Business Data Connectivity introduit dans la version SharePoint Foundation 2010 (ils jouent quasiment le même rôle a priori, sauf que le 2nd du nom est gratuit et permet d’écrire dans une source de données externe).

BCS (Business Connectivity Services), quand à lui, est apparu dans SharePoint Foundation 2010 et est disponible pour Foundation, Server (utilisation de listes externes et de la recherche sur des sources externes par exemple) et les clients Office (permet, par exemple, de récupérer une liste de contact externe dans Outlook et de la gérer offline).

Donc, concernant SharePoint 2013, BCS expose et fournit un accès pour SharePoint et Office à BDC qui lui même nous relie à tout un tas de sources de données externes.

Les sources de données

En effet, ce service permet à des utilisateurs finaux de travailler avec un grand nombres de sources de données externes directement depuis l’interface web SharePoint 2013 et Office 2013. Dans les sources on retrouve :

  • les bases de données courantes parmi lesquelles figurent SQL Server, Oracle, IBM DB2 et toute base de données conforme aux normes d’interface ODBC ou OLE DB
  • des services web ou des données publiées en tant que source OData (parmi les sources OData les plus courantes figurent des sites web familiers tels qu’Amazon, E-bay, Azure Data Market et Netflix, des bases de données et même d’autres sites SharePoint)
  • des systèmes de gestion de ressources d’entreprise tels que SAP, Duet, Microsoft Dynamics, Siebel et JD Edwards.
  • des connecteurs personnalisés basés sur :

BCS SharePoint 2013

Mode d’accès à la source de données externe

Il y a fort à parier que l’authentification (le mode ainsi que le couple login/password) soit différente entre SharePoint et la source de donnée externe. Il faut donc se demander si l’utilisateur courant dispose d’un compte pour accéder aux données externes qui lui sont exposées dans SharePoint via le BCS, si ce n’est pas le cas il faudra ouvrir une session avec d’autre information de connexion.

Le service de Banque d’informations sécurisé (Secure store Service) est idéal dans ce scénario car il fournit un stockage et un mappage des informations d’identification, une seule ouverture de session est alors nécessaire. Ce service permet de gérer le problème du « double hop » (cf. schéma ci dessous).

Secure store service and business connectivity service

Pour la configuration du Secure Store Service et la création d’une nouvelle application c’est par ICI 

Les possibilités techniques

Les opération de CRUDQ (Create, Read, Update, Delete, Query) sur la source de données externe vont permettre de :

  • Côté SharePoint
    • Créer des types de contenu externes via SharePoint Designer 2013 ou Visual Studio 2012
    • Lire et écrire des données dans une liste externe
    • Ajouter des colonnes de données externes à des listes et bibliothèques
    • Créer des solutions avec des composants WebPart de données métiers
    • Utiliser des données externes dans des flux de travail
    • Utiliser des données externes dans une page de profil, une action ou une recherche
  • Côté Office
    • Analyser des données externes dans Excel
    • Ajouter des données externes à des documents Word
    • Synchroniser des données externes dans Outlook
    • Améliorer l’accès aux données externes avec des formulaires InfoPath
    • Ajouter des données externes à des diagrammes Visio publiés
    • Importer et actualiser des données externes dans Access

Les cas d’usages

Maintenant que nous avons fait ce petit tour d’horizon, dans quel cas d’usage pourrait on utiliser le BCS ?

  • créer une liste externe SharePoint de données sur le personnel stockée dans une base de données principale, accessible en lecture aux utilisateurs, comme une liste SharePoint native
  • connecter des données client à jour depuis une application métier type CRM en tant qu’ensemble de contacts Outlook et permettre un accès offline
  • Consommer des données publiques accessible en Odata sur http://www.data.gouv.fr/ et les analyser avec Excel
  • créer une application iPad qui viendra consommer les données de listes externes SharePoint 2013 en OData (REST /JSON). Le serveur SharePoint joue le rôle de serveur de médiation ou serveur relai (système de cache, et exposition des données native). Article à venir.
  • utiliser le système de notification SharePoint (event handler) dès qu’un élément est ajouté ou modifié dans la source de données externe (exemple de code ici)

Dans les articles suivants nous nous attarderons sur l’utilisation de données externes provenant d’un SIRH (Système d’Information de Ressources Humaines) au sein d’un Workflow SharePoint 2013. Les étapes seront les suivantes (articles à venir) :

(source : office.microsoft.com)