Dentro de SharePoint Extender las aplicaciones de Office con servicios Web

Pav Cherny

Contenido

Servicios Web de SharePoint y el modelo de objetos
Outlook 2007 y el protocolo StsSync
Excel 2007 y Excel Web Access
Access 2007 y el control de hoja de datos de Web de acceso
Word 2007 y la API MetaWeblog
PowerPoint 2007 y MOSS 2007
InfoPath 2007 e InfoPath Forms Services
Conclusión

Los servicios Web estándar 21 en los servicios Web de Microsoft Windows SharePoint Services (WSS) 3.0 y 19 estándar en Microsoft Office SharePoint Server (MOSS) 2007 permiten crear soluciones realmente flexibles para recuperar datos de los recursos locales y remotos, ampliar las funciones de conjunto estándar de Microsoft Office y la integración de aplicaciones empresariales. Por supuesto, puede tener incluso más de 40 servicios Web. Si instala soluciones de servidor adicional que se integran con SharePoint, como Microsoft Office Project Server 2007, es posible que el recuento en el servidor de SharePoint fácilmente supera 60 o varios servicios Web. Y que incluso no cuentan los servicios Web de SharePoint personalizados que desea implementar de. Los servicios Web son pilares fundamentales de aplicaciones empresariales distribuidas y de la era del software de más de servicios, servicios Web son aún más importantes porque proporcionan los medios para las organizaciones integrar en la premisa soluciones con entornos alojados.

En esta columna, describa las ventajas de los servicios Web en un entorno de SharePoint, específicamente su uso en y alrededor de las aplicaciones de Office estándar. Aunque las aplicaciones de Office suelen depender de Microsoft Office FrontPage y llamadas WSS procedimiento A remoto (RPC) y Web Distributed Authoring y control de versiones (WebDAV) para tener acceso de basadas en archivos a las listas y bibliotecas de SharePoint, también utilizan servicios Web. Los servicios Web básicos incluidos en WSS 3.0 son suficientes para la mayoría de aplicaciones de Office, como Microsoft Word 2007, Outlook 2007, y Access 2007, mientras que otros, como PowerPoint 2007 y InfoPath 2007, puede utilizar otros servicios de Web que están disponibles sólo con MOSS 2007 o con productos independientes. Menciono dependencias de producto donde sea necesario. Si desea seguir mi explicación en un entorno de prueba, encontrará hojas de cálculo con instrucciones paso a paso en el material complementario de esta columna, disponible en la sección de descarga de código en technet.microsoft.com/Magazine/bb978519.

Discusiones de desarrollador exhaustiva y temas de integración de datos empresariales quedan fuera del ámbito de este artículo. Asumo que está familiarizado con servicios Web y su uso en aplicaciones empresariales. Una descripción general sobre los servicios Web integrados de WSS 3.0 y MOSS 2007, recomiendo el artículo "acceso de servicios Web" en el SDK de SharePoint Server 2007 como punto de partida (consulte la msdn.microsoft.com/library/bb862916.aspx) .

Servicios Web de SharePoint y el modelo de objetos

Una cuestión clásico en el desarrollo de soluciones SharePoint es si desea utilizar servicios Web o el modelo de objetos. El modelo de objetos es más fácil de usar, expone más interfaces y tiene menos sobrecarga de servicios Web, pero el modelo de objetos sólo está disponible en el servidor debido a las dependencias de COM de SharePoint. Los servicios Web son más accesibles y, por tanto, la elección correcta para cliente aplicaciones y componentes de servidor, tales como partes de Web de datos de Business, que es necesario agregar datos desde orígenes remotos. Cuando se coloca datos desde sistemas locales y en la premisa en entornos remotos, alojados, soluciones SharePoint cada vez más deben apoyar una arquitectura orientada a servicios (SOA) para poder tratar con entornos distribuidos de SharePoint, como ilustrado el diagrama de Figura 1 .

fig01.gif

La figura 1 servicios Web en un entorno distribuido de SharePoint (haga clic en la imagen de una vista más grande)

Eliminando el estrecho acoplamiento entre los subsistemas de front-end y back-end, servicios Web ofrecen una amplia flexibilidad. Tal como sugiere Figura 1 , extremos de cliente puede interfaz con cualquier plataforma subyacente siempre que el servicio Web intermediario expone la interfaz esperada. Demostrado en mi (de columna de septiembre de 2008 technet.microsoft.com/Magazine/cc742803) reemplazando el integrado WSS 3.0 correo electrónico integración de servicio Web (Sharepoint­EmailWS.asmx) con una versión personalizada que expone la misma interfaz.

Por supuesto, el mismo principio también se aplica a aplicaciones de cliente, como las aplicaciones de Office que consumen servicios Web de SharePoint. Stephen Toub demuestra Esto muy forma intuitiva en su artículo de MSDN "proveedores de calendario personalizada de Outlook 2003" creación de un servicio Web personalizado que refleja la interfaz de servicio listas de SharePoint (Lists.asmx) para devolver datos personalizados en lugar de los elementos de lista de SharePoint con Outlook (consulte la msdn.microsoft.com/aa168130). Mostramos cómo un calendario de Outlook puede presentar dichos datos diversos como entradas del registro de eventos, los elementos de una fuente, de RSS las anotaciones de un grupo de noticias, conversaciones en Windows Live Messenger, y sistema de puntos en un equipo de restauración y más adelante se expande la solución admite las listas de contactos.

En 2006, Patrick Creehan actualizó la implementación de forma que ahora funciona con Outlook 2007. (Consulte entrada de blog de Patrick "personalizados calen­dar proveedores para Outlook 2007" disponible en blogs.msdn.com/pcreehan/archive/2006/11/21/Custom-Calendar-providers-for-Outlook-2007.aspx.)

Outlook 2007 y el protocolo StsSync

Ahora que sabe que los proveedores de lista personalizado pueden aprovechar la integración de Outlook con SharePoint, echemos un vistazo más cerca de la interacción de Outlook y SharePoint. Para tener acceso el contenido de una biblioteca de listas o documentos de SharePoint, Outlook se comunica con SharePoint mediante el servicio Web de listas y muestra las listas y su elementos de forma simultánea con las carpetas de Outlook estándar. También puede crear nuevos o actualizar artículos existentes directamente en Outlook, en el que caso Outlook utiliza el servicio de listas para actualizar los repositorios de SharePoint. La interacción y la arquitectura de la solución son relativamente sencillo, como se ilustra en la figura 2 .

fig02.gif

Figura 2 arquitectura de Outlook StsSync (haga clic en la imagen de una vista más grande)

Para vincular a las listas deseadas, Outlook admite un formato de dirección URL especial basado en el identificador de protocolo StsSync que está registrado con Outlook como el controlador de protocolo. Puede encontrar el registro correspondiente en la estación de trabajo en la siguiente clave del registro: HKEY_CLASSES_ROOT\StsSync\Shell\Open\Command. Outlook recibe la dirección URL de StsSync como parámetro de línea de comandos, lo divide en sus partes individuales y, a continuación, utiliza los parámetros para vincular a la lista de SharePoint especificada.

Afortunadamente no es necesario especificar estas direcciones URL directamente si vincula Outlook a la lista deseada desde dentro de la interfaz de usuario de SharePoint. Sólo abrir la lista de SharePoint en Internet Explorer y, a continuación, en menú de acciones de la lista, haga clic en Conectar con Outlook. Este comando llama a una función de JavaScript denominada ExportHailStorm (ubicada en el servidor en \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Init.js Server), que crea la dirección URL de StsSync basándose en los parámetros de la lista y, a continuación, pasa la URL resultante a Internet Explorer, que pasa a su vez esta dirección URL al controlador de protocolo registrado, que es de Outlook. Para un ejemplo de cómo trabajar con listas de SharePoint en Outlook, vea la hoja de cálculo complementario "trabajar con Outlook en WSS".

Uno de los parámetros de StsSync más importantes es dirección url base, que señala al sitio de SharePoint, como sharepoint y recursos humanos y administración. Outlook auto­matically agrega una referencia a servicio Web de listas a esta dirección URL (por ejemplo, sharepoint/HR/Administration/_vti_bin/Lists.asmx). Entonces el camino es claro para comunicarse con SharePoint. Las partes individuales de la dirección URL StsSync se explican en la especificación de estructura StsSync en msdn.microsoft.com/cc313101.

Excel 2007 y Excel Web Access

En la figura 2 , es posible que haya observado el Exportar a hoja de cálculo opción debajo de conectar con Outlook en el menú Acciones de SharePoint, que exporta el contenido de una lista en una hoja de cálculo de Excel. Excel 2007 no utiliza el protocolo StsSync. En su lugar, Exportar a hoja de cálculo llama a una función denominada ExportList (ubicada en el servidor de SharePoint en \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js Server), de que inicia una secuencia interesante de los pasos para exportar los elementos de la lista. Esta característica no utiliza servicios Web.

El ExportList llamar a los resultados de una solicitud HTTP dirigida a una extensión ISAPI (owssvr.dll) para generar y devolver un archivo de consulta (.iqy) de Web. Este archivo .iqy contiene una instrucción de consulta Web que hace referencia a owssvr.dll para recuperar los datos reales desde la lista de SharePoint en el formulario de un documento XML. Puede considerar owssvr.dll una versión prehistoric de un servicio Web, pero su interfaz no cumple los estándares del sector para los servicios Web, por lo que es válido a decir que Excel no utiliza servicios Web de fábrica.

Una solución de Excel que utilizan servicios Web es Excel Web Access, que se incluye en MOSS 2007 y se muestra en la figura 3 . De hecho, Excel Web Access utiliza servicios de Excel (ExcelService.asmx), que a su vez se basa en Excel Calculation Services (ECS), un motor de cálculo que proporciona las mismas funciones de cálculo como la aplicación de escritorio de Excel 2007. Excel Web Access está diseñado para trabajar como una vista de datos y la herramienta de análisis con parámetros. Asignar celdas específicas como parámetros, habilitar específicos sólo partes de la hoja de cálculo que estén visibles en línea y estableciendo permisos de acceso de SharePoint en el libro de sí mismo, los administradores pueden tener un grado muy granular de control sobre lo que los usuarios pueden tener acceso de un libro de Excel. Por motivos de seguridad, Excel Web Access y Excel Services no admiten algunas de las características de Excel 2007, como en línea de código de Visual Basic, los controles de formulario y las referencias externas. Sin embargo, los programadores de soluciones pueden crear código administrado que se puede tener acceso desde dentro de un libro en SharePoint. Para obtener más información acerca de Excel Services, incluidas guías de procedimientos paso a paso, consulte las notas de white­ "guías paso a paso de Excel Services" en technet.microsoft.com/cc263430.

fig03.gif

Figura 3 arquitectura de Excel y Excel Web Access (haga clic en la imagen de una vista más grande)

Access 2007 y el control de hoja de datos de Web de acceso

Similar al exportar una lista de SharePoint a una hoja de cálculo, puede exportar una lista a una base de datos mediante el abrir con la opción de acceso en el menú Acciones. Abrir con Access también se basa en la extensión ISAPI owssvr.dll para obtener datos de SharePoint. Si hace clic en Abrir con Access, llame a la función de JavaScript ExportToDatabase (ubicada en el servidor de SharePoint en %\PROGRAMFILES%\Common comunes\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js), que crea una instancia de un control ActiveX SharePoint.ExportDatabase. Este control se comunica con owssvr.dll y crea la base de datos de Access con tablas, vistas, informes y otros objetos vinculados a la SharePoint lista de objetos o copian en la base de datos desde SharePoint según en las opciones de exportación. Ver listas de la hoja de cálculo complementario "trabajar con acceso de WSS" para empezar a trabajar con SharePoint en Access 2007.

Mientras que el control ActiveX SharePoint.ExportDatabase se comunica con owssvr.dll y no usa servicios Web, Access 2007 realmente utiliza servicios de Web de SharePoint a través de una DLL denominada Stslist.dll, como se muestra en la figura 4 . Por ejemplo, puede mostrar la cinta de opciones de datos externos en Access 2007, haga clic en la lista de SharePoint y, a continuación, vincular a la lista deseada como el origen de datos de una tabla vinculada. En este escenario, Access llama al servicio listas Web (Lists.asmx) en el servidor. A continuación, se pueden utilizar instrucciones SQL para buscar o actualizar los datos de Access. Acceso también llama a Lists.asmx cada vez que modificar un registro en una tabla vinculada para garantizar que los datos de SharePoint permanecen actuales.

fig04.gif

Figura 4 arquitectura de acceso y Access Web Datasheet (haga clic en la imagen de una vista más grande)

Puede exportar también tablas de Access individuales como listas de SharePoint y incluso mover toda una base de datos de Access a un sitio de SharePoint, que crea una lista de SharePoint para cada tabla y mueve todos los datos en SharePoint de operación masiva una. Aunque SharePoint no puede exigir la integridad referencial en sus listas (los usuarios mover bases de datos con entradas referenciales a SharePoint recibirá un mensaje de advertencia a tal efecto), permite referencias entre listas como si fueran tablas. Al exportar las tablas de Access, Access se comunica con los sitios Web (Webs.asmx) y el servicios Web de vistas (Views.asmx) en Además para Lists.asmx para crear una lista de cada tabla, así como una columna de sitio de cada columna de tabla y las vistas de lista basadas en estas columnas de sitio.

Después de una correcta exportación, es posible que desea ver una lista de SharePoint en una vista de hoja de datos. Simplemente haga clic en el Editar en hoja de datos de opción en el menú de la lista de acciones. Editar en hoja de datos redirige el explorador a una página Web que hace referencia el control de Access Web Datasheet mediante el siguiente CLSID: 65BCBEE4-7728-41A0-97BE-14E1CAE36AAE. Internet Explorer, a continuación, carga este control ActiveX en la estación de trabajo local en la página Web. Si busca en el registro en una estación de trabajo que ejecute el sistema Office 2007, encontrará la entrada de registro correspondiente para el control ActiveX (Id. de programa ListNet.ListNet) en la sección HKEY_CLASSES_ROOT. Desproteger la clave del registro InprocServer32 y podrá ver que el control de hoja de datos de Access Web se implementa en Stslist.dll. El control de hoja de datos de Access Web utiliza los mismos servicios Web como hace en Access 2007.

Recursos adicionales

SharePoint sitio de productos y tecnologías Web

Microsoft.com/SharePoint

Windows SharePoint Services TechCenter

technet.microsoft.com/windowsserver/SharePoint

Centro de desarrollo de Windows SharePoint Services

msdn.microsoft.com/SharePoint

Blog del equipo de tecnologías de Microsoft SharePoint Products and

blogs.msdn.com/SharePoint

Word 2007 y la API MetaWeblog

Word 2007 usa un único servicio de Web implementado en un archivo denominado Metaweblog.aspx para aprovechar las ventajas de la API MetaWeblog en servidores de SharePoint. Esta API expone sólo tres métodos (newPost, editPost y getPost), pero todavía se comunica a través de HTTP con las estructuras XML. WSS 3.0 admite la creación de blogs de fábrica con una plantilla de sitio de blog y la interfaz de administración de Web. En función de la API de MetaWebl­og, puede utilizar Word 2007 como un programa de blog, que proporciona una alternativa viable a la interfaz del explorador.

Observe que el servicio MetaWeblog no usa una extensión de archivo .asmx como otros servicios Web de SharePoint. La API MetaWeblog se ha desarrollado más de cinco años por Dave Winer y blog popular herramientas esperan tener acceso a esta API a través de una página .aspx (puede leer la especificación en xmlrpc.com/metaWeblog­api). Utilizando .aspx en lugar de la convención de nomenclatura .asmx habitual, SharePoint sigue siendo compatible con estas herramientas de creación de blogs.

PowerPoint 2007 y MOSS 2007

En un entorno WSS 3.0, PowerPoint 2007 no usa servicios Web, pero se comunica con SharePoint principalmente a través de FrontPage y WSS RPC y WebDAV al tener acceso a archivos de presentación en una biblioteca de documentos. Aún si dispone de MOSS 2007, PowerPoint puede consumir ventaja de bibliotecas de diapositivas de SharePoint y servicio Web de biblioteca de diapositivas (SlideLibrary.asmx).

Las bibliotecas de diapositivas son un tipo especial de biblioteca de documentos. Se pueden utilizar en combinación con la característica publicar diapositivas de PowerPoint, que se puede dividir un grupo de presentación a sus diapositivas individuales y guardar estos como archivos independientes en una carpeta o biblioteca. Al publicar diapositivas en una biblioteca de diapositivas, Power­Point se comunica con Webs.asmx y Slidelibrary.asmx para comprobar las direcciones URL y comprobar si hay conflictos de diapositiva. Si una diapositiva con el mismo nombre ya existe en la biblioteca de diapositivas, PowerPoint le pide que reemplazar la diapositiva existente o saltar actual.

Una vez que las diapositivas se cargan en una biblioteca de diapositivas, puedan volver a utilizarse en otros barajas de presentación mientras que las diapositivas originales permanecen en la biblioteca de diapositivas en el servidor de SharePoint. SharePoint agrega una marca de tiempo a cada diapositiva y PowerPoint puede proteger esta marca de hora, así como otros metadatos, tales como el nombre de la presentación de PowerPoint la diapositiva originó, para detectar actualizaciones mediante el servicio Web de biblioteca de diapositivas. Si existen actualizaciones, puede reemplazar la diapositiva local de la presentación actual o anexar la diapositiva modificada a la presentación. Para obtener una introducción, lea el artículo "usar diapositivas las bibliotecas para compartir y volver a utilizar PowerPoint 2007 diapositivas contenido de la en Office.Microsoft.com/en-us/PowerPoint/HA012261671033.aspx. Consulte también la hoja de cálculo de complementario denominada "trabajar con las bibliotecas de diapositivas".

En ocasiones, puede que observe un mensaje de error en PowerPoint 2007 al publicar las diapositivas, que indica que "no n de n diapositivas que se están publicando que <library> pudo. Intente publicar de nuevo. " Esto puede ser el resultado de mis­sing permisos de acceso o problemas de comunicación de WebDAV. Como solución, puede publicar las diapositivas en una carpeta en el sistema de archivos local y, a continuación, copie los archivos manualmente en la biblioteca de diapositivas utilizando Windows Explorer y la ruta de acceso UNC para la biblioteca de diapositivas, such as \\sharepoint\SlideLib instead of sharepoint/SlideLib. Explorador de Windows utiliza el mismo redirector WebDAV como PowerPoint 2007, pero no en contacto con SlideLibrary.asmx para detectar las colisiones de diapositiva. En su lugar utiliza WebDAV para detectar si ya existe un archivo. la figura 5 muestra la arquitectura de biblioteca de diapositivas de PowerPoint 2007.

fig05.gif

La figura 5 arquitectura de PowerPoint y SlideLibrary (haga clic en la imagen de una vista más grande)

InfoPath 2007 e InfoPath Forms Services

Esta columna no estar completa sin mencionar InfoPath 2007 e InfoPath Forms Services. De hecho, InfoPath 2007 es el consumidor mayor de los servicios Web entre las aplicaciones de Office descritas en esta columna. Por supuesto, puede realizar uso amplio de servicios Web como orígenes de datos en formularios de InfoPath, pero incluso si deja el desarrollo de formularios aparte y centrarse en publicar plantillas de formulario simple que no utilizan orígenes de datos externos, InfoPath 2007 comunica con SharePoint a través de servicios Web además de a FrontPage y WSS RPC y WebDAV, como se muestra en la figura 6 . Para obtener un ejemplo que muestra cómo publicar plantillas de formulario en una biblioteca de formularios de SharePoint, vea la hoja de cálculo "trabajar con InfoPath Forms Services," disponible en la descarga de código.

fig06.gif

Figura 6 arquitectura de InfoPath y servicios de formularios (haga clic en la imagen de una vista más grande)

Importantes servicios Web que depende InfoPath 2007 son Webs.asmx y Lists.asmx. Entre otras cosas, InfoPath recupera información acerca de la definición de columnas de sitio y contenido tipos desde el servicio de sitios Web y utiliza esta información para rellenar la lista de columnas de sitio cuadros en el seleccionar un cuadro de diálogo campo o grupo por lo que puede asociar las columnas de formularios con columnas de sitio de SharePoint existentes al publicar una plantilla de formulario. InfoPath crea las nuevas columnas sin una asociación en el sitio de SharePoint mediante el servicio de listas. InfoPath también interactúa con el servicio de listas para crear la biblioteca de formularios y una definición de tipo de contenido de la plantilla de formulario. Para la carga real de la plantilla, InfoPath utiliza FrontPage y WSS RPC y WebDAV, simplemente colocar la plantilla con el template.xsn de nombre de archivo en subcarpeta de formularios la biblioteca nueva.

Para plantillas de formulario compatible con, el explorador, el Asistente para la publicación de InfoPath puede ofrecer la opción Habilitar un formulario rellenarlo utilizando un explorador, dependiendo de si tiene MOSS 2007 u Office Forms Server 2007 en el servidor de SharePoint. InfoPath detecta si Forms Services está instalado y habilitado para el sitio de SharePoint actual mediante la página Web FormServerDetector.aspx (como sharepoint/_layouts/FormServerDetector.aspx?IsFormServerEn­abled=check), que devuelve < servidor IsFormServerEnabled = 'true' o > cuando servicios de formularios están presentes y habilitado. Si, a continuación, habilita el formulario para rellenarlo utilizando un explorador, InfoPath 2007 llama al servicio Web de servicios de Forms Server (FormsServices.asmx) durante el proceso de publicación para habilitar para explorador la plantilla de formulario en consecuencia. Para obtener más información sobre los formularios de InfoPath de habilitadas para explorador, vea la Microsoft Office Forms Server general referencia 2007 está disponible en msdn.microsoft.com/aa701145.

Conclusión

Los servicios Web son una parte importante de la plataforma SharePoint. Permiten soluciones empresariales que pueden tener acceso a recursos locales y remotos, integrar aplicaciones empresariales distribuidas unos con otros y proporcionar características valiosos para las aplicaciones de Office. Los servicios Web más importantes para las aplicaciones de Office son Webs.asmx y Lists.asmx, incluido en WSS 3.0, para trabajar con sitios, listas y bibliotecas de SharePoint. Otro servicio de Web utilizado en ocasiones se Views.asmx, que proporciona métodos para trabajar con vistas de lista. La mayoría de aplicaciones de Office no requieren una implementación MOSS 2007, aunque algunas aplicaciones, como PowerPoint 2007 y InfoPath 2007, pueden beneficiarse de características avanzadas, como las bibliotecas de diapositivas y servicios de formularios que sólo están disponibles con MOSS 2007 o como productos independientes.

De la era del software de más de servicios, servicios Web desempeñan una función importante ya que desacoplar entornos alojados de back-end de las aplicaciones cliente en la premisa. SharePoint es una tecnología de clave que dirige la colaboración en línea hacia delante; las aplicaciones de Office y los complementos de Office seguirán ejecutando en estaciones de trabajo locales y servicios Web en combinación con otras tecnologías Web proporcionan acceso uniforme a las características y datos a través de corporativas servidores de seguridad en entornos distribuidos. No es coincidencia de ese host de los servidores de SharePoint 20, 40, 60 o más servicios Web. Los servicios Web son la opción derecha para soluciones empresariales que haga hincapié en facilidad de uso, la sencillez de acceso y flexibilidad mientras que el modelo de objetos es la elección derecha para crear estos servicios Web.

Pav Cherny es un experto en TI y el autor especializado en tecnologías de Microsoft para la colaboración y comunicación unificada. Sus publicaciones incluyen notas del producto, manuales de producto y libros con un foco sobre las operaciones y administración del sistema. Pav es presidente de Biblioso Corporation, una empresa que está especializada en servicios administrados de documentación y localización.