vendredi 19 avril 2013

Business Connectivity Service (BCS) dans SharePoint 2010


L'architecture


Les BCS se présentent comme un Service Application, ce qui signifie qu'il est distribuable. Les BCS permettent d'utiliser des sources de données externes comme si le contenu faisait partie intégrante de la plateforme.

Les BCS de SharePoint 2010 permettent de faire du CRUD (Create, Read, Update, Delete) ce qui présente un énorme avantage.

Avec BCS, il est possible d'accéder à des sources de données via : 
  • Bases de données SQL Server
  • Service Web WCF 
  • Assemblies .Net
En utilisant les assemblies .Net on peut donc considérer qu'on développe un connecteur a des sources de données externes du moment qu'elle soit interrogeable en .Net. Ainsi il est pensable d'avoir un BCS pour interroger une base de données Oracle, MySQL, DB2, d'interroger des web services externes, sur le cloud par exemple ou alors de développer un connecteur pour un fileshare spécifique: Novell.


Les limitations dans les listes SharePoint

Cependant, Il est important de comprendre les limites des External list :
  • Pas de versionning, ce qui est normal puisque les données sont stockées dans la base de données pas dans SharePoint, il serait donc impossible de gérer le versionning
  • Pas de Information Management Policy, ce qui est aussi normal puisqu'on ne va pas pouvoir demander à stocker les informations autre part
  • Pas de workflow en out of the box, mais on verra comment contourner ce problème
  • Pas d'inline editing (la moi pas comprendre), en effet cela est techniquement possible
  • Pas de Rating
  • Impossible d'exporter en Excel ou d'ouvrir avec Visio, Access ou Project. (http://exportexternallist.codeplex.com/ export vers excel)
  • Pas d'accès Rest avec ListData.svc
  • Pas de flux RSS
  • Pas de permission niveau item (ou pas on verra comment contourner le problème)
  • Pas de lookup
  • Pas d'attachements


EXEMPLE

Création d’un type de contenu externe

La méthode la plus intuitive pour créer une connexion BCS « basique » reste sans conteste l’utilisation de SharePoint Designer 2010

1) Ouvrer votre site SharePoint dans SharePoint Designer 2010

2) Dans le panneau de navigation de gauche, sélectionner « Types de contenu externe »


3) Cliquer sur le bouton « Type de contenu externe »


4) Cliquer sur le lien « Cliquez ici pour découvrir les sources de données externes... »


5) Cliquer sur le bouton « Ajouter une connexion »


6) Sélectionner « SQL Server » dans la liste déroulante qui permet de définir le type de source de données


7) Entrer le nom de votre serveur sql ainsi que le nom de votre DB


8) Quand la connexion est établie vous verez apparaitre votre DB dans la fenêtre « Data Source Explorer ».

Dérouler votre DB (en cliquant sur le +) ainsi que votre table et faite un click droit sur la table que vous avez créer.
Sélectionner le premier menu « Créer toutes les opérations »


Vous voyer apparaitre un Wizard où vous avez la possibilité de définir les différents paramètres de votre connexion BCS.

9) Cliquer sur le bouton « Suivant» pour accéder à la page des paramètres


10) Sélectionner le champ qui sera votre identifiant (dans mon cas j’utilise le champ « AddressID ») et cocher la case « Mapper sur l'identificateur »


11) Cliquer sur le bouton « Terminer»

Vous verrez sur la droite de l’écran la liste des opérations disponible pour votre DB externe


12) Sauvegarder vos modifications (Penser à mettre un Nom à votre type de contenu externe car il ne sera pas modifiable par la suite)



Donner accès à votre Application de service BDC

Administration centrale > Gestion des applications > Gérer les applications de service
1. Définir les autorisations de l'Application du service BDC


Ajouter les autorisations aux personnes / groupes pouvant visualiser les informations externes


2. Créer Service Banque d’informations sécurisé  -- Application Service Banque d’informations sécurisé
Mettre en place l'accès à l'information en mode "impersonate", afin d'usurper l'information de connexion avec la DB.


Donner un nom unique pour identifier votre connexion "impersonate"

Définir les informations de connexion à la base

Générer la clé



3. Reset des informations de connexion
Vous pouvez maintenant redéfinir l'accès à votre contenu externe




Saisir l'identifiant du Secure Store à utiliser pour se connecter



4. Magasin de métadonnées
Donner l'accès aux métadonnées




Aucun commentaire :