Microsoft Office

Integración de bases de datos de Access con SharePoint

Peter Serzo

 

Resumen:

  • Ventajas de la integración de Access y SharePoint
  • Migración de datos de Access a SharePoint
  • Ampliación de la funcionalidad de Access con SharePoint

Cuando hablo con los usuarios finales acerca Microsoft Office SharePoint Server (MOSS) 2007, siempre les pido que me muestren las herramientas que usan y cómo lo hacen. Sin excepción, siempre hay alguien en la

organización que usa Microsoft® Office AccessTM para ocuparse de las necesidades empresariales esenciales. Access sigue siendo una herramienta viable y un activo importante para muchas empresas.

MOSS 2007 ofrece una manera de aprovechar las aplicaciones creadas con Access e integrarlas en SharePoint® para crear una nueva solución con un alcance mucho mayor. El objetivo principal de este artículo es mostrarle cómo y dónde se integra MOSS con Access y cómo un usuario final puede configurar ambos productos para crear una solución.

La tecnología subyacente que MOSS ofrece a Access incorpora el flujo de trabajo, un repositorio común (SQL Server®) y una interfaz basada en web (el explorador). Entre las características de SharePoint se incluyen la administración de documentos, los espacios de trabajo y la capacidad de establecer listas personalizadas y de usar flujos de trabajo integrados y elementos web originales que cubren todo, desde eventos publicitarios, pasando por la creación de listas de contactos o de una lista de problemas, hasta la administración de formularios creados por el usuario. Además, la facilidad de uso y las tecnologías conocidas de Office aumentarán la sensación de capacidad del usuario final. Como podrá ver, MOSS no supone una amenaza para las soluciones actuales. Por el contrario, MOSS permite ser eficaz más fácilmente, ya que no es necesario volver a escribir aplicaciones, lo que permite a los usuarios finales centrarse en resolver los problemas empresariales en lugar de los técnicos.

No sólo hay ventajas para el usuario final. Los departamentos de TI y los administradores intentan ayudar a los usuarios finales en el mantenimiento de todas las bases de datos personalizadas que surgen en torno a una empresa. Muchos de ellos ni siquiera saben que se usa Access para solucionar problemas empresariales esenciales hasta que aparecen ciertos problemas, como los límites de almacenamiento, el acceso multiusuario, la seguridad, la reparación de bases de datos dañadas, el uso de web, las versiones de Access incompatibles y la implementación de cambios a través de varios escritorios. SharePoint tiene una solución para cada uno de estos problemas.

Aunque Access tiene sus límites, es muy eficaz y útil, especialmente para quien no se gana la vida escribiendo código. En un mismo sitio, puede disponer de tablas relacionales, consultas sencillas (y complejas), un creador de formularios front-end mediante el método de arrastrar y colocar y la capacidad de configurar varios usuarios. La creación de soluciones basadas en Access y en SharePoint tiene sentido tanto para organizaciones que quieren reunir recursos y talento como para personas que desean aprovechar las aplicaciones y los conocimientos que han desarrollado a lo largo de los años.

Introducción

Access 2007 ofrece varios puntos para la integración con MOSS 2007. Como puede ver en la Figura 1, entre éstos se incluyen: la importación desde una lista de SharePoint, la publicación de datos en un sitio de SharePoint, la creación de una lista de SharePoint, el uso de datos de SharePoint como fuente externa, la migración de una base de datos de Access a un sitio de SharePoint nuevo o existente y el acceso sin conexión de datos de SharePoint.

Figura 1 Access 2007 ofrece puntos de entrada sencillos para la integración con SharePoint

Figura 1** Access 2007 ofrece puntos de entrada sencillos para la integración con SharePoint **(Hacer clic en la imagen para ampliarla)

Una buena forma de comenzar es la creación de una lista de SharePoint a partir de una tabla de Access. Una lista de SharePoint es muy similar a una tabla de Access. Se guarda en la base de datos de contenido de SQL Server, contiene algunos atributos de campo y admite operaciones de búsqueda.

Entre las limitaciones que hay que tener en cuenta a la hora de crear una lista de SharePoint cabe destacar: Microsoft recomienda un máximo de 2.000 elementos por vista para obtener un rendimiento óptimo; SharePoint no aplica la integridad referencial; los objetos OLE no se exportan a SharePoint; y la validación de datos es limitada.

Para crear una lista de SharePoint a partir de una tabla de Access, seleccione en primer lugar la ficha Datos externos y, a continuación, haga clic en el botón de la lista de SharePoint habilitada en el menú Exportar grupo. A continuación, debe especificar el sitio de SharePoint en el que estará activa la lista al rellenar el cuadro de diálogo de exportación a un sitio de SharePoint que aparece en la Figura 2, o al escoger la opción de exportar a una lista de SharePoint tras hacer clic con el botón secundario en la tabla. Tenga en cuenta que si se trataba de una tabla secundaria en la relación, también se exportarán todas las tablas primarias.

Figura 2 Se exportarán los datos de Access al sitio de SharePoint que especifique.

Figura 2** Se exportarán los datos de Access al sitio de SharePoint que especifique. **(Hacer clic en la imagen para ampliarla)

Al concluir el proceso de exportación, tiene la opción de guardar los pasos de la exportación para no tener que repetirlos. Llegado a este punto, puede ir al sitio de SharePoint y consultar la información que ha cargado. Esta sencilla operación es útil para trasladar datos a SharePoint y hacer que sean accesibles para los usuarios. Las ventajas de esto son una mayor seguridad, ya que los datos se guardan en una base de datos de SQL Server, y un acceso más sencillo, puesto que la información es accesible a través del explorador.

No obstante, hay otra operación (vinculación de listas en SharePoint como tablas en Access) que resulta ser una forma mucho más eficaz de integrar Access y SharePoint. Para hacerlo, haga clic en la ficha Datos externos de Access y escoja la lista de SharePoint en el menú Importar grupo. De esta forma, se abre el cuadro de diálogo que aparece en la Figura 3.

Figura 3 Vinculación de Access a SharePoint

Figura 3** Vinculación de Access a SharePoint **(Hacer clic en la imagen para ampliarla)

Elija el sitio que contiene la lista de SharePoint que usará como origen de datos vinculado y elija la lista que desea vincular. Al finalizar esta operación, la lista aparecerá como una tabla vinculada en Access y en la esquina inferior derecha de la aplicación verá un indicador "Con conexión y conectada a SharePoint". Ahora hay una sincronización bidireccional entre Access y SharePoint. Se pueden agregar, cambiar y eliminar operaciones tanto desde SharePoint como desde Access. Como podrá ver, se puede escribir código en la tabla para obtener funcionalidad adicional.

Si vincula a listas de SharePoint en Access, podrá ver que se ha importado y vinculado otra tabla de manera predeterminada: la lista de información de usuarios de Windows® SharePoint Services (WSS). También se crea una tabla de problemas llamada "Mover a problemas del sitio de SharePoint". En ella puede comprobar todos los conflictos que se produzcan con los datos.

Para obtener más información acerca de la migración de datos y de cómo se tratan estos tipos de datos durante la conversión, consulte "Convertir tipos de datos entre Access y SharePoint" (http://office.microsoft.com/es-es/access/HP010477133082.aspx) y la sección llamada Limitaciones de migración en "Mover una base de datos y vincular sus tablas a un sitio de SharePoint" (http://office.microsoft.com/es-es/access/HA101314683082.aspx).

Otra forma de integrar tablas y listas es hacerlo mediante SharePoint. Elija una lista y, en la ficha Acciones, haga clic en la opción "Abrir con Access". Un cuadro de diálogo emergente le preguntará el nombre de la base de datos (nueva o existente). Tras escribir el nombre de la base de datos, escoja entre simplemente vincular a los datos del sitio de SharePoint o exportar los datos completamente a Access (vea la Figura 4).

Figura 4 Hacer accesibles los datos de SharePoint a través de Access

Figura 4** Hacer accesibles los datos de SharePoint a través de Access **(Hacer clic en la imagen para ampliarla)

Mover una base de datos a SharePoint

Hasta ahora, hemos hablado de la importación de una lista de SharePoint como una tabla vinculada y la exportación de tablas a SharePoint como listas, pero, ¿qué ocurre si necesita tener acceso a la base de datos completa? Muchas organizaciones tienen aplicaciones esenciales que se ejecutan en Access y necesitan que dichas aplicaciones estén disponibles de manera remota, para que se puedan ejecutar informes y consultas, además de escribir datos. En tales situaciones, no siempre es viable (económicamente hablando o en función de las habilidades disponibles) volver a escribir la aplicación. SharePoint y Access han resuelto esto con la opción "Mover a SharePoint", que se encuentra en la ficha de listas de SharePoint de Access. Esto es similar a la opción de mover a SQL Server con el Asistente de conversión, que apareció por primera vez con Access 97.

Entre las ventajas de mover una base de datos de Access completa a SharePoint cabe destacar que todas las tablas se convierten en listas de SharePoint; se realiza una copia de seguridad de la base de datos de Access; las listas pasan a ser automáticamente tablas vinculadas en Access; puede mover la base de datos completa, no sólo las tablas; y la base de datos funciona exactamente igual que lo hacía antes de moverla.

Al hacer clic en el botón Mover a SharePoint, aparece el cuadro de diálogo de la Figura 5. Tras especificar el sitio, tiene que decidir si desea escoger la opción de guardar la base de datos. Si lo hace, se guardará la base de datos completa en la biblioteca de documentos que elija. De esta forma, se guarda la base de datos completa (incluidos los formularios, los informes, las consultas y las macros) en SharePoint y pasa a estar disponible en el servidor. Cuando un usuario desea tener acceso a la base de datos, sólo tiene que desplazarse a la biblioteca en la que se encuentre, hacer clic en ella y se implementará automáticamente en su escritorio.

Figura 5 Especifique el sitio de SharePoint al que desea mover su base de datos

Figura 5** Especifique el sitio de SharePoint al que desea mover su base de datos **(Hacer clic en la imagen para ampliarla)

Al intentar mover la base de datos completa, aparece la barra de mensajes Publicar cambios bajo la cinta de opciones. Esta le permite conservar los cambios locales en el diseño y en los datos sincronizados con la copia del servidor. Si no selecciona esta opción, sólo las tablas se convertirán en listas y se vincularán a Access. En este caso, la base de datos completa no está disponible para la comunidad de usuarios y no se realiza una copia de seguridad como objeto de SharePoint.

Una vez que haya escogido una de estas opciones, la base de datos y su información asociada estarán disponibles a través del sitio de SharePoint que decida. Una vez más, se crea automáticamente una tabla llamada "Mover a problemas del sitio de SharePoint". Aquí es donde se documentan los conflictos debidos a la migración. Puede revisar todos los problemas que Access encontró mientras cargaba la tabla en el sitio de SharePoint.

Vistas, formularios e informes

Una vez que haya movido la base de datos, es conveniente que pruebe su funcionalidad. Asegúrese de que el indicador "Con conexión y conectada a SharePoint" está visible antes de empezar. Tenga en cuenta que las consultas de Access pasan a ser vistas de SharePoint; una vista de SharePoint es muy parecida a una consulta de Access.

Al mover la base de datos completa, se copian las consultas existentes en SharePoint como vistas. Los usuarios de Access son conscientes de que la escritura de consultas les permite ver un subconjunto de datos. Aprender a hacer esto en una vista de SharePoint le ayuda a entender cómo se organiza la información en una lista de SharePoint.

Una de las vistas más útiles que puede crear es una vista de Access. Para poder hacerlo, desplácese a la lista en la que desee crear la vista, elija Vistas y, a continuación, Crear vista. Así podrá ver la opción Vista de Access que le permite crear formularios e informes basados en una lista. Si hace clic en esta opción y escoge Base de datos de Access,aparecerá un cuadro de diálogo como el que se muestra en la Figura 6. Como puede ver, debe definir el formato (tipo de formulario, gráfico dinámico, tabla dinámica o informe) y, cuando finalice el proceso, aparecerá un formulario o informe vinculado en la base de datos de Access.

Figura 6 Creación de una vista de Access

Figura 6** Creación de una vista de Access **(Hacer clic en la imagen para ampliarla)

Acceso sin conexión

En el mundo real, la ampliación del alcance de una aplicación esencial se traduce en rendimiento de la inversión. Una forma de ampliar el alcance de una aplicación de Access o de SharePoint integrada es darse cuenta de que no necesita estar conectado a SharePoint para poder usarla. Para facilitar dicha flexibilidad, Access 2007 ha introducido la capacidad de trabajar sin conexión. Se almacena la información en caché en la copia local de la base de datos hasta que se asocia al servidor. Para desconectar una base de datos, haga clic en el botón Trabajar sin conexión en el grupo Datos externos|Listas de SharePoint de la cinta de opciones.

Cuando esté listo para volver a conectar a SharePoint, puede escoger entre Trabajar con conexión o Sincronizar. Ambas opciones cargan los datos y presentan conflictos para revisión. No obstante, con Sincronizar, se cargan los datos pero la aplicación permanece sin conexión.

Otro elemento del grupo Listas de SharePoint del que hay que estar al tanto, es Descartar cambios, que tiene dos opciones. La primera descarta todos los cambios pero no actualiza los datos de SharePoint en Access. La segunda opción descarta todos los cambios y actualiza los datos de SharePoint (listas vinculadas).

Plantillas de Access

Access 2007 cuenta con varias plantillas prediseñadas para ayudar a los usuarios con la creación rápida de soluciones empresariales, como puede ver al hacer clic en el botón Listas de SharePoint de la ficha Crear del grupo Tablas (consulte la Figura 7). La elección de una de éstas define automáticamente el esquema de la tabla que está vinculada a SharePoint. Actualmente sólo se admiten contactos, tareas, problemas y eventos. Esto quiere decir que si exporta una tabla que contenga uno de estos tipos de información, los datos terminarán según corresponda al tipo de contenido de WSS (por ejemplo, problemas con problemas).

Figura 7 Elección del tipo de lista

Figura 7** Elección del tipo de lista **

También puede crear plantillas personalizadas que se pueden usar para las listas de SharePoint o crear plantillas de sitio de SharePoint con bases de datos de Access 2007 autovinculadas. Para hacerlo, necesita las extensiones para programadores de Access 2007 y configurar el identificador de plantilla de WSS de la tabla. Esta propiedad realiza un seguimiento de las tablas que cuentan con un equivalente de plantilla de lista de SharePoint.

Access y los metadatos

Existe la posibilidad de que las empresas con aplicaciones de Access afianzadas no siempre estén dispuestas a mover todas estas aplicaciones a SharePoint. En esos casos, a veces tiene sentido la escritura de código en Access para actualizar SharePoint. Mediante el código, puede pegar SharePoint y Access.

Un ejemplo sencillo es el caso de la base de datos de Northwind Trader, que almacena información acerca de los productos, de los distribuidores y de los pedidos de los clientes. Normalmente, cada producto cuenta con una hoja de producto asociada que proporciona el proveedor en forma de archivo .pdf. La base de datos de Access realiza un seguimiento de toda la información contenida en la hoja de producto, como la ubicación geográfica, el número de producto, el historial de revisiones y el código de departamento de la empresa. Es necesario que esta información esté disponible para los distribuidores y los proveedores a través de la extranet de SharePoint.

Se configura un sitio de SharePoint y se mueven todos los documentos a una biblioteca de documentos vinculada, pero lo campos de metadatos permanecen vacíos (consulte la Figura 8), ya que se realiza un seguimiento de los datos en Access (y para la persona que lo supervisa, esto es algo muy cómodo, por lo que no tiene interés en cambiarlo).

Figura 8 Documento de Northwind donde faltan metadatos visto en SharePoint

Figura 8** Documento de Northwind donde faltan metadatos visto en SharePoint **(Hacer clic en la imagen para ampliarla)

Afortunadamente, según se muestra en la Figura 9, puede agregar código de Visual Basic® para Aplicaciones (VBA) para actualizar los metadatos a través de la aplicación de Access. No es necesario volver a escribir la aplicación. El empleado puede seguir usando una herramienta que le resulta cómoda a la vez que diversifica sus actividades en la Web, los proveedores pueden tener acceso a la extranet en función de sus permisos (de manera que sólo verán lo que deben) y no existen problemas con la simultaneidad ni con el tamaño de las bases de datos.

Figura 9 Actualización de metadatos mediante el código

Figura 9** Actualización de metadatos mediante el código **(Hacer clic en la imagen para ampliarla)

Seguridad integrada

Una de las mayores ventajas de mover aplicaciones de Access a SharePoint es la posibilidad de aprovechar el modelo de seguridad de SharePoint, que dispone de la autenticación integrada de Active Directory®. Eso implica que no necesita preocuparse más acerca de cómo puede implementar la seguridad en las aplicaciones de Access mediante la creación de esquemas y tablas para después agregar usuarios. Mediante las listas de SharePoint, puede aprovechar las restricciones de seguridad, mediante las cuales los usuarios sólo ven lo que se les permite. Esto es algo innato en SharePoint. Además, no tiene que mover a SharePoint los componentes de la base de datos que no quiera.

SharePoint ofrece un modelo de seguridad granular basado en funciones. Al decidir cómo y dónde desea mover una base de datos, debería diseñar el sitio y la seguridad antes de la migración. De este modo, será más fácil establecer y probar los permisos. Asimismo, se producirán menos problemas de migración y la base de datos de Access funcionará de forma mucho más eficaz.

Integridad referencial

Sería una negligencia por mi parte no abordar el tema de la integridad referencial. El hecho es que SharePoint no aplica la integridad referencial como Access. Muchas instalaciones se normalizan en un nivel concreto. Es necesario tener esto en cuenta para que las bases de datos esenciales de Access funcionen. Por suerte, hay algunas soluciones que se pueden interpretar como mejoras del sistema existente.

En el pasado, observé que al mover una base de datos a SharePoint, si se mueven tablas secundarias, las tablas primarias también se mueven. Además, se usan campos de búsqueda en SharePoint cuando reconoce que la opción de un campo está basada en otra tabla. Por ejemplo, suponga que se escoge un cliente y se coloca un pedido en la base de datos de Northwind Traders. Si se moviesen estas tablas a SharePoint, el campo cliente sería una búsqueda en la lista Pedido.

También tenemos que hablar de la distribución en cascada de actualizaciones y eliminaciones, así como de otras operaciones más complicadas. Es en este punto donde se debe considerar a SharePoint y a sus flujos de trabajo como una posible solución. Volviendo a la base de datos de Northwind Traders, suponga que llama un cliente y cancela un pedido existente. Esto desencadenaría varias acciones: es necesario recomponer el inventario, hay que avisar a los distribuidores, el empleado a cargo del pedido debe ponerse en contacto con el cliente, hay que cancelar el pedido y es necesario actualizar la contabilidad. Todo ello implica mover muchos elementos y una gran coordinación.

Con SharePoint Designer, se puede crear un flujo de trabajo en SharePoint que lleva a cabo todas las actividades mencionadas anteriormente en el momento en que cambia el estado del pedido. Hay 22 flujos de trabajo originales que se pueden combinar y hacer coincidir para obtener cientos de acciones. SharePoint Designer es una magnifica herramienta que le permite personalizar su sitio y crear flujos de trabajo.

Lo mejor es que el uso de SharePoint Designer para crear flujos de trabajo implica habilidades conocidas por los usuarios que saben cómo "programar" Access. Esto quiere decir que la creación de aplicaciones de Access puede modificar y ampliar el alcance de sus capacidades en la creación de flujos de trabajo sin excesivos esfuerzos. No es necesaria la escritura de código al usar SharePoint Designer para los flujos de trabajo. La implementación de estos flujos de trabajos es muy sencilla.

Peter Serzo es ingeniero jefe de CDW Berbee. Está especializado en la arquitectura de soluciones de SharePoint Enterprise para empresas de todo el mundo.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.