SharePoint à l'intérieur Extension des applications Office avec les services Web

Pav Cherny

Contenu

SharePoint Services et le modèle d'objet
Outlook 2007 et le protocole StsSync
Excel 2007 et Excel Web Access
Access 2007 et le contrôle de feuille de données de Web Access
Word 2007 et l'API MetaWeblog
PowerPoint 2007 et MOSS 2007
InfoPath 2007 et InfoPath Forms Services
Conclusion

Les services Web standard 21 dans les services Web de Microsoft Windows SharePoint Services (WSS) 3.0 et 19 standard dans Microsoft Office SharePoint Server (MOSS) 2007 permettent de créer des solutions très flexibles pour extraire des données des ressources locales et distantes, étendant les fonctionnalités de la suite Microsoft Office standard et Intégration des applications métier. Bien entendu, vous devrez peut-être encore plus de 40 services Web. Si vous installez des solutions de serveur supplémentaire qui intègrent avec SharePoint, tels que Microsoft Office Project Server 2007, vous trouverez peut-être que le nombre de votre serveur SharePoint dépasse facilement 60 ou plusieurs services Web. Et qui n'est pas encore comptez un des personnalisé services SharePoint que vous souhaitez implémenter. Les services Web constituent la composante fondamentale des applications métier distribuées, et à l'ère de Software-plus-services, services Web sont encore plus important car ils fournissent les moyens pour les organisations intégrer des solutions principe aux environnements hébergés.

Dans cette chronique, j'explique les avantages des services Web dans un environnement de SharePoint, plus précisément leur utilisation dans et autour des applications Office standard. Bien que les applications Office reposent généralement sur Microsoft Office FrontPage et appels de procédure distante (RPC) WSS et Web Distributed Authoring and (WebDAV) pour l'accès basé sur des fichiers à des listes ou bibliothèques SharePoint, ils également utiliser des services Web. Les services Web base inclus dans WSS 3.0 sont suffisantes pour la plupart des applications Office, telles que Microsoft Word 2007, Outlook 2007, et Access 2007, lors d'autres, tels que PowerPoint 2007 et InfoPath 2007, pouvez utiliser des services Web sont disponibles uniquement avec MOSS 2007 ou avec les produits distinctes. Je mentionne dépendances du produit si nécessaire. Si vous souhaitez suivre mon explications dans un environnement de test, vous pouvez trouver feuilles de calcul avec des instructions étape par étape dans le matériel associé de cette colonne, disponible dans la section téléchargement de code à technet.microsoft.com/Magazine/bb978519.

Discussions sur le développement exhaustive et Entreprise données Intégration rubriques n'entrent pas le cadre de cet article. Je suppose que vous connaissez des services Web et leur utilisation dans les applications métier. Pour une présentation générale concernant les services Web intégrés de WSS 3.0 et MOSS 2007, je recommande l'article « Web Services Access » dans le Kit de développement SharePoint Server 2007 comme point de départ (voir MSDN.Microsoft.com/library/bb862916.aspx) .

SharePoint Services et le modèle d'objet

Une question classique dans le développement de solutions SharePoint est s'il faut utiliser services Web ou le modèle d'objet. Le modèle d'objet est plus facile à utiliser, expose des interfaces plus et a moindres que services Web, mais le modèle d'objet est uniquement disponible sur le serveur SharePoint en raison de dépendances COM. Les services Web sont plus accessibles et sont donc le bon choix pour le client applications et composants côté serveur, telles que le données WebPart, qui doivent réunir des données provenant de sources à distance. Comme données envoyées de systèmes locales, en principe dans les environnements à distance, hébergés, les solutions SharePoint doivent utiliser plus en plus une architecture orientée service (SOA) pour pouvoir traiter environnements SharePoint distribués, illustrée par le schéma figure 1 .

fig01.gif

Figure 1 services Web dans un environnement SharePoint distribué (cliquez sur l'image pour l'agrandir)

En éliminant l'association étroite entre les sous-systèmes frontaux et principaux, services Web offrent flexibilité complète. Comme figure 1 indique, avant-fin peut communiquer avec toute plate-forme sous-jacente tant que le service Web intermédiaire expose l'interface attendue. J'AI illustré cela dans mon (colonne septembre 2008 technet.microsoft.com/Magazine/cc742803) en remplaçant le WSS 3.0 messagerie Intégration Web Service intégré (Sharepoint­EmailWS.asmx) par une version personnalisée qui expose la même interface.

Bien entendu, le même principe s'applique également aux applications clientes, comme les applications Office qui utilisent SharePoint services. Stephen Toub démontré cela très intuitivement dans son article MSDN « fournisseurs calendrier personnalisé pour Outlook 2003 » en créant un service Web personnalisé qui reflète l'interface du service listes SharePoint Lists.asmx pour renvoyer données personnalisées au lieu des éléments de liste SharePoint à Outlook (voir MSDN.Microsoft.com/aa168130). Il a montré comment un calendrier Outlook pouvez afficher ces données diverses en tant qu'entrées du journal des événements, éléments d'un flux RSS, validations d'un groupe de discussion, les conversations de Windows Live Messenger et système points sur un ordinateur de restauration et ultérieurement développé la solution pour prendre en charge des listes de contacts.

Mis à en 2006, Patrick Creehan jour l'implémentation pour qu'il fonctionne maintenant dans Outlook 2007. (Voir entrée de blog de Patrick « fournisseurs de calen­dar personnalisé pour Outlook 2007 » disponible sur blogs.msdn.com/pcreehan/archive/2006/11/21/Custom-Calendar-Providers-for-Outlook-2007.aspx.)

Outlook 2007 et le protocole StsSync

Maintenant que vous savez que les fournisseurs de liste personnalisés peuvent tirer parti de l'intégration Outlook avec SharePoint, nous allons examiner un plus près l'interaction Outlook/SharePoint. Pour accéder au contenu d'une bibliothèque SharePoint de liste ou un document, Outlook communique avec SharePoint via le service Web liste et affiche les listes et leur éléments côte-avec les dossiers Outlook standard. Vous pouvez également créer ou mettre à jour existantes éléments directement dans Outlook, dans lequel Outlook cas utilise le service de listes pour mettre à jour les référentiels de SharePoint. L'interaction et l'architecture de solution sont relativement simple, comme illustré à la figure 2 .

fig02.gif

La figure 2 architecture Outlook StsSync (cliquez sur l'image pour l'agrandir)

Afin de lier aux listes de votre choix, Outlook prend en charge un format de URL spécial basé sur l'identificateur de protocole StsSync qui est enregistré dans Outlook comme le gestionnaire de protocole. Vous trouverez l'enregistrement correspondant sur votre station de travail dans la clé de Registre suivante : HKEY_CLASSES_ROOT\StsSync\Shell\Open\Command. Outlook reçoit l'URL StsSync en tant que paramètre de ligne de commande, il divise les en ses parties individuelles et puis utilise les paramètres pour lier à la liste SharePoint spécifiée.

Heureusement vous ne devez pas spécifier de nouveau ces URL directement si vous liez Outlook à la liste souhaitée à partir de l'interface utilisateur SharePoint. Ouvrez simplement la liste SharePoint dans Internet Explorer et dans Actions menu la liste, cliquez sur Connexion à Outlook. Cette commande appelle une fonction JavaScript nommée ExportHailStorm (situé sur le serveur en \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Init.js Server), qui construit l'URL StsSync basés sur les paramètres de liste, puis transfère l'URL obtenue vers Internet Explorer, qui à son tour transmet cette URL au gestionnaire de protocole enregistré, qui est Outlook. Pour un exemple de l'utilisation des listes SharePoint dans Outlook, consultez la feuille de calcul Compagnon « Working with Outlook dans WSS ».

Un des paramètres StsSync plus importants est base-url qui pointe vers le site SharePoint, tels que SharePoint/ressources humaines/Administration. Outlook ajoute auto­matically une référence au service Web de listes à cette URL (par exemple, sharepoint/HR/Administration/_vti_bin/Lists.asmx). La route est claire pour communiquer avec SharePoint. Les parties individuelles de l'URL StsSync sont expliqués dans la spécification de structure StsSync à MSDN.Microsoft.com/cc313101.

Excel 2007 et Excel Web Access

Dans la figure 2 , vous avez peut-être remarqué l'exportation vers option feuille de calcul sous connexion à Outlook dans le menu Actions de SharePoint, qui exporte le contenu de liste dans une feuille de calcul Excel. Excel 2007 n'utilise pas le protocole StsSync. Au lieu de cela, exporter vers une feuille de calcul appelle une fonction nommée ExportList (situé sur le serveur SharePoint, à \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js Server), qui lance une intéressante séquence des étapes pour exporter les éléments de liste. Cette fonctionnalité n'utilise pas les services Web.

Le ExportList appeler résultats dans une requête HTTP dirigée vers une extension ISAPI owssvr.dll pour générer et renvoyer un fichier de requête (.iqy) Web. Ce fichier .iqy contient une instruction de requête Web qui fait référence owssvr.dll pour récupérer les données réelles de la liste SharePoint sous la forme d'un document XML. Vous pouvez envisager owssvr.dll une version prehistoric d'un service Web, mais son interface ne répond pas aux normes du secteur d'activité pour les services Web, afin qu'il soit valide pour dire qu'Excel n'est pas utiliser les services Web de la zone.

Une solution Excel qui utilise les services Web est Excel Web Access, qui est inclus dans MOSS 2007 et est illustrée par la figure 3 . En fait, Excel Web Access utilise Excel Services ExcelService.asmx, qui à son tour repose sur Excel calcul Services (ECS), un moteur de calcul qui fournit les mêmes fonctions de calcul que l'application de bureau Excel 2007. Excel Web Access est conçu pour fonctionner comme une vue de données et l'outil d'analyse paramétrée. En affectant certaines cellules en tant que paramètres, activer uniquement des parties spécifiques de la feuille de calcul pour être visible en ligne et en définissant autorisations d'accès SharePoint dans le classeur lui-même, les administrateurs peuvent obtenir un degré très précis de contrôler ce que les utilisateurs peuvent accéder dans un classeur Excel. Pour des raisons de sécurité, Excel Web Access et Excel Services ne prennent pas en charge certaines fonctionnalités d'Excel 2007, telles qu'en ligne de code Visual Basic, contrôles de formulaire et des références externes. Toutefois, les développeurs de solutions peuvent créer code managé qui sont accessibles à partir de dans un classeur sur SharePoint. Pour plus d'informations sur Excel Services, y compris les étape par étape guides, reportez-vous au document white­ « Excel Services pas-à-pas guides » à technet.microsoft.com/cc263430.

fig03.gif

La figure 3 architecture Excel et Excel Web Access (cliquez sur l'image pour l'agrandir)

Access 2007 et le contrôle de feuille de données de Web Access

Comme pour l'exportation d'une liste SharePoint vers une feuille de calcul, vous pouvez exporter une liste à une base de données en utilisant l'ouvrir avec option d'accès dans le menu Actions. Ouvrir avec Access dépend également l'extension ISAPI de owssvr.dll pour obtenir des données à partir de SharePoint. Si vous cliquez sur Ouvrir avec Access, vous appelez la fonction JavaScript ExportToDatabase (situé sur le serveur SharePoint en %\PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js), qui instancie un contrôle ActiveX SharePoint.ExportDatabase. Ce contrôle communique avec owssvr.dll et crée la base de données Access avec les tables, vues, rapports et autres objets liés à la SharePoint liste objets ou copié dans la base de données à partir de SharePoint conformément à vos choix d'exportation. Voir listes de la feuille de calcul Compagnon "Utilisation avec Access dans WSS » pour commencer avec SharePoint dans Access 2007.

Tandis que le contrôle ActiveX SharePoint.ExportDatabase communique avec owssvr.dll et n'utilise pas les services Web, Access 2007 utilise en fait services SharePoint via une DLL appelée Stslist.dll, comme illustré dans la figure 4 . Par exemple, vous pouvez afficher le ruban de données externes dans Access 2007, cliquez sur liste SharePoint et puis lier à la liste souhaitée comme source de données d'une table attachée. Dans ce scénario, Access appelle le service de liste Web (Lists.asmx) sur le serveur. Vous pouvez ensuite utiliser instructions SQL pour rechercher ou mettre à jour les données dans Access. Access appelle également Lists.asmx lorsque vous modifiez un enregistrement dans une table attachée pour vous assurer que les données de SharePoint restent en cours.

fig04.gif

La figure 4 architecture Access et Access Web Datasheet (cliquez sur l'image pour l'agrandir)

Vous pouvez également exporter des tables Access individuelles comme des listes SharePoint et même déplacer une base de données Access entière à un site SharePoint, qui crée une liste SharePoint pour chaque table et transfère toutes les données dans SharePoint dans opération en bloc une. Bien que SharePoint ne peut pas appliquer l'intégrité référentielle dans ses listes (les utilisateurs d'atteindre des bases de données avec des écritures référentielles SharePoint reçoivent un message d'avertissement de qui fait), il autorise les références entre les listes comme s'il s'agissait tables. Lorsque vous exportez des tables à partir d'Access, Access communique avec du Web (Webs.asmx) et de services de vues (Views.asmx) Web avec Lists.asmx pour créer une liste de chaque table ainsi que d'une colonne de site pour chaque colonne de tableau et affichages liste basés sur ces colonnes de site.

Après une Exportation réussie, vous souhaiterez peut-être afficher une liste SharePoint dans un affichage en mode Feuille de données. Cliquez simplement sur le modifier dans l'option de feuille de données dans Actions menu la liste. Modifier dans la feuille de données redirige le navigateur vers une page Web qui référence au contrôle Access Web Datasheet via le CLSID suivant : 65BCBEE4-7728-41A0-97BE-14E1CAE36AAE. Internet Explorer charge ensuite ce contrôle ActiveX sur la station de travail locale dans la page Web. Si vous recherchez dans le Registre sur un poste de travail exécutant le système Office 2007, vous trouverez l'entrée de l'enregistrement correspondante pour le contrôle ActiveX (ListNet.ListNet ProgID) dans la ruche HKEY_CLASSES_ROOT. Extraire la clé de Registre InprocServer32 et vous constatez que le contrôle Access Web Datasheet est implémenté dans Stslist.dll. Le contrôle Access Web Datasheet utilise les mêmes services Web comme Access 2007.

Ressources supplémentaires

Les produits et technologies Web site SharePoint

Microsoft.com/SharePoint

Windows SharePoint Services TechCenter

technet.microsoft.com/WindowsServer/SharePoint

Centre de développement Windows SharePoint Services

MSDN.Microsoft.com/SharePoint

Produits et Microsoft SharePoint technologies blog de l'équipe

blogs.msdn.com/SharePoint

Word 2007 et l'API MetaWeblog

Word 2007 utilise un service Web unique implémenté dans un fichier appelé Metaweblog.aspx pour tirer parti de l'API MetaWeblog sur les serveurs SharePoint. Cette API expose des méthodes uniquement trois (newPost, editPost et getPost), mais il communique toujours sur HTTP à l'aide de structures XML. WSS 3.0 prend en charge les blogs l'emploi avec un modèle de site de blog et l'interface de gestion Web. En fonction de l'API MetaWebl­og, vous pouvez utiliser Word 2007 comme un programme de blog, qui offre une alternative viable à l'interface du navigateur.

Notez que le service MetaWeblog n'utilise pas une extension de fichier .asmx comme les autres services Web SharePoint. L'API MetaWeblog a été développé il y a plus de cinq ans par Dave Winer et outils blog populaire pensez accéder à cette API via une page .aspx (vous pouvez lire la spécification de xmlrpc.com/metaWeblog­Api). En utilisant .aspx au lieu de la convention d'appellation .asmx habituels, SharePoint reste compatible avec ces outils de création de blogs.

PowerPoint 2007 et MOSS 2007

Dans un environnement WSS 3.0, PowerPoint 2007 n'utilise pas les services Web, mais il communique avec SharePoint principalement via RPC FrontPage/WSS et WebDAV lors de l'accès aux fichiers de présentation dans une bibliothèque de documents. Encore si vous avez MOSS 2007, PowerPoint peut être parti des bibliothèques de diapositives SharePoint et le service Web de bibliothèque de diapositives (SlideLibrary.asmx).

Bibliothèques de diapositives sont un type spécial de la bibliothèque de documents. Vous pouvez les utiliser conjointement avec la fonctionnalité de publier les diapositives de PowerPoint, pouvez diviser un jeu de présentation dans son des diapositives individuelles et enregistrer ces fichiers distincts dans un dossier ou bibliothèque. Lorsque vous publiez des diapositives dans une bibliothèque de diapositives, Power­Point communique avec Webs.asmx et Slidelibrary.asmx pour vérifier les URL et vérifier les conflits de diapositive. Si une diapositive avec le même nom existe déjà dans la bibliothèque de diapositives, PowerPoint vous invite à remplacer la diapositive existante ou ignorer celle en cours.

Une fois que les diapositives sont téléchargés vers une bibliothèque de diapositives, ils peuvent être réutilisés dans d'autres decks présentation pendant que les diapositives d'origine restent dans la bibliothèque de diapositives sur le serveur SharePoint. SharePoint ajoute un horodatage à chaque diapositive et PowerPoint peut vérifie ce cachet de date ainsi que d'autres métadonnées, telles que le nom de la présentation PowerPoint dont est la diapositive issue, afin de détecter mises à jour via le service Web de bibliothèque de diapositives. S'il existent des mises à jour, vous pouvez choisir remplacer la diapositive locale de la présentation en cours ou ajouter la diapositive modifiée à votre présentation. Pour une présentation, consultez l'article « utiliser diapositives bibliothèques à partager et réutiliser PowerPoint 2007 diapositives contenu » à Office.Microsoft.com/en-us/PowerPoint/HA012261671033.aspx. Voir également la feuille de calcul Compagnon intitulée « Utilisation avec des bibliothèques de diapositives.

Il peut arriver que vous pouvez remarquer un message d'erreur dans PowerPoint 2007 lorsque vous publiez des diapositives, indiquant que « n de diapositives n qui ont été publiées pour <library> Échec. Essayez republier. » Cela peut être le résultat de mis­sing autorisations d'accès ou problèmes de communication WebDAV. En guise de solution de contournement, vous pouvez publier les diapositives dans un dossier sur le système de fichiers local et puis copiez les fichiers manuellement dans la bibliothèque de diapositives Utilisation Windows Explorer et le chemin d'accès UNC pour la bibliothèque de diapositives, such as \\sharepoint\SlideLib instead of sharepoint/SlideLib. L'Explorateur Windows utilise le même redirecteur WebDAV que PowerPoint 2007, mais il n'est pas contacter SlideLibrary.asmx pour détecter les conflits de diapositive. Au lieu de cela, il utilise WebDAV pour détecter si un fichier existe déjà. figure 5 illustre l'architecture de bibliothèque de diapositives pour PowerPoint 2007.

fig05.gif

La figure 5 architecture PowerPoint et SlideLibrary (cliquez sur l'image pour l'agrandir)

InfoPath 2007 et InfoPath Forms Services

Cette colonne ne pas être terminée sans mentionner d'InfoPath 2007 et InfoPath Forms Services. En fait, InfoPath 2007 est le plus gros consommateur des services Web entre les applications Office abordées dans cette colonne. Bien entendu, vous pouvez utiliser complète des services Web comme sources de données dans les formulaires InfoPath, mais même si vous laissez côté développement de formulaires et que vous concentrer sur la publication de modèles de formulaire simple qui n'utilisent pas de sources de données externes, InfoPath 2007 communique avec SharePoint via des services Web FrontPage/WSS RPC et WebDAV, comme illustré dans la figure 6 . Pour voir un exemple montre comment publier des modèles de formulaire dans une bibliothèque de formulaires SharePoint, voir la feuille de calcul « Utilisation avec InfoPath Forms Services », disponible dans le téléchargement de code.

fig06.gif

La figure 6 architecture InfoPath et Forms Services (cliquez sur l'image pour l'agrandir)

Importants services Web qui s'appuie InfoPath 2007 sur sont Webs.asmx et Lists.asmx. Entre autres choses, InfoPath extrait les informations sur la définition de colonnes de site et un contenu types à partir du service Web et utilise ces informations pour remplir la liste de colonnes de site zones dans la sélection une boîte de dialogue champ ou groupe façon vous pouvez associer des colonnes de formulaires avec colonnes de site SharePoint existantes lorsque vous publiez un modèle de formulaire. InfoPath crée les nouvelles colonnes sans une association dans le site SharePoint en utilisant le service de listes. InfoPath également interagit avec le service de listes pour créer la bibliothèque de formulaires et une définition de type de contenu pour le modèle de formulaire. Pour le téléchargement de modèle réel, InfoPath utilise RPC FrontPage/WSS et WebDAV, simplement placer le modèle avec le template.xsn de nom de fichier dans formulaires sous-dossier la nouvelle bibliothèque.

Pour les modèles de formulaires compatibles avec le navigateur, l'Assistant Publication d'InfoPath peut offrent permettant d'activer un formulaire pour être rempli dans un navigateur, selon que vous disposez de MOSS 2007 ou Microsoft Office Forms Server 2007 sur le serveur SharePoint. InfoPath détecte si Forms Services est installé et activé pour le site SharePoint en cours dans la page Web FormServerDetector.aspx (tels que sharepoint/_layouts/FormServerDetector.aspx?IsFormServerEn­abled=check), qui renvoie < serveur IsFormServerEnabled = 'true' / > lorsque Forms Services sont présentes et activées. Si vous activez ensuite votre formulaire pour être rempli à l'aide d'un navigateur, InfoPath 2007 appelle le service Web des services de formulaires (FormsServices.asmx) pendant la publication au navigateur-activer le modèle de formulaire en conséquence. Pour plus d'informations sur les formulaires InfoPath compatible avec les navigateurs, consultez la Microsoft Office Forms Server général référence 2007 disponible sur MSDN.Microsoft.com/aa701145.

Conclusion

Les services Web sont une partie importante de la plate-forme SharePoint. Ils permettent des solutions d'entreprise peuvent accéder aux ressources locales et distantes, intégrer des applications métier distribuées entre eux et fournir des fonctionnalités précieuses pour les applications Office. Les services Web les plus importants pour les applications Office sont Webs.asmx et Lists.asmx, inclus dans WSS 3.0, pour manipuler les sites, listes et bibliothèques SharePoint. Un autre service Web utilisé parfois est Views.asmx, qui fournit des méthodes pour l'utilisation des affichages de liste. La plupart des applications Office ne nécessitent pas un déploiement MOSS 2007, bien que certaines applications, telles que PowerPoint 2007 et InfoPath 2007, peuvent tirer parti des fonctionnalités avancées, telles que les bibliothèques de diapositives et Forms Services qui sont uniquement disponibles avec MOSS 2007 ou en tant que produits distinctes.

À l'ère de Software-plus-services, services Web jouent un rôle important car ils détacher hébergés environnements back-end d'applications frontale part principe. SharePoint est une technologie de clé lecteurs avant de collaboration en ligne ; applications Office et de compléments Office continuent à s'exécuter sur les stations de travail locales et services Web en combinaison avec d'autres technologies Web fournissent un accès transparente aux fonctions et données sur les pare-feu d'entreprise dans les environnements distribués. Il est sans correspondance qu'ordinateur hôte de serveurs SharePoint 20 40, 60 ou davantage de services Web. Services Web sont le bon choix pour les solutions métier souligner facilité d'utilisation, la simplicité d'accès et de flexibilité lorsque le modèle d'objet est le bon choix pour créer ces services Web.

Pav Cherny est un expert informatique et l'auteur spécialisé dans les technologies Microsoft de collaboration et de communication unifiée. Son compositions incluent les blancs, produit manuels et livres avec une spécialisation sur les opérations INFORMATIQUES et d'administration système. Pav est président de Biblioso Corporation, une entreprise spécialisée dans les services de documentation et de localisation gérés.