Partager via


Composants WebPart qui hébergent des applications externes comme Silverlight

Dernière modification : vendredi 15 octobre 2010

S’applique à : SharePoint Foundation 2010

Dans cet article
Vue d’ensemble
Différents niveaux de développement
Accès aux données inter-domaines Silverlight
Fournisseur d’applications externes
Création d’un composant WebPart d’hébergement

Les rubriques de cette section décrivent comment héberger des applications non-SharePoint dans les composants WebPart. Sont incluses les rubriques qui expliquent comment permettre aux utilisateurs de tirer parti du composant WebPart Silverlight qui est intégré dans Microsoft SharePoint Foundation pour héberger une application Silverlight. Le fichier exécutable de l’application Silverlight peut se trouver dans un domaine différent de celui de l’application Web SharePoint Foundation dont les pages contiennent le composant WebPart Silverlight. Vous pouvez également créer des composants WebPart d’hébergement d’applications et même personnaliser l’architecture SharePoint Foundation pour héberger des applications en créant un fournisseur d’applications externes.

Vue d’ensemble

Dans les limites imposées par certaines contraintes, les utilisateurs de site Web qui disposent de droits de collaborateur peuvent ajouter à leurs pages Web SharePoint des composants WebPart qui hébergent des applications non-SharePoint, par exemple des applications Silverlight. Ces applications peuvent en outre être hébergées sur des serveurs en dehors du domaine de l’application Web SharePoint Foundation et lire et écrire des données SharePoint, à condition qu’elles aient été correctement enregistrées en tant que principal d’application. Ces composants WebPart fournissent aux équipes de développement des moyens d’intégrer rapidement des applications non-SharePoint dans les sites Web SharePoint Foundation.

Notes

Une application est externe à une application Web SharePoint Foundation (c’est-à-dire, a un autre domaine) si l’URI de l’exécutable de l’application diffère de celui de l’application Web de l’une des quatre façons décrites dans Communication HTTP et sécurité avec Silverlight : Communication inter-domaines.

Différents niveaux de développement

Le travail de développement nécessaire pour intégrer une application dans SharePoint Foundation varie principalement en fonction des facteurs suivants.

  • Si l’exécutable de l’application est hébergé au sein de l’application Web SharePoint Foundation ou dans un domaine externe.

  • Si l’application a besoin de lire et d’écrire des données SharePoint Foundation.

  • Si les paramètres par défaut qui déterminent la façon dont le composant WebPart s’affiche doivent être modifiés.

  • Si l’application a besoin d’informations de configuration personnalisées pour s’exécuter dans un composant WebPart SharePoint Foundation.

  • Si une interface utilisateur personnalisée dans SharePoint Foundation est nécessaire pour créer et modifier les propriétés du composant WebPart qui héberge l’application.

Dans les cas les plus simples, l’application non-SharePoint est soit située dans le même domaine que l’application Web SharePoint Foundation, soit hébergée sur une URL externe mais n’a pas besoin d’accéder aux données SharePoint. Dans ces deux cas de figure, aucun développement SharePoint n’est requis. Lorsque l’exécutable est terminé, l’administrateur de l’application Web déploie l’application sur un serveur d’applications ou dans une bibliothèque de documents. Les utilisateurs qui ajoutent un composant WebPart qui peut héberger une application non-SharePoint sont invités à fournir l’URL de l’exécutable lorsqu’ils ajoutent ce composant. Si l’application est déployée localement, elle peut accéder aux données SharePoint Foundation en utilisant le Modèle objet client managé dans le contexte de l’utilisateur actif (si l’application externe est une application Silverlight, elle utilise la version adaptée pour Silverlight du modèle objet client).

Si l’application est déployée sur un domaine autre que celui de l’application Web et doit accéder aux données SharePoint, l’intégration nécessite l’utilisation de l’Accès aux données inter-domaines Silverlight (Silverlight CDA).

Accès aux données inter-domaines Silverlight

L’avantage pour les utilisateurs de SharePoint Foundation de pouvoir héberger des applications qui se trouvent dans un domaine différent de celui de l’application Web SharePoint Foundation est que beaucoup d’applications de ce genre peuvent être hébergées sur un serveur d’applications et mises à la disposition de toutes les applications Web dans la batterie de serveurs. L’accès aux données inter-domaines Silverlight (Silverlight CDA) permet aux administrateurs de contrôler les autorisations des serveurs externes qui hébergent les applications externes sans trop restreindre la possibilité offerte aux utilisateurs d’ajouter des composants WebPart hébergeant ces applications à des pages de composants WebPart. L’application se connecte à l’application Web SharePoint Foundation en tant que type d’utilisateur distinct, désigné « principal d’application ». Les autorisations de l’application sont l’intersection des autorisations que l’administrateur a accordées à cet utilisateur spécial avec les autorisations de l’utilisateur réel qui a ouvert la page Web contenant le composant WebPart qui héberge l’application.

Notes

En général, si un serveur externe héberge plusieurs applications utilisées dans SharePoint Foundation, toutes ces applications utilisent les mêmes informations d’identification d’utilisateur principal d’application. Il est possible de créer des utilisateurs principaux d’application différents pour chaque application, mais rien ne peut empêcher le serveur d’utiliser l’un de ses utilisateurs principaux d’application pour une de ses applications.

Les développeurs doivent connaître les éléments critiques suivants concernant l’accès aux données inter-domaines Silverlight.

  • L’accès aux données SharePoint Foundation à partir d’une application sur un domaine externe doit être autorisé par un administrateur de batterie de serveurs en inscrivant un fournisseur d’applications externes (EAP - External Application Provider), et pour des raisons de sécurité, cela n’est pas réalisable dans l’interface utilisateur de SharePoint Foundation. Cette opération doit être effectuée par programme. Vous pouvez inclure des instructions pour le code requis dans votre solution ou fournir un petit utilitaire que les administrateurs de batterie de serveurs pourront exécuter. Pour plus d’informations sur la création de ce code d’utilitaire, voir Procédure : activer un fournisseur d’applications externes.

    Notes

    Le fournisseur d’applications externes ne doit être inscrit qu’une seule fois même si plusieurs applications externes sont utilisées.

  • Vous devez créer du balisage Code XML d’application externe chargé de fournir à SharePoint Foundation les informations nécessaires sur l’application. Les utilisateurs qui ajoutent un composant WebPart hébergeant l’application étant invités à fournir le balisage, vous devez mettre ce dernier à leur disposition. Pour plus d’informations sur la création de ce balisage, voir Procédure : créer le balisage XML d’application externe.

  • L’administrateur de batterie de serveurs doit créer une identité d’utilisateur sous laquelle l’application externe se connecte à SharePoint Foundation ; cet utilisateur doit en outre être configuré comme principal d’application. Pour des raisons de sécurité, cette configuration ne peut pas être réalisée depuis l’interface utilisateur. Vous devez fournir un utilitaire qui attribue des valeurs à certaines propriétés de l’objet SPUser qui se connecte pour le compte d’une application nécessitant l’accès inter-domaines aux données SharePoint Foundation. Pour plus d’informations sur la création de cet utilitaire, voir Procédure : créer un utilisateur principal d’application. Les propriétaires de site Web qui souhaitent que leurs collaborateurs puissent ajouter un composant WebPart hébergeant l’application doivent ajouter le principal d’application en tant qu’utilisateur sur leurs sites Web.

  • Vous devez créer un gestionnaire de requêtes HTTP installé sur le domaine de l’application externe. Les requêtes provenant de l’application externe qui sont destinées à une application Web SharePoint Foundation sont d’abord adressées au gestionnaire en question qui les transmet ensuite au serveur Web frontal SharePoint Foundation, avec un hachage de sécurité et les informations d’identification de l’utilisateur. Pour plus d’informations sur la création de ce gestionnaire, voir Procédure : créer un redirecteur de demande HTTP pour des applications externes.

  • Le code dans l’application Silverlight qui lit ou écrit des données dans l’application Web SharePoint Foundation utilise une version adaptée à Silverlight du modèle objet client SharePoint Foundation qui est implémentée dans ses propres assemblys clients. Pour plus d’informations sur ce modèle objet et sur la programmation de celui-ci, voir Utilisation du modèle objet Silverlight et Déploiement Silverlight

Notes

Bien que les tâches ci-dessus soient requises uniquement si l’application se trouve dans un domaine externe et doit accéder aux données SharePoint Foundation, vous pouvez être amené à les accomplir même si l’une de ces conditions n’est pas remplie, par exemple, si vous souhaitez utiliser du balisage XML d’application externe pour personnaliser la largeur et la hauteur du composant WebPart.

Fournisseur d’applications externes

Un fournisseur d’applications externes (EAP) est un moteur de configuration et de mise en service de composants WebPart qui hébergent des applications non-SharePoint. Il interprète le balisage Code XML d’application externe, gère la création des composants WebPart qui hébergent l’application et gère la modification des propriétés des composants WebPart.

Un fournisseur d’applications externes par défaut est utilisé, à moins qu’un EAP personnalisé ne soit inscrit. Il ne peut y avoir qu’un EAP pour chaque objet SPWebService dans la batterie de serveurs. Ainsi, toutes les applications externes hébergées dans des composants WebPart inclus dans toutes les applications Web enfants du même service Web sont gérées par le même EAP. Pour plus d’informations sur SPWebService et les services Web, voir Hiérarchie des services de Microsoft SharePoint Foundation et Informations de base : entités de service dans Microsoft SharePoint Foundation.

Vous pouvez créer un EAP personnalisé et le substituer à l’EAP par défaut. Les scénarios dans lesquels vous souhaitez procéder ainsi sont, par exemple, les suivants :

  • Le composant WebPart qui héberge l’application non-SharePoint nécessite un composant outil personnalisé que les utilisateurs emploieront pour modifier les propriétés du composant WebPart ou pour effectuer d’autres opérations, comme créer automatiquement un utilisateur principal d’application pour l’application externe.

  • Le composant WebPart nécessite un chrome personnalisé.

  • L’application Silverlight, ou plus précisément le redirecteur de requêtes de l’application, nécessite un hachage client pour pouvoir vérifier que les réponses aux requêtes reçues du serveur Web frontal SharePoint Foundation n’ont pas été falsifiées. Pour plus d’informations sur les redirecteurs de requêtes, voir Procédure : créer un redirecteur de demande HTTP pour des applications externes.

  • Le balisage Code XML d’application externe pour le composant WebPart doit contenir les propriétés de configuration personnalisée.

  • Une logique personnalisée doit s’exécuter lorsque les contrôles enfants du composant WebPart sont créés.

Pour plus d’informations sur la création d’un EAP personnalisé, voir Procédure : créer un fournisseur d’applications externes personnalisées.

Création d’un composant WebPart d’hébergement

Un composant WebPart Silverlight est intégré dans SharePoint Foundation. Pour héberger un autre type d’application dans un composant WebPart, vous pouvez dériver un nouveau type de composant WebPart de ClientApplicationWebPartBase. Pour plus d’informations sur la création d’un composant WebPart qui héberge une application non-SharePoint, voir Procédure : créer un composant WebPart qui héberge une application externe.

Voir aussi

Tâches

Procédure : activer un fournisseur d’applications externes

Procédure : créer un utilisateur principal d’application

Procédure : créer un redirecteur de demande HTTP pour des applications externes

Procédure : créer un fournisseur d’applications externes personnalisées

Procédure : créer un composant WebPart qui héberge une application externe

Référence

SPExternalApplicationRegistrationInformation

SPExternalApplicationRequestProperties

SPExternalApplicationRequestResult

SPExternalApplicationRegistrationException

SPExternalApplicationSettings

SPExternalApplicationProvider

ClientApplicationWebPartBase

SilverlightWebPart

Concepts

Cycle de vie d’une demande Silverlight à une application Web

Procédure : créer le balisage XML d’application externe

Code XML d’application externe

Autres ressources

Overview of Integrating External Applications with Web Parts