174
UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales PROYECTO DE GRADO Módulo de Recepción y Seguimiento de Documentos Previo a la Obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES Autores: BENÍTEZ QUINATOA JOHNNY DALTHON ORDÓÑEZ CAMPOVERDE VERÓNICA NATHALY RONQUILLO FREIRE NORYIS ALBERTO GUAYAQUIL-ECUADOR Año: 2009

UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

  • Upload
    dodien

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

PROYECTO DE GRADO

Módulo de Recepción y Seguimiento de

Documentos

Previo a la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

BENÍTEZ QUINATOA JOHNNY DALTHON

ORDÓÑEZ CAMPOVERDE VERÓNICA NATHALY

RONQUILLO FREIRE NORYIS ALBERTO

GUAYAQUIL-ECUADOR

Año: 2009

Page 2: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Lomo de la monografía

UG CISC

6to. C.G.

MÓDULO DE RECEPCIÓN Y SEGUIMIENTO

DE DOCUMENTOS

V. ORDÓÑEZ J. BENÍTEZ

A. RONQUILLO

TOMO I

2009

Page 3: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

AGRADECIMIENTO

A Mis Padres

Porque gracias a su cariño, guía y apoyo he llegado a

realizar uno de los anhelos más grandes de la vida, fruto

del inmenso apoyo, amor y confianza que en mi se

depositó y con los cuales he logrado terminar mis

estudios profesionales que constituyen el legado más

grande que pudiera recibir y por lo cual les viviré

eternamente agradecido.

Con cariño y respeto

Alberto Ronquillo Freire

Page 4: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

DEDICATORIA

Dedico este proyecto a mi familia y amistades las cuales

me ayudaron con su apoyo incondicional a ampliar mis

conocimientos y estar más cerca de mis metas

profesionales. Esto fue posible primero que nadie con la

ayuda de Dios, gracias por otorgarme la sabiduría y la

salud para lograrlo. Gracias a los intercambios y

exposiciones de ideas con mis compañeros y amigos de

estudios durante el proceso del seminario. También

especialmente a dos personajes nuevos en mi vida, mis

hijos: Luis Alberto y Dayanna Valentina

Dios los bendiga!!!

Alberto Ronquillo Freire

Page 5: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Tabla 3.3.2 Detalles de la Tabla Useratto.………..….………..…… 51

Tabla 3.3.3 Detalles de la Tabla Department…..….………..………… 52

Tabla 3.3.4 Detalles de la Tabla Document.………..………..……….. 54

Tabla 3.3.5 Detalles de la Tabla Privilege.……….….………..………. 55

Tabla 3.3.6 Detalles de la Tabla Directory……..….………..………… 56

Tabla 3.3.7 Detalles de la Tabla Audit.………..….………..…………... 57

Page 6: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 1

INTRODUCCIÓN.

Las redes informáticas son un requerimiento para el

funcionamiento óptimo de las empresas, y nos permiten

facilitar la comunicación y compartir recursos entre las

diferentes áreas de la organización.

Sistemas informáticos como programas o aplicativos

son desarrollados a diario basados en redes

organizacionales que logran optimizar las tareas

laborales de los usuarios.

Page 7: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

2

El incremento de la información conlleva al manejo de gran cantidad de

documentos, por consiguiente la administración consume más tiempo y

recursos humanos por lo que la utilización de un sistema se vuelve cada vez

más necesaria.

1.1. Antecedentes.

En la mayoría de las empresas existe un procedimiento básico para la

administración de la documentación digital, que consiste en implementar un

servidor de archivos en el cual se configuran permisos para que los

diferentes tipos de usuarios hagan uso de la información, sin embargo, no

existe un procedimiento para el monitoreo y seguimiento de documentos que

le permita a los administradores llevar un control del movimiento de la

información.

Empresas como Microsoft o Xerox tienen sistemas que permiten realizar este

tipo de procedimiento, pero con un costo elevado en su implementación y

administración y algunas veces con requerimientos de adquisición de nuevo

hardware.

Page 8: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

3

1.2. Solución a la problemática.

La propuesta para la solución al problema antes descrito, es el desarrollo de

un aplicativo basado en ambiente Web, el cual permitirá la recepción y

seguimiento de los documentos de la organización a través de una Intranet o

desde el Internet.

Uno de los objetivos de este sistema es tener en orden y actualizada la

respectiva documentación de la empresa. Además brindar una mayor

seguridad en el control, seguimiento y conservación de todos sus

documentos.

Contará con la elaboración automática de reportes que permitan conocer la

documentación que maneje la empresa. El acceso a la documentación será

según los permisos asignados a los usuarios

La herramienta cuenta con una interfaz gráfica e intuitiva, es decir; amigable

de fácil manejo para usuarios expertos e inexpertos, y su costo no será un

impedimento a la hora de adquirirlo.

Este producto se encuentra direccionado hacia todas las empresas públicas

o privadas; que cuenten con una infraestructura de red corporativa, y tengan

la necesidad de optimizar su proceso de administración de documentos.

Page 9: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

4

1.3. Descripción del proyecto.

Nuestro proyecto parte de archivos digitalizados que se encuentran en un

dispositivo de almacenamiento. Estos archivos pueden ser subidos y

consultados en la Intranet desde cualquier equipo conectado a la red. Este

procedimiento lo realiza cualquier persona que tenga creado un usuario en el

sistema.

El ambiente está basado en una infraestructura de dominio Windows el cual

está compuesto por:

Un segmento de subred Clase C.

Un switch que permite la conexión de los equipos de la red.

Un equipo físico configurado con los siguientes servicios:

a. Un Controlador de Dominio, que se encarga de la autenticación y

autorización de los usuarios en el dominio.

b. Servidor DNS, que se encarga de la resolución de nombres de los

computadores en la red.

c. Un Servidor SMTP, encargado del envió de notificaciones vía

correo electrónico.

Page 10: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

5

d. Para el direccionamiento IP no se utilizará el servicio DHCP, sino

que las direcciones se asignarán manualmente.

e. La maquina virtual se ejecutara desde una de las estaciones.

Un computador físico configurado con los siguientes servicios:

a. Un Servidor de Base de Datos, donde se almacena la información

del aplicativo.

b. Un Servidor Web que ejecuta el aplicativo.

Computadores físicos, desde donde se puede acceder a la Intranet con

un navegador de Internet y donde se ejecutan los clientes de correo

electrónico.

Ver figura No. 1

Page 11: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

6

Figura No. 1

Page 12: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

7

1.4. Misión.

Implementar un sistema de colaboración que permita la recepción y

seguimiento de documentos de una manera eficaz y eficiente, para que el

administrador del sistema pueda realizar un control óptimo y por consiguiente

los usuarios mejoren la productividad operativa de la empresa.

1.5. Visión.

Entregar a las organizaciones la mejor herramienta de administración de

documentos utilizando tecnología informática, siendo el beneficio principal el

incremento de su productividad y competitividad en el mercado.

1.6. Objetivo general.

Desarrollar un aplicativo de colaboración basado en ambiente web, que sea

capaz de hacer el seguimiento de los documentos de la organización,

mediante la publicación de los mismos en un portal que podrá se accedido

desde la red interna de la empresa.

Page 13: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

8

1.7. Objetivos específicos.

1. Acceso al sistema a través de un navegador web.

2. Acceso a la información de acuerdo a privilegios.

3. Almacenamiento de información centralizada en una base de datos.

4. Restricción del tamaño de los archivos.

5. Restricción del tipo de archivos.

6. Manejo del estado del archivos (activos, inactivos)

7. Notificaciones vía correo electrónico.

8. Reportes de la gestión del documento.

9. Criterios de búsqueda de documentos.

10. Reportes de la gestión del documento e impresión del mismo.

Page 14: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

9

1.8. Alcances.

1. El ambiente de trabajo será un dominio Windows con Active Directory.

2. Los usuarios podrán acceder al sistema desde cualquier equipo de la

organización que cuente con un navegador de internet y que tenga los

respectivos privilegios, desde allí podrá revisar cualquier documento

publicado para él.

3. El navegador que se utilizará será Internet Explorer en sus versiones 6 o

7 y 8; Mozilla Firefox.

4. Los usuarios o grupos de usuarios podrán consultar, publicar y eliminar

los documentos de la Intranet, para esto serán validados los premisos

asignados.

5. La información se almacenará en un repositorio de base de datos, lo que

permitirá la administración centralizada de la misma, y su respectivo

mantenimiento.

6. Se controlará el tamaño de archivos que pueden ser publicados;

dependiendo del tipo de archivo se le asignarán cuotas lo que facilitará el

control del crecimiento de la información.

Page 15: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

10

7. Debido a que existen tipos de archivos que pueden ser una amenaza a la

integridad del sistema como por ejemplo, .exe, .bat, .com, .vbs, .scr, etc.,

se implementará un filtro de tipo de extensiones permitidas.

8. Los usuarios propietarios según los privilegios que le de el usuario

administrador podrán asignar las veces que el destinatario puede leer el

archivo asignándole un número de lectura que al llegar al límite cambiará

del estado activo a inactivo, mientras el estado sea activo estará

disponible para múltiples lecturas y cuando sea inactivo ya no podrán ser

leído.

9. El usuario administrador podrán crear una interface personalizada para

cada usuario o grupo de usuario de acuerdo a las necesidades del

departamento o de la organización.

10. El usuario recibirá una notificación en su cuenta de correo electrónico

cuando un nuevo archivo sea publicado en la Intranet para él, este

mensaje incluirá el link del archivo para que sea accedido desde su

aplicativo de correos.

11. Se utilizará un servidor SMTP para el envió de las notificaciones a los

clientes de correo.

12. El acceso a los documentos vía Web se realizará dentro de la red local.

Page 16: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

11

13. El sistema contará con un módulo de reportes los cuales mostrarán:

13.1. Cantidad de archivos publicados por día.

13.2. Cantidad de archivos publicados por semana.

13.3. Usuarios que leyeron los archivos.

13.4. Estatus de los archivos.

13.5. Publicado por:

13.5.1. Usuarios.

13.5.2. Fecha.

13.6. Reportes personalizados según filtros.

14. Se podrá realizar búsqueda y filtrado de documentos utilizando criterios

predefinidos.

15. Por tipo de archivo.

16. Por estatus de archivo.

17. Por quien lo publica

18. Por fecha.

19. Por nombre.

20. Por tamaño.

21. El sistema contará con un módulo de impresión que permitirá mostrar el

resultado de los reportes en un medio físico (papeles).

Page 17: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

12

1.9. Ventajas.

Puede implementarse en pequeñas, medianas y grandes empresas.

Acceso rápido a la información del sistema.

El usuario no necesita instalar ningún componente de hardware ni de

software para acceder al sistema, a excepción del Internet Explorer que

todo equipo Windows tiene instalado por defecto.

El usuario está enterado de las actualizaciones del sistema.

Fácil manejo del sistema.

1.10. Desventajas.

Está diseñado para plataformas Windows.

1.11. Metodología.

Para la implementación de nuestra aplicativo utilizaremos la arquitectura de

tres capas, puesto que una de las ventajas es el desarrollo en varios niveles

y en caso de algún cambio sólo se lo realizará al nivel requerido sin tener

Page 18: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

13

que realizar modificaciones en otros componentes. Este modelo permite

distribuir el trabajo entre los participantes del proyecto.

Las tres capas son:

Interfaz de usuario.

Reglas del negocio o Procesador de aplicaciones.

Manejador de base de datos.

La primera capa es la interfaz gráfica para el usuario, es decir, presenta el

sistema al usuario final, le muestra la información y se encarga de capturar

los datos del usuario para luego ser procesados. Esta capa se comunica

únicamente con la capa de negocio.

La segunda capa utiliza el servidor de aplicaciones Tomcat el cuál procesa

las páginas jsp y es el encargado de ejecutar el programa, recibe las

peticiones del usuario y envía las respuestas tras el proceso. Esta capa se

comunica con la capa de presentación, para recibir las solicitudes y

presentar los resultados, y con la capa de datos, para solicitar al gestor de

base de datos el almacenamiento recuperación de los mismos.

La tercera capa es un sistema de bases de datos encargado de almacenar

las configuraciones e información relacionadas a las seguridades. Está

Page 19: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

14

formada por un gestor de bases de datos que realiza el almacenamiento de

datos, reciben solicitudes de inserción o recuperación de información desde

la capa de negocio.

1.12. Recursos.

1.12.1. Hardware

Dos Laptop con sistema Operativo Windows XP Profesional SP3.

Procesador Intel Core Duo 1.7 Ghz.

1 GB de memoria RAM.

Disco duro de 60 GB

Unidad de DVD RW

Un PC con Windows Server 2003 R2 SP2.

Procesador Intel PIV 2.8 Ghz.

1 GB de memoria RAM.

Disco duro de 120 GB

Unidad de DVD RW

Una estación virtual con Windows XP Profesional SP2 que será

utilizada como equipo cliente que podrá subir y consultar los

Page 20: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

15

documentos y recibirá las notificaciones en el cliente de correos

Outlook.

Una servidor virtual con Windows Server 2003 R2 SP2 donde

ejecutará el controlador de dominio y los servicios SMTP y DNS.

Monitor a color CRT 15”

Impresora de inyección.

Ruteador inalámbrico 4 puertos.

1.12.2. Software:

Para la elaboración de este producto utilizaremos las siguientes

herramientas:

Plataforma Windows con sus sistemas operativos:

Windows Server 2003 SP2

Windows XP Profesional SP3

Base de datos PostgreSQL 8.3

Lenguaje de programación Java con JSP, JSF

Editor JAVA Eclipse.

Page 21: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

16

Servidor Tomcat 6.0.

Adobe Reader 6 o superior.

Microsoft Office 2003 o 2007.

Internet.

1.12.3. Humano:

Para el desarrollo de la aplicación intervendrá el siguiente recurso

humano:

Verónica Ordóñez Campoverde.

Alberto Ronquillo Freire.

Johnny Benítez Quinatoa.

Page 22: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

17

1.13. Presupuesto:

El presupuesto calculado para la elaboración del proyecto es el siguiente:

1.13.1. Software:

Los principales componentes de software a utilizar en el aplicativo son

open source:

La herramienta de programación JAVA, el editor Eclipse, el servidor

Tomcat y la base de datos PostGresSQL.

Los instaladores de los productos Adobe Reader es un producto

gratuito y fue descargado desde Internet.

Los instaladores y las licencias de los sistemas operativos fueron

facilitados por una empresa de venta de software.

Las licencias de Office son las que vienen instaladas en las PCs.

Page 23: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

18

A continuación se presenta el detalle de los costos:

Descripción Costo de

licencia

Cantidad de

Licencias

Valor

Total

Sistema Operativo Windows Server 2003 $0.00 2 $0.00

Sistema operativo Windows XP Profesional $0.00 2 $0.00

Base de Datos PostgreSQL 8.3 $0.00 0 $0.00

Lenguaje de programación Java con JSP $0.00 0 $0.00

Editor de JAVA Eclipse $0.00 0 $0.00

Tomcat $0.00 0 $0.00

Adobe Reader 6,7,u 8 $0.00 0 $0.00

Microsoft Office 2003 o 2007 $0.00 2 $0.00

Internet $30.00 0 $270.00

Total $270.00

1.13.2. Hardware:

A continuación se presenta el detalle de los costos del hardware:

Descripción Costo Cantidad Valor Total

Case Tower ATX $30.00 1 $30.00

Disco Duro 120 GB $60.00 1 $60.00

Memoria RAM $35.00 1 $35.00

Mainboard BioStar $80.00 1 $80.00

Procesador Pentium IV 2.8GHz $120.00 1 $120.00

Monitor 15' $60.00 1 $60.00

Teclado, mouse $25.00 1 $25.00

Total $410.00

Page 24: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

19

1.14. Estudio de factibilidad

En general los análisis de factibilidad más profundos, o los estudios de

factibilidad, se completan durante la fase de diseño de sistemas, en general

durante la consideración de la evaluación de las diferentes alternativas de

solución propuestas. Los estudios de factibilidad consideran la factibilidad

técnica, económica y operacional de cada alternativa, así como si el proyecto

es o no apropiado dados los factores políticos y otros del contexto

institucional.

1.14.1 Operacional

Esta factibilidad comprende una determinación de la probabilidad de que

el sistema funcione o se lo utilice para lo cual se lo está diseñando.

De acuerdo al estudio que hemos realizado en la etapa operacional

hemos considerado varios puntos importantes:

El producto a desarrollarse, en este caso el administrador de

documentos digitales no debe ser demasiado complejo tanto para los

usurarios de la organización y para los administradores del sistema, ya

que si lo es, los usuarios pueden ignorar el sistema o bien usarlo de

forma incorrecta.

Page 25: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

20

El sistema puede hacer que los usuarios se resistan a él como

consecuencia de una técnica de trabajo, miedo a ser desplazados,

interés en el sistema antiguo u otras razones.

Un nuevo sistema en una organización puede introducir cambios

demasiados rápidos para permitir al personal adaptarse a él y aceptarlo.

Un cambio repentino que se ha anunciado, explicado y “vendido” a los

usuarios con anterioridad puede crear resistencia.

1.14.2 Mercado

Según las indagaciones realizadas por nuestro grupo, nos pudimos

percatar que en las mayorías de las empresas de nuestro país no

cuentan con un aplicativo que permitan el manejo y seguimiento de

documento, por lo que sería de mucha ayuda para ellos contar con una

plataforma de este tipo.

Si lugar a dudas hay organizaciones que cuentan con un software de

manejo de documentos y que por cierto son pocas en nuestro país,

adquieren estos productos a través de internet, en el cual los

proveedores tiene su sede en otros países. Debido a la distancia en

ciertas ocasiones es complicado contar con un soporte físico de dichos

Page 26: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

21

productos y en caso de que se lo realizará incrementaría los costos ya

que la organización corre con los gastos de viajes, hospedaje y

alimentación de personal calificado de la herramienta.

Para nosotros es una ventaja desarrollar un de estos tipo de productos

en nuestro país ya que el campo no está muy explotado y a la vez se

pueda brindar soporte físico a un bajo costo e incluso llegar a firmar

contratos de mantenimiento de soporte a la herramienta.

1.14.3 Económica

Los estudios de factibilidad económica incluyen análisis de costos y

beneficios asociados con cada alternativa del proyecto

Si lo vemos desde el punto de vista de la creación del aplicativo los

costos serian bajos, en comparación al desarrollo de otros sistemas, ya

que nosotros utilizaríamos en su mayoría herramientas Open Source.

Desde el punto de vista del cliente nuestro aplicativo le ofrece todos los

beneficios antes mencionados y a un bajo costo económico.

Page 27: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

22

1.14.4 Tecnológica

En esta factibilidad hemos tomado varios puntos en consideración:

Los recursos tecnológicos a utilizar en el aplicativo, no requieren

de mayores características físicas para su implementación, por lo que las

empresas no tendrán que preocuparse de actualizar sus equipos o

adquirir tecnología de punta.

Nuestro aplicativo es compatibles con cualquier interfaz de

software, ya que normalmente funciona en cualquier navegador

independientemente de la plataforma.

Al implementar una solución para una organización normalmente

se dará una capacitación técnica de gestión y administración al personal

que sea designado para dicho proyecto. Este personal no requerirá de

mayores conocimientos avanzados ya que la aplicación no lo exige

debido a la facilidad de su uso.

1.15. Cronograma de actividades.

A medida que se desarrolla la aplicación se presentarán cambios en el

cronograma que estarán reflejados en la sección anexos.

Page 28: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 2

2. ANÁLISIS

2.1. Levantamiento de información

Al realizar el estudio de campo acerca del uso e

importancia de la documentación en las

empresas, nos pudimos dar cuenta que muchas

empresas en el país no cuentan con un sistema

de administración de documentos; Y las pocas

que lo tienen cancelan un costo elevado por

licenciamientos.

Page 29: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

24

Según nuestra investigación el proceso normal de la administración de

documentos en las organizaciones parte cuando un documento es

creado; primeramente es revisado por la persona encargada luego es

enviado al departamento de destino; si es en la misma empresa esto

se lleva personalmente lo que causa malestar en los empleados por el

motivo de falta de tiempo para terminar sus actividades diarias y si el

destinatario esta fuera de la empresa esto se hace mediante un

mensajero lo cual genera un gasto adicional a la empresa.

Dentro de una encuesta realizada a personas que laboran en

diferentes compañías se obtuvo los siguientes resultados:

√ El 80 % de los encuestados preferirían una oficina sin papeles, es

decir, más de la mitad de los encuestados están de acuerdo en

reducir al máximo los papeles en la oficina lo cual apertura un

nicho de mercado para nuestro sistema.

√ El 90% de los encuestados han manejado algún navegador de

Internet. Es decir, que no sería algo nuevo usar un navegador

para el ingreso al sistema.

Page 30: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

25

√ Al preguntarles que dieran un costo aproximado acerca del valor

de un software con las características que nosotros ofrecemos los

entrevistados dieron costos muy elevados por lo que tenemos

muchas oportunidades de venderlo a un costo accesible.

2.2. Análisis de requerimientos

Los requerimientos parten desde que se ha creado el documento o

archivo, para lo cual es necesario el uso de papel asociado a imprimir

fotocopiar y archivar el documento lo cual genera un gasto a la

empresa, asimismo se necesita tiempo para buscar los documentos y

en caso de que fueran extraviados se necesita de más tiempo, para

volverlos a generar. La acumulación de documentos en los

archivadores ocupa espacios valiosos en las oficinas, mismos

espacios que pudieran ser mejor utilizados.

Nuestro sistema permitirá automatizar este proceso tedioso, como es

la administración de la documentación en una empresa, el usuario

podrá acceder al sistema con sólo su usuario y clave, el podrá subir y

enviar en la intranet un documento a cuantas personas se requiera, y

estas lo recibirán en tiempo real lo cual ahorra tiempo para la empresa

que hoy en día no es posible cuantificar.

Page 31: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

26

Adicionalmente permite la conservación del documento y su

búsqueda de manera rápida, genera reportes de manera eficaz y

sumamente sencilla, muy fácil de manejar para usuarios principiantes,

avanzados y expertos en manejos de sistemas ya que cuenta con una

GUI muy amigable al usuario.

2.3. Análisis de riesgos

Uno de los riesgos a los que nos podemos enfrentar es el surgimiento

de nuevos requerimientos, es decir, una vez que vayamos

desarrollando el programa, nos demos cuenta que necesitamos

módulos adicionales lo que conllevaría a crear nuevos módulos e

integrarlos a última hora, por consiguiente nos faltaría tiempo para

desarrollar estos requerimientos. Esto se evitaría haciendo un buen

análisis de los requerimientos.

Otro riesgo es la falla total o parcial de los equipos que hemos

destinado para el desarrollo de nuestro sistema; ya que retrasaría en

gran manera el avance del proyecto. Este caso se podría evitar

teniendo protegido los equipos en todos los aspectos seguridades de

fallas eléctricas, mantenimiento a PC, etc.

Page 32: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

27

2.4. Diagrama entidad relación

El Diagrama Entidad Relación de nuestro proyecto permite visualizar

la manera en que estará almacenada la información en la base de

datos; además muestra los atributos de las entidades (objetos), y

como estas están relacionadas dentro del sistema.

A continuación se detalla el diagrama:

DER

Figura 1.2 Diagrama Entidad Relación

Page 33: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

28

2.5. Diagrama de flujo de procesos

2.5.1. Flujo de procesos:

En el diagrama de flujo de procesos mostramos la secuencia de

pasos, entradas y salidas de todos los procesos involucrados en

el sistema. Entre los múltiples procesos tenemos el ingreso,

registro, del usuario administrador y usuario cliente, consulta,

eliminación y modificación del documento, tal como se muestra

a continuación:

2.5.2. Procesos utilizados en la Intranet

2.5.2.1. Proceso del usuario Administrador:

Ingreso a la Intranet.

Consultar.

Sacar reportes.

Imprimir reportes.

Crear usuario.

Eliminar usuario.

Actualizar usuario.

Subir documentos.

Eliminar documentos.

Cambiar estatus del documento.

Page 34: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

29

Usuario valido

Administrador

Ingreso a la

Intranet

Si

No Error de login

Menu de

Opciones

Administración

de usuarios

Opciones

de usuario

Crear usuario

Actualizar

usuario

Eliminar

usuario

Administración

de

documentos

Opciones de

documentos

Subir

documento

Cambiar

estatus

Eliminar

documento

Sacar

Reportes

Imprimir

Consultar

Fin

Fin

Fin

Fin

Figura 1.3 Proceso Usuario Administrador

Page 35: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

30

2.5.2.2. Proceso de usuario Cliente:

Ingreso a la Intranet.

Consultar.

Sacar reportes.

Imprimir reportes.

Subir documentos.

Eliminar documentos.

Cambiar estatus del documento.

Page 36: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

31

Usuario valido

Cliente

Ingreso a la

Intranet

Si

No Error de login

Menu de

Opciones

Administración

de

documentos

Opciones de

documentos

Subir

documento

Cambiar

estatus

Eliminar

documento

Sacar

Reportes

Imprimir

Consultar

Fin

Fin

Fin

Figura 1.4 Proceso Usuario no Administrador

Page 37: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

32

2.6. Diagrama de casos de usos

El Diagrama de Casos de Uso es la representación gráfica del

comportamiento de nuestra Intranet y muestra como esta es vista y

utilizada por los usuarios.

2.6.1. Caso de uso 1:

Ingresar a la Intranet (Usuario Administrador)

Primer nivel:

Ingresar a la Intranet

Administrar Usuarios

Administrar

Documentos

Sacar Reportes

Consultar

Usuario Administrador

Page 38: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

33

Segundo nivel:

Aceptar Usuario

Ingresar a la Intranet

Rechazar Usuario

Actualizar UsuarioAdministrar Usuario

Crear Usuario

Eliminar Usuario

Eliminar DocumentoAdministrar

Documentos

Subir Documento

Cambiar Estatus

Reportes Imprimir

Page 39: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

34

Descripción de casos de uso 1

Primer nivel:

Nombre: Ingresar a la Intranet

Actores: Usuario del Sistema (Administrador)

Función: Permitir el ingreso a la Intranet

Descripción: El usuario Administrador ingresa al sistema

luego de haberse autenticado como tal, los

datos requeridos serán los siguientes:

1. Ingreso del nombre de usuario.

2. Ingreso de la clave.

Tabla 1.1 Ingresar a la Intranet

Nombre: Administrar Usuario

Actores: Usuario del Sistema (Administrador)

Función: Permitir el acceso al módulo de usuarios

Descripción: El usuario Administrador puede realizar las

siguientes tareas:

1. Creación de un nuevo usuario.

2. Actualizar los datos de un usuario existente.

3. Eliminar un usuario existente.

Tabla 1.2 Administrar Usuario

Page 40: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

35

Nombre: Administrar Documentos

Actores: Usuario del Sistema (Administrador)

Función: Permitir el acceso al módulo de documentos.

Descripción: El usuario Administrador puede realizar las

siguientes tareas:

1. Subir un nuevo documento.

2. Eliminar un documento existente.

3. Cambiar el estatus de un documento

existente.

Tabla 1.3 Administrar Documentos

Nombre: Consultar

Actores: Usuario del Sistema (Administrador)

Función: Permitir el acceso al módulo de consultas.

Descripción: El usuario Administrador tiene acceso a la

búsqueda de documentos según los criterios

definidos:

1. Por fecha.

2. Por tipo.

3. Por tamaño.

4. Por nombre.

5. Por estatus.

6. Por quien lo publica.

Tabla 1.4 Consultar

Page 41: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

36

Nombre: Reportes

Actores: Usuario del Sistema (Administrador)

Función: Permitir el acceso al módulo de reportes.

Descripción: El usuario Administrador tiene acceso a la

creación de reportes de documentos según

los criterios definidos:

1. Por cantidad diaria.

2. Por cantidad semanal.

3. Por quienes leyeron.

4. Por quienes lo publican.

5. Por estatus.

6. Personalizados utilizando filtros.

Tabla 1.5 Reportes

Segundo nivel:

Nombre: Rechazar usuario

Actores: Usuario del Sistema (Administrador)

Función: Autenticación del usuario

Descripción: Si el usuario Administrador ingresa

incorrectamente el nombre de usuario o la

clave, el sistema rechazará la petición de

acceso a la página.

Tabla 1.6 Rechazar Usuario

Page 42: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

37

Nombre: Aceptar usuario

Actores: Usuario del Sistema (Administrador)

Función: Autenticación del usuario

Descripción: Si el usuario Administrador ingresa

correctamente el nombre de usuario y la

clave, el sistema aceptará la petición de

acceso a la página.

Tabla 1.7 Aceptar Usuario

Nombre: Crear usuario

Actores: Usuario del Sistema (Administrador)

Función: Crear nuevo usuario

Descripción: El usuario Administrador puede crear una

nueva cuenta de usuario.

Tabla 1.8 Crear Usuario

Nombre: Actualizar usuario

Actores: Usuario del Sistema (Administrador)

Función: Actualizar usuario

Descripción: El usuario Administrador puede actualizar los

datos de una cuenta de usuario existente.

Tabla 1.9 Actualizar Usuario

Page 43: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

38

Nombre: Eliminar usuario

Actores: Usuario del Sistema (Administrador)

Función: Eliminar usuario

Descripción: El usuario Administrador puede eliminar una

cuenta de usuario existente.

Tabla 1.10 Eliminar Usuario

Nombre: Subir documento

Actores: Usuario del Sistema (Administrador)

Función: Subir documento

Descripción: El usuario Administrador puede publicar un

nuevo documento en la Intranet.

Tabla 1.11 Subir Documento

Nombre: Eliminar documento

Actores: Usuario del Sistema (Administrador)

Función: Eliminar documento

Descripción: El usuario Administrador puede eliminar un

documento que haya sido publicado en la

Intranet.

Tabla 1.12 Eliminar Documento

Page 44: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

39

Nombre: Cambiar estatus

Actores: Usuario del Sistema (Administrador)

Función: Cambiar el estatus del documento

Descripción: El usuario Administrador puede cambiar el

estatus de un documento que haya sido

publicado en la Intranet.

El estatus del documento puede ser:

1. Activo, el documento está habilitado para la

lectura, descarga y consulta.

2. Inactivo, el documento no está habilitado

para la lectura, descarga o consulta.

Tabla 1.13 Cambiar Estatus

Nombre: Imprimir

Actores: Usuario del Sistema (Administrador)

Función: Imprimir reporte

Descripción: El usuario Administrador puede acceder al

módulo de impresión, al cual es llevado luego

de obtener los reportes.

Tabla 1.14 Imprimir

Page 45: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

40

2.6.2. Caso de uso 2:

Ingresar a la Intranet (Usuario Cliente)

Primer nivel:

Ingresar a la Intranet

Administrar

Documentos

Sacar Reportes

ConsultarUsuario Cliente

Page 46: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

41

Segundo nivel:

Rechazar Usuario

Ingresar a la Intranet

Rechazar Usuario

Eliminar DocumentoAdministrar

Documentos

Subir Documento

Cambiar Estatus

Eliminar DocumentoAdministrar

Documentos

Subir Documento

Cambiar Estatus

Reportes Imprimir

Page 47: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

42

Descripción de casos de uso 2:

Primer nivel:

Nombre: Ingresar a la Intranet

Actores: Usuario del Sistema (Cliente)

Función: Permitir el ingreso a la Intranet

Descripción: El usuario Cliente ingresa al sistema luego de

haberse autenticado como tal, los datos

requeridos serán los siguientes:

1. Ingreso del nombre de usuario.

2. Ingreso de la clave.

Tabla 2.1 Ingresar a la Intranet

Nombre: Administrar Documentos

Actores: Usuario del Sistema (Cliente)

Función: Permitir el acceso al módulo de documentos.

Descripción: El usuario Cliente puede realizar las

siguientes tareas:

1. Subir un nuevo documento.

2. Eliminar un documento existente.

3. Cambiar el estatus de un documento

existente.

Tabla 2.2 Administrar Documentos

Page 48: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

43

Nombre: Consultar

Actores: Usuario del Sistema (Cliente)

Función: Permitir el acceso al módulo de consultas.

Descripción: El usuario Cliente tiene acceso a la búsqueda

de documentos según los criterios definidos:

1. Por fecha.

2. Por tipo.

3. Por tamaño.

4. Por nombre.

5. Por estatus.

6. Por quien lo publica.

Tabla 2.3 Consultar

Nombre: Reportes

Actores: Usuario del Sistema (Cliente)

Función: Permitir el acceso al módulo de reportes.

Descripción: El usuario Cliente tiene acceso a la creación

de reportes de documentos según los criterios

definidos:

1. Por cantidad diaria.

2. Por cantidad semanal.

3. Por quienes leyeron.

4. Por quienes lo publican.

5. Por estatus.

6. Personalizados utilizando filtros.

Tabla 2.4 Reportes

Page 49: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

44

Segundo nivel:

Nombre: Rechazar usuario

Actores: Usuario del Sistema (Cliente)

Función: Autenticación del usuario

Descripción: Si el Cliente ingresa incorrectamente el

nombre de usuario o la clave, el sistema

rechazará la petición de acceso a la página.

Tabla 2.5 Rechazar Usuario

Nombre: Aceptar usuario

Actores: Usuario del Sistema (Cliente)

Función: Autenticación del usuario

Descripción: Si el Cliente ingresa correctamente el nombre

de usuario y la clave, el sistema aceptará la

petición de acceso a la página.

Tabla 2.6 Aceptar Usuario

Page 50: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

45

Nombre: Subir documento

Actores: Usuario del Sistema (Cliente)

Función: Subir documento

Descripción: El usuario Cliente puede publicar un nuevo

documento en la Intranet.

Tabla 2.7 Subir Documento

Nombre: Eliminar documento

Actores: Usuario del Sistema (Cliente)

Función: Eliminar documento

Descripción: El usuario Cliente puede eliminar un

documento que haya sido publicado en la

Intranet.

Tabla 2.8 Eliminar Documento

Page 51: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

46

Nombre: Cambiar estatus

Actores: Usuario del Sistema (Cliente)

Función: Cambiar el estatus del documento

Descripción: El usuario Cliente puede cambiar el estatus

de un documento que haya sido publicado en

la Intranet.

El estatus del documento puede ser:

1. Activo, el documento está habilitado para la

lectura, descarga y consulta.

2. Inactivo, el documento no está habilitado

para la lectura, descarga o consulta.

Tabla 2.9 Cambiar Estatus

Nombre: Imprimir

Actores: Usuario del Sistema (Cliente)

Función: Imprimir reporte

Descripción: El usuario Cliente puede acceder al módulo

de impresión, al cual es llevado luego de

obtener los reportes.

Tabla 2.10 Imprimir

Page 52: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 3

3.DISEÑO

3.1 Definición y objetivos

El diseño del sistema define los procesos con

sus respectivos detalles para permitir su

interpretación, comprensión y desarrollo en

cualquier momento y por cualquier profesional.

Page 53: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

48

Esta etapa busca la optimización del sistema tratando de hacerlo lo más

amigable y eficiente posible.

3.2 Diseño del sistema

El proceso de Diseño del Sistema es la definición de la arquitectura del

sistema y del entorno tecnológico que se va a utilizar, con la especificación

detallada de los componentes del sistema de información.

El sistema contará con tres módulos que permiten la administración y el uso

de la aplicación, estos son los siguientes:

Módulo de Administración.

Módulo de Manejo de Documentos.

Módulo de Reportes.

3.2.1 Módulo de administración.

Este módulo permite la administración de las cuentas de usuarios,

departamentos, roles o privilegios y cambio de claves de usuarios.

3.2.2 Módulo de manejo de documentos.

Este módulo permite la manipulación de los archivos, es decir, desde aquí

podrá enviar, recibir, visualizar, subir y descargar archivos de tipos

permitidos.

Page 54: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

49

3.2.3 Módulo de reportes

Este módulo permite la creación de reportes bajo criterios predefinidos, estos

pueden ser exportados a formatos MSExcel y PDF para luego imprimirlos.

3.3 Estructura de la base de datos

Diagrama Entidad Relación (DER)

Figura 3.3.1 Diagrama Entidad Relación

Page 55: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

50

Tabla useratto (USUARIO)

Figura 3.3.2 Tabla Useratto

Page 56: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

51

Detalle de la tabla useratto

Nombre del campo Clave Tipo de dato Descripción

id pk serial Identificador de la tabla.

lastmodified x timestamp Fecha de creación o modificación

deleted x boolean Indica si el usuario ha sido eliminado o no.

enable x boolean Indica si el usuario está habilitado o no.

username x varchar Contiene el nombre de inicio de sesión.

password x varchar Contiene la clave que permite iniciar sesión en el sistema.

name x varchar Contiene el apellido del usuario.

firstname x varchar Contiene el nombre del usuario.

street x varchar Contiene la dirección del usuario.

postalcode x varchar Contiene el código postal del usuario.

city x varchar Contiene la ciudad del usuario.

country x varchar Contiene el país del usuario.

state x varchar Contiene el estado del usuario.

language x varchar Contiene el idioma del usuario.

email x varchar Contiene la dirección de correo del usuario.

telephone x varchar Contiene el teléfono del usuario.

telephone2 x varchar Contiene el teléfono del usuario.

type x integer Contiene el tipo de usuario.

passwordchanged x timestamp Contiene la fecha de expiración de la clave

passwordexpires x boolean Indica si la clave del usuario expira o no.

privilegeid fk integer Contiene el identificador de privilegio del usuario.

departmentid fk integer Contiene el identificador del departamento al que pertenece el usuario.

creatorid x numeric Contiene el identificador del usuario que lo creó.

rol x varchar Específica que tipo de privilegio tiene el usuario

Tabla 3.3.2 Detalle de la Tabla Useratto

Page 57: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

52

Tabla department (DEPARTAMENTO)

Figura 3.3.3 Tabla Department

Detalle de la tabla department

Nombre del campo Clave Tipo de dato Descripción

id pk serial Identificador de la tabla.

lastmodified x timestamp Fecha de creación o modificación

name x varchar Contiene el nombre del departamento.

description x varchar Contiene la descripción del departamento.

userid x varchar Contiene el identificador del usuario que pertenece a ese departamento.

Tabla 3.3.3 Detalle de la Tabla Department

Page 58: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

53

Tabla document (DOCUMENTO)

Figura 3.3.4 Tabla Document

Detalle de la tabla document

Nombre del campo Clave Tipo de dato Descripción

id pk serial Identificador de la tabla.

lastmodified x timestamp Fecha de creación o modificación

title x varchar Contiene el nombre del documento

creationdate x timestamp Contiene la fecha en la que es enviado.

creator x varchar Contiene el nombre del usuario que envía el documento.

creatorid fk integer Contiene identificador del usuario al que se le envió el documento.

status x integer Indica el estatus del documento, si este está activo o no.

Page 59: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

54

lockuserid x numeric Indica si el usuario está permitido para descargar el documento.

filename x varchar Contiene el nombre del archivo.

filesize x varchar Contiene el tamaño del archivo

path x varchar Contiene la dirección del archivo.

users x varchar Contiene los usuarios que recibieron el documento.

rootid x numeric Contiene el estado del usuario.

contentype x varchar Indica el tipo de archivo (extensión).

interval x numeric Indica si ha expirado el tiempo de vida del archivo.

borrado x numeric Indica si el archivo ha sido eliminado o no.

Tabla 3.3.4 Detalle de la Tabla Document

Page 60: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

55

Tabla privilege (PRIVILEGIO)

Figura 3.3.5 Tabla Privilege

Detalle de la tabla privilege

Nombre del campo Clave Tipo de dato Descripción

id Pk Serial Identificador de la tabla.

name X Varchar Nombre del privilegio.

reportdocu X Boolean Indica si tiene o no privilegios sobre los reportes.

configuration X Boolean Indica si tiene o no privilegios sobre la configuración.

document X Boolean Indica si tiene o no privilegios sobre los documentos.

description X Varchar Contiene la descripción del privilegio.

Tabla 3.3.5 Detalle de la Tabla Privilege

Page 61: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

56

Tabla directory (DIRECTORIOS)

Figura 3.3.6 Tabla Directory

Detalle de la tabla directory

Nombre del campo Clave Tipo de dato Descripción

id pk serial Identificador de la tabla.

userid fk integer Contiene el id del usuario propietario.

rootfather x numeric Contiene la ruta de su nivel superior.

label x varchar Contiene el nombre o etiqueta del directorio.

docid x numeric Contiene el identificador del documento allí almacenado.

Tabla 3.3.6 Detalle de la Tabla Directory

Page 62: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

57

Tabla audit (AUDITORIA)

Figura 3.3.7 Tabla Audit

Detalle de la tabla audit

Nombre del campo Clave Tipo de dato Descripción

id pk serial Identificador de la tabla.

date x date Contiene la fecha del evento.

userid x numeric Contiene el identificador del usuario.

docid x numeric Contiene el identificador del documento.

transaction x varchar Contiene el identificador del evento.

Tabla 3.3.7 Detalle de la Tabla Audit

Page 63: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

58

3.4 Diseño a nivel de componentes

3.4.1 Proceso autenticación

Inicio

Base

Postgres?

Página de Inicio

Si

Fin

No

Ingresar Usuario

Y Contraseña

Datos

Correctos?

No

Si

Postgres AD

Figura 3.4.1 Proceso Autenticación

Page 64: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

59

3.4.2 Proceso enviar documento

Inicio

Adjuntar

Documento

Validar

Documento

Docuemento

Válido?

Seleccionar

Usuarios

No

Si

Enviar

Documentos

Fin

Figura 3.4.2 Proceso de Envío de Documento

Page 65: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

60

3.4.3 Proceso de consultas

Inicio

Fin

Ingresar Criterio de

Búsqueda

Postgres

Mostrar Datos

Figura 3.4.3 Proceso de Consultas

Page 66: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

61

3.4.4 Proceso de cambio de clave

Inicio

Fin

Ingresar Clave Vieja

Ingresar Clave

Nueva

Confirmar Clave

Nueva

Base

Ppostgres?

Opción

Deshabilitada

Datos

Correctos?

Cambio

Exitoso

Si

No

Validar Clave

Figura 3.4.4 Proceso de Consultas

Page 67: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

62

3.5 Diseño de interfaz

En esta sección observaremos las principales pantallas del sistema que

permiten el acceso a las diferentes opciones de la aplicación.

3.5.1 Inicio de sesión

Esta pantalla permite que un usuario inicie sesión en la aplicación. Es

requerido el ingreso del nombre de usuario y contraseña, estos datos son los

que le proporcionan el acceso al sistema, si este es erróneo aparecerán

mensajes indicándole el posible error. Si olvida su clave puede solicitarla

mediante la opción de recordatorio, su clave llegará a su buzón de correo.

Figura 3.5.1 Inicio de Sesión

Page 68: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

63

3.5.2 Menú rol administrador

Los usuarios con roles de administrador tienen acceso a todas las

opciones del menú de administración, ellos pueden crear, modificar y

eliminar usuarios, roles y departamentos, también pueden resetear la

contraseña de algún usuario que así lo solicite, esto siempre y cuando

sea un ambiente de Grupo de Trabajo. Para los ambientes de Directorio

Activo el módulo de administración no estará disponible.

Pueden enviar, recibir archivos y realizar consultas a la base.

Figura 3.5.2a. Menú del Rol Administrador

Page 69: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

64

Figura 3.5.2b. Menú del Rol Administrador

3.5.3 Menú rol estándar

Los usuarios con roles estándar tienen acceso a todas las opciones del

sistema excepto al menú de administración donde solo podrán cambiar su

clave, esto siempre y cuando sea un ambiente de Grupo de Trabajo. Para los

ambientes de Directorio Activo el módulo de administración no estará

disponible.

Pueden enviar, recibir archivos y realizar consultas a la base.

Figura 3.5.3. Menú del Rol Estándar

Page 70: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

65

3.5.4 Menú del rol invitado

Los usuarios con roles de invitado pueden sólo recibir archivos,

visualizarlos más no descargarlos, también pueden realizar consultas y

están habilitados para cambiar su clave, esto siempre y cuando sea un

ambiente de Grupo de Trabajo. Para los ambientes de Directorio Activo

el módulo de administración no estará disponible.

Figura 3.5.4. Menú del Rol Invitado

Page 71: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 4

4.DESARROLLO DEL

SOFTWARE

4.1. Antecedente

Para el desarrollo de esta herramienta

dividimos la herramienta por módulos

según la importancia de cada uno y se

realizaron las pruebas pertinentes para

corregir errores y mejorar el

funcionamiento y hacerlo mas amigable.

Page 72: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

67

4.2 Procesos Principales

Hemos utilizado herramientas que nos permitió el desarrollo de la aplicación,

algunas de estas son gratuitas y pueden ser descargadas desde la página

del fabricante, tales como: base de datos PostgresSQL

(www.postgresql.org/download/windows), herramienta de desarrollo MyEclipse 7.5

(http://www.myeclipseide.com/index.php?name=Downloads&req=viewsdownload&sid=31),

Java JDK 1.6 (http://java.sun.com/javase/downloads/netbeans.html), y servidor de

aplicación Tomcat 6 (tomcat.apache.org/)

Se utilizaron librerías necesarias para que se ejecuten los componentes de

los frameworks utilizados para la integración con la aplicación, dichas

librerías son provistas en la página del fabricante.

Page 73: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

68

4.3 C L A S E S

4.3.1 Clase “SessionManagement”

Esta clase tiene la función de administrar las sesiones o conexiones,

verifica que una sesión sea válida.

4.3.2 Clase “EMail”

Esta clase administra el objeto que entrega el mensaje de correo al

destinatario.

4.3.3 Clase “EMailSender”

Esta clase contiene la configuración del usuario y equipo remitente del

mensaje, utiliza el protocolo SMTP (puerto 25) para el envío del

correo.

4.3.4 Clase “Message”

Esta es la clase padre del sistema de envío de mensajes.

4.3.5 Clase “Recipient”

Esta clase administra los objetos identificados como destinatarios del

mensaje de correo.

Page 74: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

69

4.3.6 Clase “PDFExport”

Esta clase permite exportar los datos a un formato PDF.

4.3.7 Clase “Audit”

Esta clase mapea la tabla audit de la base de datos Postgres y la

convierte en código.

4.3.8 Clase “AuditDAO”

Esta clase realiza la conexión de la clase Audit con la base de datos.

4.3.9 Clase “Department”

Esta clase mapea la tabla department de la base de datos Postgres y

la convierte en código.

4.3.10 Clase “DepartmentDAO”

Esta clase realiza la conexión de la clase department con la base de

datos.

4.3.11 Clase “Directory”

Esta clase realiza la conexión con la base de datos y la convierte en

código.

Page 75: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

70

4.3.12 Clase “DirectoryDAO”

Esta clase realiza la conexión de la clase directory con la base de

datos.

4.3.13 Clase “Document”

Esta clase realiza la conexión con la base de datos y la convierte en

código.

4.3.14 Clase “DocumentDAO”

Esta clase realiza la conexión de la clase document con la base de

datos.

4.3.15 Clase “EntitiyManagerHelper”

Esta clase es la de persistencia, se crea automáticamente cuando se

mapea con hibernate.

4.3.16 Clase “IAuditDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Auditoría que no han sido almacenados aún.

Page 76: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

71

4.3.17 Clase “IDepartamentDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Departamento que no han sido almacenados aún.

4.3.18 Clase “IDirectoryDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Directory que no han sido almacenados aún.

4.3.19 Clase “IDocumentDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Documento que no han sido almacenados aún.

4.3.20 Clase “IPrivilegeDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Privilege que no han sido almacenados aún.

4.3.21 Clase “IUserattoDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Usuario que no han sido almacenados aún.

Page 77: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

72

4.3.22 Clase “Privilege”

Esta clase realiza la conexión con la base de datos y la convierte en

código.

4.3.23 Clase “PrivilegeDAO”

Esta clase realiza la conexión de la clase privilege con la base de

datos.

4.3.24 Clase “IPrivilegeDAO”

Esta clase realiza o maneja un almacenamiento inicial de los objetos

de la tabla Privilege que no han sido almacenados aún.

4.3.25 Clase “UserAtto”

Esta clase realiza un mapeo a la base de datos y la convirte en código.

4.3.26 Clase “UserAttoDao”

Esta clase realiza la conexión de la clase useratto con la base de

datos.

4.3.27 Clase “DownLoadManager”

Esta clase realiza el control del proceso de descarga de los archivos.

Page 78: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

73

4.3.28 Clase “LDAP”

Esta clase permite la conexión de la aplicación contra el Active

Directory de Microsoft.

4.3.29 Clase “LoginManager”

Esta clase controla el proceso de inicio de sesión contra el Active

Directory o contra la base Postgres.

4.3.30 Clase “DocumentManager”

Esta clase administra el estado de los documentos PDF, es la

encargada de cargar el documentos en la lista histórica.

4.3.31 Clase “DocumentState”

Esta clase controla el estado de los documentos, si esta activo o

inactivo.

4.3.32 Clase “InputFileSessionCleaner”

Esta clase limpia la sesión después de cargar un documento, para que

la información desplegada se real.

4.3.33 Clase “PdfRenderer”

Esta clase controla la visulización del archivo PDF.

Page 79: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

74

4.3.34 Clase “BaseBean”

Esta es la clase principal de conexión con la base de datos.

4.3.35 Clase “DataPage”

Esta clase realiza el pagineo del grid una vez que no puede mostrar

más páginas por consola.

4.3.36 Clase “DepartamentBean”

Esta es una clase tipo bean reutilizable para los objetos de tipo

departamento.

4.3.37 Clase “DepartamentManager”

Esta clase controla la administración de los departamentos.

4.3.38 Clase “DocumentBean”

Esta es una clase tipo bean reutilizable para los objetos de tipo

documento.

4.3.39 Clase “DocumentList”

Esta clase es la utilizada para la consulta de todos los objetos tipo

archivos o documentos.

Page 80: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

75

4.3.40 Clase “DocumentManager”

Esta clase realiza la administración de los objetos tipo documento.

4.3.41 Clase “DocumentReceive”

Esta clase es la que realiza la operación de recepción de archivos.

4.3.42 Clase “NavigationManager”

Esta clase es la que administra la navegación, hace el redirect a las

páginas jspx, las cuales crean la interface para el usuario.

4.3.43 Clase “PrivilegeManager”

Esta clase administa los objetos tipo privilegio.

4.3.44 Clase “PrivilegeList”

Esta clase devuelve la lista de los objetos tipo privilegio.

4.3.45 Clase “PrivilegeBean”

Esta es una clase tipo bean reutilizable para los objetos de tipo

privilegio.

4.3.46 Clase “InputFileController”

Esta clase es la que controla la operaciones de carga de archivos.

Page 81: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

76

4.3.47 Clase “InputFileData”

Esta clase es la encargada de subir los archivos .

4.3.48 Clase “InputFileSessionCleaner”

Esta clase es la que se encarga de limpiar o matar las sesiones

después de cargar un documento .

4.3.49 Clase “UserBean”

Esta es una clase tipo bean reutilizable para los objetos de tipo

usuarios.

4.3.50 Clase “UserManager”

Esta clase es la encargada de la administracion de los objetos

usuarios.

4.3.51 Clase “FacesUtils”

Esta clase es utilizada para cargar algunos objetos del componente

IFaces.

4.3.52 Clase “PasswordHash”

Esta clase es utilizada para encriptar la clave del usuario.

Page 82: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 5

CONCLUSIONES Y

RECOMENDACIONES

5.1 Conclusiones

La Herramienta tiene el fin de realizar el seguimiento a

los documentos de los diferentes usuarios en una

organización que posean base de datos Postgres, un

navegador de internet y un servidor con my eclipse

donde este levantada la aplicación

Page 83: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

78

5.2 Recomendación Es recomendable trabajar con Internet Explorer versión 8.0 o con Mozilla

Firefox versión 2.0 o superior, para que no presente ningún inconveniente en

la actualización de los datos.

La herramienta debe ser instalada en un File Server con suficiente espacio

para almacenar los archivos.

Utilizar las últimas versiones de las herramientas de desarrollo como lo son

My Eclipse 7.5, PostgreSQL 8.3 y Tomcat 6, ya que en el proyecto se

utilizan diferentes Frameworks de terceros que no se ejecutarían

correctamente con versiones anteriores a las ya mencionadas.

Page 84: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

BIBLIOGRAFÍA Para la elaboración de nuestro proyecto nos basamos en información tomada

desde la Internet de la cual se adjuntan los enlaces.

Websites:

http://www.logicaldoc.com/cmsPublic/-/websitelogicaldoc/en.html

http://www.icefaces.org/main/home/

http://primefaces.prime.com.tr/en/

http://jwebmail.sourceforge.net/

http://www.archivospc.com/c/1340/p1/Administradores+de+Documentos.php

Page 85: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

GLOSARIO Aplicación (Informática): Es un tipo de programa informático diseñado como

herramienta para permitir a un usuario realizar un o diversos tipos de trabajos

Codificación: Acción de codificar, es decir, de transformar un contenido a un

código.

Correo electrónico: O en inglés e-mail (electronic mail), es un servicio de red que

permite a los usuarios enviar y recibir mensajes rápidamente (también

denominados mensajes electrónicos o cartas electrónicas) mediante sistemas de

comunicación electrónicos.

DHCP: (sigla en inglés de Dynamic Host Configuration Protocol - Protocolo

Configuración Dinámica de Servidor) es un protocolo de red que permite a los

nodos de una red IP obtener sus parámetros de configuración automáticamente.

Digital (documento): Referente almacenamiento en una computadora de un tipo

de archivo.

DNS: El sistema global de DNS fue creado se encarga de traducir los nombres

desde una dirección IP como por ejemplo 200.36.127.40 a un nombre de dominio

como por ejemplo web.uservers.net.

Dominio: Es un conjunto de ordenadores conectados en una red que confían a

uno de los equipos de dicha red la administración de los usuarios y los privilegios

que cada uno de los usuarios tiene en dicha red.

GUI: La interfaz gráfica de usuario (en Idioma inglés Graphical User Interface,

Page 86: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y

objetos gráficos para representar la información y acciones disponibles en la

interfaz. Habitualmente las acciones se realizan mediante manipulación directa

para facilitar la interacción del usuario con la computadora.

Hardware: Corresponde a todas las partes físicas y tangibles de una

computadora: sus componentes eléctricos, electrónicos, electromecánicos y

mecánicos; sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro

elemento físico involucrado;

Html: Siglas de HyperText Markup Language (Lenguaje de Marcas de Hipertexto),

es el lenguaje de marcado predominante para la construcción de páginas web. Es

usado para describir la estructura y el contenido en forma de texto, así como para

complementar el texto con objetos tales como imágenes.

Informática: Conjunto de conocimientos científicos y técnicas que hacen posible

el tratamiento automático de la información por medio de ordenadores.

Interfaz: La interfaz de usuario es el medio con que el usuario puede comunicarse

con una máquina, un equipo o una computadora, y comprende todos los puntos de

contacto entre el usuario y el equipo, normalmente suelen ser fáciles de entender

y fáciles de accionar.

Internet: Es un conjunto descentralizado de redes de comunicación

interconectadas, que utilizan la familia de protocolos TCP/IP, garantizando que las

redes físicas heterogéneas que la componen funcionen como una red lógica única,

de alcance mundial.

Intranet: Una Intranet es una red de ordenadores privados que utiliza tecnología

Internet para compartir de forma segura cualquier información o programa del

sistema operativo para evitar que cualquier usuario de Internet pueda ingresar.

Page 87: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

IP: Un protocolo usado para la comunicación de datos a través de una red.

Jsp: JavaServer Pages (JSP) es una tecnología Java que permite generar

contenido dinámico para web, en forma de documentos HTML, XML o de otro tipo.

LDAP: (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a

Directorios) es un protocolo a nivel de aplicación que permite el acceso a un

servicio de directorio ordenado y distribuido para buscar diversa información en un

entorno de red. LDAP también es considerado una base de datos (aunque su

sistema de almacenamiento puede ser diferente) a la que pueden realizarse

consultas.

Objeto: Un objeto en POO representa alguna entidad de la vida real, es decir,

alguno de los objetos que pertenecen al negocio con que estamos trabajando o al

problema con el que nos estamos enfrentando, y con los que podemos interactuar.

Plataformas: En informática, una plataforma es precisamente el principio, en el

cual se constituye un hardware, sobre el cual un software puede

ejecutarse/desarrollarse.

Procedimiento: En computación, una subrutina o subprograma (también llamada

procedimiento, función o rutina), como idea general, se presenta como un

subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una

tarea específica.

Programa: Secuencia de instrucciones que una computadora puede interpretar y

ejecutar.

Redes: Una red de computadoras, también llamada red de ordenadores o red

informática, es un conjunto de equipos (computadoras y/o dispositivos)

Page 88: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

conectados por medio de cables, señales, ondas o cualquier otro método de

transporte de datos, que comparten información (archivos), recursos (CD-ROM,

impresoras, etc.) y servicios (acceso a internet, e-mail, chat, juegos), etc.

Registros: Un ítem único con datos estructurados en una tabla de base de datos.

Servidor: En informática, un servidor es una computadora que, formando parte de

una red, provee servicios a otras computadoras denominadas clientes.

Sistema: Un sistema informático como todo sistema, es el conjunto de partes

interrelacionadas, hardware, software y de Recurso Humano (humanware). Un

sistema informático típico emplea una computadora que usa dispositivos

programables para capturar, almacenar y procesar datos.

SMTP: Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia

de Correo, es un protocolo de la capa de aplicación. Protocolo de red basado en

texto utilizado para el intercambio de mensajes de correo electrónico entre

computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). Está definido

en el RFC 2821 y es un estándar oficial de Internet.

Usuario: El usuario final de un producto informático (bien sea hardware o

software), es la persona a la que va destinada dicho producto una vez que ha

superado las fases de desarrollo correspondientes.

Web: Una página web: documento o fuente de información, generalmente en

formato HTML y que puede contener hiperenlaces a otras páginas web. Dicha

página web, podrá ser accesible desde un dispositivo físico, una intranet, o

Internet.

Page 89: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

ANEXOS

Page 90: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Anexo 1 1. Cronograma de actividades.

IDTa

sk Na

meDu

ration

Start

Finish

1Ela

boraci

on de

docum

ento d

e Alca

nces

8 days

?Fri

10/3/0

8Sun

10/12

/08

2Pre

sentac

ion de

l prime

rava

nce1 d

ay?Mo

n 10/1

3/08

Mon 1

0/13/0

8

3Rev

ision d

e posi

bles

cambio

s del p

rimer

9 days

?Tue

10/14

/08Thu

10/23

/08

4Ela

boraci

on del

Capitu

lo1 y

Capitu

lo 212

days?

Sat 10

/25/08

Sun 11

/9/08

5Pre

sentac

ion de

lcap

itulo 1

5 days

?Mo

n 11/1

0/08

Fri 11/

14/08

6Pre

sentac

ion de

lCap

itulo 2

12 day

s?Sat

11/15

/08Sun

11/30

/08

7Ela

boraci

on y

Presen

tacion

del

8 days

Mon 1

2/1/08

Wed 1

2/10/0

8

8Prim

era su

stenci

on6 d

ays?

Sun 12

/14/08

Fri 12/

19/08

9Ana

lisis, c

reacio

n de

base d

e dato

s yCod

ificacio

n del

proyec

to

47 day

s?Mo

n 12/2

2/08

Tue 2/2

4/09

10Seg

unda s

ustenc

ion4 d

ays?

Wed 2

/25/09

Sat 2/2

8/09

11Cod

ificacio

n del P

royect

o44

days?

Tue 3/3

/09Fri

5/1/09

12Ter

cera s

ustent

acion

6 days

?Mo

n 5/4/

09Sat

5/9/09

Thu S

ep 11

Fri O

ct 3Sa

t Oct

25Su

n Nov

16Mo

n Dec

8Tu

e Dec

30We

d Jan

21Th

u Feb

12Fri

Mar

6Sa

t Mar

28Su

n Apr

19Mo

n May

11

Page 91: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Anexo 2 2. Cronograma de actividades corregido.

Page 92: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Anexo 3

Entrevistas

Para la elaboración del proyecto nos apoyamos con las ideas de profesionales con

experiencia en el campo de la programacion y de las Intranets

Ing. Manuel Vega, Gerente de Desarrollado de Manexware.

Ing. Víctor Naranjo, Coordinador del Departamento de Consultoría

Informática de Synergy.

Ing. Danny Landi, Especialista en Sistemas Operativos de Ecuavisa.

John Vásquez, técnico consultor de Synergy.

Page 93: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

INDICE MANUAL DE USUARIO

Pág.

1. Interfaz de la herramienta................................................................ 2

2. Pantalla de inicio……………………………………………………….. 3

3. Pantalla principal………………………………………………………. 5

4. Inicio…………..………………………………………………………….. 6

4.1 Cambiar password…………………………………………………….. 7

5. Módulo de administración……………………………….…………… 8

5.1 Departamentos…………………………………………………………. 9

5.2 Usuarios…………..…………………………………………………....... 21

5.3 Rol……………………………………………………………………........ 26

6. Módulo de documentos……………………………………………...... 29

6.1 Enviados…………………………………………………………………. 29

6.2 Recibidos………………………………………………..………………. 31

6.3 Archivados…..……………………………………….…………..……… 34

6.4 Subir…………..………………………………………………………….. 35

7. Módulo de reportes…………………………….….………………....... 41

8. Ayuda………….……………..………………………………….……….. 42

Page 94: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

INDICE DE FIGURAS

Pág.

Figura 2.1 Acceso al Sistema………………………………….………… 3

Figura 2.1.2 Acceso al Sistema Mensaje……………..……………….. 4

Figura 2.1.3 Contraseña Inválida……………………..………………… 4

Figura 3.1 Pantalla Principal……….…………….…………..…….... …. 5

Figura 4.1 Inicio…………..…………………..……………..……….......... 6

Figura 4.1.1 Acceso a Cambiar Password……..…….………………. 7

Figura 4.1.2 Pantalla Principal Cambiar Password.…………..…….. 8

Figura 5.1 Ingreso Administración…….………………..………….. … 9

Figura 5.1.1 Departamentos……………..……..…………..…………… 10

Figura 5.1.2 Seleccionar Departamento…………..………………....... 11

Figura 5.1.3 Crear Departamento………….…………..…………..…… 12

Figura 5.1.4 Seleccionar un Departamento......................................... 12

Figura 5.1.5 Editar Departamento Existente………..….………..…… 13

Figura 5.1.6 Buscar Departamento……..…………..………………….. 14

Figura 5.1.7 Resultado de Búsqueda Departamento……………….. 15

Figura 5.1.8 Exportar Archivo a PDF…….………….……..………….. 16

Figura 5.1.9 Ruta donde se Almacena el Archivo PDF…………..…. 17

Figura 5.1.10 Descarga Completa……………..…………..…………… 17

Figura 5.1.11 Archivo Exportado a PDF……………….……………… 18

Figura 5.1.12 Exportar Archivo a Excel……….…………….………… 19

Figura 5.1.13 Ruta donde se Almacena el Archivo XLS….………… 20

Page 95: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

Figura 5.1.14 Descarga Completa …….…………..……..…………. …. 20

Figura 5.1.15 Archivo Exportado a XLS…………..……..………… …. 21

Figura 5.2.1 Usuarios….…………..…………..……..…………..…… …. 22

Figura 5.2.2 Pantalla Principal de Usuarios…………….………… …. 23

Figura 5.2.3 Crear Usuario……………….…………………..………. …. 24

Figura 5.2.4 Cambiar Contraseña de Usuario………..…………........ 25

Figura 5.3.1 Acceso a Rol….…………..…………..……..……………... 26

Figura 5.3.2 Pantalla Principal de Roles ……………..………………. 27

Figura 5.3.3 Búsqueda por Rol…………..…………..……..………….. 28

Figura 5.3.4 Resultado de Búsqueda Rol….…………..……..………. 28

Figura 6.1 Acceso a Documentos…….…………….……..…………… 29

Figura 6.1.1 Acceso a Enviados……………….……..………………… 30

Figura 6.1.2 Pantalla Principal Enviados……….…………………….. 30

Figura 6.2.1 Acceso a Recibidos….…………..…………..………… …. 31

Figura 6.2.2 Pantalla Principal de Recibidos ……..…………………. 32

Figura 6.2.3 Visor de PDF…………..…………..………….……………. 33

Figura 6.3.1 Acceso a Archivados….…………..………..…………. ..... 34

Figura 6.3.2 Pantalla Principal de Archivados……..………….…….. 35

Figura 6.4.1 Acceso a Subir……….…………….…………..………….. 36

Figura 6.4.2 Pantalla Principal Subir….…………..………..………. …. 36

Figura 6.4.3 Examinar……..…………..…………..………..………… …. 37

Figura 6.4.4 Carga Exitosa…………..…………..……..……………….. 38

Figura 6.4.5 Búsqueda de usuario a Enviar….…………..……........... 40

Figura 7.1 Acceso a Reportes……..…………..…………..………… …. 41

Figura 7.1.1 Usuarios que Leyeron……..…………..………..…….. …. 42

Figura 8.1 Acceso a Ayuda……..…………..…………………..………. 43

Figura 8.2 Pantalla Principal de Ayuda……..………..……………….. 43

Page 96: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

CAPÍTULO 1

MANUAL DE USUARIO

Herramienta de recepción y seguimiento

de documentos.

Esta herramienta tiene el propósito de dar

un seguimiento total y controlado de los

documentos de una empresa.

Este manual esta detallado de manera

concisa y clara para que pueda ser

entendido de manera muy fácil por el

usuario final.

Page 97: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

2

La herramienta puede ser accedida por diferentes tipos de usuarios asignados

según su rol o permiso, los mismos que deben iniciar sesión para poder

visualizar o enviar un documento, una de las características importantes del

proyecto es que los usuarios pueden ser extraídos de la base de datos utilizada

(postgres) o pueden traerse directamente del Active Directory de Microsoft.

Los tipos de usuarios son los siguientes:

Administrador

Estándar

Invitado

El usuario Administrador tendrá acceso total a todas las opciones de la

herramienta. El usuario Estándar tendrá habilitada las opciones básicas como

recibir y enviar documentos, generar reportes y cambiar su clave. El usuario

Invitado sólo podrá recibir documentos mas no enviar, generar reportes y

cambiar su clave.

1. Interfaz de la herramienta

La interfaz de las aplicaciones para el administrador y los otros tipos de

usuarios, mantienen un formato de presentación estándar, y están orientados a

sus diversas tareas.

Page 98: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

3

Por eso es importante seguir este manual paso a paso para poder interactuar

correctamente con la herramienta.

2. Pantalla de inicio

Para tener acceso a la pantalla de inicio de sesión debe abrir desde algún

navegador de internet como Internet Explorer o FireFox y conectarse a la

dirección http://nombreServidor:8080/atto. Todos los usuarios deben iniciar

sesión para poder acceder a la aplicación. Estos datos deben estar guardados

en la base de datos o en el Active Directory para que sean válidos por el

sistema.

Fig. 2.1 Acceso al Sistema

Al dejar en blanco el campo correspondiente al nombre de usuario se presenta

el siguiente mensaje.

Page 99: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

4

Fig. 2.1.2 Acceso al Sistema Mensaje

Al intentar ingresar al sistema con un usuario o contraseña no válida se

presentará el siguiente mensaje:

Fig. 2.1.3 Contraseña Inválida

Page 100: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

5

Si el usuario no recuerda su contraseña puede solicitar el recordatorio de la

clave desde la opción ¿Ha olvidado su contraseña? Y automáticamente se le

enviará un mensaje de correo a su cuenta con su respectiva clave.

3. Pantalla principal

Cuando el inicio de sesión es exitoso se presentará la pantalla principal del

sistema, esta muestra el menú de opciones que está compuesto por las

siguientes opciones: Inicio, Administración, Documentos, Reportes y Ayuda.

Fig. 3.1 Pantalla Principal

Page 101: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

6

El sistema mostrará en la parte superior derecha el nombre del usuario que ha

iniciado sesión, debajo está el botón Log Out que permite la salida de sesión,

es decir, retorna a la pantalla de inicio de sesión. Además se presenta un icono

de progreso que indica que se está ejecutando algún proceso como: llamar

a otra pantalla, grabar datos, cargar documentos etc.

4. Inicio

El menú Inicio tiene un submenú llamado Cambiar Password.

Fig. 4.1 Inicio

Page 102: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

7

4.1 Cambiar password

Esta opción estará disponible para todo tipo de usuario y es la que permite al

usuario cambiar su clave, para acceder a esta opción nos ubicamos en

InicioCambiar Password.

Fig. 4.1.1 Acceso a Cambiar Password

Page 103: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

8

A continuación nos llevará a la pantalla principal de Cambiar Password.

Fig. 4.1.2 Pantalla Principal Cambiar Password

Nos pide que ingresemos la contraseña anterior, después la nueva contraseña y

finalmente confirmarla. Si deseamos que se guarden los datos presionamos el

botón Cambiar caso contrario presionamos Cancelar.

5. Módulo de administración

El menú Administración estará habilitado sólo para los usuarios de tipo

administradores. En este menú podemos desplegar los siguientes submenús:

Departamento, Usuario, Rol; tal como se indica en la figura.

Page 104: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

9

Fig. 5.1 Ingreso Administración

5.1 Departamentos

En el administrador de departamentos se presenta un listado con todos los

objetos de este tipo creados en el sistema; siempre presentará cinco registros

por página, a partir del sexto aparecerán en la siguiente página, la misma que

podrá ser accedida con los botones de avance de página que están en la parte

inferior derecha.

Page 105: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

10

Fig. 5.1.1 Departamentos

Los usuarios administradores podrán crear un nuevo departamento , editar

uno existente , o borrarlo , también podrán seleccionar todos los

departamentos existentes a la vez y así mismo

desmarcarlos. Por defecto todos los registros se

presentarán desmarcados, los botones de editar y borrar estarán deshabilitados

tal como se muestra en la figura anterior. Al presionar el botón seleccionar todo,

se marcarán todos los registros existentes y automáticamente se activa la

opción para borrar, el botón editar se activará cuando se seleccione únicamente

un registro.

Page 106: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

11

Fig. 5.1.2 Seleccionar Departamentos

Para crear un departamento presionamos el icono respectivo y este nos

lleva a la pantalla de creación; aquí ingresamos los datos requeridos y

presionamos el botón OK, esto hará que se almacene en la base de datos y se

pueda presentar en el listado. Si deseamos deshacer la operación presionamos

el botón cancelar y el nos enviará a la pantalla anterior sin guardar ningún

cambio en la base de datos.

Page 107: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

12

Fig. 5.1.3 Crear Departamento

Para editar, es decir, modificar los datos de un departamento existente; primero

se debe seleccionar el departamento luego presionar el botón editar .

Fig. 5.1.4 Seleccionar un Departamento

Page 108: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

13

En la pantalla de modificación se editarán los datos necesarios.

Fig. 5.1.5 Editar Departamento Existente

Una vez realizada la modificación presionamos ok, estos cambios se guardarán

en la base de datos; para desistir de la operación deberá presionar el botón

cancelar. Para eliminar un departamento debe seleccionarlo y presionar el

icono eliminar, este se eliminará de la base de datos.

Para buscar un departamento se utiliza la lista despegable la cual permite

escoger dos tipos de búsqueda: por Nombre y por Creador, es decir, el usuario

que creó el departamento.

Page 109: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

14

Fig. 5.1.6 Buscar Departamento

Se escoge una de las dos búsquedas y en el cuadro de texto escriba el nombre

a buscar, si no recuerda el nombre completo puede ingresar alguna letra

contenida en este y presione el botón Buscar Departamentos, para este ejemplo

el proceso listará todos los departamentos cuyo usuario creador contengan

dicha letra.

Page 110: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

15

Fig. 5.1.7 Resultado de Búsqueda Departamento

Al presionar el botón Listar Todos vuelve a la pantalla principal del submenú

departamento y muestra nuevamente todos los registros creados.

En todas las pantallas en donde se pueda realizar una búsqueda a excepción

del submenú Rol, y submenú Subir, se podrá acceder a la opción Exportar XLS

y Exportar PDF.

Page 111: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

16

Para exportar el archivo a formato pdf de clic en la opción Exportar PDF, a

continuación aparecerá la siguiente pantalla:

Fig. 5.1.8 Exportar Archivo a PDF

En donde se presentan tres botones: Buscar, Guardar, Cancelar.

El botón Buscar se usará cuando no tiene instalado la herramienta para

visualizar el contenido del archivo y es necesario buscar un programa en línea

para abrirlo, en caso de contar con la herramienta este botón buscar será

reemplazado por el botón Abrir el cual permitirá ver el archivo sin tener que

descargarlo al PC. El botón Cancelar termina la operación, es decir, no permite

continuar con el proceso. Al presionar el botón Guardar aparecerá el visor de

Windows para que ubique la ruta en donde desea guardar el nuevo archivo en

formato PDF.

Page 112: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

17

Fig. 5.1.9 Ruta donde se Almacena el Archivo PDF

Una vez ubicado donde queremos que se guarde el documento damos clic en

Guardar y nos aparecerá la siguiente pantalla

Fig. 5.1.10 Descarga completa

Page 113: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

18

Finalmente para visualizar el archivo de clic en el botón Abrir, se presentará

toda la información exportada en un archivo PDF. Para visualizar la información

es necesario tener instalada alguna versión de Acrobat Reader.

Fig. 5.1.11 Archivo Exportado a PDF

Para exportar el archivo a formato xls de clic en la opción Exportar Excel, a

continuación aparecerá la siguiente pantalla:

Page 114: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

19

Fig. 5.1.12 Exportar Archivo a Excel

La misma presenta tres botones: Open (abrir), Save (guardar), Cancel

(cancelar).

El botón Open permite abrir el archivo directamente sin necesidad de

descargarlo, es decir, el usuario puede ver el contenido; pero si lo cierra tendrá

que volver a exportarlo ya que no está guardado en ningún sitio. El botón

Cancelar termina la operación, es decir, no permite continuar con el proceso. El

botón Guardar permite buscar una ruta para almacenar el archivo, y así poderlo

leer varias veces desde esa ubicación.

Page 115: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

20

Fig. 5.1.13 Ruta donde se Almacena el Archivo XLS

Una vez ubicado donde queremos que se guarde el documento damos clic en

Guardar y nos aparecerá la siguiente pantalla, la cual dice que la descarga ha

sido completa.

Fig. 5.1.14 Descarga completa

Page 116: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

21

Finalmente para visualizar el archivo dar clic en el botón Abrir, y se presentará la

información en un archivo de Excel; es necesario tener instalado Microsoft Excel

para ver el contenido del archivo.

Fig. 5.1.15 Archivo Exportado a XLS

5.2 Usuarios

Para acceder al módulo de administración de usuarios damos clic en el menú

AdministraciónUsuarios, este nos llevará a la pantalla principal

Page 117: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

22

Fig. 5.2.1 Usuarios

Esta pantalla nos muestra deshabilitado los iconos de editar , eliminar

y cambiar contraseña ; el icono de nuevo usuario siempre estará

habilitado.

Page 118: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

23

Fig. 5.2.2 Pantalla Principal de Usuarios

Para crear un nuevo usuario dar clic en el icono nuevo usuario y aparecerá la

pantalla de ingreso de datos para el nuevo usuario, si desea guardar el nuevo

registro dar clic en el botón OK, si no está seguro de clic en Cancelar.

Page 119: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

24

Fig. 5.2.3 Crear Usuario

Así mismo para editar un usuario primero selecciónelo, de clic en el botón editar,

esto lo llevará a la pantalla para modificar los datos del usuario si desea guardar

presionar el botón OK, si no está seguro presione el botón Cancelar.

Para eliminar uno o más usuarios márquelos y presione el botón eliminar, estos

serán eliminados de la base de datos, también presenta los botones Seleccionar

Todo que permite seleccionar todos los usuarios existentes en la base de datos,

y Deseleccionar Todo que los desmarca.

Page 120: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

25

La búsqueda del usuario según la lista despegable será por: nombre, apellido,

departamento y privilegio. Una vez escogido el criterio de búsqueda se pone en

la caja de texto el nombre completo o una letra contenida en el nombre, se

presiona el botón buscar y aparecerá la información solicitada.

El botón cambiar contraseña es la opción que le permite al usuario

administrador cambiar la contraseña de un usuario específico, el procedimiento

es igual que el de la opción Cambiar Password del menú Inicio, primero se

selecciona el usuario después se da un clic en el botón cambiar contraseña

y aparecerá la siguiente pantalla.

Fig. 5.2.4 Cambiar Contraseña de Usuario

Page 121: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

26

Aquí deberá ingresar la contraseña anterior, luego la nueva y a continuación la

confirmación, para que el cambio tenga efecto dar clic en el botón Cambiar

caso contrario dar clic en Cancelar.

5.3 Rol

Para acceder a roles nos ubicamos en el menú AdministraciónRol y

escogemos este ítem.

Fig. 5.3.1 Acceso a Rol

A continuación nos llevará a la pantalla principal de Roles

Page 122: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

27

Como se mantiene un estándar aquí también podemos crear un nuevo rol,

editarlo o eliminarlo.

Fig. 5.3.2 Pantalla Principal de Roles

Para realizar una búsqueda de roles tenemos los siguientes criterios: por

Nombre y por Descripción.

Page 123: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

28

Fig. 5.3.3 Búsqueda por Rol

Una vez escogido el criterio de búsqueda e ingresado los datos en el cuadro de

texto se da clic en el botón Buscar Roles y se presentará la información

requerida.

Fig. 5.3.4 Resultado de Búsqueda Rol

Page 124: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

29

6. Módulo de documentos

El menú Documentos estará habilitado para todos los usuarios. El usuario

invitado no tendrá habilitadas las opciones Enviados ni Subir, puesto que este

tipo de usuarios sólo tiene permiso de recibir documentos.

Fig. 6.1 Acceso a Documentos

6.1 Enviados

A este módulo sólo tienen acceso los usuarios de tipo estándar y administrador,

en el cual pueden revisar todos los archivos que han sido subidos y enviados

por el usuario.

Page 125: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

30

Fig. 6.1.1 Acceso a Enviados

Al dar clic en la opción Enviados aparece la siguiente pantalla:

Fig. 6.1.2 Pantalla Principal Enviados

Page 126: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

31

Si el usuario no ha subido y enviado ningún archivo aparecerá la bandeja de

entrada en blanco, caso contrario se muestra toda la información relacionada

como es: nombre del archivo, tamaño, remitente, fecha, etc. Además podrá

realizar operaciones de búsqueda de documentos enviados por los criterios

definidos, podrá eliminar o exportar los datos.

6.2 Recibidos

A este módulo tienen acceso todos los tipos de usuarios.

Fig. 6.2.1 Acceso a Recibidos

Page 127: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

32

Al dar clic en Recibidos nos aparece la siguiente pantalla:

Fig. 6.2.2 Pantalla Principal de Recibidos

En este módulo se presentan todos los documentos que han sido enviados para

el usuario que está en la sesión actual. Como en los otros módulos aquí también

podrá buscar un documento por los criterios que están predefinidos, eliminar el

archivo con solo seleccionarlo y presionar el botón correspondiente y exportar a

Excel o Pdf.

Desde aquí también se puede visualizar un archivo siempre y cuando sea de

formato pdf, para lo cual debe presionar el botón Ver que lo llevará al visor

de PDF.

Page 128: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

33

Fig. 6.2.3 Visor de PDF

Si el archivo tiene tabla de contenido esta se mostrará en el lado izquierdo del

panel; para cambiar de página puede utilizar los botones de avance,

puede escribir en el cuadro de texto el número de la

página a la cual desea cambiarse o puede utilizar la tabla de contenido; además

cuenta con las opciones de maximizar el documento , rotar a la

izquierda o a la derecha

Page 129: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

34

Para revisar los archivos diferentes a los de formato PDF será necesario

descargarlos primero a la PC utilizando el botón descargar. LlLl Los archivos

deben ser descargados uno a uno.

6.3 Archivados

Para acceder a este módulo nos ubicamos en el menú

AdministraciónArchivados.

Fig. 6.3.1 Acceso a Archivados

Page 130: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

35

Al dar clic en archivados se presenta la pantalla principal de este ítem, aquí se

almacenan todos los documentos cuyo tiempo de vida ha expirado.

Fig. 6.3.2 Pantalla Principal de Archivados

6.4 Subir

A este módulo sólo tendrán acceso los usuarios de tipo estándar y

administrador, los usuarios invitados no están permitidos subir archivos.

Page 131: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

36

Fig. 6.4.1 Acceso a Subir

Fig. 6.4.2 Pantalla Principal Subir

Page 132: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

37

Esta pantalla nos permitirá subir el documento y enviarlo al o los usuarios

requeridos. El procedimiento empieza por buscar donde está ubicado el

documento que se desea enviar, para esto se debe dar clic en el botón

Examinar, el cual llamará el explorador de Windows para ubicar el archivo que

se desea subir.

Fig. 6.4.3 Examinar

Page 133: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

38

Una vez ubicado el archivo presione el botón Subir, se presentará el mensaje

“Carga exitosa del documento” aparecerán los datos principales del documento

como: nombre, tamaño, tipo.

Fig. 6.4.4 Carga Exitosa

Si no está seguro de enviar este archivo presione borrar y el archivo ya no

estará disponible para el envío. Como opciones de envío tenemos Tiempo de

Vida de un archivo, lo que significa que el usuario puede enviar un documento

que estará habilitado desde 1 a 5 días, en ese tiempo el receptor podrá revisar

el archivo, pasado este tiempo el archivo pasará a formar parte de los archivos

Page 134: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

39

archivados del submenú documentos, por defecto el archivo está marcado por la

opción 0 días lo que indica que el tiempo de vida es ilimitado. Otra opción de

envío es Bloquear que significa que el usuario puede restringir los archivos de

formato PDF para que puedan ser visualizados mas no descargados.

La aplicación solamente le permitirá cargar por tipo de documentos permitidos

los cuales son: jpeg, jpg, tif, doc, docx, xls, xlsx, ppt, pptx, txt, rtf, pdf, zip y rar,

los mismos que no deben exceder los 10 Mb de tamaño.

Una vez que está seguro que ha cargado el o los documentos correctos debe

escoger a que usuario se los enviará, para esto se presenta en una lista

desplegable los criterios de búsqueda que son: por Nombre, cuando se envía a

una solo persona, por Departamento cuando se desea enviarle a todos o a

varios usuarios de un mismo departamento. A continuación presionamos el

botón Buscar Usuarios y presentará una lista con los usuarios requeridos.

Page 135: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

40

Fig. 6.4.5 Búsqueda de usuario a enviar

En este listado se debe seleccionar a los usuarios a quienes se les enviará el

documento y luego presionar el botón de envío el mismo que no se

habilitará hasta que no se haya seleccionado al menos un usuario, este proceso

termina con un mensaje de confirmación indicando que la notificación fue

enviada exitosamente o no, la cual se refiere a un aviso al buzón de correo de

usuario receptor.

Page 136: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

41

7. Módulo de reportes

Para ingresar a los reportes dar clic en el menú Reportes

Fig. 7.1 Acceso a Reportes

Desde esta pantalla podrá elaborar los reportes según el criterio de búsqueda

predefinido, tendrá la opción de exportar los reportes a formatos Excel y Pdf.

Los tipos de reportes que están presentes son: Usuarios que leyeron, Usuarios

que descargaron, Archivos enviados, Archivos descargados, los que como su

nombre lo indica muestran la información requerida.

Page 137: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

42

Fig. 7.1 Usuarios que Leyeron

8. Ayuda

Al dar clic en el menú Ayuda nos proporcionará el acceso a una guía rápida del

manejo adecuado del sistema.

Page 138: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

43

Fig. 8.1 Acceso a Ayuda

A continuación se muestra la pantalla principal del módulo de Ayuda.

Fig. 8.2 Pantalla Principal de Ayuda

Page 139: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

44

Esta guía nos muestra los diferentes procesos que realiza esta herramienta de

recepción y seguimiento de documentos, de una manera fácil y sencilla para el

usuario final.

Introducción nos muestra la pantalla de bienvenida.

Nociones Básicas presenta conceptos básicos de: inicio de sesión, menú

principal, notificación del sistema y búsqueda simple.

Enviados/ Recibidos nos indica el manejo de los módulos donde se

muestran los documentos.

Subir documento nos indica el procedimiento de cargar y enviar

documentos.

Archivar documentos nos presenta el módulo donde aparecen los

archivos archivados cuando han alcanzado su tiempo de vida útil.

Visualizar PDF muestra como se puede revisar un archivo en formato pdf

sin la necesidad de descargarlo a la PC.

Búsquedas muestra el tipo de búsquedas existentes en la herramienta.

Gestionar Usuarios muestra los pasos para crear, modificar, eliminar un

usuario.

Gestionar Departamentos muestra los pasos para crear, modificar,

eliminar un departamento.

Page 140: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

45

Gestionar Privilegios muestra los pasos para crear, modificar, eliminar un

rol.

Cambiar Clave muestra el proceso para realizar el cambio de clave.

Page 141: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

47

CAPÍTULO 2

MANUAL TÉCNICO

En este manual se pretender explicar con una

breve reseña la parte principal del programa

en cuanto a codificación se refiere.

Se ha utilizado la programación orientada a

objetos en tres capas para el desarrollo del

proyecto de una forma clara, con el fin de

separar componentes y reutilizar código.

Page 142: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

47

Pseudocódigo

El código que se muestra a continuación es la parte medular que ha sido

necesaria para el desarrollo de la herramienta, esta codificación puede sufrir

modificaciones con el fin de mejorar y optimizar cualquier cambio en el

programa. Se ha omitido parte del código que es complementario o que

pertenece al diseño html de los archivos de interface.

Entre los objetos de la aplicación mencionaremos las principales clases con sus

respectivos métodos.

Page 143: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

48

Nombre de la clase: LoginManager

Nombre del Metodo: sendPassword

Ruta: org.atto.docman.security/LoginManager/sendPassword

Esta clase se encarga de enviar un e-mail revelando la contraseña al usuario en

caso de que él mismo no la recuerde.

public void sendPassword(ActionEvent e) throws java.io.IOException {

FacesContext facesContext = FacesContext.getCurrentInstance();

this.getParameters(facesContext);

if (!(this.userId.equals(""))) {

getUseratto();

if (isValid()) {

EMail email = new EMail();

email.setAccountId(-1);

email.setAuthor(messageBundle

.getString("atto.login.message.author"));

email.setAuthorAddress(messageBundle

.getString("atto.login.message.authorAddress"));

email.parseRecipients(user.getEmail());

email.setFolder("outbox");

email.setMessageText(messageBundle

.getString("atto.login.message.changePassword")

+ user.getPassword());

email.setRead(1);

email.setSentDate(new Date());

email.setSubject(messageBundle

.getString("atto.login.message.subject"));

email.setUserName(user.getFirstname() + " " +

user.getName());

try {

EMailSender sender = new EMailSender();

sender.send(email);

facesContext.addMessage("loginForm:message",

new FacesMessage(FacesMessage.SEVERITY_ERROR,

messageBundle

.getString("atto.login.changePasswordSuccess"),

null));

} catch (Exception ex) {

Page 144: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

49

log.error(ex.getMessage(),ex);

facesContext.addMessage("loginForm:message",

new FacesMessage(

FacesMessage.SEVERITY_ERROR,messageBundle

.getString("atto.login.invalidLogin"),

null));

}

} else {

facesContext.addMessage("loginForm:message",

new FacesMessage(FacesMessage.SEVERITY_ERROR,

messageBundle.getString("atto.login.userInvalid"),

null));

}

} else {

facesContext.addMessage("loginForm:message",

new FacesMessage(FacesMessage.SEVERITY_ERROR, messageBundle

.getString("atto.login.userNull"), null));

}

}

Nombre de la clase: LoginManager

Nombre del Metodo: login

Ruta: org.atto.docman.security/LoginManager/ login

Este método realiza la consulta de los datos de los usuarios y validan si están

dentro de un domino o un grupo de trabajo.

Si fuese el caso de que los usuarios pertenezcan a un dominio, la consulta se la

direcciona a la base de datos del LDAP de Servidor Windows 2003 Server, caso

contrario la consulta se la realizará a la base de datos Postgres.

Page 145: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

50

public void login(ActionEvent e) throws java.io.IOException {

FacesContext facesContext = FacesContext.getCurrentInstance();

HttpSession httpSession = (HttpSession) facesContext

.getExternalContext().getSession(false);

this.getParameters(facesContext);

String ldapStr = messageBundle.getString("atto.login.ldap");

String domain= messageBundle.getString("atto.login.ldap.domain");

String host = messageBundle.getString("atto.login.ldap.host");

String dn = messageBundle.getString("atto.login.ldap.dn");

boolean ldap = Boolean.parseBoolean(ldapStr);

if (!(this.userId.equals(""))) {

if (ldap) {

try {

Attributes att = LDAP.authenticateUser(userId,

password, domain,host,dn);

if (att != null){

String resultadoldap=

att.get("cn").toString()+

att.get("sn").toString() +

att.get("mail").toString() +

att.get("description").toString();

setUserName(resultadoldap);

httpSession.setAttribute("LoggedIn",

true);

FacesContext.getCurrentInstance()

.getExternalContext()

.redirect("./atto.iface");

} else {

facesContext.addMessage

("loginForm:message", new FacesMessage

(FacesMessage.SEVERITY_ERROR,

messageBundle.getString

("atto.login.invalidLogin"),null));

}

} catch (DataAccessException eldap) {

System.out.println("Error occured " +

eldap.getCause());

facesContext.addMessage

("loginForm:message", new FacesMessage

(FacesMessage.SEVERITY_ERROR, messageBundle

.getString("atto.login.ldap.error"),null));

}

} else {

getUseratto();

if (isValid()) {

if (user.getPassword().equals(password))

{

Page 146: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

51

setUserName(user.getFirstname() + " " +

user.getName());

setUser(user);

httpSession.setAttribute("LoggedIn",

true);

FacesContext.getCurrentInstance()

.getExternalContext()

.redirect("./atto.iface");

} else {

facesContext.addMessage

("loginForm:message", new FacesMessage

(FacesMessage.SEVERITY_ERROR,

messageBundle.getString

("atto.login.invalidLogin"), null));

}

} else {

facesContext.addMessage("loginForm:message",

new FacesMessage(FacesMessage.SEVERITY_ERROR,

messageBundle.getString

("atto.login.invalidLogin"), null));

}

}

} else {

facesContext.addMessage("loginForm:message",

new FacesMessage(FacesMessage.SEVERITY_ERROR,

messageBundle.getString("atto.login.userNull"), null));

}

}

Nombre de la clase: NavigationManager

Nombre del Metodo: listener

Ruta: org.atto.docman.ui.navigation/ NavigationManager/ listener

Este método recibe los parámetro que son enviados desde la página

controls.jspx, estos pueden ser direccionados ya sea a departamentos, usuarios,

Page 147: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

52

cambio de password, rol, documentos recibidos, documentos enviados, subir

documentos, reportes y ayuda.

public void listener(ActionEvent e)

{

FacesContext facesContext = FacesContext.getCurrentInstance();

Map params = facesContext.getExternalContext()

.getRequestParameterMap();

String myParam = (String) params.get("myParam");

if (myParam != null && myParam.length() > 0) {

setParam(myParam);

} else {

setParam("not defined");

}

if (myParam.equals("start")) {

this.menuContentTitle = "Inicio";

setSelectedPage("/include/blank.jspx");

}

if (myParam.equals("department")) {

this.menuContentTitle = "Mantenimiento de Departamento";

setSelectedPage("/include/content/department.jspx");

}

if (myParam.equals("user")) {

this.menuContentTitle = "Mantenimiento de Usuarios";

setSelectedPage("/include/content/user.jspx");

}

if (myParam.equals("changePass")) {

this.menuContentTitle = "Cambio de Clave";

setSelectedPage("/include/content/changepass.jspx");

}

if (myParam.equals("rol")) {

this.menuContentTitle = "Mantenimiento de Roles";

setSelectedPage("/include/content/privilege.jspx");

}

if (myParam.equals("receiveDoc")) {

this.menuContentTitle = "Documentos Recibidos";

setSelectedPage("/include/content/documentr.jspx");

}

if (myParam.equals("sendDoc")) {

this.menuContentTitle = "Documentos Enviados";

setSelectedPage("/include/content/document.jspx");

}

if (myParam.equals("upload")) {

this.menuContentTitle = "Subir Documentos";

Page 148: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

53

setSelectedPage("/include/content/upload.jspx");

}

if (myParam.equals("viewDoc")) {

this.menuContentTitle = "Visualizar Documentos";

setSelectedPage("/include/content/viewdoc.jspx");

}

if (myParam.equals("reports1")) {

this.menuContentTitle = "Reportes Usuarios que Leyeron";

setSelectedPage("/include/reports/reports1.jspx");

}

if (myParam.equals("reports2")) {

this.menuContentTitle= "Reportes Usuarios que Descargaron";

setSelectedPage("/include/reports/reports2.jspx");

}

if (myParam.equals("reports3")) {

this.menuContentTitle = "Reportes Archivos Enviados";

setSelectedPage("/include/reports/reports3.jspx");

}

if (myParam.equals("reports4")) {

this.menuContentTitle = "Reportes Archivos Descargados";

setSelectedPage("/include/reports/reports4.jspx");

}

if (myParam.equals("help")) {

try {

FacesContext.getCurrentInstance().getExternalContext()

.redirect("/atto/help/menu.html");

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

Nombre de la clase: DepartmentManager

Nombre del Metodo: addDepartment

Ruta: org.atto.docman.ui.department/ DepartmentManager/ addDepartment

Mediante este método nos permite realizar la gestión para añadir nuevos

departamentos. Este método nos direcciona a departmentEdit.jspx

Page 149: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

54

public void addDepartment(ActionEvent event)

{

if (departmentBean != null)

departmentBean = null;

Department department = new Department();

department.setLastmodified(new Date());

department.setUserid(loginManager.getUserId());

departmentBean = new DepartmentBean(department);

}

Nombre de la clase: DepartmentManager

Nombre del Metodo: saveDepartment

Ruta: org.atto.docman.ui.department/ DepartmentManager/

saveDepartment

No permite realizar la respectivas validaciones antes de grabar un departamento

a la base de datos.

public void saveDepartment(ActionEvent event)

{

if (departmentBean != null)

{

EntityManagerHelper.beginTransaction();

Department departmentTemp = departmentBean.getDepartment();

departmentTemp.setLastmodified(new Date());

departmentTemp.setUserid(loginManager.getUserId());

departmentDAO.save(departmentTemp);

EntityManagerHelper.commit();

departmentBean = null;

this.checkCount = 0;

refreshDepartmentList();

getNavigationManagerBean();

navigationManager.setSelectedPage

Page 150: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

55

("/include/content/department.jspx");

}

else {

refreshDepartmentList();

getNavigationManagerBean();

navigationManager.setSelectedPage

("/include/content/department.jspx");

}

}

Nombre de la clase: DepartmentManager

Nombre del Metodo: editDepartment

Ruta: org.atto.docman.ui.department/ DepartmentManager/ editDepartment

Nos permite realizar cambios en los campos de la tabla departamentos

public void editDepartment(ActionEvent event)

{

if (departmentBean != null)

departmentBean = null;

departmentBean = new DepartmentBean(new Department());

// busca el id seleccionado

int selectedId = getSelectedId();

// recupera el registro desde la base de datos

departmentBean = new

DepartmentBean(departmentDAO.findById(selectedId));

}

Page 151: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

56

Nombre de la clase: DepartmentManager

Nombre del Metodo: deleteDepartment

Ruta: org.atto.docman.ui.department/ DepartmentManager/

deleteDepartment

Nos permite eliminar departamentos de la base de datos.

public void deleteDepartment(ActionEvent event)

{

List<Department> selectedList = getSelectedObjects();

EntityManagerHelper.beginTransaction();

for (int i = 0; i < selectedList.size(); i++)

{

departmentDAO.delete(selectedList.get(i));

}

EntityManagerHelper.commit();

this.checkCount = 0;

this.refreshDepartmentList();

}

Nombre de la clase: DepartmentManager

Nombre del Metodo: selectAll

Ruta: org.atto.docman.ui.department/ DepartmentManager/ selectAll

Nos permite seleccionar en cascada todos los departamentos al mismo tiempo,

con esto podemos eliminar todos los registros de la base.

public void selectAll(ActionEvent event) {

for (int i = 0; i < departmentList.size(); i++){

if (!departmentList.get(i).isSelected()){

departmentList.get(i).setSelected(true);

checkCount++;

}

}

}

Page 152: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

57

Nombre de la clase: DepartmentManager

Nombre del Metodo: deselectAll

Ruta: org.atto.docman.ui.department/ DepartmentManager/ deselectAll

Nos permite desmarcar en cascada todos los departamento al mismo tiempo,

public void deselectAll(ActionEvent event)

{

for (int i = 0; i < departmentList.size(); i++)

{

if (departmentList.get(i).isSelected())

{

departmentList.get(i).setSelected(false);

checkCount = 0;

}

}

}

Nombre de la clase: UserManager

Nombre del Metodo: addUser

Ruta: org.atto.docman.ui.user / UserManager/ addUser

No permite añadir uno o varios usuarios a la base de datos.

public void addUser(ActionEvent event)

{

if (userBean != null)

userBean = null;

Useratto user = new Useratto();

userBean = new UserBean(user);

}

Page 153: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

58

Nombre de la clase: UserManager

Nombre del Metodo: deleteUser

Ruta: org.atto.docman.ui.user / UserManager/ deleteUser

No permite eliminar uno o varios usuarios de la base de datos.

public void deleteUser(ActionEvent event)

{

List<Useratto> selectedList = getSelectedObjects();

EntityManagerHelper.beginTransaction();

for (int i = 0; i < selectedList.size(); i++)

{

userDAO.delete(selectedList.get(i));

}

EntityManagerHelper.commit();

this.checkCount = 0;

this.refreshUserList();

}

Nombre de la clase: UserManager

Nombre del Metodo: findUser

Ruta: org.atto.docman.ui.user / UserManager/ findUser

Nos permite gestionar búsquedas personalizadas de los objetos usurios a la

base de datos.

public void findUser(ActionEvent event) {

this.setSearchMode(true);

List<Privilege> privilegios = null;

List<Department> departamentos = null;

// conjunto de tipo de búsquedas

if (searchType.equals("Usuario"))

Page 154: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

59

searchType = "username";

else if (searchType.equals("Nombres"))

searchType = "firstname";

else if (searchType.equals("Apellidos"))

searchType = "name";

else if (searchType.equals("Privilegio")) {

searchType = "privilege";

PrivilegeDAO pdao = new PrivilegeDAO();

privilegios = pdao.findByPropertyLike(PrivilegeDAO.NAME,

searchString);

} else {

searchType = "department";

DepartmentDAO ddao = new DepartmentDAO();

departamentos = ddao.findByPropertyLike(DepartmentDAO.NAME,

searchString);

}

List<Useratto> searchResult = new ArrayList<Useratto>();

// busca en la base de datos el registro exacto

if (!searchType.equals("privilege") &&

!searchType.equals("department")) {

searchResult = userDAO.findByPropertyLike(searchType,

searchString,0);

} else if (searchType.equals("privilege")) {

for (Privilege p : privilegios) {

Set<Useratto> d = p.getUserattos();

for (Useratto u : d) {

searchResult.add(u);

}

}

} else if (searchType.equals("department")) {

for (Department p : departamentos) {

Set<Useratto> d = p.getUserattos();

for (Useratto u : d) {

searchResult.add(u);

}

}

}

if (searchResult != null) {

// si solamente un registro es retornado setea una bandera

// y no setea ningun resultado para el caso falso

if (searchResult.size() == 1) {

this.setUniqueSearchResult(false);

this.setNoResult(false);

}

// no setea ningun resultado para el caso verdadero

else if (searchResult.size() == 0) {

this.setNoResult(true);

this.setUniqueSearchResult(false);

}

Page 155: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

60

// mas de un registro retornado

else {

this.setUniqueSearchResult(false);

this.setNoResult(false);

}

// si mas de un registro es retornado, los retorna como uno

if (!this.isNoResult() && !this.isUniqueSearchResult()) {

userList.clear();

for (int i = 0; i < searchResult.size(); i++) {

userList.add(new UserBean(searchResult.get(i)));

}

this.setCheckCount(0);

}

// si solo un registro es retornado, ve su detalle

//directamente

if (this.isUniqueSearchResult()) {

if (this.userBean != null)

this.userBean = null;

this.setUserBean((new UserBean(searchResult.get(0))));

userList.clear();

userList.add(this.userBean);

}

}

}

Nombre de la clase: PrivilegeManager

Nombre del Metodo: savePrivilege

Ruta: org.atto.docman.ui.privilege / PrivilegeManager / savePrivilege

Nos permite guardar los diferentes tipos de privilegios que van ligados a los

usuarios.

public void savePrivilege(ActionEvent event)

{

if (privilegeBean != null)

{

EntityManagerHelper.beginTransaction();

Page 156: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

61

Privilege privilegeTemp =privilegeBean.getPrivilege();

privilegeDAO.save(privilegeTemp);

EntityManagerHelper.commit();

privilegeBean = null;

this.checkCount = 0;

refreshPrivilegeList();

getNavigationManagerBean();

navigationManager.setSelectedPage

("/include/content/privilege.jspx");

}

else

{

refreshPrivilegeList();

getNavigationManagerBean();

navigationManager.setSelectedPage

("/include/content/privilege.jspx");

}

}

Nombre de la clase: PrivilegeManager

Nombre del Metodo: editPrivilege

Ruta: org.atto.docman.ui.privilege / PrivilegeManager / editPrivilege

Nos permite editar los datos de los diferentes tipos de privilegios.

public void editPrivilege(ActionEvent event)

{

if (privilegeBean != null)

privilegeBean = null;

privilegeBean = new PrivilegeBean(new Privilege());

// find the selected id

int selectedId = getSelectedId();

// retrieve the record from database

Page 157: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

62

privilegeBean = new

PrivilegeBean(privilegeDAO.findById(selectedId));

}

Nombre de la clase: PrivilegeManager

Nombre del Metodo: findPrivilege

Ruta: org.atto.docman.ui.privilege / PrivilegeManager / findPrivilege

Nos permite realizar búsquedas personalizadas con criterios previamente

establecidos de los privilegios.

public void findPrivilege(ActionEvent event) {

// establece la busqueda para el caso verdadero

this.setSearchMode(true);

// establece el tipo de busqueda

if (searchType.equals("Nombre"))

searchType = "name";

else

searchType = "description";

// busca en la base para encontrar el registro exacto

List<Privilege> searchResult = privilegeDAO.findByPropertyLike

(searchType, searchString, 0);

// si un unico registro es returned establece una bandera y no

//establece resultado para el caso falso

if (searchResult.size() == 1) {

this.setUniqueSearchResult(false);

this.setNoResult(false);

}

// no establece ningun resultado para el caso verdadero

else if (searchResult.size() == 0) {

this.setNoResult(true);

this.setUniqueSearchResult(false);

}

Page 158: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

63

// mas de un registro es retornado

else {

this.setUniqueSearchResult(false);

this.setNoResult(false);

}

// si mas de un registro es retornado, los trae como una lista

if (!this.isNoResult() && !this.isUniqueSearchResult()) {

privilegeList.clear();

for (int i = 0; i < searchResult.size(); i++) {

privilegeList.add(new PrivilegeBean

(searchResult.get(i)));

}

this.setCheckCount(0);

}

// si solo un registro es retornado, ve su detalle directamente

if (this.isUniqueSearchResult()) {

if (this.privilegeBean != null)

this.privilegeBean = null;

this.setPrivilegeBean((new PrivilegeBean

(searchResult.get(0))));

privilegeList.clear();

privilegeList.add(this.privilegeBean);

}

}

Nombre de la clase: DocumentManager

Nombre del Metodo: saveDocument

Ruta: org.atto.docman.ui.document / DocumentManager / saveDocument

Nos permite grabar de un nuevo documento, lógicamente a la base de datos.

public void saveDocument(ActionEvent event) {

if (documentBean != null) {

EntityManagerHelper.beginTransaction();

Document documentTemp = documentBean.getDocument();

documentTemp.setLastmodified(new Date());

Page 159: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

64

documentTemp.setCreator("mvega");

documentDAO.save(documentTemp);

EntityManagerHelper.commit();

documentBean = null;

this.checkCount = 0;

refreshDocumentList();

getNavigationManagerBean();

navigationManager.setSelectedPage

("/include/content/document.jspx");

}

else

{

refreshDocumentList();

getNavigationManagerBean();

navigationManager.setSelectedPage

("/include/content/document.jspx");

}

}

Nombre de la clase: DocumentManager

Nombre del Metodo: deleteDocument

Ruta: org.atto.docman.ui.document / DocumentManager / deleteDocument

Nos permite realizar eliminaciones de documentos.

public void deleteDocument(ActionEvent event)

{

List<Document> selectedList = getSelectedObjects();

EntityManagerHelper.beginTransaction();

for (int i = 0; i < selectedList.size(); i++)

{

documentDAO.delete(selectedList.get(i));

}

EntityManagerHelper.commit();

this.checkCount = 0;

this.refreshDocumentList();

}

Page 160: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

65

Nombre de la clase: DocumentManager

Nombre del Metodo: findDocument

Ruta: org.atto.docman.ui.document / DocumentManager / findDocument

Nos permite realizar búsquedas de documentos

public void findDocument(ActionEvent event)

{

// establece la busqueda para el caso de verdadero

this.setSearchMode(true);

// establece el tipo de busqueda

if (searchType.equals("Nombre"))

searchType = "name";

else

searchType = "description";

// busca en la base para encontrar el registro exacto

List<Document> searchResult = documentDAO.findByProperty

(searchType,searchString, 0);

// si un unico registro es retornado establece una bandera y no

//setea ningún resultado para el caso de falso

if (searchResult.size() == 1)

{

this.setUniqueSearchResult(true);

this.setNoResult(false);

}

// no establece resultado para el caso verdadero

else if (searchResult.size() == 0)

{

this.setNoResult(true);

this.setUniqueSearchResult(false);

}

// mas de un registro es retornado

else

{

this.setUniqueSearchResult(false);

this.setNoResult(false);

}

// si mas de un registro es retornado, los trae como una lista

if (!this.isNoResult() && !this.isUniqueSearchResult())

{

Page 161: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

66

documentList.clear();

for (int i = 0; i < searchResult.size(); i++)

{

documentList.add(new DocumentBean

(searchResult.get(i)));

}

this.setCheckCount(0);

}

// si solo un registro es retornado, ve su detalle directamente

if (this.isUniqueSearchResult()) {

if (this.documentBean != null)

this.documentBean = null;

this.setDocumentBean((new DocumentBean

(searchResult.get(0))));

documentList.clear();

documentList.add(this.documentBean);

}

}

Nombre de la clase: DocumentList

org.atto.docman.ui.document

Lista todos los documentos.

public class DocumentList

{

protected static ArrayList<Document> documentList;

public static ArrayList<Document> getDocumentList()

{

return documentList;

}

public static void setDocumentList(ArrayList<Document>

documentList)

{

DocumentList.documentList = documentList;

}

}

Page 162: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

67

Nombre de la clase: DocumentManager

Ruta: org.atto.docman.ui.document

Esta clase permite el filtrado de tipos de archivos a subir. Los tipos de archivos

que no estén definidas no se le permitirá la subida.

public DocumentManager()

{

synchronized (lock) {

if (!initialized) {

String creator = SessionManagement

.getUserLogin().getUsername();

DocumentList.documentList = new ArrayList<Document>

(documentDAO.findByCreatorNoBorrado(creator));

// initialized = true;

}

}

documentList = new ArrayList<DocumentBean>();

if (DocumentList.documentList.size() > 0) {

for (int i = 0; i < DocumentList.documentList.size(); i++)

{

DocumentBean doc = new DocumentBean

(DocumentList.documentList.get(i));

String fileName = DocumentList.documentList.get(i)

.getFilename();

String type = "";

if (fileName.endsWith(".rar") ||

fileName.endsWith(".RAR"))

type = "RAR";

if (fileName.endsWith(".pdf"))

type = "PDF";

if (fileName.endsWith(".doc") ||

fileName.endsWith(".docx"))

type = "DOC";

if (fileName.endsWith(".xls") ||

fileName.endsWith(".xlsx"))

type = "XLS";

if (fileName.endsWith(".ppt") ||

fileName.endsWith(".pptx"))

type = "PPT";

if (fileName.endsWith(".zip"))

type = "ZIP";

Page 163: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

68

if (fileName.endsWith(".jpg") ||

fileName.endsWith(".JPG")

|| fileName.endsWith(".jpeg")

|| fileName.endsWith(".tif"))

type = "JPG";

if (fileName.endsWith(".txt"))

type = "TXT";

if (fileName.endsWith(".rtf"))

type = "RTF";

doc.setType(type);

if (doc.getDocument().getStatus() == 1)

doc.setStatusString("ACTIVO");

else

doc.setStatusString("INACTIVO");

documentList.add(doc);

}

}

sort("lastmodified", true);

}

Nombre de la clase: DocumentManagerArchive

Nombre del Metodo: downloadDocument

Ruta: org.atto.docman.ui.document

Gestiona las descarga del documento y envía una notificación via e-mail al

usuario indicándole que se la ha enviado un documento.

public void downloadDocument(ActionEvent event)

{

if (documentBean != null)

documentBean = null;

documentBean = new DocumentBean(new Document());

// busca el id seleccionado

int selectedId = getSelectedId();

Page 164: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

69

// recupera el registro desde la base de datos

documentBean = new DocumentBean

(documentDAO.findById(selectedId));

if (documentBean.getDocument().getLockuserid() == 1

&& !documentBean.getDocument().getContenttype().contains("pdf"))

{

descargar();

}

else if (documentBean.getDocument().getLockuserid() == 0

&& documentBean.getDocument().getContenttype().contains("pdf"))

{

descargar();

}

else

{

FacesContext facesContext = FacesContext

.getCurrentInstance();

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Notificación enviada", null));

}

}

Nombre de la clase: DocumentManagerArchive

Nombre del Metodo: viewDocument

Ruta: org.atto.docman.ui.document

Permite realizar la gestión para visualizar el contenido de los documentos con

formato pdf.

public void viewDocument(ActionEvent event)

{

if (documentBean != null)

documentBean = null;

Page 165: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

70

documentBean = new DocumentBean(new Document());

// busca el id del registro seleccionado

int selectedId = getSelectedId();

Document doc = documentDAO.findById(selectedId);

// recupera el registro desde la base de datos

documentBean = new DocumentBean(doc);

if (doc.getStatus() == 1)

documentBean.setStatusString("ACTIVO");

else

documentBean.setStatusString("ACTIVO");

}

Nombre de la clase: DocumentManagerArchive

Nombre del Metodo: refreshDocumentList()

Ruta: org.atto.docman.ui.document

Realiza la actualización de la vista de la tabla de documentos después de cada

cambio .

public void refreshDocumentList() {

DocumentList.documentList = new ArrayList<Document>(documentDAO

.findAll());

documentList = new ArrayList<DocumentBean>();

if (DocumentList.documentList.size() > 0)

{

for (int i = 0; i < DocumentList.documentList.size(); i++)

{

DocumentBean doc = new DocumentBean

(DocumentList.documentList.get(i));

String fileName = DocumentList.documentList.get(i)

.getFilename();

String type = "";

if (fileName.endsWith(".rar") ||

fileName.endsWith(".RAR"))

type = "RAR";

if (fileName.endsWith(".pdf"))

Page 166: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

71

type = "PDF";

if (fileName.endsWith(".doc") ||

fileName.endsWith(".docx"))

type = "DOC";

if (fileName.endsWith(".xls") ||

fileName.endsWith(".xlsx"))

type = "XLS";

if (fileName.endsWith(".ppt") ||

fileName.endsWith(".pptx"))

type = "PPT";

if (fileName.endsWith(".zip"))

type = "ZIP";

if (fileName.endsWith(".jpg") ||

fileName.endsWith(".JPG")

|| fileName.endsWith(".jpeg")

|| fileName.endsWith(".tif"))

type = "JPG";

if (fileName.endsWith(".txt"))

type = "TXT";

if (fileName.endsWith(".rtf"))

type = "RTF";

doc.setType(type);

documentList.add(doc);

}

}

}

Nombre de la clase: DocumentManagerReceive

Nombre del Metodo: DocumentManagerReceive

Ruta: org.atto.docman.ui.document

Gestiona los parametros necesarios para mostrar los documentos recibidos por

cada usuario.

Page 167: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

72

public DocumentManagerReceive()

{

synchronized (lock)

{

if (!initialized)

{

String receive =

SessionManagement.getUserLogin().getUsername();

DocumentList.documentList = new ArrayList<Document>

(documentDAO.findByReceive(receive));

}

}

documentList = new ArrayList<DocumentBean>();

if(DocumentList.documentList.size()>0)

{

for (int i = 0; i < DocumentList.documentList.size(); i++)

{

DocumentBean doc = new DocumentBean

(DocumentList.documentList.get(i));

String fileName = DocumentList.documentList

.get(i).getFilename();

String type = "";

if (fileName.endsWith(".rar") ||

fileName.endsWith(".RAR"))

type = "RAR";

if (fileName.endsWith(".pdf"))

type = "PDF";

if (fileName.endsWith(".doc") ||

fileName.endsWith(".docx"))

type = "DOC";

if (fileName.endsWith(".xls") ||

fileName.endsWith(".xlsx"))

type = "XLS";

if (fileName.endsWith(".ppt") ||

fileName.endsWith(".pptx"))

type = "PPT";

if (fileName.endsWith(".zip"))

type = "ZIP";

if (fileName.endsWith(".jpg") ||

fileName.endsWith(".JPG")

|| fileName.endsWith(".jpeg") ||

fileName.endsWith(".tif"))

type = "JPG";

if (fileName.endsWith(".txt"))

type = "TXT";

if (fileName.endsWith(".rtf"))

type = "RTF";

doc.setType(type);

documentList.add(doc);

Page 168: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

73

}

}

sort("lastmodified", true);

}

Nombre de la clase: InputFileController

Nombre del Metodo: uploadFileMonitor

Ruta: org.atto.docman.ui.upload

Gestiona el procedimiento de la subida de los documento, en el se encuentra

validado el tamaño y tipo de archivo permitido.

public void uploadFileMonitor(ActionEvent event) {

facesContext = FacesContext.getCurrentInstance();

try {

InputFile inputFile = (InputFile) event.getSource();

FileInfo fileInfo = inputFile.getFileInfo();

if (inputFile.getStatus() == inputFile.SAVED)

{

log.info("File UPload Path " +

fileInfo.getFileName());

String fileName = fileInfo.getFileName()

.toLowerCase();

if (fileName.endsWith(".rar") ||

fileName.endsWith(".pdf")

|| fileName.endsWith(".doc")

|| fileName.endsWith(".docx")

|| fileName.endsWith(".xls")

|| fileName.endsWith(".xlsx")

|| fileName.endsWith(".ppt")

|| fileName.endsWith(".pptx")

|| fileName.endsWith(".zip")

|| fileName.endsWith(".jpg")

|| fileName.endsWith(".jpeg")

|| fileName.endsWith(".tif")

|| fileName.endsWith(".txt")

|| fileName.endsWith(".rtf"))

Page 169: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

74

{

currentFile = new InputFileData(inputFile);

synchronized (fileList) {

fileList.add(currentFile);

}

facesContext.addMessage

("uploadForm:message", new FacesMessage

(FacesMessage.SEVERITY_INFO,

"Carga exitoso del Documento",null));

}

fileUploadProgress = 0;

} else if (inputFile.getStatus() == inputFile.INVALID) {

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Tipo de archivo no permitido",null));

log.info("Invalid Document.");

} else if (inputFile.getStatus() == inputFile.

SIZE_LIMIT_EXCEEDED) {

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Tamaño del archivo supera el límite permitido",

null));

log.info(message);

} else if(inputFile.getStatus() == inputFile.UNKNOWN_SIZE){

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Tamaño desconocido",null));

log.info("Unknown Size");

} else if (inputFile.getStatus() == inputFile

.INVALID_NAME_PATTERN){

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Archivo no soportado", null));

log.info("Archivo no soportado");

} else {

facesContext.addMessage("uploadForm:message",

new FacesMessage(FacesMessage.SEVERITY_INFO,

"Error no determinado", null));

log.info("Error no determinado");

}

} catch (Throwable e) {

facesContext.addMessage("uploadForm:message",

new FacesMessage( FacesMessage.SEVERITY_INFO,

"Error en la carga del documento ", null));

log.error("Error en la carga del documento " +

e.getMessage(), e);

}

}

Page 170: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

75

Nombre de la clase: DownloadManager

Nombre del Metodo: DownloadManager

Ruta: org.atto.docman.down

Gestiona la descarga del documento.

public class DownloadManager

{

private DocumentBean documentbean;

private String documentPath;

private String documentName;

public DownloadManager()

{

super();

FacesContext context = FacesContext.getCurrentInstance();

documentbean = (DocumentBean) context.getELContext()

.getELResolver().getValue(context.getELContext(), null,

"documentBean");

this.documentPath = documentbean.getDocument()

.getFilename();

this.documentName = documentPath.substring(documentPath

.lastIndexOf(File.separatorChar) + 1);

}

public String getDocumentPath()

{

return documentPath;

}

public void setDocumentPath(String documentPath)

{

this.documentPath = documentPath;

}

public String getDocumentName()

{

return documentName;

}

public void setDocumentName(String documentName)

Page 171: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

76

{

this.documentName = documentName;

}

public DocumentBean getDocumentbean()

{

return documentbean;

}

public void setDocumentbean(DocumentBean documentbean)

{

this.documentbean = documentbean;

}

}

Nombre de la clase: PDFExporter

Nombre del Metodo: PDFExporter

Ruta: org.atto.docman.component.export

public class PDFExporter

{

private final static Logger logger = LoggerFactory

.getLogger(PDFExporter.class);

public ByteArrayOutputStream export(String tableId,

String filename, int[] excludeColumns) throws IOException {

FacesContext facesContext = FacesContext

.getCurrentInstance();

UIData table = (UIData)

this.findComponentById(facesContext,

facesContext.getViewRoot(), tableId);

Page 172: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

77

List<UIColumn> columns = getColumnsToExport(table,

excludeColumns);

int numberOfColumns = columns.size();

int tableSize = table.getRowCount();

int index = table.getRowIndex();

PdfPTable pdfTable = new PdfPTable(numberOfColumns);

Font font = FontFactory.getFont("HELVETICA", "CP1254");

Font headerFont = FontFactory.getFont("HELVETICA","CP1254",

Font.DEFAULTSIZE, Font.BOLD);

addColumnHeaders(pdfTable, columns, headerFont);

for (int i = 0; i < tableSize; i++) {

table.setRowIndex(i);

for (int j = 0; j < numberOfColumns; j++) {

UIColumn column = columns.get(j);

addColumnValue(pdfTable,

column.getChildren().get(0), j, font);

}

}

table.setRowIndex(index);

try {

Document document= new Document(PageSize.A4.rotate());

document.setPageSize(PageSize.A4);

ByteArrayOutputStream baos = new

ByteArrayOutputStream();

PdfWriter.getInstance(document, baos);

document.open();

document.add(pdfTable);

document.close();

return baos;

} catch (DocumentException e) {

logger.error("Error in exporting data of '{}' as

PDF", table.getClientId(facesContext));

throw new FacesException(e);

}

}

Page 173: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

78

Nombre de la clase: LDAP

Ruta: org.atto.docman.ldap/ LDAP

Realiza la consulta al Directorio Activo para recuperar los usuarios de la base

LDAP y permitir el inicio de sesión en la aplicación.

public class LDAP

{

static String ATTRIBUTE_FOR_USER = "sAMAccountName";

@SuppressWarnings("unchecked")

public static Attributes authenticateUser(String username, String

password, String _domain, String host, String dn)

{

String returnedAtts[] ={ "cn","sn", "mail","description" };

String searchFilter = "(&(objectClass=user)

(" + ATTRIBUTE_FOR_USER + "=" + username + "))";

//Crea los controlesde busqueda

SearchControls searchCtls = new SearchControls();

searchCtls.setReturningAttributes(returnedAtts);

//Specify the search scope

searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);

String searchBase = dn;

Hashtable environment = new Hashtable();

environment.put(Context.INITIAL_CONTEXT_FACTORY,

"com.sun.jndi.ldap.LdapCtxFactory");

//Utiliza el Puerto estandar

environment.put(Context.PROVIDER_URL, "ldap://" + host +

":389");

environment.put(Context.SECURITY_AUTHENTICATION, "simple");

environment.put(Context.SECURITY_PRINCIPAL, username + "@"

+ _domain);

environment.put(Context.SECURITY_CREDENTIALS, password);

LdapContext ctxGC = null;

try{

ctxGC = new InitialLdapContext(environment, null);

//Busca objetos en el catalogo global utilizando el

filtro

NamingEnumeration answer = ctxGC.search(searchBase,

searchFilter, searchCtls);

Page 174: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias …repositorio.ug.edu.ec/bitstream/redug/6809/1/TesisCompleta-197... · seguimiento de documentos de una manera eficaz y eficiente, para

79

while (answer.hasMoreElements())

{

SearchResult sr = (SearchResult)answer.next();

Attributes attrs = sr.getAttributes();

if (attrs != null)

{

return attrs;

}

}

}catch (NamingException e){

System.out.println("Just reporting error");

e.printStackTrace();

}

return null;

}

}