IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN...

43
IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN DOCUMENTAL EN UN ENTORNO COLABORATIVO JESÚS JULIO RODRÍGUEZ. 1096512 UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA ESPECIALIZACIÓN DE PROCESOS PARA EL DESARROLLO DE SOFTWARE SANTIAGO DE CALI 2011

Transcript of IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN...

IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN DOCUMENTAL EN UN ENTORNO COLABORATIVO

JESÚS JULIO RODRÍGUEZ. 1096512

UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA

ESPECIALIZACIÓN DE PROCESOS PARA EL DESARROLLO DE SOFTWARE

SANTIAGO DE CALI 2011

IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN DOCUMENTAL EN UN ENTORNO COLABORATIVO

Presentado por: JESÚS JULIO RODRÍGUEZ

Trabajo de Grado presentado como requisito para optar el título de Especialista En Procesos Para El Desarrollo De Software

Director: Phd. LUIS MERCHÁN PAREDES

UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA

ESPECIALIZACIÓN DE PROCESOS PARA EL DESARROLLO DE SOFTWARE

SANTIAGO DE CALI 2011

TABLA DE CONTENIDO

1. INTRODUCCIÓN…………………………………………………………………………………………………………………1 1.1 PROPOSITO……………………………………………………………………………………………………………………….2 1.2 ALCANCE…………………………………………………………………………………………………………………………..2 1.3 PLANTEAMIENTO DEL PROBLEMA…………………………………………………………………………………….2

2. OBJETIVOS………………………………………………………………………………………………………………………..4 2.1 OBJETIVO GENERAL…………………..……………………………………………………………………………….……..4 2.2 OBJETIVOS ESPECIFICOS………………………………………………………..…………………………………….…….4 2.3 DESARROLLO METODOLOGICO…………………………………..………………………………………………….….4 3. ESTADO DEL ARTE…………………………………..………………………………………………………………………...5

3.1 SHAREPOINT…………………………………………………….……………………………………………………….……….5

3.2 ARQUITECTURA DE SHAREPOINT SERVICES…………………………………………………………….………….6

3.3 MODELO DE OBJETOS…………………………………………………………………………………………….………….6

3.4 SHAREPOINT DESIGNER …………………………………………………………………………………………………….9

3.5 MICROSOFT WINDOWS WORKFLOW FOUNDATION………………………………………………………....9

3.6 INFOPATH 2007 E INFOPATH FORMS SERVICES……………………………………………………………….10

3.7 TECNOLOGÍAS XML………………………………………………………………………………………………………….12

3.8 XML…………………………………………………………….…………………………………………………………………..13

3.9 XSLT…………………………………………………………………………………………………………………………………13

4. DESCRIPCIÓN DE LA SOLUCIÓN…………….………………….……..……………………………………………..15

4.1 DISTRIBUCIÓN MODULOS GACELA….……………………………………………………………………..……...17

4.2 INTERFAZ DE USUARIO…………………………………………………..……………………………………………….18

4.3 AUTENTICACIÓN…………………………….………..…………………………………………………………………....18

5. DISEÑO E IMPLEMENTACIÓN………………………………………….……………………………………………..19

5.1 ARQUITECTURA DE LA SOLUCIÓN………………………………..…………………………………..…………….19

5.2 ESTRATEGIA ARQUITECTONICA DEL DISEÑO……………………..………………………………..………….19

5.2.1 GESTIÓN DE CORRESPONDENCIA………………………………..……………………………………………….19

5.2.2 ARCHIVO CENTRAL…………………….………………………………..…..………………………………………….20

5.2.3 DETERMINACIÓN DE LOS NIVELES DE PERMISOS Y GRUPOS DE USO…………….…………….21

5.2.3.1 DETERMINACIÓN DE NIVELS DE PERMISOS ADICIONALES O GRUPOS….…………….…….21

5.2.3.1.1 DIAGRAMA DE CONTEXTO GRUPO DE USUARIOS PERSONALIZADOS…………………….21

5.2.4 WEBPARTS………………………………………………………………………………………………….……………….22

5.2.5 FLUJOS DE APROBACIÓN………………………………………………………………………….………………….22

5.2.6 ESTRATEGIA DE DIMENSIONAMIENTO……………………………………………………….…………...….23

5.2.6.1 FUENTES DE INFORMACIÓN Y REFERENCIAS…………………………………………………………….23

5.2.6.2 CARACTERISTICAS DE SERVIDORES PLATAFORMAS SIMILARES….…………………….……….23

5.2.6.3 CUELLOS DE BOTELLA……………………………………………………………………………………………….24

1

5.2.6.4 RESULTADOS DE LA SIMULACIÓN….…………………………………………….………………………..….24

5.2.6.5 ESTRATEGIA DE CRECIMIENTO FUTURA DE LA PLATAFORMA…….………….……..……….….26

5.2.6.6 ESTRATEGIA GENERAL PARA SERVIDORES SHAREPOINT.………………………..………….….….27

5.2.6.6.1 CRECIMIENTO VERTICAL…………………………………..…...……………………………………………….27

5.2.6.6.2 CRECIMIENTO HORIZONTAL.………………………………………..…………………..…………………….27

5.2.7 IMPLEMENATCIÓN SISTEMA DE GESTIÓN DOCUMENTAL……………………………..…………..….27

5.2.7.1 ESTRUCTURA DEL SISTEMA DE GESTIÓN DOCUMENTAL………………….………..…………..…..28

5.2.7.2 BUSQUEDAS DE DOCUMENTOS…………………………………….……………………..…………………….32

5.2.8 DIFICULTADES ENCONTRADAS………………………………………………………………..…………………….33

5.2.8.1 SELECCIÓN DE USUARIOS PARA ENVIO DE CORRESPONDENCIA………….……..…………..….33

5.2.8.2 ALMACENAMIENTO DINAMICO EN LISTAS PERSONALIZADAS…..………………..………..…….33

5.2.8.3 MANEJO DE MENSAJES………..……………………………………..…………..…………..…………………….33

5.2.8.4 PERSONALIZACIÓN A TRAVÉS DE WEBPARTS….…………..…………………………….……………….34

6. RECOMENDACIONES…………………………….……………………….………………………………………..………35

7. CONCLUSIONES…………………….…………………………………………………………………………………..……36

8. REFERENCIAS……………………………………………………………………………………………………………….…37

LISTA DE FIGURAS

Figura 1. VISTA DE SHAREPOINT DESDE UN PC……………………………………………………………………………....5 Figura 2. SERVICIOS DE LA PLATAFORMA...........................................................................................6 Figura 3. MODELO DE OBJETOS DE SHAREPOINT SERVICES...............................................................7 Figura 4. ARQUITECTURA DE LA COLECCIÓN DE SITIOS Y RESUMEN DEL MODELO DE OBJETOS..…..8 Figura 5. COMUNICACIÓN INFOPATH CON SHAREPOINT SERVICES………………………………………………12 Figura 6. DIAGRAMA DE TRANSFORMACIÓN XSLT………………………………………………………………………..14 Figura 7. DISTRIBUCIÓN DE MODULOS DE LA APLICACIÓN..............................................................17 Figura 8. INTERACCIÓN EN LAS INTEGRACIONES ENTRE TECNOLOGÍAS...........................................19 Figura 9. INTEGRACIÓN MODELO DE OBJETOS SHAREPOINT E INFOPATH FORMS SERVICES..........20 Figura 10. DIAGRAMA DE CONTEXTO DE USUARIOS EN EL SISTEMA................................................22 Figura 11. DESCRIPCIÓN POSIBLES CUELLOS DE BOTELLA EN LA SIMULACIÓN................................22 Figura 12. GRÁFICOS DE SIMULACIÓN GRANJA DE SERVIDORES SUPUESTA RESULTADOS

GENERALES...............................................................................................................................25 Figura 13. UTILIZACIÓN PROCESADORES GRANJA DE SERVIDORES SUPUESTA………………………………25 Figura 14. PAGINA PRINCIPAL DEL SISTEMA DE GESTIÓN DOCUMENTAL.........................................28 Figura 15. CABECERA PRINCIPAL DEL SISTEMA DE GESTIÓN DOCUMENTAL………………………………….29 Figura 16. MENU DE ACCESO RÁPIDO1………………………………………………………………………...................29 Figura 17. MENU DE ACCESO RÁPIDO2………………………………………………………………………...................30 Figura 18. VISUALIZACIÓN WEBPART CONTROL_EXTERNA...............................................................30 Figura 19. RADICACIÓN DE DOCUMENTOS A TRAVÉS DE INFOPATH................................................31 Figura 20. ADMINISTRACIÓN DE DOCUMENTOS POR ARCHIVAR.....................................................31 Figura 21. BÚSQUEDA AVANZADA SISTEMA GESTIÓN DOCUMENTAL…………………………………………..32

LISTA DE TABLAS

TABLA 1. OPERADORES CONSULTAS CAML…………………………………………………………………………………..13 TABLA 2. CARACTERÍSTICAS SERVIDOR – SFWSAPP………………………………………………………………………23 TABLA 3. CARACTERÍSTICAS SERVIDOR – SDBINDEX……………………………………………………………………..24 TABLA 4. CARACTERÍSTICAS SERVIDOR – SDBCWSS………………………………………………………………………24 TABLA 5. DIMENSIONAMIENTO CAPACIDAD SERVIDOR BASE DE DATOS………………………………………26 TABLA 6. LÍMITES DE RECURSOS SISTEMA OPERATIVO…………………………………………………………………27 TABLA 7. DESCRIPCIÓN DE ROLES POR SERVIDOR…………………………………………………………………………27

1

INTRODUCCIÓN

SharePoint1 [1] es una herramienta de productividad que ayuda a tener toda la información relacionada con un objetivo particular en un mismo lugar, sin importar el tipo o formato en el que dicha información se encuentre: bien pueden ser documentos de Word así como cualquier clase de archivo que usualmente se almacena en otro tipo de aplicaciones como listas de contactos, noticias, bases de datos de productos, planeación de proyectos o listas de noticias.

Esta herramienta administradora de contenidos permite compartir información dentro de una organización creando páginas web de una forma muy rápida; realizar la gestión de la información almacenada de forma sencilla, facilitar la búsqueda de información, evitando al usuario conocer donde esta almacenada, además mantiene el rastro de las actualizaciones y cambios realizados por los usuarios.

Entre sus características SharePoint provee una plataforma para que la información sea compartida entre grupos de usuarios tales como equipos de proyectos, departamentos, áreas o inclusive entre toda la organización. Esta característica entre otras, son necesarias para la implementación de sistemas de gestión documental en las empresas, donde la información es compartida entre usuarios.

“Se entiende por gestión documental el conjunto de normas técnicas y prácticas usadas para administrar el flujo de documentos de todo tipo en una organización, permitir la recuperación de información desde ellos, determinar el tiempo que los documentos deben guardarse, eliminar los que ya no sirven y asegurar la conservación indefinida de los documentos más valiosos, aplicando principios de racionalización y economía.” 2

Dada las características provistas por SharePoint, nace la idea del uso de esta herramienta para la implementación del sistema de gestión documental Gacela, el cual permitirá mantener un ambiente colaborativo de información entre los diferentes usuarios en las áreas y dependencias de la Central Hidroeléctrica de Caldas.

Gacela permitirá a los empleados de la organización la radicación de correspondencia dentro y fuera de la empresa, donde los documentos radicados deberán pasar por un proceso de aprobación para que finalmente estos sean publicados, manteniendo un histórico desde el momento que el documento fue radicado hasta que finalmente fue aprobado o rechazado.

1 SharePoint es un entorno de colaboración desarrollado por Microsoft Corporation

2 http://es.wikipedia.org/wiki/Gestión_documental

2

1.1 PROPÓSITO

El propósito de este documento es definir el ámbito de acción del proyecto web de gestión documental en SharePoint, para ejercer control sobre las funcionalidades del sistema Gacela y las nuevas características que este debe contener para su salida a piloto y posterior implementación en ambiente productivo.

1.2 ALCANCE

Este proyecto está enfocado hacia la centralización de las diferentes operaciones que se realizan para el correcto funcionamiento de Gacela en su primera fase. Estas operaciones incluyen:

Validación de credenciales de usuario dentro del sistema

Creación de bibliotecas de documentos para cada uno de los usuarios que componen el sistema.

Administración de funciones internas para la generación de oficios, memorandos y circulares.

Repositorio central de documento pertinente a las correspondencias externa e interna.

Garantía de almacenamiento de grandes volúmenes de información a través de las circulares, memorando y oficios generados por los usuarios en el sistema.

Establecer diferentes flujos para la aprobación o rechazo de documentos magnéticos enviados entre usuarios en la aplicación.

Configuración de contenido de documentos y permisos de acceso por roles

Imprimir resultados de oficios, circulares o memorandos generados.

Generación y configuración de reportes.

Configuración y publicación de noticias.

Módulo de consultas de documentos almacenados en las bibliotecas del sitio.

Flujos de aprobación y versiones de los documentos publicados.

1.3 PLANTEAMIENTO DEL PROBLEMA

En la actualidad el flujo documental en la Central Hidroeléctrica de Caldas está representado en un 90% a través de soporte físico, por ende las implicaciones que este tiene en garantizar los tiempos en distribución de documentos, manipulación de la información y conservación de la misma entre otros, implica la demora en los tiempos de respuesta hacia el interior y exterior de la empresa, de los diferentes documentos consignados en la organización.

Esto afecta a todas las áreas de la empresa en los negocios de generación, distribución comercialización de energía y las áreas de apoyo internas. Por tal razón, la demora en los tiempos de respuesta entre las áreas que componen la empresa y la emisión de correspondencia externa a las entidades que reciben o envían documentos de CHEC S.A.

3

E.S.P., debe ser soportado por un sistema que permita agilizar los tiempos de respuesta de las solicitudes manejadas entre las áreas implicadas. A demás permitir el ahorro de papel implementando soluciones de manejo de documentación electrónica que conlleven a la disminución de los costos de papelería en la empresa.

A partir de estas necesidades nace Gacela, como una aplicación Web administrable, flexible y escalable que presente un control centralizado de documentos electrónicos, en donde los usuarios de CHEC S.A. E.S.P puedan enviar, recibir y radicar documentos a los usuarios de las diferentes áreas en la empresa. Es a partir de la centralización donde dichos documentos antes de ser publicados deben ser aprobados por el personal con los permisos necesarios para la gestión.

Gacela contribuirá al manejo de la gestión documental, garantizando la entrega oportuna y confiable de documentos al usuario final, conservando la confidencialidad de la información, manteniendo un repositorio central y siendo un vínculo de distribución y organización de la información electrónica de la empresa.

4

2.0 OBJETIVOS

2.1 OBJETIVO GENERAL

Implementar un sistema de gestión documental en un entorno colaborativo, que permita agilizar los tiempos de respuesta en la entrega y envío de información en la organización

2.2 OBJETIVOS ESPECIFICOS

Mantener la comunicación entre los colaboradores a través de la herramienta que permita mantener en línea el estado de los documentos para aprobación.

Controlar los accesos a los diferentes repositorios de información entre los diferentes tipos de usuarios que acceden a la aplicación.

Garantizar la entrega oportuna y confiable de los documentos manejados a través del entorno colaborativo.

2.3 DESARROLLO METÓDOLOGICO

En la sección 3 se presenta un resumen de los conceptos y las tecnologías usadas en el

proyecto. En la sección 4 se describe la solución desarrollada, detallando las

funcionalidades principales y las decisiones tomadas que llevaron a la solución final. En

la sección 5 se presenta el diseño e implementación de la solución, describiendo a

grandes rasgos la arquitectura del sistema, también se realiza una estrategia de

dimensionamiento enfocada en requerimientos tecnológicos de hardware, capacidad de la

plataforma y las características recomendadas para la granja de servidores. La sección 6

se realiza algunas recomendaciones para la administración y monitoreo del sistema

desarrollado.

5

3. ESTADO DEL ARTE

En esta sección se presenta un resumen del estado actual de las tecnologías con las que

se trabajó e investigó, a lo largo del proyecto.

3.1 SHAREPOINT

Windows SharePoint Services (WSS) [2] es una herramienta que permite a los grupos de trabajo crear sitios Web para compartir y administrar información de documentos (ambiente colaborativo). Lo cual supone un gran beneficio que aumenta la productividad individual y colectiva.

WSS es un componente que forma parte de la infraestructura Windows Server. Está compuesto por un conjunto de servicios Windows que hacen posible la gestión de los sitios colaborativos. Es el componente base del paradigma SharePoint.

Además, es un producto que sirve para el desarrollo de aplicaciones. Incluye recursos de TI (Tecnologías de la información) como son portales, áreas de trabajo en equipo, correo electrónico, soporte para control de presencia y conferencia basada en Web. WSS permite a los usuarios localizar rápidamente información distribuida, así como la conexión con otros usuarios.

WSS, es la versión libre del producto de Microsoft, existe versiones licenciadas como la Microsoft Office SharePoint Server 2007 (MOSS2007) y MOSS2010.

SharePoint está basado en ASP.Net, sin embargo provee un modelo de objetos que permite realizar las interacciones entre los diferentes tipos de recursos existentes en la plataforma; tales como, listas, bibliotecas de documentos, entre otros.

En la Figura 1 se presenta la vista que tiene el usuario que accede a SharePoint (WSS) desde su PC.

Figura 1 Vista de SharePoint Desde un PC

6

3.2 ARQUITECTURA DE SHAREPOINT SERVICES

En esta sección se describen los principales componentes de Windows SharePoint Services, cómo se relacionan los componentes y cómo apoya las características adicionales que implementa Office SharePoint Server.

La estructura de Windows SharePoint Server está construida sobre la tecnología en Windows SharePoint Services, para proporcionar los siguientes servicios de aplicación. Ver Figura 2.

Portal

Búsqueda

Administración de contenido empresarial

Procesos de negocio

Inteligencia de negocios

La siguiente figura ilustra la arquitectura de Windows SharePoint Services

Figura 2 Servicios de la Plataforma

3.3 MODELO DE OBJETOS

Para este modelo de objetos para acceder a las colecciones de sitio, los sitios, las bibliotecas, las listas, worfkflows, y así sucesivamente las Figuras 3 y 4, proporciona una apreciación global de alto nivel de la arquitectura de sitio de Windows SharePoint Services representado por el modelo de objeto. [3]

Storage

Repository Metadata Versioning Backup/Recly bin Indexing Search

Security

VServer Policies PluggableAuth Folder Item/Level Rights trimmed UI

Management Admin UI Delegation Provisioning

Monitoring

Deployment Migration Config Mgmt Farm Services Feature Police

Extranet Support

Site Model Templates Rendering Navigation

Consistent Ux

Extensiblity Forms/Fields OM and Soap Event Handlers Migration APIS

Platform Services

Operationg System Services

ASP .NET: WEB Part, Personalization, Master Page, Provider Framawork (Security, etc .)

Database Services

Search Services

Workflow Services

7

Figura 3 Modelo de Objetos de SharePoint Services

8

Figura 4 Arquitectura de la Colección de Sitios y Resumen del Modelo de Objetos

9

3.4 SHAREPOINT DESIGNER

SharePoint Designer [4], Es un producto para crear y personalizar sitios Web de Microsoft SharePoint y generar aplicaciones de trabajo basadas en las tecnologías SharePoint.

Proporciona herramientas profesionales para crear soluciones interactivas en la plataforma SharePoint sin necesidad de escribir código para diseñar sitios SharePoint personalizados, además de mantener el rendimiento del sitio mediante informes y permisos de administración.

Con él, podemos crear avanzadas soluciones sin código como Vistas de datos, informes, y el seguimiento rápido y sencillo del flujo de trabajo mediante menús, paneles de tareas y plantillas.

Nos permite crear Vistas de datos personalizadas y formularios de datos que optimicen la

tecnología Microsoft ASP .NET, permitiendo integrar datos externos en el sitio Web, incluidas las vistas que muestran datos de varios orígenes (incluidos canales RSS, archivos XML y XML de Office).

Generar informes impactantes con la apariencia de Vistas de datos es muy fácil gracias a

herramientas como campos calculados, formato condicional, y características como ordenar, agrupar y filtrar.

Posee un diseñador de flujo de trabajo que permite asociar condiciones y acciones con tareas, listas, bibliotecas de documentos para automatizar las comunicaciones y adaptarlas según la necesidad.

3.5 MICROSOFT WINDOWS WORKFLOW FOUNDATION

¿Qué es un workflow?

Un workflow es un conjunto de unidades elementales llamadas actividades, que son almacenadas en forma de un modelo que describe un proceso del mundo real. Los workflows proveen una manera de describir el orden de ejecución y de relaciones dependientes entre piezas cortas o largas de un trabajo que se está ejecutando. Este trabajo pasa por el modelo de principio a fin, y las actividades pueden ser ejecutadas por personas o por funciones de sistema.

Facilita y describe procesos del mundo real

Actividades que realizan personas

Actividades que realizan sistemas

10

Windows Workflow Foundation [5], incluye soporte para workflow tanto de sistemas como

humano, a través de un extenso rango de escenarios, que incluyen:

Workflow dentro de la línea de aplicaciones de negocios.

Flujo de página de la interfaz del usuario.

Workflow humano.

Workflow compuesto para aplicaciones orientadas a servicios.

Workflow conducido por reglas de negocios.

Workflow para manejo de sistemas.

Componentes principales

Arquitectura de Windows Workflow Foundation: la arquitectura de Windows Workflow

Foundation consta de seis partes principales:

Activity: es una unidad de trabajo. El trabajo que una actividad implementa puede variar de forma muy simple a muy compleja.

Workflow Model: es un grupo de actividades que implementa todas o algunas partes de la lógica de negocios.

Designers: son herramientas gráficas que pueden ser usadas para crear y modificar actividades de workflows.

Base Activity Library: es un grupo de actividades que los desarrolladores pueden usar para crear workflows.

Runtime Engine: es una librería que ejecuta workflows. El Runtime Engine también provee otros servicios, como mecanismos para comunicarse con software fuera del workflow

Host Process: es una aplicación de Windows que da soporte al Windows Workflow Foundation Runtime Engine y a cualquier workflow que ejecuta. El Host Process provee servicios de soporte en ejecución para un estado persistente del workflow, para manejar transacciones y otras funciones.

3.6 INFOPATH 2007 E INFOPATH FORMS SERVICES

La versión de SharePoint utilizada para el desarrollo de este proyecto es Microsoft Office SharePoint Server 2007, la cual trae características muy interesantes que permiten adicionar complementos, como InfoPath forms Services [6]. Este permite que los usuarios interactúen con plantillas de formularios previamente desarrolladas desde un equipo con InfoPath. Las plantillas publicadas son renderizadas por el servidor web y mostrado al usuario como si fuera un formulario web.

11

Dicho en otras palabras con InfoPath se pueden crear formularios avanzados y dinámicos que los equipos y las organizaciones pueden utilizar para recopilar, compartir, reutilizar y administrar información, con lo que se mejora la colaboración y la toma de decisiones en la organización. Office InfoPath 2007 le puede ayudar a recopilar información de forma más eficaz. Estas son las diez ventajas principales que ofrece Office InfoPath 2007 para ayudarle a ampliar la eficacia de sus procesos empresariales.

Principales Ventajas de Usar InfoPath en SharePoint

Está diseñado para ser usado por usuarios finales

Fácil y rápido mantenimiento de plantillas de formularios

Provee una forma ágil de diseñar formularios con una interfaz gráfica agradable

Provee un mecanismo para exponer metadatos a un contenedor de documentos en SharePoint, tales como las bibliotecas de documentos.

Permite un rápido desarrollo sin codificación, sin embargo si los usuarios necesitan personalizar los formularios pueden instalar la herramienta VSTA (Visual Studio For Applications), que provee las características del framework .Net, desde visual studio, para personalizar los formularios.

Puede Interactuar con las suite de Office

A través de un entorno gráfico, se pueden configurar envíos y/o recepción de información a diferentes fuentes de datos, como un servicio web, listas de SharePoint, Outlook, entre otros.

Fácil manejo de controles que se enlazan a orígenes de datos externos, tales como las listas de SharePoint, hasta el directorio activo (LDAP) de Windows.

La comunicación de InfoPath - SharePoint se realiza a través de servicios web, tal como se muestra en la Figura 5.

12

Figura 5 Comunicación InfoPath con SharePoint Services

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.

3.7 TECNOLOGÍAS XML

CAML (Collaborative Application Markup Language)

Es un lenguaje de marcado basado en XML [7], usado en la familia de tecnologías de SharePoint (Windows SharePoint Services y SharePoint Server), para la realización de búsqueda de datos en una lista o biblioteca de documentos.

13

Estas consultas permiten realizar filtros de datos de los elementos de un contenedor. Por ejemplo: Ver tabla 1.

Sintaxis

<Query><Where><Geq><FieldRef Name='PublishedDate' /><Value Type='DateTime'><Today/></Value></Geq></Where></Query>

Operadores

Operador Significado

Eq Igual

Neq No es igual

Gt Mayor que

Geq Mayor o igual que

Lt Menor que

IsNull Es nulo

BeginsWith Comienza con

Contains Contiene

Tabla 1 Operadores Consultas CAML

Este lenguaje de consulta es usado ya que el acceso a los datos en SharePoint se maneja de forma diferente a como se manejan en las bases de datos tradicionales. Esto no quiere decir que SharePoint utiliza un motor de base de datos diferentes a los tradicionales, usa SQL Server para las bases de datos de configuración y contenido de la colección de sitios que se crean para una aplicación web.

3.8 XML

XML (Extensible Markup Language) [8] es un estándar desarrollado por el World Wide Web Consortium (W3C) [17] que permite representar cualquier tipo de información como un metalenguaje de etiquetas. Además permite la creación de lenguajes propios para usos específicos como intercambios de información estructurada entre distintas aplicaciones.

3.9 XSLT

XSLT (XML Stylesheets Language for Transformation) [9] es un lenguaje de programación que presenta formas de transformar documentos XML a diferentes

14

formatos. El lenguaje XSLT se escribe a través de reglas que transforman la entrada XML en una salida adecuada al formato final.

En la Figura 6 se muestra un esquema de la transformación de documentos mediante XSLT.

Figura 6 Diagrama de Transformación XSLT

XML XSLT

Motor XSLT

Formato de

Salida

15

4. DESCRIPCIÓN DE LA SOLUCIÓN

Dada la magnitud del sistema a desarrollar el cual debe soportar aproximadamente 400 usuarios, un alto volumen de información a almacenar, archivos de diferentes tipos de formatos, alto nivel de seguridad, y escalabilidad. Se planteó el desarrollo de este sistema a través de las tecnologías provistas por SharePoint Server 2007.

La solución a implementar consta de componentes desarrollados a la medida, y el uso de características nativas provistas por SharePoint, dada algunas necesidades puntuales que requerían este manejo.

La aplicación está divida en módulos para recepción y radicación de correspondencia interna y externa, pertinente a la documentación de circulares, memorandos y oficios que circulan dentro y fuera de la Central Hidroeléctrica de Caldas. Módulo de archivo central, encargado del almacenamiento de históricos de documentos manejados en la plataforma, en este módulo se encuentran los movimientos que los usuarios harán ya sea para aprobación, rechazo y/o reasignación entre usuarios de áreas y dependencias en la organización. Estos movimientos se refieren al versionamiento de documentos provistos por SharePoint. En este mismo modulo también se encontrará una funcionalidad para la creación de listas personalizadas de usuarios, necesarias para la recepción de documentos.

Módulo de parametrización, en este se encuentran las listas necesarias para el soporte del sistema Gacela. Lista de contadores donde se almacenan consecutivos para el manejo de los radicados en las correspondencias internas y externas. Lista instituciones, es el repositorio de todas las entidades públicas y privadas que interactúan con la empresa. Lista Sub series documentales, trata del registro del conjunto de áreas y dependencias con las que cuenta la empresa en todo el departamento. Lista tipo de documentos, como su nombre lo indica en esta se registrarán los diferentes tipos de documentos manejados en la organización. Lista Tipo llegada, donde se almacenan los diferentes medios de envíos de correspondencia dentro y fuera de la empresa.

Módulo de Búsquedas, este módulo cuenta con las características nativas de SharePoint para búsquedas de documentos en toda la colección de sitios de la aplicación Gacela, esta funcionalidad provee de un mecanismo de seguridad, donde el sistema valida si el usuario tiene los permisos necesarios para la visualización de la información buscada.

Modulo Expedientes, es una colección de áreas de sitios y bibliotecas usadas por los usuarios, como archivo de documentos tramitados en las dependencias. Para la visualización de esta información el sistema provee un nivel de seguridad basado en los tipos de grupos integrantes, propietarios y visitantes que nativamente provee la plataforma para la integridad de la información.

Módulo de seguridad, para la implementación de la seguridad de la plataforma y el acceso a los usuarios, se usará el sistema de autenticación a través del directorio activo de

16

Windows (LDAP), dado que este se integra con la granja de servidores que se implementen para el soporte de toda la plataforma. Ver Figura 7.

17

4.1 DISTRIBUCIÓN MODULOS GACELA

Radicación Interna Archivo Central Correspondencia Radicación Externa Parámetros Buscar Expedientes

Memorando

Circular

Oficio

Consecutivo

Externa

Consecutivo

Interna

Crear Bibliotecas

Filtro Externa

Filtro Interna

Externa Recibida

Interna Recibida

Pendientes Por

Archivar

Control Externa Contadores

Dependencias

Instituciones

Sub Series

Documentales

Tipo

Documentos

Tipo de

Llegada

Consultas Expedientes

Figura 7 Distribución de Módulos de la Aplicación

18

4.2 INTERFAZ DE USUARIO

La aplicación y todos sus componentes se ejecutan a través de un explorador Web, ofreciendo al usuario la interfaz para explorar, realizar búsquedas, visualizar y radicar documentos. La interfaz provee todas las características del Framework 3.5 y tecnologías ASP.NET 2.0.

Para Lógica de presentación, en algunos componentes desarrollados se hizo uso de JavaScript, para ejecución código del lado del cliente. De esta manera se reducen los llamados al servidor y la latencia en la aplicación.

4.3 AUTENTICACIÓN

Una de las grandes ventajas de trabajar con las tecnologías SharePoint es la integración con otros sistemas tales como; el directorio activo de Windows (LDAP), de esta manera se ayuda a los desarrolladores a enfocar sus esfuerzos en la lógica del negocio.

En esta aplicación se utiliza como proveedor de autenticación NTLM, esta opción es una característica nativa de SharePoint en la integración de servicios de aplicaciones Windows

19

5. DISEÑO E IMPLEMENTACIÓN

En esta sección se presentan los detalles correspondientes a todo el diseño del sistema. En primer lugar se realiza una breve descripción de la arquitectura planteada para la solución, incluyendo la estrategia arquitectónica del diseño.

5.1 ARQUITECTURA DE LA SOLUCIÓN

Como se mencionó en la sección anterior, el sistema consta de módulos para su operación: radicación de correspondencia interna y externa, repositorio histórico, repositorios archivos entre dependencias y búsquedas de documentos.

En este punto se busca una estrategia de diseño que describe como las características y las funcionalidades funcionaran juntas para forma la solución. Identifica los componentes específicos de la solución y sus relaciones.

5.2 ESTRATEGIA ARQUITECTONICA DE DISEÑO

La estrategia arquitectónica de diseño convierte las listas de características y de funciones en la descripción de un ambiente funcional, integrado. Esta información permite al cliente visualizar la información en su ambiente.

A continuación se describe el funcionamiento de los componentes, y como estos interactúan para cumplir con los requerimientos del sistema.

5.2.1 Gestión de Correspondencia

Se refiere al registro en los módulos de correspondencia interna y externa. En este punto se describen a grandes rasgos, la interacción entre las tecnologías usadas a través de las capas con las que consta este componente. Ver Figura 8

Figura 8 Interacción en las Integraciones Entre Tecnologías

20

Las peticiones realizadas por los usuarios a través del protocolo HTTP, llegan al servidor Web, el cual se comunica con la aplicación de gestión documental a través de SharePoint. De esta manera se renderizan los formularios InfoPath en el browser del usuario, para la radiación de documentos. Para el proceso anterior se usan servicios los web de nómina y contadores que son expuestos, para la envió de datos a los formularios. También se realiza la comunicación entre las plantillas InfoPath con el directorio activo de Windows.

Finalmente cuando el usuario culmina el proceso de radicación, el sistema internamente actualiza el registro en las listas y bibliotecas de documentos. En este último proceso se disparan los eventos de SharePoint para hacer uso de los workflows configurados al momento que se actualizan los datos.

5.2.2 Archivo Central

El funcionamiento de este componente en el sistema de gestión documental se detalla a partir de la siguiente Figura 9.

Figura 9 Integración Modelo de Objetos SharePoint e InfoPath Forms Services

Cuando los usuarios radican los documentos, el servidor de SharePoint almacena el elemento radicado en la lista de históricos. Esta lista tiene configurado un workflow que se dispara automáticamente que se actualiza o se inserta un nuevo elemento en este repositorio. Si el documento es una actualización de un elemento existente se crea una nueva versión del elemento tal como aparece en la figura, es decir si se actualiza un documento que previamente fue creado una vez, se creará otro documento con la versión 2.0 y el inicial 1.0 y así sucesivamente.

21

5.2.3 Determinación de niveles de permisos y grupos de uso

La habilidad de ver, cambiar o administrar el sitio en particular está determinada por el nivel de permisos que se asigne a un grupo o usuario. Estos niveles de permisos, contralan todos los ingresos para la colección de sitios, y para cualquier sub-sitio, listas, bibliotecas de documento, carpetas, y elementos que hereden los permisos del sitio. De esta manera se garantiza que los usuarios no podrían realizar tareas que no están contempladas dentro de sus límites en la aplicación.

Por defecto SharePoint ofrece los siguientes niveles de permisos, estos son usados para algunos tipos de usuarios en el sistema.

Acceso limitado: Incluye permisos que le permiten a los usuarios ver listas específicas, bibliotecas de documentos, elementos de una lista, carpetas o documentos cuando los permisos son otorgados por un usuario administrador.

Lectura: Incluye los permisos que le permiten a los usuarios ver los elementos en la paginas del sitio.

Contribución: Incluye los permisos que le permiten a los usuarios agregar o cambiar los elementos en la paginas del sitio o en las listas y bibliotecas de documentos.

Diseño: Incluye los permisos que le permiten a los usuarios cambiar el diseño de páginas del sitio usando el navegador o SharePoint Designer.

Full Control: Incluye todos los permisos anteriormente mencionados.

5.2.3.1 Determinación de niveles de permisos adicionales o grupos

Para el proyecto del sistema de gestión documental se especificaron grupos con niveles de permisos personalizados, todo esto para cubrir la gama de tipos de usuarios, sitios y papeles dentro de dichos sitios, por tal motivo surgió la siguiente necesidad:

Necesidad de grupos personalizados: dado que crear grupos es relativamente sencillo y tiene un impacto pequeño en la seguridad de los sitios. Esencialmente, se determinó crear grupos personalizados en lugar de usar los grupos predefinidos porque existen roles dentro del proyecto que no están contemplados dentro de los roles predefinidos por ShrarePoint.

5.2.3.1.1 Diagrama de contexto Grupo de usuarios personalizados

Es necesaria la creación de usuarios con diferentes tipos de privilegios sobre todo el sistema. Para ello se crearon los siguiente grupos tal, como se muestra en la figura 10 y el nivel de acceso de los mismos en Gacela.

22

Figura 10 Diagrama de Contexto de Usuarios en el Sistema

5.2.4 Web Parts

Para la visualización de los elementos publicados y funcionalidades adicionales mostradas desde un mismo componente, se optó en la implementación de web parts que proveen al usuario una interfaz gráfica donde puede realizar el seguimiento a los documentos que son radicados en el sistema.

Entre las funcionalidades adicionales implementadas a través de estas web parts, se encuentra la eliminación, reasignación de documentos a otros usuarios. Estas funcionalidades son personalizaciones que decidieron manejarlas de esta manera y no a través de las características nativas que requerían modificar el código administrado por SharePoint en el sistema.

5.2.5 Flujos de aprobación

Los flujos de aprobación son piezas fundamentales en sistemas de gestión documental, donde es necesario que exista un esquema donde los documentos puedan ser aprobados o rechazados, antes de su publicación final a todos los interesados en la organización.

SharePoint brinda facilidades para el manejo de workflow, con herramientas tales como SharePoint Designer y Nintex. El primero es gratuito y el último requiere altos costos para su licenciamiento.

Dado que se requería la implementación de workflows con características no soportadas por Designer, se decidió por desarrollos a través de Windows Workflow Foundation, ya que este provee todas las funcionalidades del Framework .Net y el modelo de objetos de SharePoint para desarrollos a la medida.

23

5.2.6 Estrategia de dimensionamiento

Partiendo de la premisa que el sistema de gestión documental a implementar, será usado aproximadamente por 600 usuarios en la empresa, con un acceso concurrente de 100 y la cantidad de documentos manipulados en un periodo de trabajo. Se determinó realizar un análisis que ayudará a aterrizar las características de hardware y software necesario en la organización, para evitar problemas futuros, tales como; cuellos de botella, rendimiento en servidor front end SharePoint, servidor de bases de datos, entre otros.

5.2.6.1 Fuentes de información y referencias

Para la planeación de capacidad, se utilizaron las siguientes fuentes de información

Estadísticas de uso de portales provistas por la organización

Información de desempeño de acuerdo a los requerimientos

Información de la configuración de servidores que albergan plataformas similares

Adicionalmente, para la estimación de la capacidad requerida, se han utilizado las siguientes referencias:

Microsoft System Centre SharePoint Capacity Planner Model

Microsoft Capacity Planning Guidelines and Best Practices Configutrations

Microsoft Technet

5.2.6.2 Características de servidores plataformas similares

Servidor Frontal Web y Servidor de Aplicaciones - SFWSAPP

Componente Valor

CPU 2 x 2.4-2.6 GHz x64 RAM 6 GB Disco Sistema de archivos NTFS RED Conexión entre servidores 1Gbps

Tabla 2 Características Servidor - SFWSAPP

Servidor de Indexación - SDBINDEX

Componente Valor

CPU 2 x 2.4-2.6 GHz x64 RAM 6 GB

24

Disco Sistema de archivos NTFS RED Conexión entre servidores 1Gbps

Tabla 3 Características Servidor - SDBINDEX

Servidor de Base de datos - SDBCWSS

Componente Valor

CPU 2 x 2.4-2.6 GHz x64 RAM 6 GB Disco Sistema de archivos NTFS RED Conexión entre servidores 1Gbps

Tabla 4 Características servidor – SDBCWSS

5.2.6.3 Cuellos de Botella

Posterior al análisis realizado con las herramientas anteriormente descritas y tomando como insumo características de sistemas similares. Se encontraron las siguientes recomendaciones para evitar cuellos de botella. Ver Figura 11

Figura 11 Descripción Posibles Cuellos de Botella en la Simulación

Se recomienda realizar aumento de la memoria de los servidores SFWSAPP y SDBINDEX a 6GB cada uno y el servidor de base de datos SDBCWSS a 16GB.

5.2.6.4 Resultados de la simulación

A continuación se muestran los resultados realizados teniendo en cuenta las características de los servidores anteriores, suponiendo que se realicen los aumentos de memoria recomendados en la sección anterior. Ver Figura 12 y Figura 13

25

Figura 12 Gráficos de Simulación Granja de Servidores Supuesta Resultados Generales

Figura 13 Utilización Procesadores Granja de Servidores Supuesta

26

5.2.6.5 Estrategia de crecimiento futura de la plataforma

De acuerdo al volumen de información física promedio manejada, se realizaron estimaciones y cálculos de crecimiento de la plataforma para los próximos 3 años. Ver tabla 5.

Tabla 5 Dimensionamiento Capacidad Servidor Base de Datos

27

5.2.6.6 Estrategia general para servidores SharePoint

5.2.6.6.1 Crecimiento vertical

Para hacer crecimiento vertical sobre los servidores de SharePoint, se puede adicionar más procesadores o más memoria RAM, los limites para cada servidor están dados por los soportados por el sistema operativo, a continuación se presenta una tabla donde se ilustra los límites de recursos que podrían ser utilizados por la plataforma de acuerdo a la versión del sistema operativo que sea utilizada. Ver tabla 6

Windows 2003 Standard Edition

Windows 2003 Enterprise Edition

Windows 2008 R2 Standard Edition 64 bits

Windows 2008 R2 Enterprise Edition 64 bits

Max CPU

Cores 4 8 4 8

Memoria Máxima

4 GB 32 GB 32-Bit:4GB

64-Bit:32GB

32-Bit:64GB

64-Bit:2TB

Tabla 6 Límites de Recursos Sistema Operativo

5.2.6.6.2 Crecimiento Horizontal

La siguiente tabla lista los posibles roles que los servidores Microsoft Office SharePoint Server (MOSS) pueden tener:

Rol Descripción y Uso

Servidor Web Front-End

(WFE)

Los WFE son la interface de MOSS hacia los usuarios, brindando el contenido que los mismos utilizan. Se requiere IIS y ASP.NET para los mismos.

Servidor de indexación Realiza la indexación de contenido desde múltiples fuentes tales como el Portal, directorios compartidos y directorios públicos de Exchange

Servidor de consultas de

índices (index server)

Se encarga de consultar los índices, brindando así las capacidades de búsqueda de MOSS 2007

Tabla 7 Descripción de Roles por Servidor

5.2.7 Implementación Sistema de gestión documental

Es el sitio principal donde se administran las características que serán reflejadas a toda la colección de sitios, entre estas características podemos mencionar:

Plantillas de sitios, plantilla de listas y plantillas bibliotecas de documentos

Administración de grupos de administradores de sitios

Administración de correspondencia

Gestión de archivos

28

Administración de contenedores del sistema

Búsquedas de documentos

Administración de las acciones del sitio

Administración de delegados de usuarios

En la página inicial del sistema de gestión documental aparecen, las opciones descritas anteriormente agrupadas en su mayoría en el menú de acceso rápido que se muestra a la izquierda de la página. Ver figura 14

Figura 14 Página Principal del Sistema de Gestión Documental

5.2.7.1 Estructura del Sistema de gestión documental: a continuación se describe la estructura del sistema:

A. Cabecera B. Menú de acceso rápido C. Cuerpo

A. Cabecera: En la Figura 15 se muestran los enlaces al sitio principal Portal Gacela,

el sub-sitio Expedientes que se encuentra compuesto por colecciones de áreas de trabajo y bibliotecas de documentos que hacen parte del repositorio de archivo magnético por cada una de las dependencias, y por último el enlace para las búsquedas de documentos radicados en el sistema.

29

Figura 15 Cabecera Principal del Sistema De Gestión Documental

B. Menú de acceso rápido: Se encuentran diferentes funcionalidades agrupadas por tipos, Radicación Interna, Archivo Central, Parámetros que se refiere a los contenedores propios del sistema. Las opciones anteriores solo son vistas por usuarios con permisos personalizados sobre estos contenedores. En la Figuras 16 y 17 se observan las diferencias en las opciones mostradas para diferentes tipos de usuarios, en este menú.

Figura 16 Menú de acceso rápido1

30

Figura 17 Menú de acceso rápido2

Cuerpo: En el cuerpo se visualizan las listas, bibliotecas de documentos, webparts nativas, webparts personalizadas, tales como webPart Control_Externa, donde se muestran los documentos radicados por usuarios y las opciones presentes por cada elemento de la misma. En la Figura 18 se observan los documentos propios del usuario y un submenú con las acciones a desarrollar.

En otras palabras el cuerpo es el contenedor principal usado por los usuarios para la interacción con el sistema de gestión documental.

Figura 18 Visualización WebPart Control_Externa

31

A continuación se muestran las imágenes del formulario InfoPath Forms Services para la administración de documentos. En la Figura 19, se observa una ventana donde se ejecuta el control Contact Selector, integrando el componente LDAP (directorio activo de windows) con SharePoint Services.

Figura 19 Radicación de documentos a través de InfoPath

La Figura 20 muestra documentos radicados que previamente fueron preparados por el usuario actual para ser archivados en el área de la organización en la cual el usuario administrador del sistema ha otorgado permisos sobre toda la colección del sub-sitio Expedientes.

Figura 20 Administración de documentos por archivar

32

A la izquierda se observan todos los repositorios en forma de árbol, donde el usuario tiene permisos para actualizar información, en la grilla de la derecha se encuentran todos los documentos que fueron preparados por este usuario para su posterior almacenamiento.

5.2.7.2 Búsquedas de documentos

Este componente nativo de SharePoint Services se encarga de realizar las búsquedas de todos los documentos que obedecen a los criterios ingresados como parámetros por el usuario. Este motor realiza las consultas a través de los índices de los contenidos cargados dentro del portal.

Lo que hace SharePoint cada vez que el motor de búsqueda inicializa un rastreo es inspeccionar el sitio establecido, indexar el contenido y armar un índice para poder acceder a la información cuando realizamos una búsqueda desde cualquier sitio relacionado con este SSP.

En la Figura 21 se muestran las opciones de búsquedas de documentos configuradas para los usuarios en el sistema.

Figura 21 Búsqueda Avanzada Sistema Gestión Documental

33

5.2.8 Dificultades encontradas

5.2.8.1 Selección de usuarios para envió de correspondencia

Uno de los objetivos planteados en el proyecto era establecer la integración entre las diferentes herramientas colaborativas propuestas al realizar proyectos con SharePoint, caso puntual el uso de Infopath Forms Services para el manejo de formularios para la radicación de correspondencia.

El uso de Infopath permite la integración con el directorio activo de Windows a través del Active X Contact Selector, el cual provee al usuario una interfaz para seleccionar destinatarios desde esa fuente de datos sin la necesidad de realizar programación en el formulario. Sin embargo, surgió un problema que radicaba en que los usuarios que podían ser seleccionados desde esa fuente, no todos hacían parte del sistema de gestión documental, esto en el sistema no generaba una garantía que los usuarios seleccionados recibirían la documentación gestionada. Por esta razón se decidió aplicar lógica de negocio que permitiera validar las entradas seleccionadas informando al usuario, destinatarios seleccionados no válidos. Esto se logró con el uso de VSTA (Visual Studio for Applications) y algunos cambios en la configuración inicial de los formularios publicados en el sistema de gestión documental.

5.2.8.2 Almacenamiento dinámico en listas personalizadas

Durante el desarrollo del flujo de trabajo que se disparaba cuando se radicaba una correspondencia, se identificó un problema al ver que los documentos debían ser almacenados en las listas personalizadas de los usuarios seleccionados como destinatarios. Esto debido a una limitante de la herramienta SharePoint Designer la cual no permite almacenar de forma dinámica en diferentes repositorios, por tal razón se decidió desarrollar todo el flujo de trabajo a través de Windows Workflow Foundation, donde se pudo resolver esta limitante y continuar con el diseño planteado.

5.2.8.3 Manejo de mensajes

Se encontró una limitante al usar VSTA (Visual Studio For Applications) al aplicar código administrado en InfoPath. Esta limitante se observó al intentar mostrar mensajes al usuario a través del API, provista por el modelo de objetos para C# y VB.NET.

Plantillas de InfoPath usadas desde un explorador a través de Forms Services en SharePoint, solo permiten usar un lenguaje para la programación, es decir C#, VB.NET o JavaScript, pero no una combinación de los mismos.

La solución que se tomó para contrarrestar esta limitante surgió en el uso de un control rico que mostrará los mensajes cuando el usuario realizara alguna acción inválida que se ejecutaba a través de código administrado en los formularios.

34

5.2.8.4 Personalizaciones a través de WebParts

Cuando se investigó la forma en la cual se desarrollaban webparts para SharePoint, se encontró que el IDE Visual Studio, no posee un manejo de controles para el modelo de objetos de SharePoint, que permitan realizar acciones de arrastrar y soltar dentro del entorno de programación, sino que los controles deben ser declarados e invocados para ser creados. Sin embargo, este inconveniente quedó resuelto al usar controles de usuario donde se creaba todo el componente de presentación y posteriormente estos controles serian invocados a través de las webparts personalizadas.

Lo anterior es debido a la filosofía que usa SharePoint para el desarrollo con su modelo de objetos es diferente a la forma tradicional usada para implementar aplicaciones .NET. Sin embargo, esto no resta a las ventajas en el uso de esta tecnología en el desarrollo ágil de aplicaciones empresariales.

35

6. RECOMENDACIONES

Una parte fundamental del correcto funcionamiento del sistema de gestión documental y sus correspondientes sub-sitios es la correcta asignación de permisos tanto a nivel de usuario, como a nivel grupo y de sitio, ya que estos garantizan que los usuarios dispongan de los privilegios necesarios según el rol que cumplan en cada uno de los sitios donde interactúen.

Se recomienda monitorear el consumo del espacio de almacenamiento en los servidores de base de datos, realizar planes de backups automáticos que se ejecuten diariamente con SQL Server Management Studio, verificar el crecimiento de los logs de transacciones de las bases de datos, debido al volumen de transacciones que se ejecutan en el sistema de gestión documental.

Se recomienda seguir las indicaciones plasmadas en la sección de estrategia de dimensionamiento para la granja de servidores que hacen parte de la infraestructura de la plataforma del sistema.

Para crecimiento del sistema a futuro se recomienda que antes de implementar cualquier solución personalizada a través del API del modelo de objetos, investigar si se pueden obtener los resultados esperados con el uso de las características nativas de SharePoint, el cual provee un gran conjunto de funciones que ofrecen soluciones sin la necesidad de código personalizado.

36

7. CONCLUSIONES

Al inicio del proyecto se planteó como objetivo principal, la implementación de una solución que permitiera agilizar los tiempos de respuesta en la entrega y envió de información en la organización. Esta solución debía proveer funcionalidades como: radicación de documentos, aprobación de documentos previo a la publicación, proveer un entorno colaborativo para la administración de la información en un repositorio centralizado con permisos por grupo o usuarios, garantizar la entrega oportuna de los documentos aprobados a los colaboradores, brindar un buen performance en el acceso de la información y brindar estas funcionalidades entre los diferentes empleados que físicamente se encuentran en localizaciones diferentes en los municipios del departamento de caldas. Para esto se propuso la utilización de una aplicación web con un repositorio central en una solución web a través de SharePoint server 2007.

La solución desarrollada logró cumplir con los objetivos, en especial fue posible obtener una aplicación que permite la integración con otros componentes de negocio de la organización, como el caso de los servicios web de Nomina, integración con la suite de Microsoft Office y otras fuentes de datos. Esta aplicación permite ser escalable y aumentar sus capacidades y características con el desarrollo de formularios implementados por los usuarios finales a través de InfoPath y las publicaciones con SharePoint sin que estos posean grandes conocimientos en programación puesto que se pueden obtener buenos resultados solo con algunas configuraciones en la herramienta.

El proyecto abordo temas que actualmente revisten de gran interés por parte de industria de las tecnologías de la información. Se investigaron principalmente las tecnologías emergentes que luego serían el insumo para la implementación del sistema. Algunas de estas tecnologías que se abordaron fueron: SharePoint, XML, InfoPath, ASP.NET y CAML.

Finalmente, con respecto al proyecto de desarrollo, este se compuso de una etapa que consistía en una estrategia de dimensionamiento de la granja de servidores requerida para la implementación de la solución y la capacidad de almacenamiento presente y futura. Otra fue la etapa del desarrollo, que consistió en una forma iterativa, que se logró a partir de previas investigaciones para la implementación de webparts, lógica empresarial en InfoPath forms services y workflow foundation. En esta investigación se encontraron algunos inconvenientes, pero fue posible cumplir con los objetivos planteados de manera satisfactoria, permitiendo a los integrantes adquirir nuevos conocimientos y experiencias en el manejo de estas tecnologías de vanguardia.

37

8. REFERENCIAS

[1] SharePoint http://blog.pucp.edu.pe/item/7686/que-es-sharepoint

[2] Windows SharePoint Services http://office.microsoft.com/es-es/sharepointtechnology/default.aspx

http://office.microsoft.com/es-es/sharepointtechnology/default.aspx

[3] Modelo de objetos de SharePoint. http://msdn.microsoft.com/es-es/library/ms473633.aspx

[4] SharePoint Designer http://en.wikipedia.org/wiki/Microsoft_SharePoint_Designer

http://www.microsoft.com/download/en/details.aspx?id=16573

[5] Windows Workflow Foundation http://justindeveloper.wordpress.com/

[6] InfoPath forms Services http://office.microsoft.com/es-es/sharepoint-server-help/introduccion-a-infopath-forms-

services-HA010167284.aspx

http://msdn.microsoft.com/es-es/library/aa701145.aspx

[7] XML (Extensible Markup Language) http://www.programacion.net/html/xml/htmdsssl/capitulo1/capitulo1.htm

[8] XSLT (XML Stylesheets Language for Transformation) http://www.w3schools.com/xsl/