180
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE GRADO TICKS: Arquitectura híbrida de gestión documental integrada con BPM para la gestión de notas de gasto Raquel Lorente Almansa Julio, 2016

TICKS: Arquitectura híbrida de gestión documental integrada con

  • Upload
    halien

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TICKS: Arquitectura híbrida de gestión documental integrada con

UNIVERSIDAD DE CASTILLA-LA MANCHA

ESCUELA SUPERIOR DE INFORMÁTICA

GRADO EN INGENIERÍA INFORMÁTICA

TRABAJO FIN DE GRADO

TICKS: Arquitectura híbrida de gestióndocumental integrada con BPM para la gestión

de notas de gasto

Raquel Lorente Almansa

Julio, 2016

Page 2: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 3: TICKS: Arquitectura híbrida de gestión documental integrada con

TICKS: ARQUITECTURA HÍBRIDA DE GESTIÓN DOCUMENTALINTEGRADA CON BPM PARA LA GESTIÓN DE NOTAS DE GASTO

Page 4: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 5: TICKS: Arquitectura híbrida de gestión documental integrada con

EscuelaSuperiorde Informática

UNIVERSIDAD DE CASTILLA-LA MANCHA

ESCUELA SUPERIOR DE INFORMÁTICA

Tecnologías y Sistemas de Información

TECNOLOGÍA ESPECÍFICA DE

INGENIERÍA DE SOFTWARE

TRABAJO FIN DE GRADO

TICKS: Arquitectura híbrida de gestióndocumental integrada con BPM para la gestión

de notas de gasto

Autor: Raquel Lorente Almansa

Director: Macario Polo Usaola

Director: Avanttic - Antonio José Molina Moreno

Julio, 2016

Page 6: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 7: TICKS: Arquitectura híbrida de gestión documental integrada con

TRIBUNAL:

Presidente:

Vocal:

Secretario:

FECHA DE DEFENSA:

CALIFICACIÓN:

PRESIDENTE VOCAL SECRETARIO

Fdo.: Fdo.: Fdo.:

i

Page 8: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 9: TICKS: Arquitectura híbrida de gestión documental integrada con

Resumen

Una arquitectura híbrida de gestión documental está formada por la combinación de dosgestores de contenido uno en la nube y el otro local. La gestión de contenido empresarialpermite controlar la documentación que se genera en las organizaciones. Tener un repositoriodonde poder gestionar la documentación producida día a día aporta beneficios. Si, además,se manejan dos tipos de repositorios: uno en la nube y otro en local para almacenar losdocumentos estaremos aportando valor añadido a la gestión documental ya que se puedecontrolar mejor el acceso a la información.

En la actualidad, las organizaciones tienen una necesidad de automatizar sus procesos denegocio lo que, además, les proporciona una ventaja competitiva sobre otras que aún no loshan automatizado. La automatización de los procesos llega de la mano de BPM (BusinessProcess Management) como tendencia al alza proporcionando ventajas a las organizacio-nes.

Se busca la integración de ambas soluciones (gestión documental y BPM) para controlarlos flujos de los documentos que están asociados a procesos de negocio. Un contexto propiciopara estas arquitecturas híbridas y su integración con BPM es el de la gestión de notas degasto.

Este proyecto se engloba dentro del convenio Forte que la Escuela Superior de Informáticamantiene con Avanttic Consultoría Tecnológica, S.L. – Partner Platinum de Oracle- y planteauna solución basada en arquitectura híbrida integrada con Business Process Management(BPM) para poder gestionar las notas de gasto de una organización.

III

Page 10: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 11: TICKS: Arquitectura híbrida de gestión documental integrada con

Abstract

A hybrid architecture of content management is composed by the combination of twocontent management software platforms: a cloud platform and an on-premise platform. En-terprise content management allows control over the documents generated by the differentorganizations. Having a repository to store the documentation generated daily, provides be-nefits. If two different types of repositories (a cloud and an on-premise) are used to store thedocumentation, we will be giving an added value to content management.

Nowadays, the organizations have a need to automatize their business processes. This pro-vides a competitive advantage over other companies that have not yet automated their pro-cesses. The automation of processes is realized with BPM (Business Process Management)as an upward trend that provides benefits to the companies that work with it.

This final project searches the integration between two solutions (content management andBPM) to control the workflows of each document that is associated to business processes.A proper environment for these BPM integrated hybrid architectures is the expense account(tickets) management.

This Work of End of Degree (GFR) has been realized as part of the agreement between theEscuela Superior de Informática and Avanttic Consultoría Tecnológica S.L, which is Oracle’sPlatinum Partner, and this project proposes a solution based in a hybrid architecture integra-ted with Business Process Management (BPM) to control the tickets of this company.

V

Page 12: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 13: TICKS: Arquitectura híbrida de gestión documental integrada con

Agradecimientos

Este trabajo fin de grado es un punto y seguido, acaba una etapa y empieza otra.

Me gustaría darle las gracias a mis padres, José y Carmela, y a mi hermana Marta porhaber sido un apoyo muy importante estos años. Le doy las gracias a mis padres, en especial,por haberme enseñado que en la vida y ante las dificultades hay que sacar siempre nuestramejor sonrisa. Y a mi hermana Marta, que es nervio puro, porque, para mí, eres mi mejoramiga y un gran apoyo.

También agradecer a mis abuelos Justo y Julia (que ya no están conmigo) que sé que leshabría hecho mucha ilusión saber en qué punto estoy. A mis abuelos Maruja y Jacinto porquesé que les hace mucha ilusión y confían en mí.

En general me gustaría agradecer a toda mi familia, que es amplia, por haber estado ahí.

Por otra parte, quería dar las gracias a todas las personas que también me han dado suapoyo. A mis amigas (Ana, Raquel, Laura, Marife, María e Isabel) por estar ahí inclusocuando estamos muy lejos unas de otras.

A mis compañeras de piso en Ciudad Real (a Natalia y a Lorena) por la cantidad de vecesque nos hemos reído con Epi y Blas.

También dar las gracias a los compañeros informáticos que he conocido en Ciudad Real:a Maripi por entenderme, a Julio Alberto por su salero, a Fran, Mario y a tito Álvaro porsus temas de conversación tan profundos, a Marcos por ser un gran compañero de piso enMadrid y mejor cocinero, a Mayte y al pelocho.

A mis compañeros de Forte: Marcos, Cristina y Juanma por haber compartido esta expe-riencia.

A Ana Belén, Paco y Mario por haberme animado a tomar la decisión de elegir un Forte,camino que ellos habían tomado apenas unos meses antes.

A mis tutores de este proyecto Antonio Molina y Macario Polo por su atención y ayudaen el proyecto.

A Ismael por haberse involucrado en los convenios Forte.

A Diana y a Jesús por habernos realizado el seguimiento todos estos meses y haber estadopendiente de nosotros.

Y, por último, y no por ello menos importante, a la oportunidad brindada por AvantticConsultoría Tecnológica, S.L. y, en especial, a todos los que han formado o forman partede ella: a Patricia por haberme hablado de su experiencia en gestión documental y BPM ypor la conversación que tuvimos de gestión de proyectos, a Alberto por haberme ayudadoa comprender las herramientas que tenía que utilizar, a Manel y a Juanda por las tardes demuseos y croquetas gigantes, a Ester, Freddy y Guillermo por haberme ayudado tambiéncuando surgía alguna duda de BPM, a Jacinto, Rafa y Jareño por las canciones del Junco

VII

Page 14: TICKS: Arquitectura híbrida de gestión documental integrada con

porque “la vida es así, no la he inventado yo”, a Auxi por haberse reído con nosotros día síy día también, a Yanis por enseñarme a reciclar,... Y, en general, a todos los que he podidoconocer desde mi llegada a Avanttic, que son muchos (turno de la 13:30 de la comida, gentede las tardes de sol, comidas de los jueves, . . . ) y que me han apoyado en el desarrollo deeste proyecto.

También quiero darle las gracias a todos los profesores que durante estos años me hanenseñado lo que es la Ingeniería Informática y lo bonita que puede llegar a ser.

A todos, muchísimas gracias.

Raquel

viii

Page 15: TICKS: Arquitectura híbrida de gestión documental integrada con

A mis padres, José y Carmela. A mi hermana Marta.

ix

Page 16: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 17: TICKS: Arquitectura híbrida de gestión documental integrada con

Índice general

Resumen III

Abstract V

Agradecimientos VII

Índice general XI

Índice de cuadros XV

Índice de figuras XVII

Índice de listados XXI

Listado de acrónimos XXIII

1. Introducción 1

1.1. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Objetivos 7

2.1. Objetivo principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1. Objetivo 1: Analizar y diseñar la arquitectura . . . . . . . . . . . . 7

2.2.2. Objetivo 2: Conocer las herramientas y tecnologías . . . . . . . . . 7

2.2.3. Objetivo 3: Diseñar la tipología documental y modelo de seguridad 7

2.2.4. Objetivo 4: Diseñar el workflow de aprobación de notas de gasto . . 8

2.2.5. Objetivo 5: Desarrollar aplicación ADF . . . . . . . . . . . . . . . 8

2.2.6. Objetivo 6: Desarrollar las conexiones a las distintas tecnologías . . 8

3. Estado del arte 9

3.1. Gestores de contenido empresarial o ECM . . . . . . . . . . . . . . . . . . 9

XI

Page 18: TICKS: Arquitectura híbrida de gestión documental integrada con

3.1.1. Estado de las tecnologías y herramientas de gestión de contenidoempresarial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2. Procesos de negocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.1. Ciclo de vida de los procesos de negocio . . . . . . . . . . . . . . 14

3.2.2. BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.3. BPMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.4. BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.5. Estado de las tecnologías y herramientas de gestión de procesos denegocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3. Integración de los sistemas de gestión de contenido empresarial con los pro-cesos de negocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. Método de trabajo 21

4.1. Metodología FORTE 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1.1. Ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1.2. Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1.3. Aplicación de Forte 1.0 en el desarrollo del proyecto . . . . . . . . 24

4.2. Marco tecnológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2.1. Herramientas para la gestión del proyecto . . . . . . . . . . . . . . 25

4.2.2. Herramientas para el modelado software . . . . . . . . . . . . . . . 26

4.2.3. Herramientas, tecnologías y frameworks para el desarrollo . . . . . 28

4.2.4. Herramientas y tecnologías para la base de datos . . . . . . . . . . 34

4.2.5. Herramientas y tecnologías para pruebas . . . . . . . . . . . . . . 35

4.2.6. Herramientas para la documentación . . . . . . . . . . . . . . . . . 36

4.2.7. Herramientas para la gestión de la configuración . . . . . . . . . . 36

5. Resultados 37

5.1. Iteración 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1.1. Definición inicial del proyecto . . . . . . . . . . . . . . . . . . . . 37

5.1.2. Definición inicial del proyecto 2 . . . . . . . . . . . . . . . . . . . 37

5.1.3. Toma de contacto con las tecnologías . . . . . . . . . . . . . . . . 42

5.2. Iteración 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.1. Identificación y especificación de requisitos . . . . . . . . . . . . . 48

5.2.2. Análisis de requisitos . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.3. Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.2.4. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.2.5. Pruebas y evaluación . . . . . . . . . . . . . . . . . . . . . . . . . 99

xii

Page 19: TICKS: Arquitectura híbrida de gestión documental integrada con

5.2.6. Pruebas de aceptación . . . . . . . . . . . . . . . . . . . . . . . . 100

5.3. Imputación final de horas y coste aproximado del proyecto . . . . . . . . . 101

6. Conclusiones 107

6.1. Análisis del cumplimiento del alcance, objetivos, desviaciones y riesgos. . . 107

6.2. Posibles extensiones y mejoras. . . . . . . . . . . . . . . . . . . . . . . . . 108

6.3. Justificación del uso de gran variedad de tecnologías . . . . . . . . . . . . 108

6.4. Participación en un proyecto real . . . . . . . . . . . . . . . . . . . . . . . 108

6.5. Lecciones aprendidas y opinión personal . . . . . . . . . . . . . . . . . . . 109

A. Guía de elementos en Oracle BPM Suite 115

B. Cuestionario al personal de administración de Avanttic 119

C. Creación de la base de datos 123

D. Creación de tipos de documentos con Oracle Webcenter Content 127

E. Esquemas XSD de los objetos de datos del proceso 131

F. Servicios SOAP WSDL, transformaciones XSLT y sentencias SQL 137

G. Manual de usuario 143

Referencias 145

xiii

Page 20: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 21: TICKS: Arquitectura híbrida de gestión documental integrada con

Índice de cuadros

5.1. Riesgos iniciales del proyecto. . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2. Tabla de requisitos funcionales del sistema . . . . . . . . . . . . . . . . . . 49

5.3. Tabla de requisitos no funcionales del sistema . . . . . . . . . . . . . . . . 50

5.4. Tabla del caso de uso 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.5. Tabla del caso de uso 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.6. Tabla del caso de uso 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.7. Tabla del caso de uso 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.8. Tabla del caso de uso 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.9. Tabla del caso de uso 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.10. Tabla del caso de uso 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.11. Tabla del caso de uso 5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.12. Tabla del caso de uso 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.13. Tabla del caso de uso 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.14. Tabla del caso de uso 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.15. Tabla del caso de uso 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.16. Tabla del caso de uso 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.17. Tabla de niveles y grados de priorización . . . . . . . . . . . . . . . . . . . 59

5.18. Tabla de priorización de casos de uso . . . . . . . . . . . . . . . . . . . . . 59

5.19. Tabla de decisión para la regla de negocio de cálculo automático de importedel gasto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.20. Imputación de horas en EGI. . . . . . . . . . . . . . . . . . . . . . . . . . 101

XV

Page 22: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 23: TICKS: Arquitectura híbrida de gestión documental integrada con

Índice de figuras

1.1. Imagen de archivo del Archivo General de Indias de Sevilla. . . . . . . . . 1

1.2. Imagen de la gestión de notas de gasto actual en Avanttic . . . . . . . . . . 3

1.3. Arquitectura del proyecto TICKS: Arquitectura híbrida de gestión documen-tal integrada con BPM para la gestión de notas de gasto. . . . . . . . . . . . 5

3.1. Evolución hacia los ECM . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2. Cuadrante mágico de Gartner para Gestión de contenido empresarial o ECM[ecmb] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3. Patrón de Proceso de negocio [Rui15] . . . . . . . . . . . . . . . . . . . . 14

3.4. Ciclo de vida de los procesos de negocio [Wes07] . . . . . . . . . . . . . . 15

3.5. Evolución hacia BPM [Hit12] . . . . . . . . . . . . . . . . . . . . . . . . 16

3.6. Cuadrante mágico de Gartner para Intelligent Business Process ManagementSuites o IBPMS [bpmb] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1. Metodología Forte 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2. Resumen del marco tecnológico . . . . . . . . . . . . . . . . . . . . . . . 26

4.3. Imagen de la hErramienta de Gestión Interna (EGI) . . . . . . . . . . . . . 27

4.4. Arquitectura de Oracle Webcenter Content . . . . . . . . . . . . . . . . . . 30

4.5. Arquitectura de Oracle Business Process Management Suite . . . . . . . . 31

4.6. Etapa a etapa en Oracle BPM Suite . . . . . . . . . . . . . . . . . . . . . . 32

5.1. Planificación inicial en GanttProject . . . . . . . . . . . . . . . . . . . . . 41

5.2. Diagrama de Gantt del proyecto . . . . . . . . . . . . . . . . . . . . . . . 41

5.3. Pruebas con SOAP UI y API REST de Oracle Documents Cloud Service . . 43

5.4. Pruebas con SOAP UI y SOAP WSDL de Oracle Webcenter Content . . . . 44

5.5. Interfaz de usuario de Oracle Webcenter Content . . . . . . . . . . . . . . 44

5.6. Interfaz de usuario de Oracle BPM Workspace . . . . . . . . . . . . . . . . 45

5.7. Proceso de negocio "Hello World"de ejemplo . . . . . . . . . . . . . . . . 46

5.8. Proceso de negocio para descargar documentos . . . . . . . . . . . . . . . 47

5.9. Diagrama de casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

XVII

Page 24: TICKS: Arquitectura híbrida de gestión documental integrada con

5.10. Diagrama de secuencia para el escenario principal de S-1. . . . . . . . . . . 60

5.11. Diagrama de secuencia para el escenario alternativo de S-1. . . . . . . . . . 60

5.12. Diagrama de secuencia para el escenario principal de S-2. . . . . . . . . . . 60

5.13. Diagrama de secuencia para el escenario alternativo de S-2. . . . . . . . . . 61

5.14. Diagrama de secuencia para el escenario principal de S-3. . . . . . . . . . . 61

5.15. Diagrama de secuencia para el escenario alternativo de S-3. . . . . . . . . . 61

5.16. Diagrama de secuencia para el escenario principal de S-4. . . . . . . . . . . 62

5.17. Diagrama de secuencia para el escenario alternativo 1 de S-4. . . . . . . . . 62

5.18. Diagrama de secuencia para el escenario alternativo 2 de S-4. . . . . . . . . 63

5.19. Diagrama entidad relación de la base de datos. . . . . . . . . . . . . . . . . 64

5.20. Esquema de la base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.21. Objeto de datos del Gasto en el proceso . . . . . . . . . . . . . . . . . . . 68

5.22. Objeto de datos de cargaDatos en el proceso . . . . . . . . . . . . . . . . . 69

5.23. Diseño del proceso de negocio de gestión de notas de gasto . . . . . . . . . 70

5.24. Prototipo del formulario inicial de la aplicación. . . . . . . . . . . . . . . . 73

5.25. Prototipo del formulario de la solicitud de reembolso de nota de gasto . . . 74

5.26. Configuración del adaptador de base de datos en BPM. . . . . . . . . . . . 75

5.27. Creación de un nuevo Data Source en Weblogic Server 12c. . . . . . . . . . 75

5.28. Modificación del target para que el servidor soa_server1 pueda utilizar elData Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.29. Modificación en la configuración de Connection Pool. . . . . . . . . . . . . 76

5.30. Lista de algunos esquemas de objetos para el proceso de negocio. . . . . . . 77

5.31. Ejemplo de propiedades de un adaptador de base de datos en BPM. . . . . . 79

5.32. Ejemplo de transformación XSLT. . . . . . . . . . . . . . . . . . . . . . . 80

5.33. Mapeo de variables con transformación XSLT en la salida de la tarea Trans-formar cargas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.34. Extracto de código fuente del formulario realizado en ADF de la solcitud dela nota de gasto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.35. Datos de entrada en la tarea humana Rellenar formulario solicitud de nota degasto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.36. Datos de salida en la tarea humana Rellenar formulario solicitud de nota degasto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.37. Mapeo de variables en la tarea Transformar datos comprobación automática 85

5.38. Propiedades de la tarea de regla de negocio Comprobar automáticamenteimporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.39. Regla de negocio importecomprobacion . . . . . . . . . . . . . . . . . . . 86

xviii

Page 25: TICKS: Arquitectura híbrida de gestión documental integrada con

5.40. Propiedades de la tarea Notificar solicitud rechazada comprobación automá-tica I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.41. Propiedades de la tarea Notificar solicitud rechazada comprobación automá-tica II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.42. Configuración del driver para enviar correos electrónicos . . . . . . . . . . 90

5.43. Propiedades de la tarea de servicio Descargar archivo de UCM . . . . . . . 91

5.44. Propiedades de la tarea de servicio Descargar archivo de UCM . . . . . . . 92

5.45. Despliegue del servicio web creado en el servidor de aplicaciones Weblogic 93

5.46. Servicio web desplegado en el servidor de aplicaciones Weblogic . . . . . . 93

5.47. Grupos en el servidor de aplicaciones Weblogic . . . . . . . . . . . . . . . 94

5.48. Usuarios en le servidor de aplicaciones Weblogic . . . . . . . . . . . . . . 95

5.49. Composite del proceso de negocio . . . . . . . . . . . . . . . . . . . . . . 96

5.50. Configuración para desplegar un proceso I . . . . . . . . . . . . . . . . . . 97

5.51. Configuración para desplegar un proceso II . . . . . . . . . . . . . . . . . 97

5.52. Documentos subidos a Oracle Webcenter content . . . . . . . . . . . . . . 98

5.53. Documentos subidos a Oracle Documents Cloud Service . . . . . . . . . . 98

5.54. Procesos desplegados en el servidor SOA. . . . . . . . . . . . . . . . . . . 99

5.55. Componentes, servicios y referencias del proceso desplegado. . . . . . . . 100

5.56. XSD de una salida de una tarea humana. . . . . . . . . . . . . . . . . . . . 101

5.57. Generación de un payload para la realización de un test automático. . . . . 106

5.58. Informes en el Workspace de Oracle BPM Suite . . . . . . . . . . . . . . . 106

6.1. Extracto del artículo Mobile is here en la revista Oracle Magazine May/June2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

A.1. Puertas BPMN en Oracle BPM Suite 12.2.1 . . . . . . . . . . . . . . . . . 115

A.2. Actividades BPMN en Oracle BPM Suite 12.2.1 . . . . . . . . . . . . . . . 116

A.3. Eventos BPMN en Oracle BPM Suite 12.2.1 . . . . . . . . . . . . . . . . . 117

C.1. Creación de una nueva conexión de base de datos . . . . . . . . . . . . . . 123

C.2. Creación de un nuevo usuario en la base de datos . . . . . . . . . . . . . . 124

C.3. Generación de claves primarias, foráneas y valores únicos en la base de datos 125

C.4. Creación de tablas en la base de datos . . . . . . . . . . . . . . . . . . . . 125

C.5. Script generado de la base de datos . . . . . . . . . . . . . . . . . . . . . . 126

D.1. Tipos de metadatos permitidos en Oracle Webcenter Content . . . . . . . . 128

D.2. Perfiles, reglas y metadatos en Oracle Webcenter Content . . . . . . . . . . 129

D.3. Tipo de documento en Oracle Webcenter Content . . . . . . . . . . . . . . 130

xix

Page 26: TICKS: Arquitectura híbrida de gestión documental integrada con

G.1. Formulario inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

G.2. Formulario para que el empleado pueda crear la solicitud de reembolso de lanota de gastos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

G.3. Formulario de revisión de la solicitud de reembolso de la nota de gastos parael responsable de administración. . . . . . . . . . . . . . . . . . . . . . . . 144

G.4. Formulario de revisión de la solicitud de reembolso de la nota de gastos parael responsable de área. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

xx

Page 27: TICKS: Arquitectura híbrida de gestión documental integrada con

Índice de listados

E.1. Esquema XSD listacanalespago . . . . . . . . . . . . . . . . . . . . . . . 131

E.2. Esquema XSD listaproyectosempleado . . . . . . . . . . . . . . . . . . . . 132

E.3. Esquema XSD listatiposgasto . . . . . . . . . . . . . . . . . . . . . . . . 132

E.4. Esquema XSD DownloadFile . . . . . . . . . . . . . . . . . . . . . . . . . 133

E.5. Esquema XSD FileInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

E.6. Esquema XSD Personas . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

E.7. Esquema XSD Gasto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

F.1. Ejemplo de servicio SOAP WSDL creado para los servicios de base de datos 138

F.2. Extracto del servicio SOAP WSDL que descarga el archivo de Oracle Web-center Content [Weba] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

F.3. Extracto del servicio WSDL creado para almacenar el archivo en Oracle Do-cuments Cloud Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

F.4. Ejemplo de transformación XSLT en el mapeo de variables a la entrada /salida de las tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

F.5. Extracto de la transformación XSLT para el almacenamiento del gasto enbase de datos label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

F.6. Sentencia SQL para recoger de la base de datos los tipos de gasto permitidospermitidos por el sistema para el reembolso de las notas de gasto . . . . . . 141

F.7. Sentencia SQL para recoger de la base de datos los proyectos en los queparticipa el empleado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

F.8. Sentencia SQL para recoger de la base de datos los canales de pago permiti-dos por el sistema para el reembolso de las notas de gasto . . . . . . . . . . 141

XXI

Page 28: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 29: TICKS: Arquitectura híbrida de gestión documental integrada con

Listado de acrónimos

GNU General Public License

UML Unified ModelLing Language

BPMN Business Process Model and Notation

SOA Service Oriented Architecture

IDE Integrated Development Environment

BPM Business Process Management

ADF Application Development Framework

AIIM Asociación Internacional para la Gestión de la Información y la Imagen

EDMS Sistemas de gestión de documentos electrónicos

CMS Content Management System

LOPD Ley orgánica de protección de datos

ECM Enterprise Content Management

IBPMS Intelligent Business Process Management Suites

BAM Business Activity Monitoring

HTTP Hypertext Transfer Protocol

REST Representational State Transfer

SOAP Simple Object Access Protocol

WSDL Web Services Description Language

JDBC Java Database Connectivity

TQM Total Quality Management

BPR Business Process Reengineering

ERP Enterprise Resource Planning

BSC Balanced Scorecard

CRM Customer Relationship Management

BPMS Business Process Managament Suites

XML eXtensible Markup Language

XXIII

Page 30: TICKS: Arquitectura híbrida de gestión documental integrada con

XPATH XML Path Language

XSLT EXtensible Stylesheet Language Transformations

XSD XML Schema Definition

xxiv

Page 31: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 1

Introducción

U N hito importante en la gestión documental se produce con los primeros escribas, bi-bliotecarios y archiveros municipales que se ocupaban de archivar, almacenar y con-

servar documentos. Las personas que ocupaban estos oficios, en realidad, realizaban tareasde gestión documental.[ori]

Desde que comenzara la Edad Antigua, cuyo hito inicial es la aparición de la escritura,todas las civilizaciones tenían la necesidad de organizar los documentos que se iban escri-biendo. Las primeras bibliotecas aparecen en el siglo VII a.C. con el objetivo de gestionartoda la información que se almacena en ellas. Se llevan a cabo procedimientos para agrupardocumentos, ya sea cronológicamente o por tipo de documento.

Poco a poco la gestión documental va mejorando a través de importantes descubrimientoscomo es la imprenta y se mejoran los métodos de archivística. También surge la necesidadde centralizar documentos con el fin de obtener grandes beneficios en el campo de la ges-tión documental. Ahí tenemos, como ejemplo, la creación del Archivo General de Indias deSevilla que centralizaba la documentación de diferentes colonias españolas (figura 1.1 1).

Figura 1.1: Imagen de archivo del Archivo General de Indias de Sevilla.

Los nuevos soportes para la gestión de la documentación aparecen cuando surgen los

1http://goo.gl/nkQD0s

1

Page 32: TICKS: Arquitectura híbrida de gestión documental integrada con

soportes magnéticos u ópticos ligados a la computación. Y con el desarrollo de los primerosordenadores se adquiere un nuevo nivel de complejidad a la hora de almacenar documentos.Unas de las organizaciones que más sufren la necesidad de organizar documentos son lasempresas, además de tener la necesidad de centralizar todo el conocimiento en un lugardeterminado y conocido. [mun]

Inicialmente, los sistemas de gestión documental dependían del trabajo de los empleadosde las organizaciones, siendo éste muy manual. Con el paso de los años, y ya en la actualidad,se ha evolucionado hacia otros elementos más eficaces y automatizables como los formatosdigitales, dejando de lado otros más tradicionales como son los documentos impresos enpapel. Se busca gestionar diferentes tipos de archivos para que puedan estar disponibles encualquier lugar y a cualquier hora. [evo]

Ya en la actualidad, en la búsqueda de sistemas más sofisticados encontramos solucionesque integran el proceso de gestión documental con sistemas de gestión de contenidos. Sebuscan soluciones integradas con otros sistemas de la organización para centralizar todo loque se pueda todos los datos y toda la información. Las ventajas de un sistema de gestióndocumental son variadas, entre ellas:

Evitar pérdida de documentación.

Disminuir el tiempo de ocupación destinada a la gestión de los documentos.

Control de revisiones y de accesos a los documentos

Por otra parte, el modelado de procesos de negocio de una organización se define comoconcepto recientemente en 2001, y, aunque hablaremos de procesos de negocio en el capítu-lo 3, cabe destacar que el desarrollo del estándar para su modelado ha permitido avanzar enla gestión de los procesos de las organizaciones cambiando su punto de vista por otro mástransversal desde el punto de vista organizativo [tra]. Esto permite, en pocas palabras, definirtareas por rol en diferentes áreas o departamentos de la organización. Si utilizamos procesosde negocio podemos crear “diferentes caminos” con un inicio y un fin conocidos y gestio-nando en cada tarea diferentes recursos. En este caso concreto, en la aplicación que se llevaráa cabo y que se describirá en esta memoria, el proceso estará destinado a gestionar el procesode gestión de notas de gasto de una organización y se utilizarán recursos relacionados con lagestión de documentación. [doca]

El objetivo de integrar los procesos de negocio con gestión documental es el de automati-zar el proceso de negocio de gestión de notas de gasto.

Actualmente una parte de los empleados de las organizaciones desarrollan sus trabajosfuera de la oficina o espacio físico donde se encuentra localizado el lugar de trabajo. Eldesplazamiento que sufre el empleado conlleva unos gastos que se deben justificar y ges-tionar adecuadamente. Los tiques generados, que contienen la información de estos gastos,se deben recopilar, validar y almacenar. Los empleados que se encargan de dicha tarea se

2

Page 33: TICKS: Arquitectura híbrida de gestión documental integrada con

encuentran con algunos obstáculos como la pérdida y desgaste de los tiques; además, unacorrecta gestión de las notas de gasto evita errores de contabilidad, y permite ganar tiempo yeficacia en la gestión.

En Avanttic, los gastos producidos por los desplazamientos de los empleados son habitua-les, siendo necesario llevar un control de éstos. Las notas de gasto no se gestionan de maneraautomatizada, almacenándose los tiques o notas de gasto de manera tradicional (en papel),aunque sí que existe una parte de la gestión que se produce de forma automática (figura1.2).

Figura 1.2: Imagen de la gestión de notas de gasto actual en Avanttic

El trabajador introduce el gasto en el sistema, imprime el documento justificativo y lo llevaa la persona responsable del proceso de gestión. Luego, la nota de gasto va pasando por dife-rentes personas encargadas de validarlo y aceptarlo. La mayor parte del flujo de aprobacióndel gasto se realiza de forma tradicional y en papel. Este Trabajo Fin de Grado se pretendeutilizar para explorar las posibilidades de las arquitecturas híbridas para la gestión docu-mental integrado con BPM, y se utilizará como solución real para automatizar el procesode gestión de notas de gasto. En las arquitecturas híbridas se combinan soluciones, tecnolo-gías o herramientas locales (llamadas también on-premise) y en la nube, de esta forma lasventajas de ambas se magnifican ofreciendo mejores soluciones.

Avanttic, es, además, Partner Platinum de Oracle, por lo que las herramientas que se utili-zarán para gestionar las notas de gastos serán tecnologías 100 % Oracle (en el capítulo 4 sedetallarán y explicará mejor el marco tecnológico de este trabajo fin de grado).

El desarrollo de este proyecto consistirá en la automatización del proceso de negocio de

3

Page 34: TICKS: Arquitectura híbrida de gestión documental integrada con

gestión de notas de gasto. El proceso, que será diseñado en Oracle JDeveloper gracias alplug-in Oracle BPM Studio para la automatización de procesos con Oracle Business ProcessManagement (BPM) Suite, estará conectado con Oracle Webcenter Content a través de ser-vicios web SOAP WSDL y a Oracle Documents Cloud Service a través de API REST. Elproceso será desplegado gracias a Oracle Weblogic Server en dos dominios 2. Uno de losdominios contendrá al servidor de Oracle Service Oriented Architecture (SOA) Suite quees la plataforma sobre la que se despliega el proceso de negocio y el otro dominio conten-drá los servidores de Oracle Webcenter Content(ya que esta tecnología tiene tres servidoresInbound Refinery, Universal Content Management y Webcenter Content ADF). Todos losesquemas de ambos dominios estarán almacenados en la misma base de datos Oracle Da-tabase en repositorios diferenciados que se realizan con la herramienta Repository CreationUtility (RCU). La aplicación interactuará con el usuario a través de un navegador web queejecute los formularios creados con Oracle Application Development Framework (ADF) enla dirección del Workspace de Oracle Business Process Management (BPM). En la figura 1.3se puede apreciar la arquitectura de este proyecto.

1.1 Estructura del documentoEn este apartado se detalla cada uno de los capítulos que se han escrito en este documento.

Este documento presenta 6 capítulos y 7 anexos y se detallan a continuación:

Capítulo 2: ObjetivosEn este capítulo se describen el propósito de este proyecto, su finalidad y argumenta-ción de su cumplimiento en el desarrollo del trabajo fin de grado.

Capítulo 3: Estado del arteEn este capítulo se tratarán temas como los procesos de negocio y los sistemas degestión de contenidos que son la base de este proyecto. Además de una descripcióndel estado actual de los temas tratados.

Capítulo 4: Método de trabajoEn este capítulo se lleva acabo una breve explicación de la metodología utilizada en eldesarrollo del proyecto (FORTE 1.0) y una descripción de las herramientas utilizadasclasificadas según el tipo de herramienta que es.

Capítulo 5: ResultadosEn este capítulo se explican todos los resultados que han sido extraídos de cada una delas iteraciones y etapas realizadas en el desarrollo del proyecto.

Capítulo 6: ConclusionesEn este capítulo se pueden encontrar las lecciones aprendidas, posibles mejoras y ex-tensiones del proyecto y si se han cumplido con los objetivos de este proyecto.

2Los dominios en Oracle Weblogic Server son entornos independientes que permiten desplegar aplicacionesy bibliotecas, en un servidor puede haber varios dominios [Webc]

4

Page 35: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 1.3: Arquitectura del proyecto TICKS: Arquitectura híbrida de gestión documentalintegrada con BPM para la gestión de notas de gasto.

Anexo A: Guía de elementos en Oracle BPM SuiteEste anexo actúa como una guia de elementos de la tecnología utilizada para automa-tizar los procesos de negocio.

Anexo B: Cuestionario al personal de administración de AvantticEn este anexo se puede visualizar el cuestionario que se utilizó en la elicitación de losrequisitos del proyecto.

5

Page 36: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo C: Creación de la base de datosEn este anexo se puede ver cómo se ha creado la base de datos del proyecto.

Anexo D: Creación de tipos de documentos con Oracle Webcenter ContentEn este anexo se pueden conocer conceptos importantes de la tecnología utilizada paragestión de contenido empresarial y cómo se han definido los tipos documentales.

Anexo E: Esquemas XSD de los objetos de datos del procesoEn este anexo se muestran algunos esquemas XSD de los objetos de datos del proceso.

Anexo F: Servicios SOAP WSDL, transformaciones XSLT y sentencias SQLEn este anexo se muestran algunos servicios SOAP WSDL, transformaciones XSLT ysentencias SQL utilizadas en la implementación y configuración del proceso.

Anexo G: Manual de usuarioEn este anexo se muestran algunas pantallas de la aplicación como pequeño manual deusuario.

6

Page 37: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 2

Objetivos

E N este capítulo se lleva a cabo la descripción de los objetivos generales y específicosque se buscan con el desarrollo de este proyecto.

2.1 Objetivo principalEl objetivo principal de este proyecto es desarrollar una aplicación que permita explorar

una arquitectura híbrida de gestión documental, aplicada al escenario concreto de la gestiónde notas de gasto. Se desarrolla a modo de prueba de concepto para conocer las posibilidadesy ventajas que pueden existir en la combinación de algunas herramientas Oracle. La arqui-tectura híbrida consta de gestores de contenido locales y en la nube y una integración conBPM (Business Process Management). Para la exploración se ha planteado un proyecto re-lacionado con la gestión de notas de gastos de la empresa Avanttic Consultoría Tecnológica,S.L. Todas las tecnologías y herramientas de desarrollo que se utilicen para este TFG serán,además, Oracle.

2.2 Objetivos específicosPara alcanzar el objetivo principal se deben cumplir varios objetivos específicos.

2.2.1 Objetivo 1: Analizar y diseñar la arquitecturaUno de los objetivos es analizar y diseñar la arquitectura híbrida que se va a desarrollar

para conocer cómo se pueden integrar o conectar entre ellas para definir lo que será la basedel proyecto.

2.2.2 Objetivo 2: Conocer las herramientas y tecnologíasPara el desarrollo de este TFG es un objetivo muy importante conocer las herramientas y

tecnologías que se van a utilizar en el análisis y diseño de la arquitectura híbrida integradacon BPM.

2.2.3 Objetivo 3: Diseñar la tipología documental y modelo de seguridadDiseñar la tipología documental es un hito muy importante en todos los gestores docu-

mentales. Para diseñar la tipología documental hay que:

7

Page 38: TICKS: Arquitectura híbrida de gestión documental integrada con

Definir los datos que contendrá cada uno de los tipos de documentos que se gestionaránen los diferentes gestores de contenido.

Hay que tener en cuenta si existe una estructura de documentos y si esos documentoscomparten algunos datos de tal manera que puedan heredar unos de otros.

Hay que diseñar la tipología documental teniendo en cuenta la tecnología que se utili-zará. La tecnología puede variar la forma en la que se estructuren los documentos, eldiseño de la tipología documental.

Tener también un modelo de seguridad de acceso a los documentos que complete eldiseño de la tipología documental. De tal manera que el modelo de seguridad de accesoa los documentos controle quién accede a qué documento y de qué manera lo modifica.

2.2.4 Objetivo 4: Diseñar el workflow de aprobación de notas de gastoDiseñar el workflow de aprobación de notas de gasto es un objetivo primordial ya que éste

será el que interactúe con el usuario y con las diferentes tecnologías de gestión de contenidos(local y en la nube) y base de datos entre otras. Para el diseño del workflow se va a diseñar unproceso de negocio en notación BPMN 2.0 (Business Process Model and Notation). Ademásel diseño se enriquece con reglas de negocio y con conexiones a diferentes componentes.

2.2.5 Objetivo 5: Desarrollar aplicación ADFCuando se está desarrollando un proceso de negocio se debe tener en cuenta la interfaz

que el usuario utilizará para interactuar con el proceso de gestión de notas de gasto y se debeelegir una forma de realizarlo. En este caso desarrollar una aplicación con Oracle ApplicationDevelopment Framwork (ADF) para la interacción con el usuario es uno de los objetivos deeste proyecto.

2.2.6 Objetivo 6: Desarrollar las conexiones a las distintas tecnologíasCon este objetivo se persigue desarrollar las conexiones o accesos que va a tener este pro-

yecto con las distintas tecnologías (ya sea en local o en la nube). Son diferentes las tecnolo-gías utilizadas y todas tienen que estar integradas con Oracle Business Process Management(BPM) Suite a través de conectores, adaptadores, servicios web o API REST dependiendode la tecnología que se intente conectar.

8

Page 39: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 3

Estado del arte

E STE capítulo explica los antecedentes que se tienen de los gestores de contenido empre-sarial o ECM y de los procesos de negocio y de la integración de ambas como solución

mucho más completa y orientada a las organizaciones para mejorar la gestión documental deéstas.

3.1 Gestores de contenido empresarial o ECMA finales de 1980 se utilizaban los sistemas de gestión de documentos electrónicos o

EDMS. Un EDMS es un software que permite centralizar e indexar imágenes, datos, do-cumentos, video, audio u otros tipos de archivos a pequeña escala, de tal manera que losprimeros servían para mejorar un único proceso para un único departamento. Poco a pocoestos sistemas fueron ampliando funcionalidad y derivando en otros mucho más completoscomo los gestores de contenido empresarial (figura 3.1).

Figura 3.1: Evolución hacia los ECM

La Asociación Internacional para la Gestión de la Información y la Imagen (AIIM) acuñael término “Gestión de contenido empresarial” o ECM con sus siglas en inglés (Enterprise

Content Management) en el año 2000. Este término se ha refinado en varias ocasiones. AIIMdefine ECM como “las estrategias, métodos y herramientas utilizadas para capturar, gestio-nar, almacenar, preservar y entregar contenido y documentos relacionados con los procesosorganizacionales” [ECMa].

9

Page 40: TICKS: Arquitectura híbrida de gestión documental integrada con

Durante años la gestión del contenido empresarial ha sido una prioridad en las organizacio-nes que se han resuelto gracias a diferentes soluciones ECM. Estas soluciones se utilizabanen diferentes departamentos de manera que no existía una centralización real del contenidoempresarial, además de no poder estar seguros de estar actualizando o recogiendo la últimaversión del documento. Actualmente las organizaciones necesitan poder almacenar el conte-nido empresarial fuera de las cuatro paredes de la organización, necesitan soluciones en lanube por las que poder acceder desde cualquier lugar. El objetivo de los gestores de conteni-do empresarial es simplificar el proceso de soportar el ciclo de vida de los documentos desdesu creación y almacenamiento hasta su expiración.

AIIM habla de cinco etapas en el ciclo de vida del contenido:

Capturar. Esta etapa incluye:

- El uso de la tecnología que se utiliza para la creación de los metadatos de un tipode documento para poder tenerlos localizados y encontrarlos más rápidamente.

- La conversión del contenido en papel a otro digitalizado (en imagen o en algúnotro tipo de archivo).

- La subida o entrada del documento o contenido en el ECM [con].

Gestionar. En esta etapa se gestionan:

- Los procesos de negocio y workflows que manejan el contenido capturado.

- El contenido o documentos que han sido capturados.

Almacenar. Se debe encontrar el lugar idóneo para almacenar los documentos. Sepueden elegir [ges]:

- Sistemas de archivos. Sirven para organizar archivos.

- Sistemas de gestión de contenidos o Content Management System (CMS) quepermiten crear y administrar contenidos en páginas web, por ejemplo.

- Bases de datos. Almacenan el contenido de los documentos de diversas formasya sea almacenando una dirección o almacenando el contenido del documento en basebinaria.

- Almacenes de datos o Data Warehouse. Repositorios que facilitan la creación deinformes y el análisis de la información que contienen.

Preservar. Se refiere al tratamiento a largo plazo que recibe el contenido. Además sedeben tener en cuenta las leyes y normativas que dirigen el tratamiento de la informa-ción, por ejemplo la ley de protección de datos (LOPD).

Entregar. Se debe entregar el contenido correctamente a las personas o sistemas quelas necesiten y que las puedan utilizar.

10

Page 41: TICKS: Arquitectura híbrida de gestión documental integrada con

Por otra parte, existen tres arquitecturas diferentes de sistemas de gestión empresarial paraalmacenar esa información: local, nube e híbrida. Las soluciones basadas en la nube y enlocal muestran algunos problemas y no se toman como la solución que más se adecúa a lasnecesidades de las organizaciones. La forma más completa que extrae mayor beneficios paralas organizaciones pasa por integrar las soluciones basadas en la nube y las soluciones enlocal. Una solución híbrida para la gestión de contenido empresarial proporciona un modode gestionar contenido a través de dos repositorios diferentes: local y en la nube. De estaforma es mucho más fácil controlar los niveles de protección y de control de acceso a losdocumentos, creando derechos de acceso y permisos diferentes para cada uno de los repo-sitorios. Una solución híbrida asegura que los usuarios siempre puedan acceder a la copiamaestra fácilmente y de forma segura.

Los beneficios que ofrecen los sistemas de gestión de contenido empresarial en las orga-nizaciones son considerables:

Disponibilidad de la información en la organización. El contenido almacenado estádisponible para todas las personas que tengan acceso a ella.

Centralización de los documentos de la organización. Todos los departamentos pue-den almacenar la información en un repositorio central para que todos puedan teneracceso a él.

Integración con otros sistemas que mejoran la funcionalidad y la amplían.

Organización de los documentos. Se puede clasificar el contenido y realizar búsque-das de contenido con mayor facilidad.

Integración con flujos de trabajo o con procesos de negocio que automatizan losprocesos relacionados con el contenido (generación, modificación, eliminación,...).

Optimizar beneficios en las organizaciones debido a la reducción de costes que pro-duce poder gestionar el contenido de manera más sencilla.

Confidencialidad de los datos gracias a la gestión de accesos y permisos que se ad-ministran.

3.1.1 Estado de las tecnologías y herramientas de gestión de contenido em-presarial

Existe una gran variedad de tecnologías y herramientas que permiten la gestión de conteni-do empresarial y también existen análisis que elaboran algunas organizaciones para conocerqué herramientas existen y cuáles son las mejores (dependiendo de unas características quese definen como necesarias para que sea una buena herramienta). Entre las organizacionesque realizan estudios de mercado de diferentes tipos de herramientas tecnológicas con dife-rentes fines o que soporten diferentes tecnologías encontramos Gartner. Gartner Inc. es unaempresa consultora y de investigación de las tecnologías de información [Gar]. Esta orga-

11

Page 42: TICKS: Arquitectura híbrida de gestión documental integrada con

nización se encarga de realizar una comparativa y plasmarla en los llamados “Cuadrantesmágicos de Gartner” [mag]. Los “Cuadrantes mágicos de Gartner” (figura 3.2) tienen dosdimensiones conocidas: la habilidad de ejecutarse y la completitud de la visión. Con esasdos dimensiones existen cuatro cuadrantes:

Jugadores de nicho. Son los que tienen menor puntuación en habilidad de ejecución ytampoco ofrecen una visión completa. Pueden ser proveedores que aún están creciendoy que aún no han llegado a ofrecer todo su potencial.

Desafiantes. El alcance de sus herramientas pueden ser menos amplias y su visión máslimitada.

Visionarios. Tienen más visión global pero les falta capacidad de ejecución, puedefaltar integración con otras herramientas.

Líderes. Son los que tienen la mayor puntuación en ambas dimensiones. Son los quemayor visión de futuro tienen y por lo tanto están mejores preparados.

Inicialmente se definen las funcionalidades que se consideran necesarias para incluir unaherramienta en el cuadrante de gestión de contenido empresarial [ecmb]:

Gestión de documentación que se refiere a los aspectos relacionados con el controlde versiones, la seguridad y los servicios para los documentos de negocio. Además, setiene en cuenta la facilidad de subir documentación y modificación. En definitiva, lagestión de la documentación y la personalización de los tipos de documentos.

Gestión de contenido web, si existe funcionalidad como la creación de contenidoa través de plantillas y además se puede acceder al contenido a través de diferentesdispositivos por Internet.

Gestión de almacenamiento, si asegura que se cumplen leyes, normas, estándares ycertificaciones relacionadas con la gestión de contenido empresarial.

Aplicaciones de procesamiento de imágenes, si se pueden capturar, transformar ygestionar imágenes de los documentos.

Contenido social, si soporta la colaboración de equipos de trabajo.

Contenido de los workflow, si soporta los procesos de negocio, la asignación de tareasy estados del documento. El mínimo requisito es si permite el flujo de aprobación deun documento.

Componentes de extensión, si incluye algunos componentes que también pueden ser-vir de soporte para la gestión de documentos como las aplicaciones móviles o capaci-dad para integrarse con otros sistemas.

En el “Cuadrante Mágico de Gartner” tenemos a Oracle (con sus herramientas de OracleWebcenter Content y Oracle Documents Cloud Service) en el grupo de los líderes en el

12

Page 43: TICKS: Arquitectura híbrida de gestión documental integrada con

mercado a Octubre de 2015 [ecmb] en la figura 3.2. Las herramientas de Oracle han sido laselegidas para el desarrollo de este proyecto.

Figura 3.2: Cuadrante mágico de Gartner para Gestión de contenido empresarial o ECM[ecmb]

Entre las fortalezas que destaca Gartner de Oracle en cuanto a gestión de contenido em-presarial encontramos la integración con la infraestructura de base de datos y plataformasde almacenamiento. Además de la funcionalidad que proporciona Oracle en lo que se refierea la integración de Oracle Webcenter Content – un gestor de contenido empresarial local uon-premise– y Oracle Documents Cloud Service – un gestor de contenido empresarial en lanube.

3.2 Procesos de negocio

Muchas son las definiciones de proceso de negocio que se pueden encontrar pero cabedestacar la definición que Hammer y Champy hicieron en 1993: “un proceso de negocio esuna colección de actividades que toman uno o más tipos de entradas y crean una salida que esde valor para un cliente”. [MJ93]. Gráficamente un proceso de negocio sería como la figura3.3.

13

Page 44: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 3.3: Patrón de Proceso de negocio [Rui15]

3.2.1 Ciclo de vida de los procesos de negocioEl ciclo de vida de los procesos de negocio está compuesto por varias fases (figura 3.4)

[Wes07]:

Fase de diseño y análisis. En esta fase los procesos de negocio son identificados,revisados, validados y representados por modelos de procesos de negocio.

Fase de configuración. Una vez los modelos de procesos de negocio estén diseñadosy verificados, los procesos de negocio necesitan ser implementados. Para ello se debeseleccionar un sistema de gestión de procesos de negocio que permita la configuracióndel modelo del proceso de negocio. Además, en esta fase se debe probar y desplegarel proceso de negocio.

Fase de realización. En la fase de realización se lleva a cabo una monitorización queproporciona información de las instancias 1 de los procesos de negocio. Además todala información de los eventos que han ocurrido en la ejecución del proceso se almacenaen archivos de registros.

Fase de evaluación. Los registros de ejecución son evaluados utilizando técnicas deminería de procesos. Estas técnicas tienen como objetivo determinar la calidad de losmodelos de procesos de negocio y el entorno de ejecución. Se monitoriza la actividaddel proceso de negocio (Business Activity Monitoring o BAM).

3.2.2 BPMEn este proyecto se va a utilizar BPM o Gestión de procesos de negocio, por ello en la

presente sección se explica con más detalle qué es y para qué se utiliza.

En la figura 3.5 podemos ver la evolución de BPM [Hit12]. A principios del siglo XXFrederick Taylor para mejorar la productividad desarrolla científicamente unos principios

1Una instancia de un proceso se crea cuando se inicia la ejecución de un proceso de negocio desplegado

14

Page 45: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 3.4: Ciclo de vida de los procesos de negocio [Wes07]

para diseñar y mejorar los procesos industriales. Años después surgen diferentes enfoquesque buscan la calidad en la gestión de los procesos de control y mejora como Total QualitityManagement (TQM) y Six Sigma que se basan en principios estadísticos. En 1990 se produceuna recesión económica que provoca la transición de los mercados de la oferta a los de lademanda provocando la aparición de nuevos conceptos. Aparece entonces el concepto deBusiness Process Reengineering o BPR introduciendo un nuevo enfoque a las organizacionesy cuyo principal objetivo es ayudarlas a rediseñar los procesos buscando mayor nivel deeficiencia. A principio de siglo XXI aparecen los Enterprise Resource Planning (ERP) queestán destinados a mejorar la administración de las organizaciones pero no a mejorar losprocesos de negocio, Customer Relationship Management (CRM) que mejoraban la relacióncon los clientes de las organizaciones, los fidelizaban, pero no mejoraban los procesos denegocio y Balanced Scorecard(BSC) que sirve para gestionar las organizaciones a través depequeños indicadores y tampoco mejoraban los procesos de negocio. Poco después apareceel concepto BPM o Gestión de procesos de negocio como disciplina apareciendo tambiénotros conceptos como BPMS o Suites de gestión de procesos de negocio. [Hit12]

BPM o Gestión de procesos de negocio incluye concepto, métodos y técnicas para soportarel diseño, administración, configuración, publicación y el análisis de los procesos de negocio.[Wes07].

3.2.3 BPMS

BPMS o Suite de gestión de procesos de negocio es un conjunto de herramientas cuyo fines el de automatizar procesos de negocio soportando todas las fases del ciclo de vida de los

15

Page 46: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 3.5: Evolución hacia BPM [Hit12]

procesos de negocio. Este tipo de suite se integra con innumerables tecnologías: bases dedatos, servicios web, otros servidores, gestores de contenido, con otros sistemas CRM o ERP

que una organización puede tener, herramientas de análisis y Business Intelligence,...

3.2.4 BPMN

BPMN proporciona a las organizaciones capacidad para entender los procedimientos in-ternos de negocio en una notación gráfica estandarizada. Además facilita el entendimientode las transacciones y colaboraciones entre organizaciones. [bpmd]. Esta notación se uti-liza para que los stakeholders o interesados puedan entender de manera sencilla todos los

16

Page 47: TICKS: Arquitectura híbrida de gestión documental integrada con

elementos del proceso de negocio (actividades, flujos, entrada, salida, objetivo,...). La últi-ma versión del estándar es la versión 2.0 que es la que se utilizará en el desarrollo de esteproyecto.[bpmc]

3.2.5 Estado de las tecnologías y herramientas de gestión de procesos denegocio

Al igual que en la sección de gestión de contenido empresarial se ha utilizado el “Cua-drante mágico de Gartner” en esta sección también se utilizará. En este caso se utilizará el“Cuadrante mágico para Intelligent Business Process Management Suites o iBPM” (suitesde gestión de procesos de negocio).

A diferencia de la sección anterior, los criterios utilizados por Gartner para este cuadrantehan cambiado y son los siguientes [bpma]:

Motor de orquestación del proceso. Es la parte que coordina las interacciones detodos los actores (personas, servicios y otros sistemas) en los flujos.

Entorno de composición gráfica orientado al modelo, si existen herramientas decomposición de procesos como interfaces de usuario para construir tanto procesoscomo interfaces de usuario.

Entornos de interacción con contenidos, si existe la capacidad de gestionar e integrargestión de contenido empresarial o ECM.

Interacciones humanas, si soporta la interacción humana con el proceso, ya seanlos diferentes roles que intervengan en el proceso o si existe capacidad para crearinterfaces de interacción con el usuario.

On-demand Analytics, esto proporciona información, ya sea en la simulación del pro-ceso o en los análisis predictivos, que puede ser utilizada para optimizar el proceso.

Business Activiy Monitoring o BAM, si existe este componente que envía una retro-alimentación del curso del proceso, monitorizando métricas y proporcionando infor-mación sobre el estado del proceso.

Procesamiento de reglas de negocio, Si existen componentes que faciliten el proce-samiento de reglas de negocio.

Conectividad, si soporta HTTP, REST, SOAP, WSDL, JDBC, entre otras.

Gestión y administración, si incluye la funcionalidad necesaria para configurar, des-plegar y administrar los procesos de negocio.

Registro/Repositorio, si puede almacenar y gestionar los procesos en tiempo de eje-cución y los metadatos/datos que se producen.

En el siguiente “Cuadrante Mágico de Gartner” (figura 3.6) tenemos a Oracle con su productoOracle Business Process Management Suite en el subcuadrante de los visionarios pero casi

17

Page 48: TICKS: Arquitectura híbrida de gestión documental integrada con

en el subcuadrante de líderes. Está entre las cinco mejores tecnologías de este cuadrantemágico.

Figura 3.6: Cuadrante mágico de Gartner para Intelligent Business Process ManagementSuites o IBPMS [bpmb]

Entre las fortalezas que se destacan de Oracle está la facilidad de integración con otrastecnologías Oracle y la capacidad analítica que ofrece, sobre todo en tiempo real.

3.3 Integración de los sistemas de gestión de contenido empresarialcon los procesos de negocio

Se busca la integración de diversos servicios u otros sistemas con los gestores de conte-nido empresarial. La solución híbrida de gestión documental se integra con los procesos denegocio para mejorar las ventajas y beneficios. Por una parte tenemos la gestión de conteni-do empresarial que necesita ser automatizada y por otra tenemos la posibilidad de controlarel proceso del ciclo de vida de los documentos a través de la automatización de procesosde negocio. Si podemos controlar a través de procesos de negocio el estado del conteni-do y el flujo de aprobación del contenido, por ejemplo, estaremos obteniendo una ventajacompetitiva para cualquier organización. Las organizaciones buscan optimizar beneficios ygracias a esta integración pueden conseguirlo, y además cumplir el objetivo de mejorar lossistemas que una organización tiene. Por otra parte, un almacenamiento seguro y control deacceso adecuados pueden evitar problemas de privacidad. Oracle Webcenter Content, OracleDocument Cloud Service (ambas son herramientas de gestión de contenido empresarial) y

18

Page 49: TICKS: Arquitectura híbrida de gestión documental integrada con

Oracle Business Process Management Suite (herramienta que permite la automatización delos procesos de negocio) controlan los accesos a los documentos y permiten la asignación detareas relacionadas con los documentos a personas con un rol determinado, lo que asegura laprivacidad y una gestión eficiente de los derechos de acceso a los documentos.

19

Page 50: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 51: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 4

Método de trabajo

E N este capítulo se describe la metodología FORTE 1.0 utilizada en el desarrollo de esteproyecto. Además se describe de manera clasificada el marco tecnológico, detallan-

do cada una de las tecnologías, herramientas y frameworks utilizados en el desarrollo delmismo.

4.1 Metodología FORTE 1.0La metodología de desarrollo elegida para este proyecto es la metodología FORTE 1.0

(figura 4.1). El codirector académico de este TFG la definió tras la experiencia con un TFGForte anterior. Esta metodología es iterativa y basada en el Prototipado Evolutivo. La elecciónde esta metodología se propuso para su adaptación al desarrollo del trabajo fin de grado enel ámbito del convenio FORTE. El objetivo de la metodología es mantener el control sobreel trabajo desarrollado y disponer de un canal de comunicación fluido con el alumno y elcodirector de la empresa. En esta metodología, al igual que en Prototipado Evolutivo, setiene en cuenta en primer lugar los aspectos más relevantes del sistema. La realimentaciónes otro de los aspectos más importantes de esta metodología y sirve como elemento decisivopara la definición de nuevas iteraciones. El equipo de desarrollo, cliente y director académico(explicados en el subapartado de Roles), a través de la realimentación, decidirán cuando elprototipo es un producto final. Esta metodología tiene las siguientes características:

Comunicación continua entre el equipo de desarrollo, cliente y director académico. Selleva a cabo una retroalimentación continua del estado del proyecto a través de los me-dios que estén disponibles (correo electrónico, llamadas o aplicaciones de mensajeríainstantánea, entre otras).

Reuniones del equipo de desarrollo con el cliente y con el director académico paravalorar el estado del proyecto.

Creación de documentación paralelamente al desarrollo del proyecto para guardar lainformación útil que posteriormente se plasmaría en este documento.

Versionado de prototipos teniendo en cuenta las iteraciones creadas a partir de la re-troalimentación que se tome de los interesados en el proyecto (equipo de desarrollo,cliente y director académico).

21

Page 52: TICKS: Arquitectura híbrida de gestión documental integrada con

4.1.1 Ciclo de vidaEn esta metodología se definen las siguientes etapas o fases de desarrollo del proyecto:

Definición inicial del proyecto: se lleva a cabo una descripción inicial de los requisitosgenéricos del proyecto a desarrollar. Se identifica el alcance del proyecto, la definiciónde objetivos, la elección de medios software y hardware, se define la metodología autilizar y se justifican las competencias específicas que se cumplirán en el desarro-llo del trabajo fin de grado. Como salida de esta primera etapa o fase tendremos elanteproyecto del TFG.

Planificación y estimación de riesgos (forma parte de la definición inicial delproyecto). Se lleva a cabo una definición de riesgos iniciales del proyecto, de planesde contingencia, se definen las iteraciones iniciales (ya que con esta metodología nose conoce el número final de iteraciones que se realizarán obteniendo en cada una deellas una versión del prototipo) y se diseña una planificación temporal del proyectoteniendo en cuenta la salida de la primera etapa o fase. De esta fase obtendremos laplanificación que debemos seguir y que puede ser modificada en sucesivas iteraciones(es evolutivo). Se realiza un cronograma realista (considerando festivos, vacaciones yriesgos).

Toma de contacto con las tecnologías: se incluyen microproyectos de toma de contac-to con las tecnologías si son novedosas para el alumno o equipo de desarrollo. Incluyela instalación y configuración de dichas herramientas.

Iteración "n", en estas iteraciones se llevan a cabo las tareas de: identificación y aná-lisis de requisitos, diseño de requisitos y de arquitectura, implementación, pruebas yevaluación y pruebas de aceptación. El desarrollo del proyecto puede tener un númeroilimitado de iteraciones y con cada una de estas iteraciones podremos obtener una nue-va versión del prototipado. Sólo cuando el cliente y el director académico junto conel equipo de desarrollo determinen que no va a haber más iteraciones o versiones sepodrá pasar a una nueva iteración.

Elaboración del informe de cierre del proyecto: se analiza el cumplimiento del al-cance, cumplimiento de objetivos y desviaciones respecto del plan del proyecto. Seincluyen, además, análisis de riesgos ocurridos o no y de planes de contingencia. Porotra parte se describen las lecciones aprendidas en el desarrollo del proyecto, respectode la metodología y posibles extensiones y mejoras.

4.1.2 RolesLos roles que intervienen en el desarrollo del proyecto con la metodología FORTE 1.0 son

los siguientes:

Equipo de desarrollo: en este equipo se encuentra el alumno que realiza el trabajo fin

22

Page 53: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 4.1: Metodología Forte 1.0

de grado en el ámbito de FORTE. Entre las funciones que tiene este rol están: elicitarlos requisitos, planificar el proyecto a partir del alcance definido, y desarrollar el pro-yecto, que en este caso será una prueba de concepto. El equipo de desarrollo, además,lleva a cabo reuniones con cliente y director académico para realizar un seguimiento.La comunicación entre el equipo de desarrollo y los demás roles de esta metodologíatiene que ser continua. El equipo de desarrollo se encarga de documentar todas lasfases o etapas de la metodología.

Cliente: cliente concreto como una empresa y/o un director técnico en la empresacliente. Entre las funciones que desempeña este rol se encuentran la de describir elproyecto: realizan una definición del proyecto a alto nivel y junto con el equipo dedesarrollo y el director académico se lleva a cabo un acotamiento del alcance.

Director académico: este rol es tomado por el tutor académico del trabajo fin de gradoen la universidad. Se encarga junto con el cliente y el equipo de desarrollo de acotar el

23

Page 54: TICKS: Arquitectura híbrida de gestión documental integrada con

alcance del proyecto y realizar un seguimiento del equipo de desarrollo.

4.1.3 Aplicación de Forte 1.0 en el desarrollo del proyectoPara saber las iteraciones que se han desarrollado basadas en la metodología Forte 1.0 se

va a llevar a cabo una breve descripción de cada una de las etapas realizadas en el desarrollode este proyecto.

Iteración 0

Esta iteración ha fusionado las etapas de Identificación inicial del proyecto, planificacióny estimación de riesgos y toma de contacto con las tecnologías. De esta manera tras terminarla iteración 0 se podía tener una visión global y una planificación más realista del desarrollodel proyecto. Una de las salidas de esta iteración ha sido el anteproyecto del trabajo fin degrado que contenía muchos de los aspectos que se han definido en esta iteración inicial.

Se ha dividido la iteración 0 en tres partes o etapas:

Definición inicial del proyecto. En esta etapa se ha definido el proyecto, los objetivosy la metodología. También se ha adecuado el desarrollo del proyecto a las competen-cias que se debían adquirir en base a la intensificación elegida y se han elegido losmedios, software y hardware, que se iban a utilizar. Como salida de esta etapa se hapodido extraer el anteproyecto del trabajo fin de grado.

Definición inicial del proyecto 2. En esta etapa se han definido aspectos relevantescomo los riesgos iniciales del proyecto y a partir de éstos una planificación de lasiteraciones iniciales teniendo en cuenta tiempo y recursos.

Toma de contacto con las tecnologías. En esta fase se han tenido en cuenta los mediossoftware y hardware que se iban a utilizar y se han instalado y configurado para teneruna toma de contacto con las tecnologías. Esto incluye la instalación y configuraciónde Oracle Weblogic Server, infraestructura de Fusion Middleware, Oracle WebcenterContent, Orale BPM Suite, Oracle Linux Server y SoapUI (algunas tecnologías inclu-yen la instalación de otras que se describen en la siguiente sección). Además de realizarprocesos de negocio de prueba en Oracle BPM Suite, pruebas con API REST en Soa-pUI para Oracle Documents Cloud Service, y pruebas con servicios web en Soap UIpara Oracle Webcenter Content. En la siguiente sección 4.2 se dan más detalles delmarco tecnológico.

Iteración 1

Esta iteración también ha sido subdividida en tareas:

Identificación y análisis de requisitos Aquí se ha llevado a cabo una especificación derequisitos (funcionales y no funcionales), los roles que afectan al proyecto, y la combi-nación de ambos. Se han elaborado algunos documentos de análisis (como diagramas

24

Page 55: TICKS: Arquitectura híbrida de gestión documental integrada con

de secuencia y escenarios de prueba), se ha hecho una priorización de los requisitos yse han validado por parte del cliente y el director académico.

Diseño de requisitos Se ha diseñado el diagrama en notación Business Process Modeland Notation (BPMN) incluyendo las reglas de negocio que se van a tener en cuenta, elanálisis del flujo de información y la revisión. Además del diseño de la base de datos.

Diseño de la tipología documental y modelo de seguridad para cada tipo de docu-mento. Se ha diseñado el tipo de documento que va a gestionar las notas de gasto.

Implementación Aquí se ha implementado el proceso(enteramente) que se había di-señado para la gestión de notas de gasto, se ha configurado y se ha ejecutado. Laconfiguración ha sido uno de los pasos más importantes que se han realizado ya que laintegración con las herramientas y tecnologías tenía una complejidad notable.

Pruebas y evaluación Se ha llevado a cabo una simulación del proceso y pruebasunitarias con SOA Suite. Además se han llevado a cabo pruebas de integración decomponentes para comprobar que las conexiones eran correctas.

Pruebas de aceptación Gracias a la comunicación continua con cliente y directoracadémico se ha podido aceptar la prueba de concepto de la aplicación de gestión denotas de gasto.

Cierre del proyecto

En esta iteración se ha elaborado el informe de cierre del proyecto. Se ha analizado sise han cumplido las expectativas en cuanto a alcance, objetivos, desviaciones y riesgos. Enesta fase se ha realizado un breve resumen de aspectos que se han aprendido en la duracióndel desarrollo del proyecto, además de posibles extensiones y mejoras que se pueden llegara realizar en la aplicación de gestión de notas de gasto.

4.2 Marco tecnológicoEn este apartado se van a detallar de forma estructurada las herramientas, tecnologías,

lenguajes y frameworks utilizados en el desarrollo de este proyecto fin de grado. Además sepuede ver de manera gráfica en la figura 4.2 el resumen del marco tecnológico.

4.2.1 Herramientas para la gestión del proyectoPara gestionar este proyecto se han utilizado las siguientes herramientas:

Gantt Project

Gantt Project [Gan] es una herramienta de gestión de proyectos que utiliza Diagramas deGantt. Es software libre, distribuido bajo licencia GNU y está escrito en Java. Está disponiblepara Windows, Linux y OSX. Este software ofrece la posibilidad de planificar un proyecto

25

Page 56: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 4.2: Resumen del marco tecnológico

gestionando, además, los recursos que se vean implicados en él. Se puede visionar el diagra-ma Gantt y modificar el calendario para gestionar el tiempo de desarrollo del proyecto.

La versión 2.7.2 ha sido la elegida para la planificación del proyecto, para la definición delas tareas a realizar, tiempo a dedicar en cada una de ellas y dependencias. Además se hanañadido las fechas reales en las que se daba por iniciada o finalizada cada tarea. Se eligióesta herramienta por estar disponible en diferentes sistemas operativos.

EGI - hErramienta de Gestión Interna

EGI o hErramienta de Gestión Interna es la herramienta de gestión que se utiliza en Avant-tic para gestionar las horas dedicadas a los diferentes proyectos existentes.

Con esta herramienta se ha llevado a cabo un registro de todas las horas dedicadas alproyecto fin de grado y descripción de las actividades que se llevaban a cabo del trabajo finde grado y del mes dedicado al proyecto real. En la figura 4.3 se puede ver una iamgen de laherramienta utilizada.

4.2.2 Herramientas para el modelado software

Para el modelado de software se han utilizado las siguientes herramientas:

26

Page 57: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 4.3: Imagen de la hErramienta de Gestión Interna (EGI)

Visual Paradigm

Visual Paradigm [Vis] es una herramienta de modelado software que utiliza el lenguajeUnified ModelLing Language (UML). Permite la creación de todos los diagramas UML.Está orientada a soportar todos los diagramas del ciclo de vida de un proyecto como, porejemplo, los siguientes: la especificación de requisitos textual, diagramas de casos de uso,diagramas de análisis, diagramas de diseño, diagramas de bases de datos (esquema entidadrelación), diagramas de despliegue y diagramas de componentes, entre otros. En las últimasversiones, además, se añaden características para la creación de diagramas de procesos denegocio y API REST. Permite también la generación de código a partir de los diagramas,ingeniería inversa y la creación de diagramas de forma colaborativa.

Para el modelado de software del proyecto se ha utilizado la versión Community Editionque es libre sólo para uso no comercial. La versión es la 13.0. Se ha utilizado para la creaciónde diagramas de casos de uso, diagramas de secuencia y diagramas esquema relación delesquema de base de datos. La versión Community Edition tiene algunas limitaciones y notiene las mismas características que puede tener la versión con licencia pero eran suficientespara este trabajo fin de grado. El modelado de diagramas en lenguaje BPMN se ha realizadocon Oracle JDeveloper Studio.

27

Page 58: TICKS: Arquitectura híbrida de gestión documental integrada con

Balsamiq Mockups

Balsamiq Mockups [Bal] es una herramienta de prototipado para el diseño de la interfaz deun sistema. Gracias a esta herramienta podemos visualizar y diseñar la interfaz que queremosque se realice en nuestro proyecto.

Esta herramienta se ha utilizado para el prototipado de la apariencia que ofrecerá la apli-cación creada para el usuario final.

4.2.3 Herramientas, tecnologías y frameworks para el desarrolloEn este apartado se detallan las herramientas, tecnologías y frameworks que se han utili-

zado en el desarrollo del proyecto:

Oracle Weblogic Server

Oracle Weblogic Server [Webb] es un servidor de aplicaciones Java. La infraestructura delservidor de Weblogic es una herramienta útil para la construcción de aplicaciones basadasen arquitecturas orientadas a servicio o SOA. El servidor de Weblogic se encarga de desple-gar aplicaciones en un entorno seguro, robusto, escalable y con alta disponibilidad. OracleWeblogic Server porporciona soporte para (sólo se definen las características utilizadas en eldesarrollo del proyecto aunque Weblogic tiene algunas más):

Aplicaciones web. Para Java Servlets y JavaServer Pages (JSP).

Servicios web. Para que los servicios web estén disponibles para otros sistemas.

XML. Para el intercambio de información.

Java Messaging Service (JMS). Para permitir a las aplicaciones comunicarse conotras a través del intercambio de mensajes.

Java Database Connectivity (JDBC). Para el acceso a recursos de sistemas de gestiónde base de datos.

En este trabajo fin de grado se ha utilizado la versión 12c r2 de esta herramienta quese integra con Oracle Database 12c (se explicará más adelante en este mismo capítulo). Elservidor de Weblogic se utiliza también para desplegar Enterprise Manager, Web Center ySOA. Enterprise Manager es una plataforma que controla los servidores y los despliegues quese han producido en el servidor de Weblogic. Web Center y SOA se explicarán en siguientessubapartados.

Oracle Webcenter Content

Oracle Webcenter Content [Weba] es un gestor de contenido empresarial on-premise. Pro-porciona un repositorio unificado para almacenar contenido no estructurado. Entre sus ca-racterísticas podemos encontrar:

28

Page 59: TICKS: Arquitectura híbrida de gestión documental integrada con

Permite la definición de tipologías documentales o perfiles.

Permite la transformación de documentación a diferentes tipos de archivos.

Permite la utilización de un modelo de seguridad para controlar quién ha accedido aldocumento.

Tiene control de versiones.

Se puede gestionar a través de servicios web SOAP (SOAP WSDL).

Esta herramienta está compuesta por tres servidores:

Oracle Inbound Refinery (IBR). Es el encargado de las conversiones de documentose imagénes.

Oracle Universal Content Management(UCM). Es el encargado de gestionar todoel contenido que existe en Webcenter Content.

Oracle Webcenter Content ADF (WCCADF). Es el encargado de lanzar la aplica-ción de usuario para la descarga y visionado de documentos almacenados en Webcen-ter Content con una interfaz sencilla y amigable.

Se ha utilizado esta herramienta para crear tipologías documentales. Después de habercreado la tipología documental se han almacenado y descargado documentos con el perfilde la tipología documental creada a través de servicios web en el proceso de negocio. Se hautilizado la versión 12.2.1 de Webcenter Content. En la figura 4.4 podemos ver la arquitecturade Webcenter Content.

Oracle Business Process Management (BPM) Suite

Oracle Business Process Management Suite [BPMe] es una plataforma que se utiliza paraautomatizar procesos de negocio BPM. La suite proporciona soporte para las tareas humanas,documentos, eventos, reglas de negocio y diferentes actividades. Utiliza la notación y mode-lado BPM en su versión 2.0. Está integrado con JDeveloper. Oracle BPM Suite contiene unode los elementos más importantes del despliegue de procesos de negocio: Oracle BusinessProcess Management Workspace, que es el lugar donde se pueden iniciar las instancias delos procesos y donde se pueden visualizar las tareas pendientes para cada rol que intervengaen el proceso.

En la figura 4.5 podemos ver los siguientes elementos necesarios para desplegar y ejecutarun proceso de negocio con Oracle BPM Suite:

Oracle BPM Studio. Oracle Business Process Management (BPM) Studio es un plug-in de JDeveloper para la integración con Oracle Business Process Management Suitey utiliza muchos elementos que utiliza Oracle Service Oriented Architecture (SOA)Suite. Permite a los desarrolladores crear aplicaciones basadas en procesos de negocioy a los analistas modelar procesos de negocio. Se ha utilizado la versión 12.2.1.

29

Page 60: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 4.4: Arquitectura de Oracle Webcenter Content

Oracle BPA Studio. Es el componente de Oracle BPM Studio que permite modelar elproceso de negocio en las fases de análisis y diseño.

Oracle Business Process Composer. Es una aplicación basada en web que permite alos analistas de procesos crear y personalizar procesos de negocio.

Oracle BPM Workspace. Es una aplicación destinada a usuarios finales para podercrear instancias de procesos y realizar las tareas pendientes en el proceso de negocio.

Oracle Enterprise Manager. Es una plataforma que se utiliza para gestionar, en estecaso, procesos desplegados, el estado de los que han sido desplegados, también seutiliza para crear y configurar conectores de email y para gestionar la comunicacióncon otros servidores entre otras cosas.

Human Workflow Engine. Es un componente que se utiliza para gestionar el ciclode vida de las tareas humanas (incluye la creación y asignación de tareas humanas onotificaciones, por ejemplo).

Oracle Rules Engine. Es un componente que gestiona las reglas de negocio que seutilizan en el proceso de negocio y que hacen rico al proceso.

BPMN Service Engine. Proporciona servicios en tiempo de ejecución para desplegarprocesos de negocio.

30

Page 61: TICKS: Arquitectura híbrida de gestión documental integrada con

BPEL Service Engine. Proporciona servicios en tiempo de ejecución para desplegarBPEL o Business Process Execution Language.

SOA Composite Application. Es un conjunto de servicios, componentes de servicio,referencias y enlaces diseñado e implementado en conjunto para satisfacer una nece-sidad de negocio. Cada uno de los procesos tiene un composite que contiene estoselementos.

Oracle Weblogic Server. Es el servidor sobre el que se despliega un proceso de ne-gocio con esta tecnología.

Figura 4.5: Arquitectura de Oracle Business Process Management Suite

Además, cada uno de los elementos que tiene esta tecnología se utilizan para uno o variosmomentos del ciclo de vida del proceso de negocio (figura 4.6). Oracle BPA Suite se utilizapara modelar y analizar los procesos de negocio y BAM o Business Activity Monitoring seutiliza para monitorizar los procesos de negocio y los servicios. Los demás elementos estánexplicados anteriormente.

31

Page 62: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 4.6: Etapa a etapa en Oracle BPM Suite

Para el desarrollo del Trabajo Fin de Grado he utilizado la versión 12.2.1. Esta es la últimaversión lanzada y permite visualizar las entradas y las salidas de cada tarea para revisar que elproceso es correcto, antes sólo se podían revisar las salidas y entradas del proceso completode tal manera que si el proceso no era correcto no se localizaba rápidamente el componenteque fallaba. Se utiliza para automatizar procesos de negocio junto con Oracle BPM Studioen Oracle JDeveloper. En el A se puede ver un resumen de las tareas o actividades, puertaslógicas y eventos que permite Oracle BPM Suite 12.2.1.

Oracle Application Development Framework (ADF)

Oracle Application Development Framework [ADF] es un framework de desarrollo Javautilizado en la construcción de aplicaciones empresariales. Oracle ADF está basado en el pa-trón modelo-vista-controlador e incluye una librería que permite construir funcionalidad enHTML5 y Ajax. ADF permite la construcción de aplicaciones con diseños adaptativos paraelementos táctiles (como tablets y móviles) y de forma unificada para diferentes plataformascomo iOS y Android. Esta herramienta proporciona un nivel de seguridad alto. Oracle ADFes soportado por Oracle JDeveloper y por Eclipse.

Se ha utilizado Oracle ADF para desarrollar los formularios de las tareas humanas delproceso de negocio. Se ha conseguido que los formularios de las tareas humanas sean adap-tativos dependiendo del dispositivo que se utilice. Se ha elegido la última versión disponible12.2.1.

Oracle Documents Cloud Service

Oracle Documents Cloud Service [Docb] es un gestor de contenido empresarial en lanube. Entre sus características podemos encontrar que: permite el acceso 24 horas al día los

32

Page 63: TICKS: Arquitectura híbrida de gestión documental integrada con

7 días de la semana desde cualquier dispositivo y de forma offline si se ha presincronizado elcontenido cuando estaba conectado a internet y tiene una interfaz intuitiva para los usuarios.Para manejar los documentos que se suben, almacenan y eliminan se utiliza la API RESTde Documents Cloud Service, que devuelve un JSON o un XML. Oracle Documents CloudService se integra con Oracle Webcenter Content para conseguir un gestor de contenidoempresarial híbrido.

Se ha utilizado esta herramienta para almacenar tiques en la nube para que el usuariopudiera ver si habían sido aceptados o no después de terminar el proceso de negocio. Se hautilizado la API REST en el proceso de negocio para conectarlo y realizar todas las accionesque fueran necesarias con los documentos (crear carpetas, descargar documentos,...). Se hautilizado la versión 1.1.

Oracle JDeveloper Studio

Oracle JDeveloper Studio [Jde] es un entorno de desarrollo integrado o Integrated Deve-lopment Environment (IDE). JDeveloper proporciona soporte a ADF (Application Develop-ment Framework), Java, Oracle SOA Suite, XML y Oracle BPM Suite entre otros. Además,con JDeveloper se pueden generar diagramas de actividad, de clases, de bases de datos, desecuencia y de casos de uso.

Se ha utilizado esta herramienta como entorno de desarrollo para todas las tecnologíasutilizadas. En esta herramienta se ha diseñado y automatizado el proceso de negocio degestión de notas de gasto. Se ha utilizado la versión 12.2.1.

Oracle Linux Server

Oracle Linux Server [Lin] es un sistema operativo libre que proporciona Oracle para sudistribución. Tiene licencia pública General Public License (GNU). Es un sistema operativopreparado para la integración con herramientas Oracle.

Este sistema operativo ha proporcionado soporte para todas las herramientas y tecnologíasOracle utilizadas ofreciendo un soporte óptimo para todas ellas. Se ha utilizado la versión6.7.

Oracle Virtual Box

Oracle Virtual Box [Vir] es una herramienta de virtualización para arquitecturas x86/amd64.Permite la ejecución de otro sistema operativo virtualizado en nuestro sistema operativo an-fitrión. Se descarga bajo por los términos de una licencia GNU. Se ejecuta en Windows,Linux, Macintosh y Solaris.

Se ha utilizado Oracle Virtual Box para instalar Oracle Linux Server y la versión ha sidola 5.0.14.

33

Page 64: TICKS: Arquitectura híbrida de gestión documental integrada con

XML

XML (eXtensible Markup Language) [XML] es un lenguaje de marcado que fue diseñadopara almacenar y transportar datos de una forma que tanto máquinas como personas pudieranentender. Fue desarrollado por el World Wide Web Consortium (W3C).

En este trabajo fin de grado se han utilizado varias tecnologías XML y que se describen acontinuación:

XSD. [XSD] (XML Schema Definition) Se utiliza para describir la estructura de undocumento XML.

WSDL [WSD] (Web Services Description Language). Se utilizan para describir servi-cios web y está escrito en XML.

XPATH.[XPa] Es un lenguaje que permite realizar búsquedas en un documento XML.

XSLT. [XSL] (EXtensible Stylesheet Language Transformations). Es un estándar quese utiliza para transformar documentos XML a otro formato XML.

Se utiliza XSD para los adaptadores de bases de datos conviertiendo los datos recibidosde la base de datos relacional a este tipo de archivo. Los servicios SOAP WSDL se utilizanpara conectar Oracle Webcenter Content y Oracle BPM Suite. XPath se utiliza también paralos adaptadores.

Java SE Development Kit

Java SE Development Kit es un entorno de desarrollo para construir aplicaciones, appletsy componentes utilizando el lenguaje de programación Java.

En este trabajo fin de grado se ha utilizado la versión 8.51.

Json

Json [jso] es un formato de intercambio de datos ligero. Se basa en un subconjunto dellenguaje de programación JavaScript. Se basa, además, en dos estructuras:

Una colección de pares nombre/valor: objeto, registro, estructura, diccionario, tablahash, lista con clave...

Una lista ordenada de valores: matriz, vector, lista o secuencia.

4.2.4 Herramientas y tecnologías para la base de datos

En el desarrollo de este proyecto se han utilizado las siguientes herramientas y tecnologíaspara gestionar las bases de datos:

34

Page 65: TICKS: Arquitectura híbrida de gestión documental integrada con

Oracle Database

Oracle Database [Dat] es un sistema de gestión de base de datos relacional. Proporcionauna gestión de datos eficiente, fiable y segura. Ofrece buenos niveles de disponibilidad yes multiplataforma. Permite la integración con Java, presenta la posibilidad de implementarprocedimientos PL/SQL y está orientada tanto a su uso en local como a su uso en la nube.

Se ha utilizado la versión 12c de Oracle Database. En la base de datos se almacenantodos los esquemas de las tecnologías utilizadas (Oracle Webcenter Content, Oracle BPMSuite,...).

Oracle SQL Developer

Oracle SQL Developer [Dev] es un entorno de desarrollodo integrado (IDE) que simplificael desarrollo y la gestión de la base de datos Oracle de modo tradicional o para desplieguesen la nube. Ofrece una consola de administración de base de datos para gestionar la base dedatos y una solución completa de modelado de datos.

Se ha utilizado Oracle SQL Developer para gestionar los esquemas existentes en la basede datos que han sido creados para este proyecto.

4.2.5 Herramientas y tecnologías para pruebasSe han utilizado las siguientes herramientas y tecnologías para pruebas:

SoapUI

Soap UI [Soab] es una herramienta open source de pruebas funcionales multiplataforma.Esta herramienta permite crear y ejecutar pruebas automatizadas y es compatible con todoslos protocolos y tecnologías estándar. Es una de las herramientas más completas.

Se ha utilizado en el desarrollo del proyecto para probar la funcionalidad de los SOAPWSDL que se utilizan para la integración de Oracle BPM Suite con Oracle Webcenter Con-tent y para la API REST de Oracle Documents Cloud Service.

Oracle Service Oriented Architecture (SOA) Suite

Oracle Service Oriented Architecture (SOA) Suite [SOAa] es una plataforma muy com-pleta que incluye un número muy importante de componentes que permiten y facilitan laarquitectura orientada a servicios, entre los que se encuentran(describo los que pueden resul-tar más interesantes para el desarrollo de este proyecto):

Adaptadores (de base de datos por ejemplo)

Business Activity Monitoring (BAM). Que sirve para monitorizar las actividades quese están ejecutando.

Business Process Management (BPM)

35

Page 66: TICKS: Arquitectura híbrida de gestión documental integrada con

Reglas de negocio

Flujos de trabajo humanos (Human Workflow)

Servicios web

Además, SOA Suite en su versión 12c (la que se ha utilizado) proporciona la posibilidadde realizar pruebas unitarias de manera simple ejecutándolas en JDeveloper. Se ha utiliza-do como plataforma para el desarrollo del proyecto ya que ofrece componentes que erannecesarios para crear la aplicación de notas de gastos y para la generación de pruebas.

4.2.6 Herramientas para la documentaciónPara la documentación se han utilizado las siguientes herramientas:

LATEX

LATEX[Lat] es un sistema de preparación de documentos de un nivel de calidad alto. Incluyecaracterísticas para producir documentación científica y técnica.

Este documento se ha creado con LATEX.

Microsoft Office

Microsoft Office [Off] es un conjunto de aplicaciones ofimáticas multiplataforma que per-mite la creación de documentos, hojas de cálculo, presentaciones, publicaciones,...

La versión utilizada en este proyecto es la de 2016. Aunque este documento está redactadoen LATEX, he utilizado Microsoft Office para la creación de figuras.

4.2.7 Herramientas para la gestión de la configuraciónGit

Git [Git] es un sistema de control de versiones distribuido libre y de código abierto.

Se ha utilizado en el desarrollo del proyecto para el control de versiones del proceso, seintegra con JDeveloper y también con GitHub. Se ha usado la versión 2.8.2.

Bitbucket

Bitbucket [Bit] es una plataforma de desarrollo colaborativo que utiliza los sistemas decontrol de versiones Git y Mercurial. El código puede subirse a esta plataforma de formapública o privada. Contiene una wiki, una página web, un gráfico de los cambios producidos,permite tener seguidores y colaborar con otros proyectos.

Se utiliza junto con Git para poder almacenar el código del proyecto, para poder visuali-zar y controlar los cambios producidos y para replicar el proyecto en un lugar diferente allocal.

36

Page 67: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 5

Resultados

E N este capítulo se describen las iteraciones realizadas en el desarrollo del proyecto y,además, los resultados obtenidos de cada una de ellas.

5.1 Iteración 05.1.1 Definición inicial del proyecto

La definición inicial del proyecto proporciona una visión muy global del proyecto a muyalto nivel. Simplemente se define un alcance y los objetivos que se pretenden perseguir quese pueden ver con más detalle en el capítulo 2. Tras esto se eligen los medios softwarey hardware necesarios para el desarrollo del proyecto. En el capítulo 4 se puede ver unadescripción de todas las herramientas, frameworks y tecnologías que se eligieron para eldesarrollo de este proyecto.

La decisión de la metodología ha sido clave, el director académico de este trabajo fin degrado propuso una adaptación del Prototipado Evolutivo para trabajos fin de grado realizadosen el ámbito del convenio Forte. Se llevó a cabo un boceto de la metodología por parte deltutor académico para poder probar su efectividad en un desarrollo real y a partir de ahí sedesarrolló la que sería la metodología utilizada en este proyecto.

Tras haber realizado la definición inicial del proyecto y de haber justificado las competen-cias específicas de la especificación de ingeniería de software se redactó el anteproyecto deltrabajo fin de grado dando por terminada esta etapa. El anteproyecto se aceptó el día 17 demarzo de 2016.

5.1.2 Definición inicial del proyecto 2Definición de riesgos iniciales del proyecto

Una vez conocida la envergadura del proyecto se definió una lista de riesgos iniciales[S.97] (la lista de riesgos es evolutiva) que podrían afectar al desarrollo del proyecto. En lasiguiente tabla se detallan los riesgos que pueden afectar al desarrollo de la aplicación degestión de notas de gasto. En la tabla de riesgos (tabla 5.1) tenemos:

Número de riesgo: número de identificación del riesgo.

Riesgo: breve descripción del riesgo que se ha detectado anticipadamente.

37

Page 68: TICKS: Arquitectura híbrida de gestión documental integrada con

Descripción y causas: descripción más amplia del riesgo y causas que lo pueden pro-vocar.

Acciones de contingencia: descripción de la solución para mitigar y controlar el riesgo.

Impacto: (en días) impacto del riesgo en el proyecto. Pueden ser positivos o negativosdependiendo del riesgo.

Probabilidad: (en porcentaje) probabilidad de que el riesgo ocurra en el desarrollo delproyecto.

Exposición al riesgo: el producto del impacto por la probabilidad de que ocurra elriesgo.

Cuadro 5.1: Riesgos iniciales del proyecto.

No riesgo Riesgo Descripción y causas Acciones de contin-gencia

Impacto(Días)

Probabilidad( %)

Exposiciónal riesgo

1 Problemasde insta-lación delas tecno-logías/he-rramientas

Que se retrase la ins-talación correcta delas tecnologías y/o he-rramientas que se uti-lizarán para el desa-rrollo del proyecto.

Realizar la insta-lación asesoradapor un compañerocon experiencia enlas tecnologías oherramientas.

5 80 % 4 días

2 Problemasde RAMen elordenador

Necesidad de teneramplios recursos parala instalación de cier-tas herramientas porlo que puede llevar-se a cabo un cam-bio de ordenador quehará que se realicende nuevo tareas queya estaban realizadas(como la instalaciónde recursos u otras).

Cambiar el ordenador/ RAM lo antes po-sible para no retrasardemasiado el desarro-llo del proyecto.

_ _ _

2.1 Problemasde RAMen elordenador

Iteración 0 – Ocurren-cia en toma de contac-to con las tecnologías

Cambiar el ordenador/ RAM lo antes po-sible para no retrasardemasiado el desarro-llo del proyecto, e ins-talar nuevamente lasherramientas

2 90 % 1,8 días

Continúa en la siguiente página

38

Page 69: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.1 – Imputación de horas en EGI.

No riesgo Riesgo Descripción y causas Acciones de contin-gencia

Impacto(Días)

Probabilidad( %)

Exposiciónal riesgo

2.2 Problemasde RAMen elordenador

Ocurrencia en lasdiferentes iteracionesque se realizan enbusca de una función

Cambiar el ordenador/RAM lo antes po-sible y reinstalar to-dos los componenteslo más rápido posi-ble. Tener almacena-do/ anotado en algúnlugar los pasos de ins-talación de las herra-mientas.

2 60 % 1,2 días

3 Curva deaprendiza-je mayorde loesperado

El tiempo que se utili-ce para aprender nue-vas tecnologías y/oherramientas sea ma-yor al esperado y re-trase el desarrollo delproyecto.

Realizar tutoriales yleer la documentaciónde las herramientasevitando así que lacurva se alargue másde lo esperado

10 60 % 6 días

4 Apariciónde nuevosrequisitos /El clienteinsiste ennuevosrequisitos

Con la aparición denuevos requisitos seamplía el alcance loque puede hacer quese retrase el proyecto.

Replanificar el desa-rrollo del proyectocon los requisitosque han aparecidoy en el caso de nopoder incluirlos en eldesarrollo del mismodescartarlos.

4 90 % 3,6 días -En cadaiteración

5 Un mal di-seño técni-co

El diseño no cumplecon los requisitos quese han definido

Validar cada etapa oiteración realizadaspara que se desarrolleun prototipo quecumpla con el análisisdesarrollado.

10 40 % 4 días

6 Un maldiseño delproceso denegocio

El proceso de nego-cio que se integra enla arquitectura híbridade gestión documen-tal no es lo suficiente-mente fiel a los requi-sitos del proyecto

El proceso de negociose debe aceptar o vali-dar teniendo en cuen-ta los requisitos reco-gidos, la implicaciónde los roles en el pro-ceso, los tutores y elcliente.

10 40 % 4 días

Continúa en la siguiente página

39

Page 70: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.1 – Imputación de horas en EGI.

No riesgo Riesgo Descripción y causas Acciones de contin-gencia

Impacto(Días)

Probabilidad( %)

Exposiciónal riesgo

7 El trabajocon unentornosoftwaredescono-cido causaproble-mas noprevistos

Desarrollar en un en-torno software nue-vo puede causar algu-nos problemas no pre-vistos por desconoci-miento

Se preguntará a ex-pertos en los entor-nos software descono-cidos para evitar pro-blemas no previstos oafrontarlos si apare-cen

5 95 % 4,75 días

8 El tiempode comu-nicacióncon elcliente /directoreses máslento de loesperado

El tiempo de respues-ta o retroalimentaciónpor parte del cliente odirectores no es muyrápido

Se realizará la comu-nicación tan prontocomo aparezcan du-das para así evitar queel tiempo de esperasea mayor de lo espe-rado. Además se lle-varán a cabo reunio-nes con los tutores.

5 70 % 3,5 días

9 El per-sonalnecesitaun tiempoextra paraacostum-brarse atrabajarcon herra-mientas oentornosnuevos

Es necesario acos-tumbrarse a entornosnuevos o herramien-tas desconocidas

Se seguirán tutorialesy pequeños proyectospara el aprendizaje ypara acostumbrarse ala utilización de he-rramientas o entornosnuevos

1 80 % 0,8 días

10 Posibleretraso delproyectoreal.

Nuestra relación conel proyecto real (sededicará inicialmenteun mes al proyectoreal) se amplía en eltiempo.

Intentar resolver lasincidencias lo másrápido posible. Utili-zar el conocimientoaprendido para eldesarrollo del trabajofin de grado.

10 50 % 5 días

40

Page 71: TICKS: Arquitectura híbrida de gestión documental integrada con

Definición de iteraciones iniciales y de la planificación temporal del proyecto

Tras tener una visión global del proyecto y de conocer los riesgos que pueden afectar laplanificación del sistema se definen las iteraciones que se van a realizar inicialmente y laplanificación temporal. La planificación se ha desarrollado en la herramienta GanttProject.Inicialmente se planificaron las iteraciones que aparecen en la figura 5.1 y se generó el Dia-grama de Gantt de la figura 5.2. Se tuvo en cuenta que en el mes de abril la autora de estetrabajo fin de grado se dedicaría a un proyecto real en la empresa Avanttic.

Figura 5.1: Planificación inicial en GanttProject

Figura 5.2: Diagrama de Gantt del proyecto

41

Page 72: TICKS: Arquitectura híbrida de gestión documental integrada con

5.1.3 Toma de contacto con las tecnologíasInstalación y configuración de las herramientas

Instalación de las herramientas Oracle

- Descargar los quickstar.jar de cada una de las herramientas

- Instalarlos desde el bin de la versión jdk de la versión de java que utilice elsistema operativo utilizado.

- Lo primero en instalarse es la base de datos, creando contraseñas para los esque-mas y usuarios que luego las utilizarán.

- Crear un repositorio para el almacenamiento de los esquemas que posteriormenteutilizará cada una de las herramientas. En cada repositorio se debe definir un propieta-rio del esquema y el nombre del esquema por defecto, entre otras cosas.

- Tras crear cada uno de los repositorios se debe crear un dominio para cada repo-sitorio de tal manera que sus esquemas queden separados de los de otros dominios.

- En cada uno de los dominios se encuentra un script de lanzamiento del servidorde aplicaciones Weblogic. Para la administración se utiliza el puerto 7001 por defecto,para que los dos dominios que se han creado para el desarrollo de este proyecto pudie-ran lanzarse sin colisión se ha modificado el puerto por defecto de uno de los dominiosa 7005.

- Dentro del dominio además existen scripts de lanzamientos de servidores paralanzar los servidores manejados por weblogic.

Integración de Universal Content Management (UCM) con BPM

- UCM y BPM están en diferentes dominios por lo que hace falta una conexión decomunicación. Para la integración se debe configurar los workflow del servidor soa_-server1 y modificar la dirección UCMIdURL a idc://localhost:4444 que es la direccióny el puerto de acceso a los documentos en ucm. Además, se deben crear nuevas cre-denciales de seguridad en el dominio de Weblogic. De esta manera se pueden conocerambos dominios.Ins

Problemas surgidos

- Inicialmente se pensó en utilizar Oracle Database 11g Express Edition pero sedecidió finalmente por Oracle Database 12c que aunque era menos ligera era, también,más completa para la utilización de todas las herramientas Oracle que la utilizan

- La memoria RAM del primer ordenador proporcionado por Avanttic no fue sufi-ciente (tenía 8 GB RAM). Y Avanttic proporcionó un ordenador con el doble de RAM(16 GB) para que pudiera ser utilizado por la autora de este proyecto.

42

Page 73: TICKS: Arquitectura híbrida de gestión documental integrada con

Toma de contacto con las tecnologías

Pruebas con SOAP UI

- API REST de Oracle Documents Cloud Service. Para la utilización de OracleDocuments Cloud Service , Avanttic proporcionó una cuenta de usuario a la autora deeste proyecto para la realización del mismo. Se realizaron pruebas para poder compro-bar que los servicios de la API REST de Oracle Documents Cloud Service era correcta(figura 5.3. Después se podrían utilizar en Oracle BPM Suite.

Figura 5.3: Pruebas con SOAP UI y API REST de Oracle Documents Cloud Service

- SOAP WSDL de Oracle Webcenter Content. También se probaron los servi-cios web en esta herramienta para comprobar que se podían hacer todas las accionesdisponibles con los documentos en Oracle Webcenter Content. Podemos ver las prue-bas en la figura 5.4.

Cursos de formación. Los dos cursos de formación proporcionados por Avanttic yrealizados en la Escuela Superior de Informática de Ciudad Real (tanto el curso deOracle Service Bus y Oracle Mobile Application Framework) fueron de utilidad. Enel primero pude aprender a realizar algunos conectores de base de datos y a crearconexiones jdbc a esquemas de bases de datos a través del servidor de aplicacionesWeblogic Server. El segundo curso me sirvió para conocer también un poco de ADF,ya que Oracle Mobile Application Framework se basa en ADF y los elementos de lainterfaz pueden ser similares a la hora de crearlos y a la hora de utilizarlos.

Oracle Webcenter Content - Conceptos de gestión documental

- No sólo en la toma de contacto con las tecnologías se han creado pruebas, tam-bién se ha estudiado y aprendido la forma en la que las tecnologías tratan algunos

43

Page 74: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.4: Pruebas con SOAP UI y SOAP WSDL de Oracle Webcenter Content

conceptos. En este caso se ha aprendido cómo se define la tipología de documentos eneste gestor de contenido empresarial. En la siguiente figura se puede ver la interfaz deWebcenter Content 5.5.

Figura 5.5: Interfaz de usuario de Oracle Webcenter Content

- Además, en esta herramienta existen varias formas de conseguir documentos queestán almacenados o de subir documentos. Existe una librería que se llama RIDC que

44

Page 75: TICKS: Arquitectura híbrida de gestión documental integrada con

está escrita en Java y que utiliza los servicios del api de Oracle Webcenter Content. Secrean data binders para conseguir lo que se quiera a través de servicios con esta librería.También se puede conseguir archivos a través de SOAP WSDL. Son servicios webque pueden conseguir la información de los archivos, subir documentos, actualizarlos,modificarlos,. . .

Oracle BPM Suite - Procesos de prueba

- En el anexo A existe una descripción de las puertas lógicas, de las actividades yeventos que proporciona Oracle BPM Suite. Siguen el estándar BPMN 2.0 pero, porejemplo, las tareas humanas se subdividen en varios tipos y hay que tenerlos en cuenta.

- Cuando se genera un nuevo proyecto en JDeveloper se crea un composite.xmlque es un archivo que contiene todos los componentes que forman el proceso y sus re-laciones. Este composite.xml también es común a Oracle Business Process ExecutionLanguage) y a Oracle Service Bus (OSB). Existen diferentes tipos de adaptadores ycomponentes para las tareas de servicios y se intentaron realizar varios ejemplos conellas. En la figura 5.6 se puede ver la interfaz del workspace o espacio de trabajo deOracle BPM Suite.

Figura 5.6: Interfaz de usuario de Oracle BPM Workspace

- Proceso Hello World de prueba Se llevó a cabo un proceso de negocio deprueba con un tutorial de la versión 11g ya que la documentación de la versión 12.2.1aún es escasa. El proceso tiene dos roles. Comienza con una tarea manual que introdu-ce un mensaje, a través de reglas de negocio se comprueba si tiene que ser revisado ono, si tiene que ser revisado se puede modificar el contenido del mensaje. Después elmensaje puede ser rechazado o aceptado. En caso de ser rechazado volverá al formu-lario inicial de la tarea humana y si es aceptado será escrito en un archivo. El proceso

45

Page 76: TICKS: Arquitectura híbrida de gestión documental integrada con

finaliza cuando el mensaje es escrito en un archivo. El proceso era un ejemplo de cómoutilizar Oracle BPM Suite con JDeveloper para poder diseñar, implementar y desple-gar procesos de negocio. Uno de los errores a la hora de ejecutar el proceso de HelloWorld retrasó el proyecto ya que el error no era conocido y no se pudo resolver rápida-mente. El error era por una línea en el login.jsp generado por Oracle BPM Suite. Estearchivo es el encargado de loguear al usuario y la contraseña al inicio del proceso. Sino se loguea no se crea la instancia del proceso. El error, renombrado por la autora deeste trabajo fin de grado como “el error de la línea 14”, se producía por el intento decompilación fallido de la línea en cuestión. La solución era eliminar la línea que dabaproblemas y el despliegue del proceso se podía realizar de manera correcta. El procesose encuentra en la figura 5.7.

Figura 5.7: Proceso de negocio "Hello World"de ejemplo

- Proceso de integración con UCM. En Oracle BPM Suite existe una integra-ción para la subida de documentos al gestor de contenido Oracle Webcenter Contenta través del servidor UCM. Cuando se suben los documentos se ejecuta un servicio,ese servicio almacena las variables del documento que se ha chequeado en el gestorde contenido. Gracias a eso, se pueden almacenar variables (a través de continuos ma-peos de variables) para poder extrar el documento con ese identificador almacenado yposteriormente extraer el contenido del documento en base 64 y luego poderlo escribiren una carpeta del sistema (descargándoselo el usuario) para poder visualizarlo. En lafigura 5.8 se puede ver el proceso de prueba para la integración con BPM.

46

Page 77: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.8: Proceso de negocio para descargar documentos

Problemas surgidos

- La curva de aprendizaje se amplió por la poca documentación que existe deOracle Webcenter Content y que no facilita su comprensión. Tampoco existe muchadocumentación de su integración con Oracle BPM Suite.

47

Page 78: TICKS: Arquitectura híbrida de gestión documental integrada con

5.2 Iteración 15.2.1 Identificación y especificación de requisitosElicitación e identificación de requisitos

El primer paso para identificar los requisitos es elicitarlos. Para la elicitación se han lle-vado a cabo entrevistas con el cliente. El cliente determinó que fuera Nuria, personal deadministración la responsable de comunicar los requisitos del proceso de gestión de notasde gasto. Se llevaron a cabo varios cuestionarios lo más cerrados posible. En el anexo B sepuede ver una muestra de los cuestionarios enviados para conocer el contexto del proceso degestión de notas de gasto.

Especificación de requisitos

Tras la elicitación de los requisitos se lleva a cabo la especificación de los requisitos.

Requisitos funcionalesSe ha realizado una tabla (tabla 5.2) para mostrar los requisitos funcionales numeradospara su trazabilidad, además de una breve descripción.

Requisitos no funcionalesCon los requisitos no funcionales se ha creado otra tabla (tabla 5.3 ) con la numeracióndel requisito no funcional para su trazabilidad, tipo de requisito no funcional (si setrata de un requisito relacionado con las tecnologías empleadas, estándares aplicados,seguridad de dato o con aspectos organizativos) y una breve descripción del requisitono funcional.

5.2.2 Análisis de requisitosPara el análisis de requisitos se han definido los roles involucrados en el sistema y tras esto

se ha creado un diagrama de casos de uso teniendo en cuenta los requisitos funcionales y larelación con cada uno de los roles definidos. Tras esto se han creado tablas para cada uno delos casos de uso. En cada tabla de casos de uso para definir más en profundidad cada uno delos casos de uso del sistema. Y tras esto se han diseñado unos diagramas de secuencia paralos escenarios que se pueden encontrar en el sistema.

Roles involucrados en el sistema

- Usuarios. Son todos los que se identifican en el sistema. Es el “padre” de todoslos usuarios

- Empleado. El empleado es el usuario que realiza el gasto y rellena la solicitudde nota de gasto

- Responsable de área. Es el usuario que en la organización toma decisionesdecisivas y estratégicas en torno a un área además de gestionar los empleados que la

48

Page 79: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.2: Tabla de requisitos funcionales del sistemaRequisito funcio-nal numerado

Descripción

RF.1El sistema deberá permitir que el empleado pueda rellenar una solicitudde reembolso de notas de gasto y, además, adjuntar una imagen de lanota de gasto que muestre el gasto que se describe en la solicitud.

RF.2Deberá permitirse en el sistema que el empleado pueda enviar su soli-citud de reembolso de notas de gasto al responsable de administraciónpara que coteje la relación de la nota de gasto.

RF.3El sistema deberá permitir que el responsable de administración puedacomprobar que la documentación está correcta y no existe discordanciao falta imagen adjunta.

RF.4El sistema permitirá que el responsable de administración pueda enviarla documentación, después de la comprobación, al responsable de áreapara que realice su propia comprobación.

RF.5Estará permitido en el sistema que el responsable de área pueda compro-bar que las relaciones de la solicitud son correctas para poder aprobarla solicitud y, en su caso, denegarla.

RF.6 Se permitirá en el sistema que el responsable de área pueda denegartodas las relaciones de la solicitud o sólo algunas.

RF.7Si el responsable de área deniega todas las relaciones el sistema notifi-cará al empleado para que pueda realizar modificaciones de la solicitudy la reenvíe de nuevo al responsable de administración.

RF.8Si el responsable de área sólo deniega algunas relaciones el sistema noti-ficará al empleado la solicitud rechazada para, posteriormente, archivargasto.

RF.9 El sistema notificará al responsable de administración si el responsablede área aprueba la solicitud de nota de gasto.

RF.10El sistema deberá permitir que se archiven y almacenen las notas de gas-to que han sido rechazadas y las que ya han sido añadidas a las nóminasde los empleados.

RF. 11Estará permitido en el sistema que las solicitudes de notas de gasto sealmacenen para poder revisarlas antes de realizar ninguna valoraciónsobre ellas y tras haber sido completadas y rellenadas por el empleado.

49

Page 80: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.3: Tabla de requisitos no funcionales del sistemaRequisito no fun-cional numerado

Tipo de requisito nofuncional

Descripción

RNF.1. Tecnologías empleadas

El proceso de negocio se automatizarácon Oracle BPM Suite, Jdeveloper (in-cluido el plug-in BPM Studio para Jdeve-loper)

RNF.2. Tecnologías empleadasSe utilizará Oracle Documents Cloud Ser-vice para la gestión de documentación enla nube.

RNF.3. Tecnologías empleadasSe utilizará Oracle Webcenter Contentpara la gestión de documentación on-premise.

RNF.4. Tecnologías empleadasSe creará una aplicación ADF con el pro-ceso de gestión de notas de gasto

RNF.5 Tecnologías empleadasLa aplicación ADF se integrará con Ora-cle Documents Cloud Service a través deuna API REST

RNF.6 Tecnologías empleadasLa aplicación ADF y BPM Suite se in-tegrarán con Oracle Webcenter Content através de servicios web

RNF.7 Tecnologías empleadasSe utilizará SOA Suite para el desarrollode pruebas unitarias.

RNF.8 Estándares aplicados Estándar BPMN 2.0

RNF.9 Seguridad de datosSe diseñará la tipología documental y elmodelo de seguridad de acceso a los do-cumentos.

RNF.10 OrganizacionalesPara la gestión de proyectos se utilizaráuna herramienta que sea válida tanto paraMac como para Windows.

RNF.11 SeguridadSe tomará en cuenta la Ley Orgánica deProtección de Datos (LOPD) y se definiráun nivel de protección.

50

Page 81: TICKS: Arquitectura híbrida de gestión documental integrada con

componen y los proyectos para los que trabajan. En este proceso es el encargado derevisar si las relaciones son correctas.

- Responsable de administración: es el usuario que se encarga de gestionar as-pectos administrativos de la organización tales como cotejar la relación de las notas degasto, recibe solicitud de viáticos, cálculos de los viáticos según reglamento de la em-presa, rellena órdenes de pago por diferentes conceptos (proveedores, servicios, asig-naciones especiales, . . . ), realizan seguimiento de los pagos, registro contable, revisay recibe las facturas y comprobantes de los gastos efectuados, entre otras funciones.

Diagrama de casos de usoEn las figura 5.9 se muestran los casos de uso por tipo de usuario del sistema.

Figura 5.9: Diagrama de casos de uso

Tablas de los casos de usoEn este apartado tenemos todas las tablas de casos de uso. Desde la tabla 5.4 hastala tabla 5.16. En cada tabla se han detallado aspectos como el requisito funcionalasociado, actores involucrados, descripción, versión del prototripo al que pertenece elcaso de uso, precondiciones y postcondiciones.

51

Page 82: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.4: Tabla del caso de uso 1Caso de uso CdU 1. Rellenar solicitud de nota de gastoRequisito funcional asociado RF 1.Actores involucrados Empleado

DescripciónEl empleado rellena la solicitud de la notade gasto para pedir su reembolso.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl empleado tiene que estar autenticadopara poder rellenar la solicitud de la notade gasto.

PostcondicionesSe deberá almacenar la solicitud de notade gasto en el gestor de documentos enlocal.

Cuadro 5.5: Tabla del caso de uso 1.1

Caso de usoCdU 1.1. Adjuntar imagen de la nota degasto

Requisito funcional asociado RF 1.Actores involucrados Empleado

DescripciónEl empleado adjunta una imagen de la no-ta de gasto o tique del gasto que se ha pro-ducido.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl empleado ha rellenado la solicitud dela nota de gasto para pedir su reembolso.

PostcondicionesLa imagen estará enlazada con la solicitudcuando se realice el almacenamiento de lasolicitud de la nota de gasto.

Priorización de casos de uso

Para realizar la priorización se toman cinco niveles con su respectivo grado de priori-dad relacionado, siendo 1 el grado de prioridad muy bajo y 5 el grado de prioridad muyalto. En la tabla 5.17 se puede ver la tabla de los diferentes niveles y sus correspon-dientes grados de priorización. En la tabla 5.18 podemos ver la tabla de priorizaciónpara desarrollar cada uno de los casos de uso definidos en el punto anterior.

52

Page 83: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.6: Tabla del caso de uso 2

Caso de usoCdU 2. Comprobar documentación de lasolicitud

Requisito funcional asociado RF 3.

Actores involucradosResponsable de administración, Gestor dedocumentos en local

Descripción

El responsable de administración coteja larelación con el tique, indica si hay discor-dancia o falta tique. El responsable de ad-ministración puede aceptarlo o rechazarlodependiendo de si hay discordancia o no.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

El empleado ha registrado y rellenado unasolicitud de reembolso de la nota de gasto.Además, la solicitud del empleado se haalmacenado en un gestor de contenido enlocal.

PostcondicionesEl responsable de administración podrádeterminar si falta documentación.

Cuadro 5.7: Tabla del caso de uso 3

Caso de usoCdU 3. Almacenamiento de la solicitudde nota de gasto

Requisito funcional asociado RF. 11Actores involucrados Gestor de documentos en local

Descripción

El gestor de documentos en local se en-carga de almacenar las solicitudes de re-embolso de las notas de gasto a través delsistema.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl empleado ha rellenado y completadouna solicitud de reembolso de las notas degasto

Postcondiciones

53

Page 84: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.8: Tabla del caso de uso 4

Caso de usoCdU 4. Comprobar relaciones de la soli-citud

Requisito funcional asociado RF.2

Actores involucradosResponsable de área, Gestor de documen-tos en local

Descripción

El responsable de área revisa las relacio-nes y las aprueban o no para que se inclu-yan en la nómina. El gestor de documen-tos en local proporciona la solicitud queserá comprobada.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl responsable de administración ha com-probado la documentación y la solicitudde reembolso de notas de gasto.

PostcondicionesSe podrá declinar la solicitud o aprobaren su caso. Se deberá revisar su contenidoposteriormente.

Cuadro 5.9: Tabla del caso de uso 5Caso de uso CdU 5. Revisar solicitudRequisito funcional asociado RF. 4

Actores involucradosResponsable de área, Gestor de documen-tos en local

Descripción

El responsable de área podrá obtener delgestor de documentos en local la solicitudya comprobada en sus relaciones, pero noaprobada o denegada aún. El responsablede área deberá determinar si autoriza mo-dificación, rechaza solicitud y lo aprueba.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

El responsable de área ha comprobado lasrelaciones con la solicitud y ha visto queson correctas y que concuerdan en mo-mento.

PostcondicionesSe autorizará, rechazará o se autorizaráuna modificación de la solicitud.

54

Page 85: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.10: Tabla del caso de uso 5.1Caso de uso CdU 5.1. Rechazar solicitudRequisito funcional asociado RF. 6Actores involucrados Responsable de área

Descripción

La solicitud ha sido revisada y el respon-sable de área la rechaza porque el gasto noestá contemplado en ninguna de las op-ciones que la política de empresa incluyey define como notas de gasto.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

La solicitud de reembolso de nota de gas-to ha sido revisada, además ha sido com-probada la documentación que se incluyepor el responsable de administración.

PostcondicionesLa solicitud se archiva en un gestor decontenido en la nube como solicitud re-chazada.

Cuadro 5.11: Tabla del caso de uso 5.2

Caso de usoCdU 5.2. Autorizar modificación en soli-citud

Requisito funcional asociado RF. 7Actores involucrados Responsable de área

Descripción

La solicitud ha sido revisada y el respon-sable de área autoriza que se modifiquepara posteriormente aceptarlo, ya que larelación es correcta pero algún dato falla.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl responsable de área ha comprobado lasrelaciones de la solicitud

Postcondiciones El usuario modifica la solicitud de gasto.

55

Page 86: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.12: Tabla del caso de uso 5.3Caso de uso CdU 5.3 Aprobar solicitudRequisito funcional asociado RF. 5Actores involucrados Responsable de área

DescripciónEl responsable de área da por aprobada lasolicitud de reembolso de la nota de gasto.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesEl responsable de área ha comprobado lasrelaciones de solicitud antes de aprobar lasolicitud.

PostcondicionesLa solicitud debe ser almacenada en elgestor de documentación en la nube.

Cuadro 5.13: Tabla del caso de uso 6Caso de uso CdU 6. Notificar solicitud modificableRequisito funcional asociado RF. 7Actores involucrados Sistema

Descripción

El sistema notifica al empleado que la so-licitud es modificable para que pueda rec-tificar e intentar de nuevo que su solicitudsea aprobada.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

El responsable tiene que haber comproba-do las relaciones de solicitud y debe haberrechazado algunas de las relaciones quecontenía la nota de gasto.

PostcondicionesEl empleado modifique la solicitud de re-embolso de la nota de gastos.

56

Page 87: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.14: Tabla del caso de uso 7Caso de uso CdU 7. Notificar solicitud aprobadaRequisito funcional asociado RF. 9Actores involucrados Sistema

Descripción

El sistema notifica al empleado que la so-licitud es aprobada y que se le reembol-sará el coste de la nota de gasto o en sudefecto el coste que se haya fijado paraese tipo de gasto.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

El responsable tiene que haber comproba-do las relaciones de solicitud y debe haberaprobado todas las relaciones de la solici-tud de reembolso de la nota de gasto.

PostcondicionesLa solicitud de almacenará en un gestorde documentación en la nube.

Cuadro 5.15: Tabla del caso de uso 8Caso de uso CdU 8. Notificar solicitud rechazadaRequisito funcional asociado RF. 8Actores involucrados Sistema

Descripción

La solicitud ha sido rechazada por el res-ponsable de área y el sistema tiene quenotificar al empleado que la solicitud hasido rechazada.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

Precondiciones

El responsable tiene que haber comproba-do las relaciones de solicitud y debe haberrechazado todas las relaciones de la notade gasto.

PostcondicionesSe archiva el gasto como gasto rechazadoen el gestor documental en la nube.

57

Page 88: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.16: Tabla del caso de uso 9Caso de uso CdU 9. Archivar nota de gastoRequisito funcional asociado RF. 10Actores involucrados Gestor de documentos en la nube

Descripción

Se almacenan todas las solicitudes de re-embolso de las notas de gasto que han si-do aprobadas en su totalidad o han sidodefinitivamente rechazadas.

Versión del prototipo al que pertenece elcaso de uso

V 1.0

PrecondicionesLa solicitud de reembolso de la nota degasto ha sido rechazada o ha sido acepta-da totalmente y no parcial.

Postcondiciones

58

Page 89: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.17: Tabla de niveles y grados de priorizaciónNivel Grado1 Muy Bajo2 Bajo3 Medio4 Alto5 Muy alto

Cuadro 5.18: Tabla de priorización de casos de usoCaso de uso PrioridadCdU 1. Rellenar solicitud de nota de gas-to.

5

CdU 1.1. Adjuntar imagen de la nota degasto.

4

CdU 2. Comprobar documentación de lasolicitud.

4

CdU 3. Almacenamiento de la solicitudde nota de gasto.

4

CdU 4. Comprobar relaciones de la soli-citud.

3

CdU 5. Revisar solicitud. 4CdU 5.1. Rechazar solicitud. 3CdU 5.2. Autorizar modificación en soli-citud.

3

CdU 5.3. Aprobar solicitud. 3CdU 6. Notificar solicitud modificable. 3CdU 7. Notificar solicitud aprobada. 3CdU 8. Notificar solicitud rechazada. 3CdU 9. Archivar nota de gasto. 4

Diagramas de secuencia para los casos de uso. Escenarios

- S-1. Realización de la solicitud de reembolso de la nota de gasto anticipadoPrincipal Figura 5.10.

Alternativo. Figura 5.11

- S-2. Realización de la solicitud de reembolso de la nota de gasto posterior algastoPrincipal Figura 5.12

Alternativo. Figura 5.13

- S-3. Comprobación del responsable de administración de la documentaciónPrincipal. Figura 5.14

59

Page 90: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.10: Diagrama de secuencia para el escenario principal de S-1.

Figura 5.11: Diagrama de secuencia para el escenario alternativo de S-1.

Figura 5.12: Diagrama de secuencia para el escenario principal de S-2.

Alternativo. Figura 5.15

- S-4. Revisión por parte del responsable de área la solicitud de reembolso de lanota de gastoPrincipal Figura 5.16

Alternativo 1 Figura 5.17

Alternativo 2 Figura 5.18

Esquema entidad relación de la base de datos a diseñar Con los requisitos extraídosse llevó a cabo un pequeño esquema para entender las relaciones entre las entidades

60

Page 91: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.13: Diagrama de secuencia para el escenario alternativo de S-2.

Figura 5.14: Diagrama de secuencia para el escenario principal de S-3.

Figura 5.15: Diagrama de secuencia para el escenario alternativo de S-3.

que se almacenarían en la base de datos. En la figura 5.19 podemos verlo.

61

Page 92: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.16: Diagrama de secuencia para el escenario principal de S-4.

Figura 5.17: Diagrama de secuencia para el escenario alternativo 1 de S-4.

62

Page 93: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.18: Diagrama de secuencia para el escenario alternativo 2 de S-4.

63

Page 94: TICKS: Arquitectura híbrida de gestión documental integrada con

Figu

ra5.

19:D

iagr

ama

entid

adre

laci

ónde

laba

sede

dato

s.

64

Page 95: TICKS: Arquitectura híbrida de gestión documental integrada con

Aseguramiento del cumplimiento de la ley en TICKS

Los documentos que se van a tratar en este sistema pertenecen a justificantes de gastosque se deben tener en cuenta en la contabilidad de las organizaciones. Según el Código deComercio y legislación complementaria 1 este tipo de documentos deben conservarse duran-te seis años a partir del último asiento o registro contable realizado en los libros. Aunque lamayoría de las organizaciones ya almacenan mucha de la documentación en formato elec-trónico, la Agencia Tributaria puede pedir los justificantes físicos de los gastos para poderrealizar una comprobación. Para que una aplicación que automatice este proceso sea válidapara la Agencia Tributaria debe seguir unos puntos importantes, la imagen cuando se realizadebe transformarse automáticamente a formato PDF con una serie de metadatos que extraede la captura de la imagen para que se compruebe su veracidad. Esta aplicación tendría queestar homologada por la Agencia Tributaria para su utilización en la vida real. En esta apli-cación no se tiene en cuenta si la nota de gasto se ha modificado o es una fotografía real dela nota de gasto.

Por otra parte, lo que sí debe seguir este proyecto es la Ley órganica de protección dedatos (LOPD). Estos datos están relacionados con las Administraciones Tributarias ya quelas notas de gasto tienen que ver con los honorarios de los empleados y se añaden a susnóminas. Las Administraciones Tributarias tienen que conocer los datos relacionados conlas nóminas de los empleados, por lo tanto el nivel de seguridad que determina la LOPDpara los ficheros o tratamientos con datos relacionados con las notas de gasto es el nivelmedio. El nivel de seguridad medio se complementa con las medidas de nivel básico. Por lotanto:

Debe existir uno o varios responsables de seguridad designados por el responsable delfichero.

Las funciones de cada uno de los usuarios que están en contacto con estos ficheros odatos de las notas de gasto deben estar bien definidas y deben conocer las consecuen-cias del incumplimiento de funciones. (Con BPM se pueden controlar las funcionesque realiza cada tipo de usuario con los lanes).

Las incidencias se tienen que registrar y notificar, sobre todo, al ser un fichero automa-tizado, se debe anotar los procedimientos de recuperación, la persona que los ejecuta,datos restaurados y datos grabados manualmente.

Controles de acceso a los documentos, tanto físicamente como en la aplicación denotas de gasto.

Los usuarios que utilicen la aplicación deberán identificarse y autenticarse. Tendránque tener contraseñas no inteligibles y deberán cambiarlas máximo cada año. Se ten-

1Código de Comercio y legislación complementaria https://www.boe.es/legislacion/codigos/codigo.php?id=035_-Codigo_de_Comercio_y_legislacion_complementaria

65

Page 96: TICKS: Arquitectura híbrida de gestión documental integrada con

drá que controlar, además, los límites reiterados de acceso no autorizado (el propioservidor tiene su propio límite de acceso al workspace de BPM).

Se debe identificar el tipo de información que contiene, registros de entrada y salidade soportes, forma de envío, responsables autorizados para recepción y entrega.

Se debe realizar copias de respaldo y verificación de los procedimientos.

Cada dos años, al menos, se debe realizar una auditoría para poder conocer el estadodel sistema y repercusiones en seguridad.

5.2.3 DiseñoDiseño de la base de datos

Para el diseño de la base de datos se ha creado un diagrama con todas las tablas quedeben existir en la base de datos y la relación que hay entre ellas. En la figura 5.20 se puedeencontrar el diseño de la base de datos.

66

Page 97: TICKS: Arquitectura híbrida de gestión documental integrada con

Figu

ra5.

20:E

sque

ma

dela

base

deda

tos.

67

Page 98: TICKS: Arquitectura híbrida de gestión documental integrada con

Diseño del proceso de negocio

En el diseño de un proceso hay que tener en cuenta también los objetos de datos que se vana utilizar en el proceso. Para ello se han diseñado diferentes tipos de objetos y los elementosque va a tener cada uno. En las figuras 5.21 y 5.22 se muestra el contenido de los objetosprincipales del proceso. A partir de Gasto se ha derivado la creación de algunos objetos quecontienen algunos de los atributos que contiene el objeto Gasto. En la figura 5.23 se puedever el diseño del proceso de negocio de gestión de notas de gasto.

Figura 5.21: Objeto de datos del Gasto en el proceso

68

Page 99: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.22: Objeto de datos de cargaDatos en el proceso

69

Page 100: TICKS: Arquitectura híbrida de gestión documental integrada con

Figu

ra5.

23:D

iseñ

ode

lpro

ceso

dene

goci

ode

gest

ión

deno

tas

dega

sto

70

Page 101: TICKS: Arquitectura híbrida de gestión documental integrada con

Tipología de documentos y modelo de seguridad

Para la tipología de documentos hay que tener en cuenta el anexo D Creación de tiposde documentos con Oracle Webcenter Content. Para definir un tipo de documentos hay quedefinir los elementos comunes, de caracterización, heredados(si los hubiera) y de custodia(silos hubiera). Para las notas de gasto sólo va a haber un tipo de documento por lo que no habráelementos heredados de otros tipos de documentos y tampoco habrá definidos elementos decustodia. Por lo tanto, los elementos que habrá para este tipo documental de notas de gastoserán comunes y de caracterización (aunque sólo haya un tipo documental es importantedefinir los comunes que en este caso son los que se almacenan en Oracle Webcenter pordefecto) los siguientes:

Comunes.

- dDocName. Se puede modificar o se puede generar automáticamente. Es un iden-tificador.

- dDocTitle. Un título descriptivo para el documento.

- dDocType. El tipo de documento que depende de Content y de los tipos que tengadefinidos. Para este caso todos serán de tipo Document.

- dDocAuthor. El usuario que ha chequeado por primera vez el documento.

- dDocSecurityGroup. Grupo de seguridad que está compuesto por las personasque tienen permiso para acceder al documento.

- dDocAccount. La cuenta del usuario que tiene permisos para acceder al conteni-do del documento.

- dID. Indentificador único del documento para cada revisión.

- dRevClassID. Integer interno que corresponde con el dDocName.

- dRevisionID. El identificador interno de la revisión del documento. Se autoin-crementa uno cuando aparece una nueva versión.

- dRevLabel. La revisión del documento.

- dIsCheckedOut. Es un metadato que sirve para saber si está checkout o no. Esteconcepto de checkout es para poder modificar el documento.

- dCheckoutUser. Usuario que se encarga del check-out.

- dCreateUser. Usuario que crea el documento.

- dCreateDate. Fecha en la que se crea el documento.

- dInDate. Fecha de lanzamiento del documento.

- dOutDate. Fecha de expiración del documento.

71

Page 102: TICKS: Arquitectura híbrida de gestión documental integrada con

- dStatus. Estado del documento. Si no se ha chequeado correctamente el estadodel documento puede variar. Por defecto hay diferentes estados GenWWW o Done.

- dReleaseDate. La fecha en la que el archivo está disponible para su búsqueda yvisionado. Por defecto, la fecha de lanzamiento es la fecha en la que se chequea porprimera vez.

- dFlag1. No se utiliza pero es un metadato común a todos los tipos de documentos.

- dWebExtension. Extensión web del documento.

- dProcessionState. Estado de la revisión. Pueden ser: Incompleto, Converitod,Fallido, Procesado, Sólo metadatos,...

- dMessage. Indica la razón por la que falla la indexación o conversión del docu-mento.

- dReleaseState. Estado de lanzamiento del documento.

- dRendition1. Indica si el archivo es una versión en miniatura.

- dRendition2. No se utiliza.

- dIndexerState. Estado de la indexación del documento. Los documentos cuandose chequean se indexan para poder realizar búsquedas sobre ellos.

- dPublishType. Tipo de publicación de una revisión del documento.

- dPublishState. Estado de la publicación de una revisión.

- dDocID. El ID interno del documento.

- dIsPrimary. Si el documento es primario o alternativo.

- dIsWebFormat. Sirve para saber si está en formato web el documento.

- dLocation. Localización del documento en Oracle Webcenter Content.

- dOriginalName. Nombre original del documento sin la extensión del documento.

- dFormat. El formato del documento está en mimetype.

- dExtension. Extensión del documento.

- dFileSize. Tamaño del archivo o documento almacenado.

De caracterización.

- xidGasto. Los metadatos realizados en Oracle Webcenter Content y que no per-tenecen a los que ya están definidos por defecto llevan una x delante del nombre delmetadato. Este metadato se crea para enlazar la nota de gasto con el id del gasto alma-cenado en la base de datos. Existe un doble enlace entre el archivo y el gasto almace-nado en la base de datos.

72

Page 103: TICKS: Arquitectura híbrida de gestión documental integrada con

Para el modelo de seguridad de acceso a los datos se va a utilizar el tipo de grupo deseguridad privado. Esto es que los documentos no podrán ser accedidos sin autenticarse enningún gestor de contenido empresarial. Además, el usuario sólo podrá acceder para almace-nar en el gestor de contenido empresarial en local las notas de gasto, para visualizarlo tendráque autenticarse en el gestor de contenido empresarial en la nube. Se controla el acceso a losdocumentos. Además, el usuario cuando visualice el contenido almacenado en la nube sólopodrá visualizar las notas de gasto que él ha añadido en las solicitudes de gestión de notasde gasto. Se garantiza así la privacidad de las notas de gasto.

Diseño de la interfaz de la aplicación

Se ha realizado un prototipo de la interfaz para las pantallas principales. En la figura 5.24se puede observar el prototipo que se ha creado para el formulario inicial de la aplicacióny el que inicia la instancia del proceso. En la figura 5.25 se puede observar el prototipode la solicitud de reembolso de la nota de gasto. Todos los formularios, incluso los de lasrevisiones se replantean parecidos, con la misma estructura añadiendo algunas preguntas yalgunas descripciones que definan la revisión realizada.

Figura 5.24: Prototipo del formulario inicial de la aplicación.

5.2.4 ImplementaciónImplementación de la base de datos y configuración de la conexión

Para la implementación de la base de datos se ha utilizado Oracle SQL Developer, en elanexo 3 (C) se puede ver cómo se han generado los scripts de la base de datos. Se ha tomadoel diagrama entidad relación para la creación de tablas y relaciones entre tablas.

73

Page 104: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.25: Prototipo del formulario de la solicitud de reembolso de nota de gasto

Es muy importante configurar la conexión de la base de datos. Para la conexión de la basede datos en el proceso de negocio se han tenido que tener en cuenta tanto la configuracióndel adaptador de base de datos en Oracle BPM (figura 5.26) como la conexión creada en elservidor Weblogic. Por una parte se ha creado un nuevo Datasource en el servidor Weblogicdel dominio BPMN (figura 5.27), después se ha modificado el Target para seleccionar elservidor que necesitará o utilizará el data source (figura 5.28) , en este caso soa_server1. Seha creado un pool de conexiones con la url del servicio (figura 5.29), la dirección de la basede datos y el servicio de base de datos que utiliza Oracle Database 12c.

Implementación de los objetos de datos del proceso

Para el desarrollo del proceso es muy importante definir los Data Objects u objetos dedatos que se van a utilizar en el proceso de negocio. En la figura 5.30 se puede observar elcatálogo de negocio. Se ha creado un nuevo módulo llamado “TFG”, en este módulo se hancreado varios objetos de datos o esquemas que se van a utilizar en el proceso de negocio. Lostipos de objetos o esquemas son los siguientes (en anexo E Esquemas XSD de los objetos dedatos del proceso se pueden visualizar algunos esquemas XSD) :

CargasDatos. En este objeto tenemos tres tipos de atributos:

- listacanalespago. El tipo de este atributo es selectCanalesPAgoOutputCollectionque pertenece al esquema XSD de la colección que se extrae de la query SQL que serealiza en el adaptador de base de datos para extraer los tipos de canales de pago que

74

Page 105: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.26: Configuración del adaptador de base de datos en BPM.

Figura 5.27: Creación de un nuevo Data Source en Weblogic Server 12c.

existen y que están almacenados en la base de datos. (código E.1)

- listaproyectosempleado. El tipo de este atributo es selectProyectoEmpleadoOut-putCollection que pertenece al esquema XSD de la colección que se extrae de la querySQL que se realiza en el adaptador de base de datos para extraer los proyectos que es-tán relacionados con el empleado y que están almacenados en la base de datos. (códigoE.2)

- listatiposgasto. El tipo de este atributo es selectTipoGastoOutputCollection quepertenece al esquema xsd de la colección que se extrae de la query SQL que se rea-liza en el adaptador de base de datos para extraer la lista de tipos de gasto que estánpermitidos y aceptados para el reembolso del importe de la nota de gastos y que están

75

Page 106: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.28: Modificación del target para que el servidor soa_server1 pueda utilizar el DataSource.

Figura 5.29: Modificación en la configuración de Connection Pool.

almacenados en la base de datos. (código E.3)

DownloadFile. En este esquema tenemos dos elementos: filecontent y fileName. file-content es el contenido del archivo que se descarga de Oracle Webcenter Content conel servicio SOAP GetFile y está en base64. fileName es el nombre del archivo que seha descargado. (código E.4)

FileInfo. Este esquema contiene todos los atributos que se extraen del servicio SOAPGetFile que sirve para extraer documentos de Oracle Webcenter Content y que, ade-más, incluye DownloadFile que es el objeto que se ha explicado anteriormente y queforma parte de este esquema también. (código E.5)

76

Page 107: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.30: Lista de algunos esquemas de objetos para el proceso de negocio.

Personas. En este esquema se puede ver la información del empleado que está solici-tando el reembolso del importe de la nota de gasto. (código E.6)

Gasto. Este esquema contiene la información de la persona que realiza el gasto, eldocumento de la nota de gasto o tique del gasto y toda la información del gasto comoel importe, el tipo de gasto, el canal de pago del gasto y otros atributos necesarios parala identificación del gasto. (código E.7)

ComprobaciónGastoAutomática. Este esquema contiene la información necesariapara realizar la comprobación automática de la nota de gasto, para comprobar si, conlos datos introducidos, se puede aceptar la solicitud de reembolso de la nota de gasto.Entre los atributos que definen este esquema podemos encontrar: tipo de gasto, importedel gasto, km. de distancia desde donde se ha producido el gasto hasta la oficina, si elgasto se ha producido fuera de la localidad donde se encuentra ubicada la oficina, fechafin del gasto, importe del gasto que se calcula automáticamente y si es aceptado o no.

ComprobaciónGastoManual. Este esquema contiene la información relacionada conlas revisiones del responsable de área y el responsable de administración. Está com-puesto por cuatro atributos: la descripción de la revisión del responsable de área, ladescripción de la revisión del responsable de administración, valoración (booleana) deaprobación o rechazo de la solicitud por parte del responsable de área y valoración

77

Page 108: TICKS: Arquitectura híbrida de gestión documental integrada con

(booleana también) de aprobación o rechazo de la solicitud por parte del responsablede administración.

Por otra parte se tienen los objetos de datos del proceso que se han creado a partir de losesquemas que son los siguientes:

cargadatos. Creado a partir del esquema de CargasDatos.

gasto. Creado a partir del esquema Gasto.

listaCanalesPago. Creado a partir del esquema de selectCanalesPagoOutputCollec-tion.

listaProyectosEmpleados. Creado a partir del esquema de selectProyectosEmpleado-sOutputCollection.

listaTiposGastos. Creado a partir del esquema de selectTiposGastosOutputCollection.

comprobacionGasto. Creado a partir del esquema de ComprobaciónGastoAutomáti-ca.

comprobacionmanual. Creado a partir del esquema de ComprobaciónGastoManual.

Implementación y configuración del proceso - Tareas y compuertas

Rellenar formulario inicial. Esta tarea es la iniciadora del proceso. Pertenece al lanedel Empleado que ha realizado el gasto y es el que tiene que iniciar la instancia delproceso que sirve para poder solicitar el reembolso de la nota de gasto. En esta tareasimplemente se puede encontrar una tarea humana que se utiliza para introducir datosiniciales. Es una tarea que no tiene entradas y salidas, en la tarea lo único que se realizaes una acción de “Submit” para poder pasar al siguiente formulario. Esta tarea iniciala instancia del proceso.- Entrada de la tarea: ningún mapeo.- Salida de la tarea: ningún mapeo.(Esta tarea no tiene ningún mapeo porque simplemente sirve para iniciar la instanciadel proceso ya que Oracle BPM Suite no deja que ninguna tarea de servicio que vengade la base de datos se realice antes de la tarea iniciadora, entonces se tenía que realizaruna tarea inicializadora antes de acceder o crear cualquier servicio)

Subproceso de cargar datos. El objetivo de este subproceso es la carga de los da-tos (tipos de gastos, proyectos del empleado y canales de pago) de la base de datosnecesarios para la creación de la solicitud de nota de gasto. Las tareas son tres:

- Cargar Tipo Gasto. Esta tarea es de servicio y utiliza el servicio SelectTipos-Gasto y la operación selectTiposGasto (figura 5.31) . El servicio corresponde al adap-tador de base de datos que utiliza SQL para recoger los datos de la base de datos.La sentencia SQL empleada recoge el contenido de la tabla TIPO_GASTO, los datos

78

Page 109: TICKS: Arquitectura híbrida de gestión documental integrada con

recogidos se almacenan utilizando la estructura de un XSD (cuando se han explicadolos tipos de esquemas utilizados se ha mostrado el esquema selectTiposGastoOutput-Collection al que pertenece el esquema resultado de esta consulta SQL) (la sentenciaSQL está en el anexo F Servicios SOAP WSDL, transformaciones XSLT y sentenciasSQL, en F.6).

Figura 5.31: Ejemplo de propiedades de un adaptador de base de datos en BPM.

Además, para este adaptador de base de datos se crea un servicio SOAP WSDL a partirde lo que tiene que recoger (en anexo F Servicios SOAP WSDL, transformacionesXSLT y sentencias SQL se puede visualizar un ejemplo de servicio SOAP WSDLcreado, F.1).- Entrada de la tarea: ningún mapeo.- Salida de la tarea: Mapeo con transformación XSLT (ejemplo de una transformaciónXSLT en la figura 5.32 para poder extraer la listaCanalesPago. Para poder mapear lacolección extraída de la base de datos se lleva a cabo una tranformación XSLT de talmanera que es como si hiciéramos un bucle para mapear una por una las filas de la

79

Page 110: TICKS: Arquitectura híbrida de gestión documental integrada con

colección (en anexo F Servicios SOAP WSDL, transformaciones XSLT y sentenciasSQL se puede visualizar un ejemplo, F.4) .

Figura 5.32: Ejemplo de transformación XSLT.

- Cargar Proyectos Empleado. Esta tarea es también de servicio y utiliza la ope-ración SelectProyectosEmpleado (figura). También se crea un SOAP WSDL a partirde la definición del servicio. El servicio corresponde al adaptador de base de datos queutiliza SQL para recoger los datos de la base de datos relacionados con los proyectosen los que el empleado ha participado o está participando. El esquema XSD corres-pondiente a esta consulta es selectProyectosEmpleadoOutputCollection. La sentenciaSQL se encuentra en el anexo F Servicios SOAP WSDL, transformaciones XSLT ysentencias SQL, en F.7.- Entrada de la tarea: ningún mapeo.- Salida de la tarea: mapeo con transformación XSLT para extraer listaProyectosEm-pleados. Para poder mapear la colección extraída de la base de datos se lleva a cabo unatranformación XSLT de tal manera que es como si hiciéramos un bucle para mapearuna por una las filas de la colección. (Es idéntica la transformación a la tarea anterior,cambiando el nombre de las colecciones y los atributos que se mapean).

- Cargar Canales Pago. Esta tarea es un servicio que utiliza SelectCanalesPagocomo operación. También se crea otro SOAP WSDL a partir de la definición del servi-cio. El servicio corresponde al adaptador de base de datos que recoge los canales pagoaceptados para el reembolso de notas de gasto. El esquema XSD correspondiente aesta consulta es: selectCanalesPagoOutputCollection. La sentencia SQL se encuentraen el anexo F Servicios SOAP WSDL, transformaciones XSLT y sentencias SQL, enrefcode:canalesSQL.- Entrada de la tarea: ningún mapeo.- Salida de la tarea: mapeo con transformación XSLT para extraer la listaCanalesPa-go. Para poder mapear la colección extraída de la base de datos se lleva a cabo unatransformación XSLT que sirve para poder mapear todas las filas de la colección.

Transformar cargas. Es una tarea de Script, las éste tipo de tareas sirven para mapearvariables o para realizar expresiones que calculen el valor de las variables y asignár-

80

Page 111: TICKS: Arquitectura híbrida de gestión documental integrada con

selos. En esta tarea se lleva a cabo una transformación XSLT para poder mapear lastres listas que se han podido extraer del subproceso (listaCanalesPago, listaProyecto-sEmpleado y listaTiposGastos) al objeto cargadatos que tiene tres listas con todos losdatos, de tal manera que se tendría un objeto con toda la información por simplicidad(figura 5.33.- Salida de la tarea: cargadatos con los valores de las tres colecciones que la componen.Este tipo de tareas sólo tienen salidas.

Figura 5.33: Mapeo de variables con transformación XSLT en la salida de la tarea Transfor-mar cargas.

Rellenar formulario solicitud de nota de gasto. Esta tarea contiene una tarea humanaque sirve para la creación de la solicitud del reembolso de la nota de gasto. En la tareahumana se ha creado un formulario en Oracle ADF (figura 5.34 para que el usuariointeractúe con el proceso modificando los datos esenciales de la solicitud como im-portegasto, fechainiciogasto, descripciongasto,... Esta tarea tiene un attachment en elque está incluida la funcionalidad de subir documentos a Oracle Webcenter Content,cuando se sube un documento el servicio devuelve el dID del documento que se hasubido, devuelve el identificador único que tiene en el servidor. El dID del documentose devuelve en el formato ”ecm://XXXX", por lo que se ha realizado una conversión,primero se ha extraído el substring a partir del primer número (primera X en la defi-nición del formato del dID) y después se ha convertido a número para poder utilizarloposteriormente.- Entrada de la tarea: cargadatos y gasto, siendo Gasto el elemento editable para podermodificar sus valores en el formulario. (figura 5.35 )- Salida de la tarea: gasto ya editado a través del formulario, además se incluye el dIDdel documento de nota de gasto que se sube a Oracle Webcenter Content (figura 5.36.

81

Page 112: TICKS: Arquitectura híbrida de gestión documental integrada con

Se mapea la salida con los objetos de datos del proceso.

Figura 5.34: Extracto de código fuente del formulario realizado en ADF de la solcitud de lanota de gasto.

Figura 5.35: Datos de entrada en la tarea humana Rellenar formulario solicitud de nota degasto.

Transformar datos comprobación autómatica. Esta tarea es una tarea de Script,esta tarea se ha creado para realizar un mapeo de variables. En el proceso existe un

82

Page 113: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.36: Datos de salida en la tarea humana Rellenar formulario solicitud de nota degasto.

objeto de datos que se llama gasto y para las reglas de negocio se ha creado otro objetoespecífico que se llama comprobaciongasto. La existencia de este objeto se explica enla siguiente tarea. Simplemente se realiza un mapeo de variables (figura 5.37) aunquees importante destacar que se realizan conversiones importantes con las variables queson booleanas en el objeto de datos gasto. Las variables booleanas en el objeto de gastose transforman a cadenas alfanuméricas, en la siguiente tarea se explica la necesidadde crear esta tarea.- Salida de la tarea: objeto de comprobaciongasto con los datos actualizados a partirdel objeto gasto. (Se recuerda que en este tipo de tareas sólo existe salida y no entrada)

Comprobar automáticamente importe. Esta tarea es una tarea de regla de negocio.En la figura 5.38 se puede observar como se ha creado una regla de negocio para estatarea y se define como un servicio de decisión. La tabla de decisión responde a la tabla5.19 en la que se puede observar las condiciones que existen y que después se hanmaterializado en la regla de negocio en BPM.

Como se puede observar en la figura 5.39 existen condiciones y acciones. Para crearuna tabla de decisión en Oracle BPM hay que seguir unos pasos:

- Definir las condiciones

83

Page 114: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.19: Tabla de decisión para la regla de negocio de cálculo automático de importedel gasto

Numeracióntipo gasto

Tipo de gasto KmgastoFuera loca-lidad gasto

Fecha fingasto .hora

Resultadocuando esaceptado

1Desplazamiento- Coche propio

- - -0,25 * KMGASTO

2Desplazamiento- Coche alqui-ler

- - -IMPORTEGASTO

3Desplazamiento- Tren

- - -IMPORTEGASTO

4Desplazamiento- Taxi

- - -IMPORTEGASTO

5Desplazamiento- Avión

- - -IMPORTEGASTO

6 Alojamiento - - -IMPORTEGASTO

7 Dieta - Media >=20 true >=16:00 hIMPORTEGAS-TO<=20

8Dieta - Com-pleta

>=20 true >= 21:00 hIMPORTEGAS-TO<=40

9 Formación - - -IMPORTEGASTO

10 Cliente fijo - - -IMPORTEGAS-TO==10

84

Page 115: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.37: Mapeo de variables en la tarea Transformar datos comprobación automática

- Definir el rango posible de valores

- Evaluar el valor dentro del rango para cada condición

- Definir la acción

- Definir las reglas

En este caso no se ha definido un posible rango de valores permitidos, pero se podríahaber hecho dándole un nombre a cada valor. Por ejemplo: Tipo de gasto 1 - Despla-zamiento - coche propio. Se comparan valores de cadena porque las reglas de negocioestán diseñadas para comparar cadenas y no booleanos como tal, por lo tanto hay quetransformar los booleanos a cadenas para compararlos.- Entrada de la tarea: objeto comprobaciongasto con los elementos necesarios para laregla de negocio y para obtener el importe del gasto comprobado automáticamente(aunque éste aún se puede rechazar).- Salida de la tarea: objeto comprobaciongasto con el importe del gasto aceptado y siel gasto es aceptado o no.

¿Comprobación automática correcta?. Esta compuerta tiene dos salidas:

- Incondicional, si al comprobar automáticamente el importe del gasto se ha con-firmado que forma parte de los tipos de gastos que la organización reembolsa en lasnóminas de sus empleados.

85

Page 116: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.38: Propiedades de la tarea de regla de negocio Comprobar automáticamente im-porte

Figura 5.39: Regla de negocio importecomprobacion

- Condicional, si se ha rechazado la solicitud al comprobar automáticamente elimporte.

86

Page 117: TICKS: Arquitectura híbrida de gestión documental integrada con

Notificar solicitud rechazada comprobación automática. En esta tarea se envía unanotificación cuando se ha rechazado la solicitud en la comprobación automática. Se haconfigurado para ello un driver para el envío de correos. Al inicio se había pensado enconfigurarlo con una cuenta de Google siguiendo estos pasos:

- Importar los certificados desde gmail y añadirlos un keystore de confianza.

- Modificar el servidor de aplicaciones para que tuviera en cuenta los certificadosque se habían configurado.

- Configurar el driver en el servidor para enviar e-mails añadiendo las propiedadesnecesarias.

- Activar las notificaciones y probar a enviar un e-mail con el driver configurado.

Aunque se configuró de esta forma el servidor SMTP de Google daba problemas y sedecidió a configurar una cuenta de otro proveedor de correos electrónicos que sí permi-tía el envío de e-mails. En las figuras 5.40 y 5.41 se puede visualizar la configuraciónde la tarea. La dirección del correo electrónico se puede modificar y poner simplemen-te variables para que se envíen a los valores de las variables, en este caso se ha hechoasí (poniendo un correo electrónico predeterminado) para evitar que llegasen correosa cuentas que no deberían llegar. Por otra parte, el contenido del mensaje también sepuede modificar y aunque en este caso no se han utilizado variables para la construc-ción del mensaje se puede realizar como se verá en otras tareas de notificación parapersonalizar el correo y que llegue lo más completo posible al empleado para saberqué es lo que ha ocurrido.

Para configurar el driver que envía correos electrónicos se ha tenido que editar laspropiedades de un driver nuevo (figura 5.42). Se han modificado las propiedades deenvío de correos electrónicos y se ha enviado un correo electrónico de prueba.

Comprobar discordancia de tiques. Esta tarea es una tarea humana que está con-figurada para ser una tarea cuya salida (a parte de los objetos que se utilizan en elformulario y que se modifican a través de formularios) está definida como APPRO-

VE,REJECT. En esta tarea el responsable de administración debe aprobar o rechazarla solicitud de reembolso de la nota de gasto tras revisar la posible discordancia detiques.

Además las tareas humanas se pueden configurar para que envíe la dirección del works-

pace al usuario al que se le ha asignado la tarea. Si en la tarea se tiene que aprovar orechazar el formulario que se muestra se puede crear una notificación accionable paraque desde el correo electrónico pueda realizar la misma función sin autenticarse enel workspace del proceso. Por otra parte, se han configurado las tareas humanas para

87

Page 118: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.40: Propiedades de la tarea Notificar solicitud rechazada comprobación automáticaI

que se envíe un correo electrónico cuando tenga una tarea asignada que tenga que rea-lizar, cuando tenga una tarea completada y cuando aparece un error. Cuando apareceun error se le notifica al propietario del proceso, cuando la tarea está completada sele envía a la persona que la ha realizado para que tenga constancia del formulario queacaba de realizar (se le envía una captura del formulario con los datos introducidos) yluego cuando una tarea es asignada se le envía un correo a la persona que debe realizarla tarea.- Entrada de la tarea: objeto gasto, objeto cargadatos, objeto comprobaciongasto y ob-jeto comprobacionmanual.- Salida de la tarea: objeto comprobación manual y resultado de la decisión que hatomado el usuario en el formulario.

¿Está la documentación aprobada?. Esta compuerta tiene dos salidas:

- Incondicional, si el responsable de administración al revisar la relación que exis-te entre el tique o nota de gasto con la información que ha proporcionado el empleadoen la solicitud de reembolso de notas de gasto la ha aprobado.

- Condicional, si por el contrario se ha rechazado la documentación relacionada

88

Page 119: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.41: Propiedades de la tarea Notificar solicitud rechazada comprobación automáticaII

con la solicitud de reembolso de la nota de gasto.

Notificar al empleado la modificación del archivo. Si el responsable de administra-ción rechaza la solicitud porque hay discordancia entre el tique y la información de lasolicitud se le envía un correo electrónico al empleado para que sepa que puede mo-dificar la relación de la solicitud de reembolso de nota de gasto. Le aparecerá despuésel formulario de la creación de la solicitud con los datos que estaban almacenados enla solicitud y que el empleado describió y rellenó. La configuración es similar a la deanteriores tareas de notificaciones.

Comprobar relaciones de la solicitud. Esta tarea es una tarea humana que está confi-gurada para aprobar o rechazar (como en la anterior tarea humana) un formulario quemuestra la solicitud del empleado. Est tarea es realizada por el responsable de área delempleado. Como en la anterior tarea también envía notificaciones cuando es asignada,completada o da error.- Entrada de la tarea: objeto gasto, objeto cargadatos, objeto comprobaciongasto y ob-jetocomprobacionmanual.- Salida de la tarea: objeto comprobación manual y resultado de la decisión que hatomado el usuario en el formulario.

89

Page 120: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.42: Configuración del driver para enviar correos electrónicos

¿Está la documentación aprobada?. Esta compuerta tiene dos salidas:

- Incondicional, si el responsable de área ha aprobado la solicitud.

- Condicional, si por el contrario se ha rechazado la solicitud.

¿Se deniega toda la relación?. Esta compuerta tiene dos salidas:

- Incondicional, si el responsable de área ha cancelado toda la relación de la soli-citud.

- Condicional, si por el contrario se ha rechazado la solicitud pero aún puede sermodificado por el empleado.

Notificar aprobación solicitud. Esta compuerta tiene dos caminos alternativos:

Notificar solicitud aprobada - Administración. Se le notifica por correo electró-nico al responsable de administración que se ha aceptado la solicitud. En la notifica-ción se incluye la información relacionada con la solicitud de la nota de gasto para quepueda utilizarla a la hora de añadir los gastos en las nóminas, por ejemplo.

Notificar solicitud aprobada - Empleado. Se le notifica por correo electrónicoal empleado que su solicitud se ha aceptado. En la notificación también se incluye lainformación del gasto que se ha producido.

Descargar archivo de UCM. Esta tarea de servicio utiliza uno web(SOAP WSDL),que busca el archivo que tiene el identificador que se le pasa por parámetros. De este

90

Page 121: TICKS: Arquitectura híbrida de gestión documental integrada con

servicio se utiliza getFileById que es un servicio implementado en Oracle WebcenterContent para poder extraer el contenido del archivo almacenado (figura 5.43) o lo quees lo mismo descargárselo. Este servicio se trae la información del archivo en base64y todos los valores de los metadatos relacionados con el perfil o tipo del documentoque pertenecen al archivo almacenado. En el código F.2 se puede ver un extracto delservicio en el que se muestra la entrada y la salida del servicio.- Entrada de la tarea: se introduce el id del documento en Oracle Webcenter Contentque se ha guardado después de la tarea humana que tiene el formulario.- Salida de la tarea: objeto gasto (devuelve en concreto el objeto file con todos losmetadatos del documento que se ha subido a Oracle Webcenter Content)

Figura 5.43: Propiedades de la tarea de servicio Descargar archivo de UCM

Crear archivo. Esta tarea de servicio crea un archivo con el contenido en base64 quese extrae de la tarea anterior. Se utiliza el metadato que almacena la extensión y elmetadato que almacena el nombre del archivo para poder crearlo. No es necesariodecodificar el contenido en base64.- Entrada de la tarea: objetos gasto- Salida de la tarea: objeto gasto y archivo.

Subir archivo a la nube. En esta tarea se sube el archivo a Oracle Documents Cloud

91

Page 122: TICKS: Arquitectura híbrida de gestión documental integrada con

Service a través de API REST. Para ello se han seguido algunos pasos:

- Primero se creó un WSDL a partir de la información que se mostraba en ladocumentación de la API REST de Oracle Documents Cloud Service (en el anexo Fse puede observar el código del servicio web creado).

- A partir del WSDL se creó un servicio web. JDeveloper crea algunas clases paraque se pueda implementar el servicio a partir del WSDL creado.

- Cuando se creó el proyecto de servicio web a partir del WSDL se implementó enJava la función que se debía realizar con las entradas y salidas definidas en el servicio.Para implementar la clase Java se han de tener en cuenta los siguientes puntos:

— Para subir el documento a la nube hace falta un mensaje multiform data, paraello hay que crear un mensaje. Este mensaje, además, lleva una parte en Json (figura5.44). Para la creación del mensaje se ha utilizado código Java para poder enviarlo.

Figura 5.44: Propiedades de la tarea de servicio Descargar archivo de UCM

— El servicio devuelve, como respuesta, un objeto Json con toda la informacióndel archivo que se ha almacenado en Oracle Webcenter Content, como tenía un SOAPWSDL con el esquema de las entradas y las salidas se ha implementado una funciónpara devolver la información con la estructura del SOAP WSDL.

— Después de implementar el servicio con Java se despliega en el servidor deaplicaciones Weblogic para poder ser consumido (figura 5.45 y figura 5.46).

— Se prueba en SoapUI para ver que efectivamente realiza su función.

- Entrada de la tarea: objeto gasto- Salida de la tarea: objeto gasto

Almacenar gasto. Esta tarea es un servicio que almacena en la base de datos el gastocuando la solicitud es aprobada o rechazada. Para almacenar los valores del gasto enbase de datos se realiza una transformación XSLT ya que, por ejemplo, en la base dedatos los booleanos pasan a ser numéricos. En el anexo F se puede ver un extracto dela transformación XSLT realizada para que almacene 0 o 1 dependiendo del valor (true

92

Page 123: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.45: Despliegue del servicio web creado en el servidor de aplicaciones Weblogic

Figura 5.46: Servicio web desplegado en el servidor de aplicaciones Weblogic

o false) que contenga la variable booleana.- Entrada de la tarea: objeto gasto

Configuración de la organización del proceso

Para la configuración del proceso es muy importante configurar los roles y la organización.Teniendo en cuenta que existen varios roles, se han creado diferentes grupos de usuarios paracada rol en el servidor. Los grupos son los siguientes (figura 5.47):

Empleados. En este grupo se encuentran todos los empleados que pueden crear ins-tancias del proceso o , lo que es lo mismo, crear solicitudes de reembolso de notas degasto.

93

Page 124: TICKS: Arquitectura híbrida de gestión documental integrada con

Responsables área. Los responsables de área son los usuarios que tienen las tareasrelacionadas con el tipo de usuario responsables de área explicados anteriormente enel análisis de requisitos.

Responsables de administración. Los responsables de administración pueden reali-zar las tareas asignadas que están relacionadas con el rol de tipo de usuario responsablede administración.

Un usuario puede pertenecer a varios grupos en weblogic. Por lo tanto el empleado quetambién es responsable de área también va a poder crear instancias del proceso para realizarsolicitudes de reembolso de notas de gasto.

En el proceso se debe asociar los roles con los usuarios creados en el servidor de aplica-ciones (los usuarios se pueden visualizar en la figura 5.48) que permite desplegar el proceso.Cada lane del proceso se puede relacionar con un grupo de usuarios o sólo con usuario enconcreto. Para esta prueba de concepto se ha creado un usuario para cada grupo de usuarioso roles del proceso de negocio.

Figura 5.47: Grupos en el servidor de aplicaciones Weblogic

Además, para el proceso de negocio se debe definir un rol para el Process Owner que seríaun miembro de la organización que es el responsable del proceso de negocio que tambiénforma parte de los roles.

Despliegue del proceso

Antes de desplegar el proceso debemos comprobar que el composite está correcto. Uncomposite es un archivo XML que muestra las conexiones que existen entre el proceso y los

94

Page 125: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.48: Usuarios en le servidor de aplicaciones Weblogic

diferentes conectores, servicios...). En la figura 5.49 se puede visualizar el composite de esteproyecto.

Para desplegar un proceso en Oracle BPM Suite se debe (figuras 5.50 y 5.51):

Definir revisión del proceso de negocio.

Marcar el plan de configuración del proceso. Los planes de configuración son nece-sarios para modificar los endpoints, esto sirve para no tener que modificar uno a unolas direcciones del servidor, de tal manera que todos conozcan la misma dirección y elmismo puerto a la hora de desplegar. Si, por ejemplo, existen dos entornos para desple-glar un proceso (desarrollo y producción) y queremos desplegar en el modo desarrollopara probar el funcionamiento, es más cómodo ir al plan y modificar desde ahí la di-rección del servidor dónde se desplegará que ir uno y a uno sin poder conocer si todoslos endpoints están modificados y desplegando el proceso en el entorno de producciónprovocando errores poco reparables.

Marcar las opciones que sean necesarias, en mi caso:

- Marcar la revisión por defecto.

- Sobreescribir los composites que existen desplegados en el servidor

- Desplegar la revisión elegida del composite

- Sobreescribir una aplicación existente.

Añadir los proyectos ADF. Cada proyecto ADF pertenece a una tarea humana y con-tienen los formularios que el usuario debe completar.

Cuando se despliega el proceso y se crea una instancia del proceso podemos visualizar enOracle Webcenter Content si nuestro documento se ha subido a Oracle Webcenter Content ya Oracle Documents Cloud Service (figuras 5.52 y 5.53 respectivamente).

95

Page 126: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.49: Composite del proceso de negocio

96

Page 127: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.50: Configuración para desplegar un proceso I

Figura 5.51: Configuración para desplegar un proceso II

97

Page 128: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.52: Documentos subidos a Oracle Webcenter content

Figura 5.53: Documentos subidos a Oracle Documents Cloud Service

98

Page 129: TICKS: Arquitectura híbrida de gestión documental integrada con

5.2.5 Pruebas y evaluaciónPara conocer las salidas y entradas de cada una de las tareas que forman el proceso en

cada una de las instancias que se inician se ha utilizado Oracle Enterprise Manager. En estecaso, en el puerto 7005 en la dirección localhost:7005/em se encuentra Oracle EnterpriseManager 12c. Se pueden ver los procesos lanzados en la figura 5.54. Se puede observar en lafigura 5.55 los componentes y tipos de componentes del proceso desplegado y algunos de losservicios que se han utilizado en el desarrollo de este proyecto. En “Composite definition”se puede comprobar que el composite lanzado es el que se ha realizado. En “Flow instances”se observan todas las instancias del proceso iniciadas como podemos ver en la figura 3. Parapoder observar que los datos de entrada y salida de cada tarea son correctos se debe cambiarla vista a “Tree” de tal manera que se puede ver un xsd con la entrada y la salida de cada unade las tareas. En la 5.56 se pueden ver las diferentes entradas y salidas de cada una de lastareas. Esto sirve para realizar pruebas en cada despliegue para comprobar que cada una delas salidas corresponde con las entradas que hemos introducido.

Figura 5.54: Procesos desplegados en el servidor SOA.

Por otra parte, se han realizado pruebas unitarias y se han seguido una serie de pasos:

Elegir el camino o flujo que va a seguir el caso de prueba.

Crear un "Test suite"para poder crear test y pruebas.

Crear un test a partir del composite de la aplicación. El composite es un XML de todoslas conexiones que existen con los diferentes recursos (base de datos, servicios web,servicios api rest,...) y que muestra cómo se relacionan entre ellos. Para las pruebas sehan modificado esas relaciones para modificar las entradas y las salidas de las tareasque utilizan esos serivicos.

99

Page 130: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.55: Componentes, servicios y referencias del proceso desplegado.

Generar pruebas automáticas a partir del esquema XSD que se utiliza para la entrada yla salida de cada tarea que utilice un servicio. En la fig 5.57 se puede ver como se creauna prueba automática generando un payload de ejemplo.

Desplegar el caso de prueba en el servidor soa para lanzar el caso de prueba creado.

También existe la posibilidad de visualizar informes en el Workspace de Oracle BPMcomo se puede ver en la figura 5.58

5.2.6 Pruebas de aceptación

Para las pruebas de aceptación del cliente se le mostró la arquitectura desarrollada tanto altutor académico como al tutor en la empresa donde se realiza el trabajo fin de grado para quepudieran aceptar la versión completada. Por otra parte, la autora de este proyecto tambiénaceptó la versión realizada del prototipo. De esta forma, se da por finalizada la aplicación, setoma como prototipo final. En el siguiente punto se detalla el contenido relacionado con elcierre del proyecto.

100

Page 131: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.56: XSD de una salida de una tarea humana.

5.3 Imputación final de horas y coste aproximado del proyectoDesde el día 1 de desarrollo del proyecto se han imputado las horas en la hErramienta de

Gestión Interna de Avanttic. El resultado se puede ver en la tabla 5.20.

Cuadro 5.20: Imputación de horas en EGI.

Fecha Observaciones Dedicación

01/02/2016 Acogida RRHH Primer día 8:30:00

02/02/2016 Instalación de varios en ordenador - Preparación para desarrollo 8:30:00

03/02/2016 Verificación de la instalación de WebCenter Content y Weblogic 8:30:00

04/02/2016 Terminar de configurar Weblogic y Webcenter content 8:30:00

05/02/2016 Redactar anteproyecto y búsqueda de información metodología 6:00:00

08/02/2016 Redactar anteproyecto, buscar información metodología utilizada 8:30:00

09/02/2016 Preparación del anteproyecto - Borrador inicial casi completo 80 % 8:30:00

10/02/2016 Instalación BPM Suite para Jdeveloper y redactar el anteproyecto. 8:30:00

Continúa en la siguiente página

101

Page 132: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.20 – Imputación de horas en EGI.

Fecha Observaciones Dedicación

11/02/2016 Instalación de Redmine e introducción de tareas de estas dos se-manas para TFG. Terminar primer borrador del anteproyecto. De-finición de iteraciones

8:30:00

12/02/2016 Instalación de máquina virtual con SOA Suite 6:00:00

15/02/2016 Reinstalación de la máquina virtual debido a problemas al iniciali-zarla hoy de nuevo. Vista general del proceso.

8:30:00

16/02/2016 Pruebas con Oracle BPM Suite 8:30:00

17/02/2016 Ejemplo con BPM Suite HelloWorld- Problema con la ejecución 8:30:00

18/02/2016 Intento de resolución de problema con BPM Suite - Redefiniciónde iteraciones para gestión del TFG

8:30:00

19/02/2016 Gestión del tfg - Instalación de herramienta - Eliminación de Re-mine - Redefinición de herramienta elegida

6:00:00

22/02/2016 Gestión de riesgos inicial, Reunión con tutor, Empezar con plani-ficación

8:30:00

23/02/2016 Planificación con Microsoft Project 8:30:00

24/02/2016 Terminar planificación , modificar seguimiento. Modificar antepro-yecto.

8:30:00

25/02/2016 Realización del cuestionario de elicitación de requisitos y docu-mentación - memoria tfg

8:30:00

26/02/2016 Riesgos del proyecto 6:00:00

29/02/2016 Traspaso de documentación del ordenador antiguo al nuevo. Des-carga de herramientas.

8:30:00

01/03/2016 Instalación en portátil nuevo de herramientas necesarias. Reformaranteproyecto.

8:30:00

02/03/2016 Proceso prueba HelloWorld de nuevo, modificación de documen-tos de la memoria del tfg. Anteproyecto preparado para meter elbpmn y enviarlo.

8:30:00

03/03/2016 Despliegue ejemplo Hello Process, recogida de requisitos. 8:30:00

04/03/2016 Creación del proceso BPMN a partir de los requisitos , esperandola validación del modelo =)

6:00:00

07/03/2016 Terminar anteproyecto y traspasar a gantt project 8:30:00

08/03/2016 Documentación memoria 8:30:00

09/03/2016 SoapUI con API REST Documents Cloud Service 8:30:00

10/03/2016 Revisión del anteproyecto, envío y firmado 8:30:00

11/03/2016 Especificación de requisitos, trabajo en el tren. 6:00:00

14/03/2016 Especificación y análisis de requisitos 8:30:00

15/03/2016 Análisis de requisitos - Casos de uso 8:30:00

16/03/2016 Terminar análisis de requisitos, diagramas de secuencia. 8:30:00

17/03/2016 Empezar con el diseno 8:30:00

18/03/2016 Probar webcenter content para realizar el diseno de tipología do-cumental + Curso CEP Mobile en Ciudad Real

6:00:00

Continúa en la siguiente página

102

Page 133: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.20 – Imputación de horas en EGI.

Fecha Observaciones Dedicación

21/03/2016 Diseno de la tipología documental - Lectura documentación Web-Center Content 12.2.1

8:30:00

22/03/2016 Documentación de Webcenter Content 8:30:00

23/03/2016 Tipología documental 8:30:00

28/03/2016 Modelo de datos. Gracias a Egi tengo todos los datos necesariospara los gastos, dudas BBDD y pruebas con WebCenter Content

8:30:00

29/03/2016 Diseno de base de datos 8:30:00

30/03/2016 Diseno de BBDD y ayuda de los companeros para WebcenterCon-tent y BPM

8:30:00

31/03/2016 Diseno de la Base de datos. Búsqueda de tipología documental enUCM

8:30:00

01/04/2016 Diseno de la BBDD, resolver dudas de WCC y curso en CiudadReal de OSB

6:00:00

04/04/2016 Reglas de negocio a tener en cuenta en el proceso, creación decheck-in de diferentes tipos de documentos en WCC, mejora de laBBDD a partir de la tabla de decisión.

8:30:00

05/04/2016 Instalación de Debian/Ubuntu en VB para plantilla tfg en Latex, ydiagrama de componentes/despliegue. Duda sobre elección tipo dediagrama.

8:30:00

06/04/2016 Intentar LDAP Autenticación. Instalar Latex para el TFG. 8:30:00

07/04/2016 Estudio del LDAP paraWeblogic. Se elige el que viene por defecto.Se redacta memoria - Introducción. Se revisa la base de datos parala tipología documental.

8:30:00

08/04/2016 Revisar folios templates para ucm y para completar la tipologíadocumental que se tendrá en cuenta en ucm. Curso en Ciudad Realde OSB , último día. =)

6:00:00

11/04/2016 Configuración de IBR para UCM , configuración del provider 8:30:00

12/04/2016 Resolución dudas UCM, terminar modelo de datos relacional y ti-pología documental.

8:30:00

13/04/2016 REsolución de dudas sobre UCM - Servicios Web , valores multi-valuados ....

8:30:00

14/04/2016 Búsqueda de servicios WSDL para Checkin folios, folders, ... 8:30:00

15/04/2016 Servicios Web para UCM + Curso en Ciudad Real MAF 6:00:00

18/04/2016 Dudas Webcenter content para IFC 8:30:00

19/04/2016 Dudas IFC para Webcenter Content - Workflow 8:30:00

20/04/2016 Webcenter Content - UCM - Workflows, Servicios SOAP,.. paraIFC - dudas

8:30:00

21/04/2016 Reunión para hablar del proyecto de IFC, investigación ucm parael proyecto - Servicios para crear folios,...

8:30:00

22/04/2016 Curso MAF en Ciudad Real - Iniciar definición tipología docu-mental para IFC

6:00:00

25/04/2016 Resolución dudas servicios web para IFC para descargar archivos 8:30:00

Continúa en la siguiente página

103

Page 134: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.20 – Imputación de horas en EGI.

Fecha Observaciones Dedicación

26/04/2016 Webcenter content - IFC 8:30:00

27/04/2016 Webcenter content - IFC 8:30:00

28/04/2016 Preparación Script de UCM - Webcenter Content - IFC 8:30:00

29/04/2016 Tipología IFC - Webcenter Content - UCM 6:00:00

03/05/2016 IFC - Webcenter content 8:30:00

04/05/2016 IFc - Webcenter content + TFG 8:30:00

05/05/2016 IFC - resolución de problemas, reuniones, ... 8:30:00

06/05/2016 IFC + curso MAF en Ciudad Real 6:00:00

09/05/2016 IFC preguntas - TFG BPM 8:30:00

10/05/2016 IFC + TFG - BPM 8:30:00

11/05/2016 IFC - metadatos 8:30:00

12/05/2016 IFC + BPM - tfg 8:30:00

13/05/2016 Poco de IFC ya y TFG - proyecto de prueba con conectores 6:00:00

17/05/2016 TFG - documentación =) 8:30:00

18/05/2016 IFC + TFG - documentación 7:30:00

19/05/2016 IFC - reconfiguración UCM + TFG - documentación 9:30:00

20/05/2016 TFG - Documentación 6:00:00

23/05/2016 Documentación, y dudas ifc 8:30:00

24/05/2016 Documentación, y procesos de prueba. Reunión Con Antonio -avance tfg

8:30:00

25/05/2016 Procesos de prueba - descargar archivo con ucm 8:30:00

26/05/2016 PRoceso de prueba que escribe archivo después de recogerlo delsoap wsdl

8:30:00

27/05/2016 Intentos de configuración del driver de emails 6:00:00

30/05/2016 Docuemntación y proceso 9:00:00

31/05/2016 Docuemntación y proceso 8:00:00

01/06/2016 TFG + dudas ifc 8:30:00

02/06/2016 TFG + dudas ifc 8:30:00

03/06/2016 TFG + dudas ifc 6:00:00

06/06/2016 TFG - implementación 8:30:00

07/06/2016 TFG - implementación 8:30:00

08/06/2016 TFG - implementación 8:30:00

09/06/2016 TFG - implementación 8:30:00

10/06/2016 TFG - implementación 6:00:00

13/06/2016 TFG - implementación 8:30:00

14/06/2016 TFG - configuración 8:30:00

15/06/2016 TFG - configuración 8:30:00

16/06/2016 TFG- ejecución 8:30:00

17/06/2016 TFG- ejecución 6:00:00

20/06/2016 TFG - pruebas 8:30:00

21/06/2016 TFG- pruebas 8:30:00

Continúa en la siguiente página

104

Page 135: TICKS: Arquitectura híbrida de gestión documental integrada con

Cuadro 5.20 – Imputación de horas en EGI.

Fecha Observaciones Dedicación

22/06/2016 TFG - redacción memoria completa 8:30:00

23/06/2016 TFG- redacción memoria 8:30:00

24/06/2016 TFG- redacción memoria 6:00:00

27/06/2016 TFG - reunión con Macario , pruebas de aceptación de usuario 8:30:00

28/06/2016 TFG- elaboración informe cierre del proyecto 8:30:00

29/06/2016 TFG- elaboración informe cierre del proyecto 8:30:00

30/06/2016 TFG- elaboración informe cierre del proyecto - Manual de usuario 8:30:00

01/07/2016 Enviar proyecto imprimir. 6:00:00

En total suman 848,5 horas de trabajo para el desarrollo del trabajo fin de grado y del mesen prácticas en empresa. Si se tiene en cuenta que el proyecto real (IFC) ha sido algo más deun mes hay que quitarle unas 280 horas. Teniendo en cuenta que, entonces, se han empleadounas 568,5 horas. El coste aproximado de este proyecto en la parte de desarrollo sería deunos 17.055 euros si el coste por hora fuera de unos 30 euros y sólo una persona se dedicaraa realizar todas las tareas del desarrollo del proyecto. Para conocer el coste aproximado totalse deberían añadir los costes de las licencias de los productos utilizados.

105

Page 136: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 5.57: Generación de un payload para la realización de un test automático.

Figura 5.58: Informes en el Workspace de Oracle BPM Suite

106

Page 137: TICKS: Arquitectura híbrida de gestión documental integrada con

Capítulo 6

Conclusiones

E N este capítulo se explican las conclusiones a las que ha llegado la autora de este pro-yecto después de realizarlo, además de analizar el estado del proyecto en base a lo que

se definió inicialmente.

6.1 Análisis del cumplimiento del alcance, objetivos, desviaciones yriesgos.

Este Proyecto partía con unos riesgos definidos que finalmente han ocurrido a lo largo desu desarrollo. El riesgo que más ha retrasado el proyecto ha sido que la curva de aprendizajeha sido mayor de lo esperado. La documentación de Oracle Webcenter Content (que es elgestor de contenidos on-premise) es muy escasa y se ha tenido que recurrir a la comunidadde Oracle en varias ocasiones. En general, los riesgos que se detallaron para este trabajo finde grado han estado muy cercanos a la realidad y se han manifestado casi todos.

Por otra parte, la planificación que se realizó inicialmente fue muy pesimista y graciasa eso el cumplimiento de la planificación ha sido “menos malo”, aunque se ha desviadobastante de lo que era la planificación inicial. La metodología Forte 1.0 puede ser muy útil ala hora de planificar y realizar un seguimiento porque está basada en lo que pasa en la realidaddel desarrollo de los trabajos fin de grado en el ámbito del convenio Forte dándole énfasis a laparte de la toma de contacto con las tecnologías y también énfasis a las diferentes versionesque van apareciendo con el cambio de requisitos y alcance, entre otras. Los objetivos de estetrabajo fin de grado se han cubierto enteramente ya que:

Se ha cubierto el análisis y diseño de la arquitectura.

Se ha diseñado la tipología documental y modelo de seguridad.

Se ha diseñado el workflow de aprobación de notas de gasto.

Se ha desarrollado la aplicación ADF

Se han desarrollado las conexiones a las distintas tecnologías

Aunque éstos eran los objetivos y se han cubierto, en el siguiente punto se habla de posi-bles extensiones y mejoras en el desarrollo del proyecto.

107

Page 138: TICKS: Arquitectura híbrida de gestión documental integrada con

6.2 Posibles extensiones y mejoras.Aunque el proyecto se ha desarrollado cubriendo los objetivos propuestos existen posibles

extensiones y mejoras que se pueden realizar:

Realización de la interfaz con Oracle Mobile Application Framework (MAF) que esun framework destinado a aplicaciones de movilidad. Gracias a Oracle MAF se po-dría tener código para plataformas Android, OS-X y Windows de manera que un solocódigo con diferente compilación puede servir para diferentes dispositivos.

Se podría mejorar el proceso de negocio con un formulario que admitiera varias notasde gasto, de tal manera que el usuario pudiera introducir en una instancia del procesovarios gastos y no tendría que tener la necesidad de crear otra instancia para cada unade las solicitudes de notas de gasto.

Mejorar el control de errores del proceso de negocio para que no se termine la instanciadel proceso cuando aparezca un error.

6.3 Justificación del uso de gran variedad de tecnologíasEl proyecto ha utilizado una gran variedad de tecnologías para automatizar el proceso de

gestión de negocio de notas de gastos. El cliente pidió expresamente que se utilizaran lastecnologías Oracle Webcenter Content, Oracle BPM Suite y Oracle Documents Cloud Ser-vice. Las tecnologías que se han utilizado, y que no pertenecen a esta intención de uso detecnologías específicas, han sido necesarias para el desarrollo del proyecto. El cliente bus-caba, con la utilización de dichas tecnologías y herramientas, explorar nuevas posibilidadespara que, tanto la autora de este proyecto como la organización, aprendieran beneficios einconvenientes de utilizarlas y elegirlas para proyectos reales para otras organizaciones. Seutiliza para mejorar un proceso que, en parte, se realiza de forma tradicional en la organiza-ción como ejemplo para conocer la automatización real de un proceso que puede ocurrir enotras organizaciones y que puede ser interesante realizar.

6.4 Participación en un proyecto realHe estado también en un proyecto real. He colaborado con la parte de Oracle Webcenter

Content para la creación de tipologías de documentos (metadatos, perfiles, folios) para elproyecto que se estaba realizando para la empresa Industrial Farmacéutica Cantabria (IFC).Este proyecto, además, ha sido el primer proyecto de Oracle Mobile Application Framework(Oracle MAF) de Europa y ha salido en la revista de Oracle Magazine May/June de 2016 1

(extracto del artículo en la figura 6.1). Entre las tareas que nos tocó desarrollar (a mi com-pañera de Forte Cristina y a mí) está la de la configuración de Oracle Webcenter Content a

1http://www.oracle.com/webfolder/storefront/index.html?wv=s %2FOracle %2520Magazine %2F33f0f70e-6be6-5984-b177-ade7122a5e2e %2FOMAG %2520MJ16 %2FMJ16 %2520Cover.html#/issues

108

Page 139: TICKS: Arquitectura híbrida de gestión documental integrada con

partir de los documentos que explicaban los tipos de documentos que IFC necesitaba parauna aplicación. Se resolvieron errores de indexación que aparecían cuando no se actualizabanciertas tablas de la base de datos y por lo tanto no se podían indexar algunos metadatos paralas búsquedas, también se resolvieron errores relacionados con el número de indexacionesoptimizadas que permite la herramienta y se buscaron soluciones para la posible migraciónde tipos de documentos a otros entornos diferentes (también relacionado con la generaciónautomatizada de los metadatos a través de scripts). Además se añadieron todos los tipos dedocumentos siendo varios los cambios realizados en éstos por cambios de requisitos y cam-bio en las necesidades del proyecto, además de cambios producidos por las características dela herramienta.

El proyecto se dividía en tres partes dependiendo de la tecnología utilizada: Oracle Web-center Content, Oracle ADF y Oracle MAF. El equipo para la parte de Oracle WebcenterContent estaba formado solamente por Cristina (compañera de la Escuela Superior de Infor-mática y Forte) y yo misma por lo que el aprendizaje de esta herramienta ha sido vital parapoder llevar a cabo la configuración de la herramienta, ya que dependía de nuestros conoci-mientos llevar a cabo una buena configuración de los tipos de documentos que eran parte delproyecto real. Oracle ADF y Oracle MAF dependían de los tipos de documentos creados enOracle Webcenter Content para poder llevar a cabo sus respectivos desarrollos por lo que sisurgía un error había que priorizar la resolución del mismo para no ocasionar mucho retraso.Por otra parte, realicé documentación relacionada con la configuración de Oracle WebcenterContent para documentar cómo se realizó la configuración, algo valorado positivamente porel cliente, que, incluso, definió el documento como fácilmente entendible.

La oportunidad de trabajar con un cliente real ha sido muy positiva ya que podíamos verla comunicación existente con el cliente y los cambios de requisitos que se producen en eldesarrollo de un proyecto. Además de la oportunidad de trabajar en un proyecto pionero enEuropa.

6.5 Lecciones aprendidas y opinión personalLas lecciones aprendidas del tiempo en el que se ha estado desarrollando este proyecto

y participando en el desarrollo de un proyecto real han sido muchas y variadas. Por unaparte, en el desarrollo del trabajo fin de grado he aprendido que las planificaciones puedenser complejas de realizar porque hay que tener en cuenta muchos aspectos importantes: re-cursos, tiempo, alcance, riesgos, herramientas a utilizar, tecnologías. . . Además, tener querealizar un seguimiento puede ser complicado cuando aparecen nuevas tareas que no estabancontempladas en la planificación.

Los requisitos en un proyecto son muy importantes, es la parte más importante del desa-rrollo de un proyecto, tener claro qué se quiere hacer o tenerlo lo más claro posible para quelos cambios sean mínimos. Tener en cuenta las posibilidades que pueden surgir o el máximo

109

Page 140: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura 6.1: Extracto del artículo Mobile is here en la revista Oracle Magazine May/June 2016

número de posibilidades (también el número de recursos disponibles para el desarrollo delmismo y la calidad y estado de éstos) , en realidad tener lo más controlado posible un pro-yecto en sus inicios es lo más importante (sobre todo conocer los posibles riesgos) porqueal final hay mucha probabilidad de que se desvíe, pero si se ha hecho un correcto análisis derequisitos y se tiene controlada la planificación las desviaciones no serán todo lo graves quepueden llegar a ser, si no se tiene bien definido el alcance del proyecto puede aparecer enmitad del desarrollo del proyecto la necesidad de crear un proyecto muy diferente al que ini-cialmente se definió causando graves demoras y pérdida de la calidad. En general, la gestiónde proyectos es una parte vital en el desarrollo de un proyecto.

También he aprendido lo útil que resulta una buena gestión del conocimiento. El plan deformación para cada uno de los empleados de una organización es vital para poder avanzaren una organización. Por otra parte, tener localizado el conocimiento también es importante,conocer en qué estado se encuentra el conocimiento en la organización, así como las personasque lo tienen.

La documentación, por muy pesada que pueda llegar a ser, es muy útil. Si se documentaratodo lo que sea hace día a día (de forma breve) se podrían evitar innumerables problemasque surgen cuando no se sabe lo que se ha realizado en un proyecto y hay que realizarmodificaciones sobre algo que otra persona estaba haciendo o ha hecho.

En lo que se refiere a tecnologías he aprendido mucho acerca de tecnologías punteras deOracle ya que la empresa en la que se ha desarrollado este proyecto –Avanttic– es Partner

110

Page 141: TICKS: Arquitectura híbrida de gestión documental integrada con

Platinum de Oracle. En lo que se refiere a los conocimientos en general he podido poneren práctica muchos de los conocimientos que he adquirido estos años y que me han sido deutilidad. Me he acordado especialmente de las asignaturas de la intensificación de Ingenieríade Software.

También es cierto que te he tenido dificultades iniciales en el desarrollo de este proyectosobretodo por los riesgos que han aparecido: el proyecto real se retrasó unas semanas, se tuvoque cambiar el portátil por cuestión de memoria RAM, la curva de aprendizaje fue intensa...Han sido muchos los riesgos que han aparecido y, aunque la gran mayoría los incluí en lagestión de riesgos, retrasaron un poco el desarrollo del proyecto y dificultaron poder llegar atiempo. Al final, a pesar de las dificultades y los riesgos que han tenido un impacto alto en elproyecto, me parece que he aprendido mucho.

Por otra parte, Avanttic me ha dado la oportunidad de conocer a grandes personas de lasque he aprendido mucho tanto personal como profesionalmente. Personalmente, ha sido unagran experiencia de la que he aprendido más de lo que esperaba y no dudo que será deutilidad todo este conocimiento en el futuro. Si volviera hacia atrás volvería a repetir estoscinco meses de aprendizaje continuo.

111

Page 142: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 143: TICKS: Arquitectura híbrida de gestión documental integrada con

ANEXOS

113

Page 144: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 145: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo A

Guía de elementos en Oracle BPM Suite

En este anexo se detallan los elementos que contiene Oracle BPM Suite y que sirven parael diseño e implementación del proceso de negocio.

Figura A.1: Puertas BPMN en Oracle BPM Suite 12.2.1

115

Page 146: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura A.2: Actividades BPMN en Oracle BPM Suite 12.2.1

116

Page 147: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura A.3: Eventos BPMN en Oracle BPM Suite 12.2.1

117

Page 148: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 149: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo B

Cuestionario al personal de administración de Avant-tic

Este es un ejemplo de cuestionario realizado al personal de administración de Avanttic.Este, en concreto, está respondido por la responsable de administración de Avanttic.

El trabajo fin de grado que tengo que hacer está relacionado con la gestión de las notas degastos. Hemos pensado en realizar la aplicación a partir de lo que ocurre en la empresa conlas notas de gastos. Te voy a realizar un cuestionario que puedes contestar cuando puedaspara poder ir recogiendo todos los requisitos necesarios para el proyecto.

Los empleados tienen gastos cuando realizan desplazamientos a otros lugares fuera dellugar de trabajo. Entonces:

¿Qué datos hay que detallar del tique / nota de gasto para poder recibir el costedel gasto? FECHA, CLIENTE, TIPO GASTO (sin son KM, indicar cantidad), DES-CRIPCION, CANAL (Efectivo o Tarjeta, aunque nadie tiene tarjeta de empresa), IM-PORTE

¿Hay algún gasto que se da previo a la producción del mismo? (Por ejemplo sialguien se va de viaje y se lo dais antes) Sí, en algún caso y no necesariamente conmotivo de un viaje, se realizan ANTICIPOS.

¿Por quién pasan los tiques hasta ser almacenados y qué función tiene cada per-sona? Si puede ser por orden mejor.

Administración Coteja la relación con el tique, indica si hay discordancia o faltatique. Entrega a responsables de área para su aprobación.

Responsable de área Revisan las relaciones y aprueban o no, para su pago ennómina. Entregan a Administración

Administración Informan los gastos aprobados por los responsables de áreas, pa-ra que se incluyan en la nómina. Se archivan

¿Qué ocurre si un tique no es admitido? Sí el responsable de área no valida untique, lo comunica al consultor, este debe modificar la relación y volver a enviarla aAdministración, quién a su vez, solicita de nuevo al responsable de área que apruebela definitiva, para incluirla en nómina.

119

Page 150: TICKS: Arquitectura híbrida de gestión documental integrada con

¿Existe la opción de reclamar si un tique no es admitido? Sí/No ¿Qué hay quehacer en caso afirmativo? Sí, hablar con el responsable de área.

¿Qué ocurre cuando un gasto es validado y aceptado? Se liquida junto a la nómina.

¿Los tiques siempre se almacenan y se guardan? Sí/No Sí.

¿Qué tipos de gastos cubre Avanttic?

¿Desplazamiento? Sí / NoSí

¿Alojamiento? Sí/No Sí

¿Comida? Sí/No Sí

¿Viajes? Sí / No Sí

¿Formación? Sí /No Sí, algunos

¿Alguno más? Coche alquiler

¿De qué forma puede ser el desplazamiento para que sea cubierto?

¿En tren? Sí / NoSí

¿En coche? Sí/No Sí

¿En taxi? Sí/No Sí

¿En avión? Sí /No Sí

¿Alguno más? Coche alquiler

¿En qué forma se cubren los gastos?

Desplazamiento.¿En tren? Coste

Desplazamiento.¿En coche? Sí/No Sí

Desplazamiento.¿En taxi? Coste

Desplazamiento.¿En avión? Sí /No Sí

Desplazamiento.¿Alguno más? Coste coche alquiler

Alojamiento.¿Lo que cuesta el alojamiento o una cantidad fija? Coste

Comida. ¿Lo que cuesta la comida o una cantidad fija Cantidad fija y coste.

Viaje. ¿Lo que cuesta la comida o una cantidad fija? Cantidad fija y coste.

¿Hay algún gasto que independientemente del coste se da una cantidad fija? (Porejemplo, pues para X viajes damos una cantidad fija y no varía dependiendo delgasto) Sí, hay casos en los que se paga una cantidad fija al mes.

¿Se automatiza en el EGI de alguna forma la gestión de las notas de gasto / tiques?Sí / No ¿Cómo? Hasta donde yo sé, en EGI sólo se informan los gastos y se imprimela relación.

120

Page 151: TICKS: Arquitectura híbrida de gestión documental integrada con

¿Existe la posibilidad de que el empleado pueda volver a hacer algo con el tique(rellenar de nuevo la solicitud o algo) después de que el responsable de área se lodeniegue? ¿O ya es definitivo? Se pueden dar 2 circunstancias, cuando se deniegantiques de gastos, por parte del responsable de área:

1.que se deniegue toda la relación, lo cual implica que, lógicamente no se puedehacer nada y la relación, vuelve a Administracion y va directa a archivo, como dene-gada, sin pasar por la nómina (sería como ir a la cárcel en el Monopoly, sin pasar porla casilla de salida).

2.que se deniegue algún gasto de la relación, no por la no correspondencia entrela relación y tique (eso lo ha verificado y corregido antes en Administración, si se dael caso), sino porque el gasto no procede. Entonces lógicamente, el responsable deárea, debe solicitar la rectificación de la nota de gasto y vuelve a la casilla de Sali-da...(Administración) pero ahora ya con la garantía que pasará el filtro de aprobación,irá a nómina, etc.

¿Qué son los anticipos? Los anticipos para viajes o gastos mensuales, simplemente esun “a cuenta"de una previsión de los gastos del viaje. Se hace un cálculo aproximado...,una vez presentados los gastos, a coste real y aprobados, se incluyen en nómina y seaplica (descuenta) el anticipo.

¿En qué casos se dan las cantidades fijas? Las cantidades fijas se da en casos deconsultores que se desplazan a cliente fijos, ya sea a corto, medio o largo plazo.

121

Page 152: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 153: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo C

Creación de la base de datos

Se ha creado un esquema de base de datos creando una nueva conexión de base de datoscomo se muestra en la figura C.1. Se define el nombre, el usuario y la contraseña y se conectacon la base de datos Oracle Database 12c. Se encuentra en local, en el puerto 1521 y elnombre del servicio es orcl.oracle.com. Se prueba en el botón Text y se le da a Connect.

Figura C.1: Creación de una nueva conexión de base de datos

Después de crear una conexión se crea un usuario o esquema (figura C.2. El usuario tieneacceso a las tablas que se definan. Se ha definido que el usuario tenga privilegios de admi-nistración en toda la base de datos y se le han otorgado todos los roles posibles.

Para la creación de tablas se ha utilizado SQL Developer. Con SQL Developer todo seautomatiza, de esta manera se han podido generar las tablas (figura C.4 y también las clavesprimarias, foráneas y valores únicos (figura C.3).

Por otra parte tenemos la posibilidad de revisar el modelo creado y las relaciones de unatabla con otras para comprobar que en realidad está bien realizado el modelo.

Además podemos generar scripts automáticamente con la herramienta a partir de los es-

123

Page 154: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura C.2: Creación de un nuevo usuario en la base de datos

quemas creados (figura C.5).

124

Page 155: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura C.3: Generación de claves primarias, foráneas y valores únicos en la base de datos

Figura C.4: Creación de tablas en la base de datos

125

Page 156: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura C.5: Script generado de la base de datos

126

Page 157: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo D

Creación de tipos de documentos con Oracle Web-center Content

Para la creación de tipos de documentos con Oracle Webcenter Content es necesario co-nocer algunos conceptos. [Huf06]

Los metadatos (figura D.1) son los datos que caracterizan a un tipo de documento. Losmetadatos en Oracle Webcenter Content pueden ser:

Text - Es alfanumérico. Máximo 30 caracteres.

Long Text- Es alfanumérico. Máximo 100 caracteres.

Memo - Es alfanúmerico. Máximo 1000 caracteres.

Date - Es para fechas de acuerdo al formato específico del sistema.

Integer - Es válido para valores numéricos que no sean decimales en el rango de

−231a− 231

Decimal - Es para valores decimales y se debe seleccionar una cifra para los decimalespermitidos.

Los metadatos también pueden ser listas de opciones:

Select List Validated - Lista de opciones con un valor seleccionado y validado.

Select List Not Validated - Lista de opciones con un valor seleccionado y no validado.

Edit and Select List - Lista de opciones editable con un valor seleccionado.

Multiselect list - Lista de opciones multiselección.

Edit and Multiselect List - Lista de opciones editable y multiselección.

Los valores se extraen de tres fuentes diferentes:

Option list - Lista de opciones separadas por comas.

View - Una vista es la presentación de una tabla. Tiene que existir una Tabla que tengasus columnas. Las tablas son similares a las tablas de un esquema de la base de datos(claves primarias, enteros, varchar,...). Puede incluir todas las columnas de una tabla o

127

Page 158: TICKS: Arquitectura híbrida de gestión documental integrada con

solo algunas. Las tablas pueden tener relaciones de una tabla a otra a relacionando doscolumnas, una de cada tabla.

Tree - Utiliza los valores almacenados en un árbol en lugar de una vista o una lista.Un árbol sirve para visualizar los elementos disponibles en una vista.

Figura D.1: Tipos de metadatos permitidos en Oracle Webcenter Content

Cuando se tienen creados todos los metadatos para realizar un tipo de documento necesi-tamos crear también (figura D.2):

Reglas - Una regla es un conjunto de metadatos. Todos los metadatos pueden tenerun valor por dfeecto para el metadato o un valor derivado. Cada uno de los metadatospuede ser:

- Ocultados o escondidos. Un metadato puede estar ocultado en la regla y tenerun valor por defecto o un valor derivado definido.

- Requeridos u obligatorios. Puede ser obligatorio rellenar el contenido de unmetadato.

- Editables. Puede ser editable por el usuario.

- Info only. Puede ser un metadato que muestre información solamente.

- Excluido. Se puede exluir un metadato de un perfil.

Perfiles - Los perfiles son conjuntos de reglas. Un perfil se puede traducir como unconjunto de metadatos que componen el tipo de documento.

128

Page 159: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura D.2: Perfiles, reglas y metadatos en Oracle Webcenter Content

Cuando ya tenemos creados todos los elementos anteriores podemos crear diferentes tiposde documentos. Un tipo de documento estará formado por un conjunto de metadatos genera-les que tienen todos los documentos y entre ellos se encuentra el metadato de perfil. El perfildefine los metadatos del perfil del documento. Por lo tanto, un tipo de documento estarácompuesto por metadatos generales y metadatos del perfil del documento (figura D.3).

Para crear un documento de un perfil determinado hay un conjunto de servicios a los quehay que llamar (sólo se explicarán los que se hayan utilizado en el proyecto por orden deaparición):

CHECK-IN - Es el servicio que permite asociar un archivo (es obligatorio adjuntar unarchivo a no ser que se configure un botón para que sólo se almacenen metadatos), quetiene un perfil definido ,con un conjunto de metadatos y lo sube a Oracle WebcenterContent.

GET_FILE - Es un servicio que introduciendo el ID del documento o el nombre deldocumento devuelve el contenido de una revisión (una revisión es una versión deldocumento, este servicio devuelve la última versión del documento).

Este es sólo un resumen de lo que he utilizado de Oracle Webcenter Content. Oracle Web-center Content ofrece muchas más posibilidades en el mundo de la gestión documental em-presarial, pero en este anexo sólo se han explicado las que puedan resultar de ayuda a la hora

129

Page 160: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura D.3: Tipo de documento en Oracle Webcenter Content

de entender el trabajo fin de grado.

130

Page 161: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo E

Esquemas XSD de los objetos de datos del proceso

<?xml version = ’1.0’ encoding = ’UTF-8’?>

<xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectCanalesPago" xmlns="

http://xmlns.oracle.com/pcbpel/adapter/db/selectCanalesPago" elementFormDefault="qualified"

attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="selectCanalesPagoInput" type="selectCanalesPagoInput"/>

<xs:complexType name="selectCanalesPagoInput">

<xs:sequence/>

</xs:complexType>

<xs:element name="selectCanalesPagoOutputCollection" type="selectCanalesPagoOutputCollection"/>

<xs:complexType name="selectCanalesPagoOutputCollection">

<xs:sequence>

<xs:element name="selectCanalesPagoOutput" type="selectCanalesPagoOutput" minOccurs="0"

maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="selectCanalesPagoOutput">

<xs:sequence>

<xs:element name="IDCANALPAGO" type="xs:decimal" nillable="true"/>

<xs:element name="DESCRIPPAGO" type="xs:string" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Listado E.1: Esquema XSD listacanalespago

131

Page 162: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version = ’1.0’ encoding = ’UTF-8’?>

<xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectProyectosEmpleado" xmlns

="http://xmlns.oracle.com/pcbpel/adapter/db/selectProyectosEmpleado" elementFormDefault="

qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="selectProyectosEmpleadoInput" type="selectProyectosEmpleadoInput"/>

<xs:complexType name="selectProyectosEmpleadoInput">

<xs:sequence/>

</xs:complexType>

<xs:element name="selectProyectosEmpleadoOutputCollection" type="

selectProyectosEmpleadoOutputCollection"/>

<xs:complexType name="selectProyectosEmpleadoOutputCollection">

<xs:sequence>

<xs:element name="selectProyectosEmpleadoOutput" type="selectProyectosEmpleadoOutput"

minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="selectProyectosEmpleadoOutput">

<xs:sequence>

<xs:element name="NOMPROY" type="xs:string" nillable="true"/>

<xs:element name="IDPERSPROY" type="xs:decimal" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Listado E.2: Esquema XSD listaproyectosempleado

<?xml version = ’1.0’ encoding = ’UTF-8’?>

<xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto" xmlns="http:

//xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto" elementFormDefault="qualified"

attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="selectTiposGastoInput" type="selectTiposGastoInput"/>

<xs:complexType name="selectTiposGastoInput">

<xs:sequence/>

</xs:complexType>

<xs:element name="selectTiposGastoOutputCollection" type="selectTiposGastoOutputCollection"/>

<xs:complexType name="selectTiposGastoOutputCollection">

<xs:sequence>

<xs:element name="selectTiposGastoOutput" type="selectTiposGastoOutput" minOccurs="0"

maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="selectTiposGastoOutput">

<xs:sequence>

<xs:element name="IDTIPOGASTO" type="xs:decimal" nillable="true"/>

<xs:element name="DESCRITIPOGASTO" type="xs:string" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Listado E.3: Esquema XSD listatiposgasto

132

Page 163: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/DownloadFile"

elementFormDefault="qualified" xmlns="http://xmlns.oracle.com/bpm/bpmobject/TFG/DownloadFile"

xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/"

>

<xs:complexType name="DownloadFileType">

<xs:sequence>

<xs:element name="filecontent" nillable="true" type="xs:base64Binary"/>

<xs:element name="fileName" nillable="true" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:element name="DownloadFile" type="DownloadFileType"/>

</xs:schema>

Listado E.4: Esquema XSD DownloadFile

133

Page 164: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/FileInfo" elementFormDefault="

qualified" xmlns:ns1="http://xmlns.oracle.com/bpm/bpmobject/TFG/DownloadFile" xmlns:xs="http://

www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/bpm/bpmobject/TFG/FileInfo"

xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/" >

<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/DownloadFile" schemaLocation="

DownloadFile.xsd"/>

<xs:complexType name="FileInfoType">

<xs:sequence>

<xs:element name="infoDescarga" nillable="true" type="ns1:DownloadFileType"/>

<xs:element name="dDocName" nillable="true" type="xs:string"/>

<xs:element name="dDocTitle" nillable="true" type="xs:string"/>

<xs:element name="dDoctype" nillable="true" type="xs:string"/>

<xs:element name="dDocAuthor" nillable="true" type="xs:string"/>

<xs:element name="dSecurityGroup" nillable="true" type="xs:string"/>

<xs:element name="dDocAccount" nillable="true" type="xs:string"/>

<xs:element name="dID" nillable="true" type="xs:int"/>

<xs:element name="dRevClassID" nillable="true" type="xs:int"/>

<xs:element name="dRevisionID" nillable="true" type="xs:int"/>

<xs:element name="dRevLabel" nillable="true" type="xs:string"/>

<xs:element name="dIsCheckedOut" nillable="true" type="xs:boolean"/>

<xs:element name="dCheckoutUser" nillable="true" type="xs:string"/>

<xs:element name="dCreateDate" nillable="true" type="xs:string"/>

<xs:element name="dInDate" nillable="true" type="xs:string"/>

<xs:element name="dOutDate" nillable="true" type="xs:string"/>

<xs:element name="dStatus" nillable="true" type="xs:string"/>

<xs:element name="dReleaseDate" nillable="true" type="xs:string"/>

<xs:element name="dFlag1" nillable="true" type="xs:string"/>

<xs:element name="dWebExtension" nillable="true" type="xs:string"/>

<xs:element name="dProcessingState" nillable="true" type="xs:string"/>

<xs:element name="dMessage" nillable="true" type="xs:string"/>

<xs:element name="dReleaseState" nillable="true" type="xs:string"/>

<xs:element name="dRendition1" nillable="true" type="xs:string"/>

<xs:element name="dRendition2" nillable="true" type="xs:string"/>

<xs:element name="dIndexerState" nillable="true" type="xs:string"/>

<xs:element name="dPublishType" nillable="true" type="xs:string"/>

<xs:element name="dPublishState" nillable="true" type="xs:string"/>

<xs:element name="dDocID" nillable="true" type="xs:int"/>

<xs:element name="dIsPrimary" nillable="true" type="xs:boolean"/>

<xs:element name="dIsWebFormat" nillable="true" type="xs:boolean"/>

<xs:element name="dLocation" nillable="true" type="xs:string"/>

<xs:element name="dOriginalName" nillable="true" type="xs:string"/>

<xs:element name="dFormat" nillable="true" type="xs:string"/>

<xs:element name="dExtension" nillable="true" type="xs:string"/>

<xs:element name="dFileSize" nillable="true" type="xs:int"/>

</xs:sequence>

</xs:complexType>

<xs:element name="FileInfo" type="FileInfoType"/>

</xs:schema>

Listado E.5: Esquema XSD FileInfo

134

Page 165: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/Personas" elementFormDefault="

qualified" xmlns="http://xmlns.oracle.com/bpm/bpmobject/TFG/Personas" xmlns:xs="http://www.w3.

org/2001/XMLSchema" xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/" >

<xs:complexType name="PersonasType">

<xs:sequence>

<xs:element name="idPers" nillable="true" type="xs:decimal"/>

<xs:element name="dniPer" nillable="true" type="xs:string"/>

<xs:element name="nomPer" nillable="true" type="xs:string"/>

<xs:element name="apell1per" nillable="true" type="xs:string"/>

<xs:element name="apell2per" nillable="true" type="xs:string"/>

<xs:element name="areaper" nillable="true" type="xs:string"/>

<xs:element name="passper" nillable="true" type="xs:string"/>

<xs:element name="usuper" nillable="true" type="xs:string"/>

<xs:element name="emailper" nillable="true" type="xs:string"/>

<xs:element name="activoper" nillable="true" type="xs:boolean"/>

</xs:sequence>

</xs:complexType>

<xs:element name="Personas" type="PersonasType"/>

</xs:schema>

Listado E.6: Esquema XSD Personas

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/Gasto" elementFormDefault="

qualified" xmlns:ns2="http://xmlns.oracle.com/bpm/bpmobject/TFG/Personas" xmlns="http://xmlns.

oracle.com/bpm/bpmobject/TFG/Gasto" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="

http://xmlns.oracle.com/bpm/bpmobject/TFG/FileInfo" xmlns:bpmo="http://xmlns.oracle.com/bpm/

bpmobject/" >

<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/Personas" schemaLocation="

Personas.xsd"/>

<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/TFG/FileInfo" schemaLocation="

FileInfo.xsd"/>

<xs:complexType name="GastoType">

<xs:sequence>

<xs:element name="idGasto" nillable="true" type="xs:decimal"/>

<xs:element name="importeGasto" nillable="true" type="xs:decimal"/>

<xs:element name="fechaInicioGasto" nillable="true" type="xs:dateTime"/>

<xs:element name="fechaFinGasto" nillable="true" type="xs:dateTime"/>

<xs:element name="descripcionGasto" nillable="true" type="xs:string"/>

<xs:element name="idDocGasto" nillable="true" type="xs:string"/>

<xs:element name="canalPagoGasto" nillable="true" type="xs:decimal"/>

<xs:element name="fueraLocalidadGasto" nillable="true" type="xs:boolean"/>

<xs:element name="kmGasto" nillable="true" type="xs:decimal"/>

<xs:element name="idTipoGastoGasto" nillable="true" type="xs:decimal"/>

<xs:element name="personaproyectoidgasto" nillable="true" type="xs:decimal"/>

<xs:element name="fechaPagoAcept" nillable="true" type="xs:date"/>

<xs:element name="pagado" nillable="true" type="xs:boolean"/>

<xs:element name="file" nillable="true" type="ns1:FileInfoType"/>

<xs:element name="importGastoAcept" nillable="true" type="xs:decimal"/>

<xs:element name="persona" nillable="true" type="ns2:PersonasType"/>

</xs:sequence>

</xs:complexType>

<xs:element name="Gasto" type="GastoType"/>

</xs:schema>

Listado E.7: Esquema XSD Gasto

135

Page 166: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 167: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo F

Servicios SOAP WSDL, transformaciones XSLT ysentencias SQL

137

Page 168: TICKS: Arquitectura híbrida de gestión documental integrada con

<wsdl:definitions

name="selectTiposGasto"

targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/TFGTFG/BpmProject/selectTiposGasto"

xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/TFGTFG/BpmProject/selectTiposGasto"

xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"

xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"

xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

<wsdl:types>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

<schema xmlns="http://www.w3.org/2001/XMLSchema" >

<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/selectTiposGasto"

schemaLocation="../Schemas/selectTiposGasto.xsd" />

</schema>

</wsdl:types>

<wsdl:message name="selectTiposGastoInput_msg">

<wsdl:part name="selectTiposGastoInput_msg" element="db:selectTiposGastoInput"/>

</wsdl:message>

<wsdl:message name="selectTiposGastoOutputCollection_msg">

<wsdl:part name="selectTiposGastoOutputCollection" element="

db:selectTiposGastoOutputCollection"/>

</wsdl:message>

<wsdl:portType name="selectTiposGasto_ptt">

<wsdl:operation name="selectTiposGasto">

<wsdl:input message="tns:selectTiposGastoInput_msg"/>

<wsdl:output message="tns:selectTiposGastoOutputCollection_msg"/>

</wsdl:operation>

</wsdl:portType>

</wsdl:definitions>

Listado F.1: Ejemplo de servicio SOAP WSDL creado para los servicios de base de datos

138

Page 169: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version=’1.0’ encoding=’utf-8’ ?>

<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:s="http://www.w3.org/2001/XMLSchema"

xmlns:s0="http://www.stellent.com/GetFile/"

targetNamespace="http://www.stellent.com/GetFile/"

xmlns="http://schemas.xmlsoap.org/wsdl/">

<types>

<s:schema elementFormDefault="qualified" targetNamespace="http://www.stellent.com/

GetFile/">

<s:element name="GetFileByID">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="dID"

type="s:int" />

<s:element minOccurs="0" maxOccurs="1" name="

rendition" type="s:string" />

<s:element minOccurs="0" maxOccurs="1" name="

extraProps" type="s0:IdcPropertyList" />

</s:sequence>

</s:complexType>

</s:element>

<s:element name="GetFileByIDResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="

GetFileByIDResult" type="s0:GetFileByIDResult" /

>

</s:sequence>

</s:complexType>

</s:element>

<s:complexType name="GetFileByIDResult">

<s:sequence>

<s:element minOccurs="0" maxOccurs="unbounded" name="

FileInfo" type="s0:FileInfo" />

<s:element minOccurs="0" maxOccurs="1" name="downloadFile"

type="s0:IdcFile" />

<s:element minOccurs="0" maxOccurs="1" name="StatusInfo"

type="s0:StatusInfo" />

</s:sequence>

</s:complexType>

Listado F.2: Extracto del servicio SOAP WSDL que descarga el archivo de Oracle WebcenterContent [Weba]

139

Page 170: TICKS: Arquitectura híbrida de gestión documental integrada con

<?xml version=’1.0’ encoding=’utf-8’ ?>

[...]

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="

parentID" type="s:string" />

<s:element minOccurs="0" maxOccurs="1" name="

primaryFile" type="s:string" />

</s:sequence>

</s:complexType>

</s:element>

<s:element name="UploadFileResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="1" maxOccurs="1" name="

createdBy" type="s0:estruc" />

<s:element minOccurs="1" maxOccurs="1" name="

createdTime" type="s:date" />

<s:element minOccurs="1" maxOccurs="1" name="

errorCode" type="s:int" />

<s:element minOccurs="1" maxOccurs="1" name="

errorMessage" type="s:string" />

<s:element minOccurs="1" maxOccurs="1" name="id"

type="s:string" />

<s:element minOccurs="1" maxOccurs="1" name="

modifiedBy" type="s0:estruc" />

<s:element minOccurs="1" maxOccurs="1" name="

modifiedTime" type="s:date" />

<s:element minOccurs="1" maxOccurs="1" name="name"

type="s:string"/>

<s:element minOccurs="1" maxOccurs="1" name="ownedBy

" type="s0:estruc" />

<s:element minOccurs="1" maxOccurs="1" name="

parentID" type="s:string" />

<s:element minOccurs="1" maxOccurs="1" name="size"

type="s:int" />

<s:element minOccurs="1" maxOccurs="1" name="type"

type="s:string" />

<s:element minOccurs="1" maxOccurs="1" name="version

" type="s:int" />

</s:sequence>

</s:complexType>

</s:element>

<s:complexType name="estruc">

<s:sequence>

<s:element minOccurs="1" maxOccurs="1" name="displayName"

type="s:string" />

<s:element minOccurs="1" maxOccurs="1" name="id" type="

s:string" />

<s:element minOccurs="1" maxOccurs="1" name="type" type="

s:string" />

</s:sequence>

</s:complexType>

[...]

Listado F.3: Extracto del servicio WSDL creado para almacenar el archivo en OracleDocuments Cloud Service

140

Page 171: TICKS: Arquitectura híbrida de gestión documental integrada con

<xsl:template match="/">

<ns0:selectTiposGastoOutputCollection>

<xsl:for-each select="/ns0:selectTiposGastoOutputCollection/ns0:selectTiposGastoOutput">

<ns0:selectTiposGastoOutput>

<ns0:IDTIPOGASTO>

<xsl:value-of select="ns0:IDTIPOGASTO"/>

</ns0:IDTIPOGASTO>

<ns0:DESCRITIPOGASTO>

<xsl:value-of select="ns0:DESCRITIPOGASTO"/>

</ns0:DESCRITIPOGASTO>

</ns0:selectTiposGastoOutput>

</xsl:for-each>

</ns0:selectTiposGastoOutputCollection>

</xsl:template>

Listado F.4: Ejemplo de transformación XSLT en el mapeo de variables a la entrada / salidade las tareas

<xsl:choose>

<xsl:when test="/ns0:Gasto/ns0:fueraLocalidadGasto">

<tns:fueralocalidadgasto>1</tns:fueralocalidadgasto>

</xsl:when>

<xsl:otherwise>

<tns:fueralocalidadgasto>0</tns:fueralocalidadgasto>

</xsl:otherwise>

</xsl:choose>

Listado F.5: Extracto de la transformación XSLT para el almacenamiento del gasto en basede datos label

SELECT * FROM TIPO_GASTO

Listado F.6: Sentencia SQL para recoger de la base de datos los tipos de gasto permitidospermitidos por el sistema para el reembolso de las notas de gasto

SELECT proyectos.nomproy, personas_proyectos.idpersproy FROM proyectos, personas_proyectos, personas

WHERE proyectos.idproy=personas_proyectos.proyectosidproy AND personas.idpers=

personas_proyectos.personaasidpers AND personas.idpers=#empleado

Listado F.7: Sentencia SQL para recoger de la base de datos los proyectos en los que participael empleado

SELECT * FROM CANALES_PAGO

Listado F.8: Sentencia SQL para recoger de la base de datos los canales de pago permitidospor el sistema para el reembolso de las notas de gasto

141

Page 172: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 173: TICKS: Arquitectura híbrida de gestión documental integrada con

Anexo G

Manual de usuario

Al crear una instancia del proceso se muestra la figura G.1. Después de crear la instanciay aceptar el primer formulario aparece otro formulario para que el empleado pueda crear lasolicitud de reembolso de la nota de gastos (figura G.2). Cuando es aceptada en la compro-bación automática aparece un formulario de revisión de la solicitud para el responsable deadministración (figura G.3). Por último, es revisada por el responsable de área. En la figuraG.4 se puede ver como la tarea aparece en el workspace y como el formulario aparece debajode la caja de tareas pendientes para el responsable de área.

Figura G.1: Formulario inicial.

143

Page 174: TICKS: Arquitectura híbrida de gestión documental integrada con

Figura G.2: Formulario para que el empleado pueda crear la solicitud de reembolso de lanota de gastos.

Figura G.3: Formulario de revisión de la solicitud de reembolso de la nota de gastos para elresponsable de administración.

Figura G.4: Formulario de revisión de la solicitud de reembolso de la nota de gastos para elresponsable de área.

144

Page 175: TICKS: Arquitectura híbrida de gestión documental integrada con

Referencias

[ADF] Oracle Application Development Framework 12.2.1. url: http://www.oracle.com/technetwork/developer-tools/adf/overview/index.html.

[Bal] Balsamiq Mockups. url: https://balsamiq.com/.

[Bit] Bitbucket. url: https://bitbucket.org/.

[bpma] Magic Quadrant for Intelligent Business Process Management Suites. url: https://www.gartner.com/doc/reprints?id=1-2BYYFBE&ct=150319&st=sb.

[bpmb] Magic Quadrant for Intelligent Business Process Management Sui-tes. url: http://www.bpm-spain.com/articulo/71086/bpm-general/todos/

magic-quadrant-de-gartner-para-suites-de-business-process-management-marzo-2015.

[bpmc] Object Management Group BPMN 2.0. url: http://www.omg.org/spec/BPMN/2.0/.

[bpmd] Object Management Group Business Process Model and Notation. url: http://

www.bpmn.org/.

[BPMe] Oracle Business Process Management Suite 12C 12.2.1. url: http://www.oracle.com/us/technologies/bpm/suite/overview/index.html.

[con] Gestión de contenidos Empresarial (ECM). url: https://articulosit.files.

wordpress.com/2014/08/gestion-de-contenidos-empresarial.pdf.

[Dat] Oracle Database 12c. url: https://www.oracle.com/es/corporate/features/

database-12c/index.html.

[Dev] Oracle SQL Developer. url: http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html.

[doca] La gestión documental: historia, aspectos, actualidad. url: https://

gestiondocumentalparagentenormal.com/.

[Docb] Oracle Documents Cloud Service. url: https://cloud.oracle.com/documents.

[ECMa] AIIM - What is ECM? What is Enterprise Content Management? url: http://www.aiim.org/What-is-ECM-Enterprise-Content-Management.

145

Page 176: TICKS: Arquitectura híbrida de gestión documental integrada con

[ecmb] Magic Quadrant for Enterprise Content Management. url: http://www.

project-consult.de/files/Gartner MQ ECM Enterprise Content Management 2015.

pdf.

[evo] Evolución de la gestión documental. url: http://www.tiki-toki.com/timeline/

entry/297955/EVOLUCION-DE-LA-GESTION-DOCUMENTAL/#vars!date=1831-01-16 08:

41:58!

[Gan] Gantt Project. url: https://www.ganttproject.biz/.

[Gar] Gartner(empresa). url: https://es.wikipedia.org/wiki/Gartner (empresa).

[ges] Gestores de contenido empresarial de código abierto. url: http://gredos.usal.es/jspui/bitstream/10366/116276/1/MASTERSID TFM YoleidaCamara.pdf.

[Git] Git. url: https://git-scm.com/.

[Hit12] Bernhard Hitpass. BPM: Business Process Management - Fundamentos y Con-

ceptos de Implementación. Tercera edición ampliada. CreateSpace IndependentPublishing Platform, 2012.

[Huf06] Brian "Bex"Huff. The Definitive Guide to Stellent Content Server Development.Springer, 2006.

[Jde] Oracle JDeveloper Studio 12c 12.2.1. url: http://www.oracle.com/technetwork/

developer-tools/jdev/overview/index.html.

[jso] Json. url: http://www.json.org/.

[Lat] LATEX. url: http://www.latex-project.org/.

[Lin] Oracle Linux Server 6.7. url: http://www.oracle.com/technetwork/server-storage/linux/overview/index.html.

[mag] Cuadrante mágico de Gartner. url: http://revista.helpdesktic.com/

cuadrante-magico-de-gartner/.

[MJ93] M.Hammer y J.Champy. Reingeniería de procesos. Grupo Editorial Norma, 1993.

[mun] La importancia de la gestión documental. url: http://www.mundoarchivistico.com/?menu=articulos&id=424.

[Off] Microsoft Office 2016. url: https://products.office.com/es-es/home.

[ori] Origen de los archivos. url: http://www.alquiblaweb.com/2012/06/11/

origen-de-los-archivos-30-2/.

146

Page 177: TICKS: Arquitectura híbrida de gestión documental integrada con

[Rui15] Francisco Ruiz. Ingeniería de Negocio. Tema 3. BPM - Business Process Manage-ment. Technical report, Universidad de Castilla-La Mancha. Escuela Superior deInformática, 2015.

[S.97] Connell S. Desarrollo y Gestión de Proyectos Informáticos. Capítulo 5. McGraw-Hill Iberoamericana, 1997.

[SOAa] Oracle SOA Suite 12c. url: http://www.oracle.com/technetwork/middleware/

soasuite/overview/index.html.

[Soab] Soap UI. url: https://www.soapui.org/.

[tra] Qué es un proceso transversal de negocio? url: http://bpmprocesos.blogspot.com.es/2014/08/que-es-un-proceso-transversal-de-negocio.html.

[Vir] Oracle Virtual Box 5.0.14. url: https://www.virtualbox.org/.

[Vis] Visual Paradigm. url: https://www.visual-paradigm.com/.

[Weba] Oracle Webcenter Content 12c 12.2.1. url: https://www.oracle.com/middleware/

webcenter/content/index.html.

[Webb] Oracle Weblogic Server 12c r2. url: http://www.oracle.com/technetwork/

middleware/weblogic/overview/index-085209.html.

[Webc] Weblogic Server, configuración del dominio. url: http://www.oracle.com/

technetwork/es/articles/adf/oracle-weblogic-server-parte1-1942519-esa.html.

[Wes07] Mathias Weske. Business Process Management. Concepts, Languages, Architectu-

res. Springer, 2007.

[WSD] XML WSDL. url: http://www.w3schools.com/xml/xml wsdl.asp.

[XML] XML - eXtensible Markup Language. url: http://www.w3c.es/Divulgacion/

GuiasBreves/TecnologiasXML.

[XPa] XPath. url: https://www.w3.org/TR/xpath/.

[XSD] XSD. url: http://www.w3schools.com/xml/schema intro.asp.

[XSL] XSLT. url: http://www.w3schools.com/xsl/.

147

Page 178: TICKS: Arquitectura híbrida de gestión documental integrada con
Page 179: TICKS: Arquitectura híbrida de gestión documental integrada con

Este documento fue editado y tipografiado con LATEX empleandola clase esi-tfg (versión 0.20160701) que se puede encontrar en:

https://bitbucket.org/arco group/esi-tfg

[respeta esta atribución al autor]

149

Page 180: TICKS: Arquitectura híbrida de gestión documental integrada con