UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS...

254
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA INGENIERÍ A DE SOFTWARE”. ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS MÓVILES Y PROPORCIONANDO UNA APLICACIÓN DE MONITOREO DE BITÁCORAS PROYECTO DE TITULACIÓN Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES AUTOR: HÉCTOR ANDRÉS ORTEGA GONZÁLEZ TUTOR: LSI. OSCAR APOLINARIO. GUAYAQUIL ECUADOR 2015

Transcript of UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS...

Page 1: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA

“FRAMEWORK DE TRABAJO PARA PROYECTOS DE

TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA

INGENIERÍA DE SOFTWARE”. ENFOCADO A LA

ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR

REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO

UNA APLICACIÓN DE

MONITOREO DE

BITÁCORAS

PROYECTO DE TITULACIÓN

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: HÉCTOR ANDRÉS ORTEGA GONZÁLEZ

TUTOR: LSI. OSCAR APOLINARIO.

GUAYAQUIL – ECUADOR

2015

Page 2: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA

FICHA DE REGISTRO DE TESIS

TÍTULO ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”. ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS MÓVILES Y

PROPORCIONANDO UNA APLICACIÓN DE MONITOREO DE BITÁCORAS

REVISORES:

INSTITUCIÓN: Universidad De

Guayaquil

FACULTAD: Ciencias Matemáticas y

Físicas

CARRERA: Ingeniería En Sistemas Computacionales

FECHA DE PUBLICACIÓN:

Noviembre del 2015

N° DE PÁGS.: 125

ÁREA TEMÁTICA: Metodologías, calidad y gestión de proyectos de software

PALABRAS CLAVES: SCRUM, Servicio Web, Dispositivos Móviles, Monitoreo,

Bitácoras

RESUMEN:

El objetivo de este trabajo de titulación es desarrollar servicios web y desplegar un componente de monitoreo de sus bitácoras, para verificar si estos servicios permiten la comunicación entre capa visual y capa de datos convirtiéndose en la capa media que está

definida en la arquitectura del proyecto ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”. Las actividades del proyecto se organizan utilizando la metodología Ágil denominada SCRUM. Los servicios son desarrollados utilizando lenguaje java estándar y empresarial que provee soporte para arquitectura REST y formato JSON, para el componente de monitoreo se emplea programas de código abierto conocidos como la pila ELK (ElasticSearch, Kibana, Logstash).

N° DE REGISTRO(en base de datos): N° DE CLASIFICACIÓN:

DIRECCIÓN URL (tesis en la web):

ADJUNTO PDF x SI NO

CONTACTO CON AUTOR:

HÉCTOR ANDRÉS ORTEGA GONZÁLEZ

Teléfono:

0991234091

E-mail:

[email protected]

CONTACTO DE LA INSTITUCIÓN Nombre: Lsi. Oscar Apolinario

Teléfono: 042307729

Page 3: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

I

APROBACIÓN DEL TUTOR

En mi calidad de Tutor del trabajo de titulación, ESTUDIO DE FACTIBILIDAD

PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE

TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE

SOFTWARE”. ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO

DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR

REQUERIMIENTOS DE DISPOSITIVOS MÓVILES Y PROPORCIONANDO UNA

APLICACIÓN DE MONITOREO DE BITÁCORAS elaborado por el Sr. HÉCTOR

ANDRÉS ORTEGA GONZÁLEZ, Alumno no titulado de la Carrera de Ingeniería

en Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la

Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en

Sistemas, me permito declarar que luego de haber orientado, estudiado y

revisado, la Apruebo en todas sus partes.

Atentamente

_______________________________

Lsi. Oscar Apolinario

Page 4: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

II

DEDICATORIA

Dedico este trabajo a mi padre Héctor Ortega

Heredero, a quien considero mi mentor y

amigo, quien siempre me ha apoyado y

aconsejado en cada una de las etapas de mi

vida. A mi madre Judy González Rosero ya

que gracias a su forma de educarme siempre

he logrado superarme y actuar de manera

independiente. A mi abuelita Luz María

Heredero por confiar en mí y recordarme con

la frase querer es poder y con su experiencia

que se puede salir adelante, y solucionar

cualquier problema al que una persona se

enfrente.

Page 5: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

III

AGRADECIMIENTO

Agradezco a cada uno de los profesores

de la Universidad ya que debido a sus

enseñanzas y anécdotas laborales he

logrado desempeñarme de una manera

correcta en el campo laboral. A mi tutor

Lsi. Oscar Apolinario por brindarme la

oportunidad de formar parte del equipo

de desarrollo del proyecto de titulación.

Page 6: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

IV

TRIBUNAL PROYECTO DE TITULACIÓN

Ing. Eduardo Santos Baquerizo, M.Sc. DECANO DE LA FACULTAD CIENCIAS MATEMATICAS Y

FISICAS

Ing. Inelda Martillo Alcívar, Mgs DIRECTORA

CISC

Lsi. Oscar Omar Apolinario Arzube

DIRECTOR DEL PROYECTO DE TITULACIÓN

Ab. Berardo Rodriguez G. VOCAL PRINCIPAL

Ing. Nidia Medrano N.

VOCAL SUPLENTE

Ab. Juan Chávez A. SECRETARIO

Page 7: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

V

DECLARACIÓN EXPRESA

“La responsabilidad del contenido de este Proyecto de Titulación, me corresponden exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”

____________________________________

HÉCTOR ANDRÉS ORTEGA GONZÁLEZ

Page 8: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

VI

.

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA

“FRAMEWORK DE TRABAJO PARA PROYECTOS DE

TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA

INGENIERÍA DE SOFTWARE”. ENFOCADO A LA

ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR

REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO

UNA APLICACIÓN DE

MONITOREO DE

BITÁCORAS

Proyecto de Titulación que se presenta como requisito para optar por el título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autor: Héctor Andrés Ortega González

C.I. 0927210310

Tutor: Lsi. Oscar Apolinario

Guayaquil, Noviembre del 2015

Page 9: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

VII

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil.

CERTIFICO:

Que he analizado el Proyecto de Titulación presentado por el/la

estudiante HÉCTOR ANDRÉS ORTEGA GONZÁLEZ, como requisito previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo tema es: ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”. ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS MÓVILES Y PROPORCIONANDO UNA APLICACIÓN DE MONITOREO DE BITÁCORAS

Considero aprobado el trabajo en su totalidad.

Presentado por:

Héctor Andrés Ortega González C.I. 0927210310

Tutor: Lsi. Oscar Apolinario

Guayaquil, Noviembre del 2015

Page 10: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

VIII

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

Autorización para Publicación de Proyecto de Titulación en Formato Digital 1. Identificación del Proyecto de Titulación

Nombre Alumno: Héctor Andrés Ortega González

Dirección: La 44 y la M

Teléfono: 0991234091 E-mail: [email protected]

Facultad: Ciencias Matemáticas y Físicas

Carrera: Ingeniería en Sistemas Computacionales

Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales

Profesor tutor: Lsi. Oscar Apolinario

Título del Proyecto de titulación: ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE

TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA

SCRUM EN LA INGENIERÍA DE SOFTWARE”. ENFOCADO A LA

ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS

WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO UNA APLICACIÓN DE MONITOREO DE

BITÁCORAS

Tema del Proyecto de Titulación: SCRUM, Servicio Web, Dispositivos

Móviles, Monitoreo, Bitácoras

2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación. Publicación electrónica:

Inmediata Después de 1 año

Firma Alumno: 3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y .Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.

DVDROM CDROM x

Page 11: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

IX

ÍNDICE GENERAL

APROBACIÓN DEL TUTOR ................................................................................. I

DEDICATORIA ..................................................................................................... II

AGRADECIMIENTO............................................................................................ III

TRIBUNAL PROYECTO DE TITULACIÓN ...................................................... IV

DECLARACIÓN EXPRESA ................................................................................. V

CERTIFICADO DE ACEPTACIÓN DEL TUTOR.............................................VII

ÍNDICE GENERAL...............................................................................................IX

ABREVIATURAS ............................................................................................... XII

ÍNDICE DE CUADROS ..................................................................................... XIII

ÍNDICE DE GRÁFICOS .................................................................................... XIV

RESUMEN.......................................................................................................... XVI

ABSTRACT ....................................................................................................... XVII

INTRODUCCIÓN ...................................................................................................1

CAPÍTULO I............................................................................................................3

EL PROBLEMA ..................................................................................................3

PLANTEAMIENTO DEL PROBLEMA ........................................................3

Ubicación del Problema en un Contexto ..........................................................3

Situación Conflicto Nudos Críticos .................................................................4

Causas y Consecuencias del Problema.............................................................4

Delimitación del Problema ...............................................................................6

Formulación del Problema ...............................................................................6

Evaluación del Problema..................................................................................7

OBJETIVOS ....................................................................................................8

OBJETIVO GENERAL ...................................................................................8

OBJETIVOS ESPECÍFICOS ...........................................................................8

ALCANCES DEL PROBLEMA .....................................................................9

JUSTIFICACIÓN E IMPORTANCIA .........................................................13

METODOLOGÍA DEL PROYECTO ...........................................................14

CAPÍTULO II ........................................................................................................15

MARCO TEÓRICO ...........................................................................................15

ANTECEDENTES DEL ESTUDIO ..............................................................15

Page 12: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

X

FUNDAMENTACIÓN TEÓRICA ................................................................15

FUNDAMENTACIÓN LEGAL ....................................................................32

PREGUNTA CIENTÍFICA A CONTESTARSE ..........................................39

DEFINICIONES CONCEPTUALES ............................................................39

CAPÍTULO III .......................................................................................................43

PROPUESTA TECNOLÓGICA .......................................................................43

Análisis de Factibilidad ......................................................................................43

Factibilidad Operacional ................................................................................43

Factibilidad Técnica .......................................................................................44

Factibilidad Legal...........................................................................................44

Factibilidad Económica ..................................................................................44

Etapas de la metodología del proyecto...............................................................44

CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ..................................53

Juicio de Expertos ..........................................................................................53

Informe de Pruebas del SEC con REST y JSON ...........................................54

Informe de Pruebas del SEP con REST y JSON............................................60

Encuestas ........................................................................................................69

CAPÍTULO IV .......................................................................................................76

Criterios de aceptación del producto o servicio .................................................76

Ambiente de Ejecución de las pruebas...........................................................78

Criterios de rendimiento del SEC ..................................................................78

Criterios de calidad de código del SEC.........................................................80

Criterios de rendimiento del SEP ...................................................................81

Criterios de calidad de código del SEP .........................................................82

Conclusiones y Recomendaciones .....................................................................83

Conclusiones ..................................................................................................83

Recomendaciones ...........................................................................................84

Bibliografía ............................................................................................................86

ANEXOS................................................................................................................87

Captura de pantalla del Cronograma del proyecto .............................................87

Encuesta Realizada.............................................................................................88

Sección del manual de usuario del SEC .............................................................90

Pasos para realizar el consumo del SEC con REST/JSON ............................90

Sección del manual de usuario del SEP .............................................................94

Page 13: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XI

Pasos para realizar el consumo del SEP con REST/JSON.............................94

Sección del manual de usuario del Componente de Monitoreo .........................98

Logstash .........................................................................................................98

Elasticsearch .................................................................................................106

Kibana ..........................................................................................................109

Page 14: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XII

ABREVIATURAS

ELK ElasticSearch, Logstash, Kibana SEC Servicio de Ejecución de Consultas SEP Servicio de Ejecución del Procedimientos HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure SSL Secure Socket Layer JSON Java Script Object Notation W3C World Wide Web Consortium REST Representational State Transfer

JPA Java Persistence Api JDBC Java Database Connectivity URL Uniform Resource Locator API Application Programming Interface TIOBE The Importance Of Being Earnest

Page 15: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XIII

ÍNDICE DE CUADROS

Cuadro 1 Causas y Consecuencias del problema .....................................................4

Cuadro 2 Delimitación del Problema .......................................................................6

Cuadro 3 Elementos principales de una solucitud HTTP ......................................18

Cuadro 4 Elementos principales de una respuesta HTTP ......................................19

Cuadro 5 Definición de sprint y entregables ..........................................................45

Cuadro 6 Datos de prueba del SEC ........................................................................54

Cuadro 7 Casos de prueba del SEC........................................................................58

Cuadro 8 Datos de pruebas del SEP .......................................................................60

Cuadro 9 Casos de prueba del SEP ........................................................................66

Cuadro 10 Nivel de cumplimiento de sprints .........................................................76

Cuadro 11 Firmas de aceptación de los sprints ......................................................77

Cuadro 12 Versiones de programas para realizar pruebas a los servicios .............78

Cuadro 13 Características de la máquina virtual....................................................78

Cuadro 14 Criterios de rendimiento del SEC .........................................................79

Cuadro 15 Evindecias del SEC generadas por sonarqube......................................80

Cuadro 16 Criterios de rendimientos SEP .............................................................81

Cuadro 17 Evindecias del SEP generadas por sonarqube ......................................82

Page 16: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XIV

ÍNDICE DE GRÁFICOS

Gráfico 1 Arquitectura General del proyecto .........................................................10

Gráfico 2 Arquitectura capa de negocio.................................................................11

Gráfico 3 Arquitectura de Componentes de la solución ........................................12

Gráfico 4 Funcionamiento de los Servicios Web ...................................................15

Gráfico 5 Indice de Popularidad TIOBE ................................................................16

Gráfico 6 Aplicaciones Multicapas con Java Enterprise Edition ...........................17

Gráfico 7 Interacción de una solicitud y respuesta HTTP .....................................18

Gráfico 8 Ejemplo del formato JSON ....................................................................20

Gráfico 9 Ejemplos de mensajes en un archivo log ...............................................20

Gráfico 10 Interacción entre logstash, elasticsearch y kibana ...............................21

Gráfico 11 Patrón Modelo Vista Controlador con tecnología java ........................22

Gráfico 12 Arquitectura Básica de Jboss AS .........................................................23

Gráfico 13 Tendencias de Busqueda de servidores de aplicaciones ......................24

Gráfico 14 Ejemplo de un servidor MySQL ..........................................................25

Gráfico 15 Tecnologías de Java soportadas por Netbeans .....................................26

Gráfico 16 Resumen del desarrollo ágil .................................................................27

Gráfico 17 Roles del equipo SCRUM ....................................................................28

Gráfico 18 Ejemplo de un tablero en trello ............................................................29

Gráfico 19 Diagrama de modelo servicio REST en soapui ...................................30

Gráfico 20 Ejes de calidad del código que analiza sonar .......................................31

Gráfico 21 Elementos de un test en Jmeter ............................................................31

Gráfico 22 Ejemplo de mapeo en elasticsearch .....................................................41

Gráfico 23 Tipos de datos principales en elasticsearch..........................................41

Gráfico 24 Comparación de conceptos de elasticsearch con bases de datos

tradicionales ...........................................................................................................42

Gráfico 25 Grupo de arquitectura y su respectivo tablero en trello .......................48

Gráfico 26 Miembros del grupo de arquitectura en trello ......................................49

Gráfico 27 Actividades del sprint 1 en el tablero trello .........................................49

Gráfico 28 Actividades del sprint 2 en trello .........................................................50

Gráfico 29 Actividades del sprint 3 en trello .........................................................50

Gráfico 30 Actividades del sprint 4 en trello .........................................................51

Gráfico 31 Actividades del sprint 5 en trello .........................................................51

Gráfico 32 Actividades del sprint 6 en trello .........................................................52

Gráfico 33 Resultados de la pregunta 1 .................................................................69

Gráfico 34 Resultados de la pregunta 2 .................................................................70

Gráfico 35 Resultados de la pregunta 3 .................................................................71

Gráfico 36 Resultados de la pregunta 4 .................................................................72

Gráfico 37 Resultados de la pregunta 5 .................................................................73

Gráfico 38 Resultados de la pregunta 6 .................................................................74

Gráfico 39 Resultados de la pregunta 7 .................................................................75

Gráfico 40 Resultados del rendimiento del SEC en jmeter ....................................79

Page 17: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XV

Gráfico 41 Evidencias en el SEC generadas luego del análisis del sonarqube .....80

Gráfico 42 Resultados del rendimiento de SEP en jmeter ....................................82

Gráfico 43 Evidencias en el SEP generadas luego del análisis del sonarqube .....83

Page 18: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XVI

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA

SCRUM EN LA INGENIERÍA DE SOFTWARE”. ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS

WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO UNA APLICACIÓN DE MONITOREO

DE BITÁCORAS

Autor: Héctor Andrés Ortega González Tutor: Lsi. Oscar Apolinario

RESUMEN

El objetivo de este trabajo de titulación es desarrollar servicios web y desplegar

un componente de monitoreo de sus bitácoras, para verificar si estos servicios

permiten la comunicación entre capa visual y capa de datos convirtiéndose en la

capa media que está definida en la arquitectura del proyecto ESTUDIO DE

FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA

PROYECTOS DE TITULACIÓN APLICANDO METODOLOGÍA SCRUM EN LA

INGENIERÍA DE SOFTWARE”. Las actividades del proyecto se organizan

utilizando la metodología Ágil denominada SCRUM. Los servicios son

desarrollados utilizando lenguaje java estándar y empresarial que provee soporte

para arquitectura REST y formato JSON, para el componente de monitoreo se

emplea programas de código abierto conocidos como la pila ELK (ElasticSearch,

Kibana, Logstash).

Page 19: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

XVII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

STUDY FEASIBILITY FOR PROPOSAL "FRAMEWORK OF WORK FOR

TITLING PROJECTS APPLYING THE METHODOLOGY SCRUM IN

THE SOFTWARE ENGINEER”. FOCUSED ON BUSINESS

LAYER ARCHITECTURE DEVELOPING WEB SERVICES

INTENDED FOR PROCESSING MOBILE DEVICE

REQUERIMENTS AND PROVIDING A

MONITORING APPLICATION

OF LOGS

Autor: Héctor Andrés Ortega González Tutor: Lsi. Oscar Apolinario

ABSTRACT

The objective of this titling work is to develop web services and deploy a monitoring

component of their logs, to verify if these services allow communication between

visual layer and data layer becoming in the middle layer that is defined in the

project architecture STUDY FEASIBILITY FOR PROPOSAL "FRAMEWORK OF

WORK FOR GRADUATION PROJECTS APPLYING THE METHODOLOGY

SCRUM IN THE SOFTWARE ENGINEER”. Project activities are organized using

the Agile methodology called Scrum. Services are developed using Java standard

and Enterprise edition that provides support for REST architecture and JSON

format, to deploy the monitoring component are used open source programs

known as the ELK stack (Elasticsearch, Kibana, Logstash).

Page 20: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

1

INTRODUCCIÓN

Actualmente el desarrollo tecnológico le permite a las instituciones automatizar

sus procesos mediante el uso de programas informáticos los cuales son

publicados en internet y pueden ser accedidos desde cualquier parte del mundo.

“La mayoría de las aplicaciones web son construidas en una arquitectura de tres

capas que consiste en tres importantes capas: datos, lógica y presentación. En

una aplicación web la estructura usualmente se divide en una base de datos, un

servidor y un cliente mientras que desarrollos modernos también pueden ser

divididos en una base de datos, lógica en el servidor, lógica en el cliente, y la

interfaz de usuario del cliente.

Un paradigma popular de implementación de este modelo es el patrón de

arquitectura MVC. En el paradigma MVC la lógica, los datos y la visualización son

separadas en tres tipos de objetos cada uno manejando sus propias tareas. La

Vista maneja la parte visual haciéndose cargo de la interacción del usuario. El

controlador responde al sistema y los eventos del usuario, comandando el modelo

y la vista para que cambien de manera apropiada. El modelo maneja la

manipulación de los datos, respondiendo a la petición de información o cambiando

su estado de acuerdo a las instrucciones del controlador.” (Haviv, 2014)

Sin duda alguna el desarrollo sistemas informáticos con la arquitectura de tres

capas se ha convertido en un patrón que genera buenos resultados, es por esto

que un sistema no posea una capa media que le permita una comunicación entre

la capa visual y la capa de datos, intercambiar información con otros sistemas, y

un componente que permita monitorear dicha capa puede acarrear varios

problemas como:

Implementar malas prácticas en los sitios web y realizar una comunicación

directa entre la capa visual y la capa de datos.

Que en una migración de tecnología del sitio que posea la empresa no se

puedan reutilizar componentes existentes y se tengan que crear desde

cero en otras palabras reinventar la rueda.

Page 21: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

2

Que cuando una institución realice colaboraciones o fusiones con otras

instituciones y se intente llevar a cabo una integración entre sistemas los

tiempos de desarrollo aumenten.

Sin el componente de monitoreo no se tiene una visión clara del estado y

comportamiento de los servicios, no se conoce cuántas ocasiones la

aplicación ha tenido éxitos o errores a través del tiempo.

Debido a no poseer un repositorio centralizado para realizar el monitoreo

se puede perder información guardada en las bitácoras de archivos o

tablas debido a su rotación y depuración periódica.

Este trabajo se encuentra cuatro capítulos que se detallan a continuación:

En el primer capítulo se describe la problemática del proyecto ESTUDIO

DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO

PARA PROYECTOS DE TITULACIÓN APLICACANDO METODOLOGÍA

SCRUM EN LA INGENIERÍA DE SOFTWARE” de no tener una capa

media, sus casusas y consecuencias, se especifican los objetivos general

y específicos para el desarrollo de servicios web y despliegue de un

componente de monitoreo que forman parte de la capa media del

proyecto.

En el segundo capítulo se definen las herramientas y los conceptos de las

diferentes tecnologías que se utiliza para el desarrollo de los servicios y

del despliegue del componente de monitoreo.

En el tercer capítulo se realiza la propuesta tecnológica, el análisis de

factibilidad, se definen las etapas de la metodología y los criterios de

validación de la propuesta.

En el cuarto capítulo se detallan los criterios de aceptación del producto,

las conclusiones y las recomendaciones sobre este proyecto.

Page 22: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

3

CAPÍTULO I

EL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA

Ubicación del Problema en un Contexto

En la actualidad el avance tecnológico ha permitido automatizar los procesos de

una institución o empresa mediante el uso de aplicaciones web, una de las

características principales de estas aplicaciones es que están diseñadas sobre un

modelo de tres capas. El modelo de arquitectura de tres capas está compuesto

por las siguientes partes: Presentación, Lógica de Negocio y Datos.

La capa de presentación es la encargada de presentar la información al usuario

de una manera amigable.

La capa de negocio es aquella en la que se encuentran los componentes que

permiten recibir las peticiones de un cliente y enviar la respuesta tras ser

procesadas en una capa de datos.

La capa de datos tiene los procedimientos y tablas en donde se almacena la

información del sistema.

Con respecto a la gestión de actividades una de las metodologías que está

aplicando hoy en día para el desarrollo de software es SCRUM la cual nos ayuda

a priorizar las tareas que se deben realizar, con el objetivo de entregar un producto

que aporte valor al cliente en el menor tiempo posible.

Es evidente que el hecho de dividir una aplicación en tres capas y usar la

metodología denominada SCRUM para organizar las tareas del desarrollo de

dicha aplicación es una buena práctica, es por esto que es indispensable que en

el proyecto ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA

“FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN

APLICACANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”

en su arquitectura conste de una capa media, y de un componente que la

monitoree, con el objetivo de que esta capa media permita comunicar la capa

visual con la capa de datos.

Page 23: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

4

Situación Conflicto Nudos Críticos El problema surge por la necesidad de tener una capa media que permita una fácil

integración y reutilización de servicios y un componente que permita monitorear

esta capa, en el proyecto ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA

“FRAMEWORK DE TRABAJO PARA PROYECTOS DE TITULACIÓN

APLICACANDO METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”.

Causas y Consecuencias del Problema Entre las causas que pueden llevar a no tener una capa intermedia de

comunicación y un componente que la monitoree podemos encontrar las

siguientes:

Cuadro 1 Causas y Consecuencias del problema

Causas Consecuencias Inexperiencia por parte del arquitecto

del programa debido al

desconocimiento de las nuevas

tecnologías de servicios web y sus

beneficios.

Dificultades y aumentos en los tiempos

de integración con otros sistemas

internos o de otras instituciones.

Poseer un sistema legado con

tecnología antigua como capa media

para intercambio de información

Tener problemas de rendimiento y un

alto acoplamiento entre las capas de

los sistemas de la institución.

No poder intercambiar información con

sistemas que se encuentren

desarrollados en lenguajes distintos.

Falta de capacitaciones sobre buenas

prácticas y tendencias tecnológicas al

área de sistemas o a la persona que

Desarrollar sistemas que no sean ni fáciles de mantener ni reutilizables.

Page 24: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

5

lidera el desarrollo o migración de un

sistema en una institución.

Que el arquitecto de la solución o el

área de sistemas de una institución

considere que para conocer el estado

de sus servicios sea suficiente con

revisar las bitácoras a través del uso

de comandos.

No conocer el estado de los servicios.

Perder tiempo reuniendo información

de los distintos servidores donde estén

desplegados los servicios.

No detectar a cuando un servicio está

fallando.

No conocer cuál de los servicios está

siendo más consumido.

No conocer cuáles son las horas

donde lo servicios atienden mayor

cantidad de peticiones.

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 25: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

6

Delimitación del Problema

Cuadro 2 Delimitación del Problema

Campo Servicios Web y Bases de Datos

Áreas Metodologías, calidad y gestión de proyectos de

software

Aspecto Capa de Arquitectura de Negocio y Monitoreo

Tema ESTUDIO DE FACTIBILIDAD PARA LA

PROPUESTA “FRAMEWORK DE TRABAJO

PARA PROYECTOS DE TITULACIÓN

APLICANDO METODOLOGÍA SCRUM EN LA

INGENIERÍA DE SOFTWARE”. ENFOCADO A LA

ARQUITECTURA DE CAPA DE NEGOCIO

DESARROLLANDO SERVICIOS WEB

DESTINADOS A PROCESAR

REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO UNA

APLICACIÓN DE MONITOREO DE BITÁCORAS

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Formulación del Problema

¿Se cubrirá la necesidad de tener una capa media que permita intercambiar

información entre la capa visual y la capa de datos en el proyecto ESTUDIO DE

FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE TRABAJO PARA

PROYECTOS DE TITULACIÓN APLICACANDO METODOLOGÍA SCRUM EN LA

INGENIERÍA DE SOFTWARE” a través del desarrollo de servicios web con REST,

JSON y el despliegue de un componente de monitoreo sobre dichos servicios?

Page 26: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

7

Evaluación del Problema

Los aspectos generales de evaluación del problema son:

Delimitado: Porque el tiempo de duración del proyecto son 6 sprint con un total

de 11 semanas, en las cuales se desarrolla y configura los servicios.

Claro: Ya que la capa de media forma parte de la arquitectura del proyecto, y el

componente de monitoreo de los servicios le permitirá tener una visión de lo que

está ocurriendo y poder detectar inconvenientes que se presenten en los servicios.

Evidente: Debido a que la carencia de una capa de servicios web con su

respectivo monitoreo afecta a la arquitectura, provoca que se degrade el

rendimiento del sistema y que sea difícil de mantener.

Concreto: Al culminar este trabajo se entrega dos servicios y el despliegue del

programa de monitoreo, los servicios sirven como canal de comunicación entre la

capa visual y de datos.

Relevante: Porque el inconveniente de tener una capa intermedia se presenta la

mayoría de proyectos que ofrecen capa visual y de datos a un usuario, y los

servicios que se desarrollan permiten tener una capa media que es reutilizable

para los nuevos proyectos de sistemas a los que se enfrente una institución.

Factible: Debido al tiempo definido, las herramientas de código abierto que se

utilizan, el conocimiento y la experiencia que posee el cada uno los integrantes del

equipo de trabajo asignado en el lenguaje de programación es posible realizar el

análisis, diseño, desarrollo y pruebas de los servicios.

Page 27: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

8

OBJETIVOS

OBJETIVO GENERAL

Desarrollar servicios web utilizando REST, JSON en lenguaje Java estándar y

empresarial, que permitan la interoperabilidad con sistemas heterogéneos, que se

conviertan en el mecanismo de comunicación para que la capa visual pueda

interactuar con la capa de datos, y desplegar un programa para monitorear los

servicios.

OBJETIVOS ESPECÍFICOS

Aplicar Metodología SCRUM y cumplir con el rol de SCRUM master dentro

del equipo de desarrollo.

Desarrollar y probar dos servicios web con tecnología REST y JSON

usando lenguaje java estándar y empresarial para ejecutar consultas y

procedimientos almacenados.

Realizar la recolección, búsqueda y visualización de datos de las bitácoras.

Instalar y configurar las herramientas de código abierto conocidas como la

pila ELK para mostrar gráficos estadísticos.

Monitorear a través de un tablero de indicadores de estado los servicios

web que pertenecen a la capa de arquitectura lógica de negocio.

Page 28: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

9

ALCANCES DEL PROBLEMA

Este proyecto de tesis tiene como objetivo desarrollar dos servicios web con

tecnología REST y JSON utilizando el lenguaje java estándar y empresarial, el

primer servicio web se encarga de ejecutar consultas, y el segundo servicio se

encarga de ejecutar procedimientos almacenados para que la capa visual y la

capa de datos puedan establecer una comunicación. Los servicios utilizan

configuraciones de un modelo entidad relación elaborado por otros integrantes

del equipo de desarrollo y se conectan con una base de datos sql server versión

de desarrollador.

También se configura un componente que permitirá realizar el monitoreo del

estado del servicios a través de la lectura de sus bitácoras, este monitoreo se

llevara a cabo con el uso de programas de código abierto conocidos como la pila

ELK (ElasticSearch, Logstash y Kibana), gracias a estos programas se puede

recolectar, almacenar y graficar la información que se guarda en las bitácoras de

los servicios web.

Se muestra gráficos de barras, líneas y de pastel de la siguiente información:

La cantidad de peticiones que procesa un servidor de aplicaciones donde

se instalan los servicios web.

La cantidad de veces que los servicios web responden error o éxito.

El tiempo de respuesta máximo y mínimo de los servicios

En el gráfico 1 se detalla la arquitectura general proyecto:

Page 29: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

10

Gráfico 1 Arquitectura General del proyecto

Elaborado por: Lsi. Oscar Apolinario

Fuente: Datos del proyecto

Page 30: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

11

En el gráfico 2 se especifica la arquitectura capa de negocio que se

necesita:

Gráfico 2 Arquitectura capa de negocio

Elaborado por: Lsi. Oscar Apolinario

Fuente: Datos del proyecto

Page 31: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

12

En el gráfico 3 se detalla la arquitectura general de los servicios y del componente

de monitoreo:

Gráfico 3 Arquitectura de Componentes de la solución

Capa Visual Servicios Web Capa Datos

Logstash(Recolector)

ElasticSearch(Motor de

Búsqueda y Almacenamiento)

Kibana(Tablero)

Bitacoras(Fuentes de Datos)

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Fuentes de Datos.- Son las bitácoras de archivos o tablas generadas por los

servicios web y su servidor de aplicaciones de donde se obtiene la información.

Recolector.- Se encarga de seleccionar la información de la fuente de datos,

transformarla y enviársela al motor de Búsqueda y Almacenamiento, el programa

logstash cumple con esta función.

Motor de Búsqueda y Almacenamiento.- Se encarga de almacenar la

información y permitir consultarla de manera rápida. Este motor se puede instalar

en un servidor en la intranet de la empresa o se puede tener en la nube,

elasticsearch posee estas características.

Page 32: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

13

Tablero.- Es una interface web que permite visualizar a través de gráficos de

barras, de líneas y pastel la información del motor de búsqueda y almacenamiento,

con Kibana se elabora los tableros y gráficos.

JUSTIFICACIÓN E IMPORTANCIA Es muy importante realizar este trabajo debido a que esta capa de servicios web

dinámicos y su componente de monitoreo permite tener un programa que sea

reutilizable para futuros desarrollos, para facilitar la exposición de servicios en

sistemas legados que posea una institución, disminuyendo los tiempos de

desarrollo y gastos en los nuevos proyectos del área de tecnología. Entre los

beneficiarios de los servicios web podemos mencionar:

El área de desarrollo de una institución, los desarrolladores pueden exponer la

lógica de negocio elaborada a nivel de la capa de datos de una manera sencilla y

rápida. Se cuenta con una capa de servicios que puede ser consumida por

dispositivos móviles con sistemas operativos como iOS o android, o por nuevas

tecnologías para clientes web basadas en JavaScript por ejemplo AngularJs

En lo que se refiere a los beneficios que nos provee el componente de monitoreo

se detallan los siguientes:

El área de producción de una institución o la persona encargada de la revisión de

los sistemas productivos, tiene un ambiente centralizado en donde puede

inspeccionar las bitácoras del servicio para analizar inconvenientes. Posee una

herramienta para visualizar estado y el comportamiento de los servicios, que

permite conocer en qué momento cada uno de los servicios tiene menor carga de

transacciones para poder asignar la fecha y hora de un nuevo pase a producción

para la liberación de una nueva funcionalidad o para realizar el mantenimiento de

un servidor.

Page 33: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

14

METODOLOGÍA DEL PROYECTO

1. Metodología de Desarrollo

Utilizaremos una metodología ágil de desarrollo denominada SCRUM debido

a su enfoque basado en trabajo en equipo cuyo objetivo es entregar valor al

negocio. Con esta metodología se aplica los conceptos y roles como SCRUM

master, SCRUM team, product owner, product backlog, sprint, daily meeting.

2. Supuestos y restricciones

Entre los supuestos y restricciones dentro del desarrollo del proyecto podemos

mencionar:

El equipo de trabajo debe tener un área de desarrollo donde se lleva a cabo

las reuniones diarias que indica la metodología SCRUM y donde se conecta

las laptops para poder elaborar los servicios respectivos.

Se espera tener un servidor de desarrollo en donde se instala los servicios que

formaran parte de la capa media del proyecto, y en donde se despliega el

componente de monitoreo.

El equipo de desarrollo debe constar de al menos 5 personas con experiencia

en desarrollo Java

3. Plan de Calidad

Para asegurar y evidenciar la calidad de los servicios que se desarrollan se

utiliza sonarqube que evalúa la calidad código a través de la verificación del

cumplimiento de reglas de codificación, y el análisis de errores potenciales,

arquitectura y diseño, código duplicado.

Se realiza pruebas de rendimiento utilizando las herramientas jmeter y soapui

en un ambiente de desarrollo controlado, para evidenciar de esta manera los

tiempos mínimo, máximo y promedio de respuesta de los servicios conocidos

como SEC Y SEP.

El componente de monitoreo nos permite verificar el estado de los servicios en

el ambiente de desarrollo.

Page 34: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

15

CAPÍTULO II

MARCO TEÓRICO

ANTECEDENTES DEL ESTUDIO

“Una de las ventajas de la utilización de servicios web por parte de las

aplicaciones es la posibilidad de satisfacer pedidos de múltiples sistemas

(quizás desarrollados en distintos lenguajes y ejecutándose bajo diferentes

plataformas) a partir de una misma fuente de datos. Esta clase de

vinculación se da incluso como parte del proceso de desarrollo de muchas

aplicaciones, añadiendo a ellas una capa extra (interfaz), que actúe a

manera de servicio web” (Minera, 2011).

Debido a las características que poseen los servicios web son la tecnología ideal

para la comunicación entre una capa visual y una capa de datos.

FUNDAMENTACIÓN TEÓRICA

Servicios Web: “Es una tecnología que utiliza un conjunto de protocolos y

estándares que sirven para intercambiar datos entre aplicaciones” (Eslava, 2013).

En el gráfico 4 se muestra la interacción de varios servicios web.

Gráfico 4 Funcionamiento de los Servicios Web

Elaborado por: World Wide Web Consortium

Fuente: http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb

Page 35: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

16

Java: “El lenguaje de programación java es un lenguaje de alto nivel que puede

ser caracterizado por las siguientes palabras de moda: Simple, Orientado a

Objetos, Distribuido, Multi-hilado, Dinámico, Portable, De alto rendimiento,

Robusto, Seguro” (Oracle, s.f.). Debido a todas las características mencionadas

java es el lenguaje más popular entre los desarrolladores y así lo demuestra el

índice de TIOBE y del cual detallamos el siguiente gráfico

Gráfico 5 Indice de Popularidad TIOBE

Elaborado por: TIOBE

Fuente: www.tiobe.com

Java Enterprise Edition: Esta plataforma nos permite desarrollar servicios web

que sean escalables como lo menciona Arum Gupta.

Java EE provee una plataforma basada en estándares para desarrollar

aplicaciones web y empresariales. Estas aplicaciones son típicamente

diseñadas como aplicaciones multicapas, con una capa de front end que

consiste de frameworks web, una capa media que provee seguridad y

transacciones y una capa de back end que provee conectividad hacia las

bases de datos o los sistemas legados. (Arum, 2015).

Page 36: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

17

Gráfico 6 Aplicaciones Multicapas con Java Enterprise Edition

Elaborado por: Oracle

Fuente: http://docs.oracle.com/javaee/6/tutorial/doc/

HTTP: (HyperText Transfer Protocol) Protocolo de Transferencia de Hipertexto

Es un protocolo para la transferencia de información sobre intranets y Red

Informática Mundial (World Wide Web). El concepto de HTTP está basado

sobre una combinación de Request-Response, con el cliente (Navegador

Web) solicitando al servidor HTTP respuestas a sus solicitudes. El servidor

procesa y generar las peticiones y cierra las conexiones. (Singh, 2011)

Este protocolo nos sirve para comunicar la capa visual con la capa de servicios.

En el gráfico 7 se describe brevemente el protocolo HTTP y la interacción entre

cliente y servidor

Page 37: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

18

Gráfico 7 Interacción de una solicitud y respuesta HTTP

Elaborado por: Kathy Sierra

Fuente: Head First Servlets and JSP

En el cuadro 3 y en el cuadro 4 se describe los elementos claves de una solicitud

y respuesta HTTP.

Cuadro 3 Elementos principales de una solucitud HTTP

Método HTTP Permite especificar la acción que se

realizara, puede ser GET, POST, PUT

o DELETE

URL Es el identificador del recurso al que

intentamos acceder

Parámetros del

formulario

Son como los argumentos del método

Cuerpo Cuando se usa el método POST, la

información viaja en el cuerpo de la

solicitud

Elaborado por: Héctor Ortega

Fuente: Head First Servlets and JSP

Page 38: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

19

Cuadro 4 Elementos principales de una respuesta HTTP

Código de

estado

Indica si la petición se procesó de

manera exitosa o no

Tipo de

contenido

Es tipo de información que se está

retornando como una página, un texto

o una imagen.

Cuerpo La respuesta que se retorna al cliente

puede ser una página, una imagen

entre otras

Elaborado por: Héctor Ortega

Fuente: Head First Servlets and JSP

REST: Significa Transferencias de estado Representacional (Representational

State Transfer) es un estilo de arquitectura para diseñar aplicaciones de red

distribuidas.

JSON: (JavaScript Object Notation) Notación de Objetos de JavaScript

Es un formato para el intercambio de datos ligero, es fácil de leer y escribir

para los humanos. Es fácil de generar y convertir para las maquinas. JSON

es un formato de texto completamente independiente del lenguaje pero usa

convenciones que son familiares para programadores de lenguajes de la

familia de C. (JSON, s.f.)

Debido a que este formato es ligero es la elección de preferencia para el

intercambio de datos entre un servicio web y que aplicaciones creadas para

dispositivos móviles con sistemas operativos como iOS y android lo utilicen para

el intercambio de datos. El grafico 8 es un ejemplo de un formato JSON

Page 39: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

20

Gráfico 8 Ejemplo del formato JSON

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Logstash: “Provee un framework integrado para recolección, centralización,

conversión, almacenamiento y búsqueda de logs” (Turnbull, 2013). Este programa

nos permite recolectar las bitácoras de los servicios web.

Log: “Es un tipo de archivo o de tabla donde los registros son ordenados por

tiempo. Los logs guardan que sucedió y cuando” (Kreps, 2015). En el gráfico 9

podemos ver un ejemplo de un log generado por un servidor de aplicaciones

Gráfico 9 Ejemplos de mensajes en un archivo log

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto archivo de log de acceso generado por jboss

Elasticsearch: Es un motor de búsqueda de código abierto construido sobre

Apache Lucene. Lucene es posiblemente la biblioteca de motor de búsqueda más

avanzada y de alto rendimiento.

Elasticsearch es mucho más que solo Lucene y puede ser descrito como

se detalla a continuación:

Page 40: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

21

Un almacén de documentos en tiempo real distribuido donde cada campo

es indexado y se lo puede buscar.

Un motor de búsqueda distribuido con análisis en tiempo real es capaz de

escalar a cientos de servidores y petabytes de datos estructurados y no

estructurados. (Tong, 2015).

En Elasticsearch se almacena las bitácoras que generan los servicios, también se

puede consultar de manera rápida la información de estas bitácoras.

Kibana: “Es una interfaz gráfica de usuario utilizada para visualizar y buscar

bitácoras de datos” (Khedher, 2015). Kibana a través de su interfaz envía las

consultas hacia elasticsearch y luego genera los gráficos estadísticos basados en

la información que retorna.

Gráfico 10 Interacción entre logstash, elasticsearch y kibana

Elaborado por: Yuvraj Gupta

Fuente: Kibana Essentials

JAX-RS: Java API for Representational State Transfer

JAX-RS define un conjunto de APIs de java para construir servicios web

conforme al estilo REST. Esta especificación define como exponer POJOs

como recursos web, usando HTTP protocolo de red. Aplicaciones usando

estas APIs pueden ser desplegadas sobre un servidor de aplicaciones de

una manera portable.” (Masoud Kalali, 2013).

Las características que tiene este api nos ayuda en el desarrollo los servicios web

utilizando rest y agilita los tiempos de desarrollo debido a su facilidad de

configuración.

Page 41: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

22

JPA: Java Persistence Api define un conjunto de clases para el manejo de la

persistencia y el mapeo entre tabla de una base de datos y un POJO también

conocido como mapeo objeto/relacional.

POJO: Plain Old Java Object es un objeto de java con variables y métodos de

acceso a las mismas.

EJB: Enterprise Java Beans son utilizados en el desarrollo de aplicaciones basado

en componentes por lo general tienen la lógica de negocios que se ejecuta sobre

los datos.

MVC: Modelo-Vista-Controlador es un patrón de diseño de arquitectura para el

desarrollo de aplicaciones que permite separar el procesamiento y la presentación

de los datos de una aplicación

Modelo: Representa los datos de la aplicación y su lógica de negocio.

Vista: Es la representación visual del modelo

Controlador: Conecta la vista al modelo y administra el flujo de la aplicación

Gráfico 11 Patrón Modelo Vista Controlador con tecnología java

Elaborado por: netbeans

Fuente: https://netbeans.org/kb/docs/javaee/ecommerce/entity-session.html

JBOSS.- “Es un servidor de aplicaciones de código abierto basado en java

Enterprise Edition. Debido a que está basado en java es un servidor

multiplataforma: es decir se puede utilizar en cualquier sistema operativo que

Page 42: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

23

soporte java” (mastertheboss, s.f.). El servidor jboss está certificado para soportar

el lenguaje java empresarial y gracias a que es un servidor de código abierto

no se gasta dinero en la adquisición de licencias

En el gráfico 12 se detalla de manera general los elementos que forman parte del

jboss

Gráfico 12 Arquitectura Básica de Jboss AS

Elaborado por: Francesco Marchioni

Fuente: JBOSS AS 7 Configuration, Deployment and Administration

Uno de los motivos por los que se escogió este servidor de aplicaciones por tener

mucha popularidad en las búsquedas de google, para esto nos ayudamos de la

herramienta google trends y a continuación especificamos un ejemplo.

Page 43: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

24

Gráfico 13 Tendencias de Busqueda de servidores de aplicaciones

Elaborado por: Héctor Ortega

Fuente:

https://www.google.com/trends/explore#q=jboss%2C%20glassfish%2C%20tome

e%2C%20wildfly&cmpt=q&tz=Etc%2FGMT%2B5

Servidor de Aplicaciones: Es un servidor que permite construir, desplegar y

administrar nuevas aplicaciones.

Base de datos: Es un contenedor que almacena tablas y otras estructuras SQL.

“Una columna es un dato guardado en una tabla. Una fila es un conjunto de

columnas” (Beighley, 2007). Los servicios web se comunicaran con una base de

datos llamada SQL SERVER versión de desarrollador

SQL: Es un lenguaje para manipular los datos en tablas relacionales

Page 44: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

25

Programa almacenado: “Es una serie de instrucciones asociadas que tiene un

nombre y se encuentran guardadas y ejecutadas dentro de un servidor de base

de datos” (Guy Harrison, 2006). Los programas almacenados nos permiten

agrupar validaciones que se necesiten realizar para insertar datos en una tabla.

Procedimientos almacenados: Es un programa almacenado que acepta

múltiples parámetros de entrada y de salida.

Funciones almacenadas: Es un programa almacenado que acepta parámetros

de entrada, salida y retorna un valor.

SQL Server: Es un programa compuesto por un motor de base de datos, servicios

y herramientas de inteligencia de negocios. Otros servidores de bases de datos

conocidos son: MySQL, Oracle, Postgresql.

Gráfico 14 Ejemplo de un servidor MySQL

Elaborado por: Lynn Beighley

Fuente: Head First PHP MySQL

IDE: (Integrated Development Environment) Ambiente de Desarrollo Integrado, Es

un conjunto de herramientas de programación para escribir aplicaciones (editor de

código fuente, compilador, depurador)

Page 45: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

26

NETBEANS: “Es un IDE 100% gratuito y de código abierto que ayuda a crear

diferentes tipos de aplicaciones de software. Este IDE provee soporte para todo

los tipos aplicaciones java, ayudando a desarrollar proyectos que usen tecnologías

como java EE” (Wielenga, 2015). Gracias a que cubre la tecnología java es uno

de los IDE más adecuados para desarrollar servicios web. El siguiente gráfico se

detalla las tecnologías de java que soporta el IDE

Gráfico 15 Tecnologías de Java soportadas por Netbeans

Elaborado por: Netbeans

Fuente: www.netbeans.com

SCRUM: Es una metodología que nos ayuda a organizar y priorizar las tareas del

proyecto para aportarle valor al cliente y como indica Rubin

“Es un enfoque ágil para el desarrollo de servicios y productos

innovadores. Con un enfoque ágil, se puede empezar un backlog –una lista

priorizada de características y otras capacidades necesarias para

desarrollar un producto exitoso. Guiado por el backlog del producto, tú

siempre trabajas primero en los ítems más importantes o de más alta

prioridad. Cuando te quedas sin recursos (como el tiempo), cualquier

Page 46: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

27

trabajo que no se complete será de una menor prioridad que del trabajo

que se complete.” (Rubin, 2013).

Gráfico 16 Resumen del desarrollo ágil

Elaborado por: Kenneth Rubin

Fuente: Essential Scrum

Product Owner: Él es la única autoridad responsable de decidir qué

características y funcionalidades construir y el orden en que deben ser

construidas.

Scrum Master: Él es el responsable de guiar el equipo en la creación y

seguimiento de su propio proceso basado en SCRUM. Es el responsable de

proteger al equipo de interferencias externas y toma el rol de líder en la eliminación

de los obstáculos que inhiben la productividad del equipo.

Equipo de Desarrollo: Son los responsables de diseñar, construir y probar el

producto deseado. El equipo se auto-organiza y determina la mejora manera de

cumplir con el objetivo planteado por el dueño del producto.

Page 47: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

28

Gráfico 17 Roles del equipo SCRUM

Elaborado por: Kenneth Rubin

Fuente: Essential Scrum

Backlog del producto: El dueño del producto (product owner) con ayuda del

equipo y de los clientes es el responsable es determinar y manejar la secuencia

de trabajo a través de una lista priorizada conocida como backlog del producto.

Sprint.- En SCRUM el trabajo se realiza en ciclos de hasta un mes a los cuales

se los denomina sprint.

Scrum Diario.- Cada día durante el sprint se debe realizar una reunión diaria

durante quince minutos, en esta reunión todas las personas del equipo

permanecen de pie. Por lo general se realizan las siguientes preguntas:

¿Qué hice ayer?

¿Qué voy a hacer hoy?

Page 48: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

29

¿Cuáles son los obstáculos o impedimentos que no me permiten avanzar

con mi actividad?

Trello: Te permite manejar tus tareas y colaborar con diferentes usuarios en

tiempo real usando tableros, listas y tarjetas. Se puede invitar tantos miembros

como se desea al tablero y se puede revisar las actividades recientes de los

miembros.

Gráfico 18 Ejemplo de un tablero en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Soapui: Es una herramienta que puede ser utilizada para pruebas funcionales y

no funcionales. No está limitado a servicios web, sin embargo es la herramienta

de-facto utilizada para las pruebas de servicios web. En las pruebas de servicios

web soapui es capaz de desarrollar el rol de cliente y servicio. Esto le permite crear

pruebas funcionales y no funcionales de una manera rápida y eficiente por usar

un solo ambiente. (kankanamge, 2012). Soapui nos permite interactúar con los

servicios web y de esta manera probar la ejecución de una consulta o de un

procedimiento almacenado

.

Page 49: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

30

Gráfico 19 Diagrama de modelo servicio REST en soapui

Elaborado por: Charitha Kankanamge

Fuente: Web Service Testing with soapUI

Sonarqube: “Es un tablero basado en web de código abierto que permite la

evaluación continua de calidad. Tiene licencia GNU y soporte multiplataforma Esta

desarrollado en java y tiene las siguientes características. Entre los lenguajes y

plataforma de código soportadas están Android, Python, PHP, Java, VB.net”

(Acharya, 2014). Sonarqube nos permite analizar los servicios web para verificar

que tengan calidad y sean fáciles de mantener.

Page 50: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

31

Gráfico 20 Ejes de calidad del código que analiza sonar

Elaborado por: Sonarqube

Fuente: http://www.sonarqube.org/

Jmeter: “Es una aplicación de escritorio, diseñada para probar y medir el

rendimiento y el comportamiento funcional de aplicaciones cliente/servidor como

las aplicaciones web o aplicaciones FTP. Es una de las herramientas de pruebas

que es de código abierto más utilizadas, libremente distribuidas que la red puede

ofrecer.” (Halili, 2008). Esta herramienta es ideal para realizar pruebas de

rendimiento sobre los servicios y validar el comportamiento de los mismos cuando

son altamente demandados.

En el gráfico 21 se puede observar los elementos de un plan de pruebas en jmeter.

Gráfico 21 Elementos de un test en Jmeter

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 51: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

32

FUNDAMENTACIÓN LEGAL

CONSTITUCIÓN DE LA REPÚBLICA DEL ECUADOR

Sección octava

Ciencia, tecnología, innovación y saberes ancestrales

Art. 385.- El sistema nacional de ciencia, tecnología, Innovación y saberes

ancestrales, en el marco del respeto al ambiente, la naturaleza, la vida, las culturas

y la soberanía, tendrá como finalidad:

a) Generar, adaptar y difundir conocimientos científicos y tecnológicos.

b) Desarrollar tecnologías e innovaciones que impulsen la producción

nacional, eleven la eficiencia y productividad, mejoren la calidad de vida y

contribuyan a la realización del buen vivir.

Art. 386.- El sistema comprenderá programas, políticas, recursos, acciones, e

incorporará a instituciones del Estado, universidades y escuelas politécnicas,

institutos de investigación públicos y privados, empresas públicas y privadas,

organismos no gubernamentales y personas naturales o jurídicas, en tanto

realizan actividades de investigación, desarrollo tecnológico, innovación…

El Estado, a través del organismo competente, coordinará el sistema, establecerá

los objetivos y políticas, de conformidad con el Plan Nacional de Desarrollo, con

la participación de los actores que lo conforman.

Page 52: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

33

Art. 387.- Será responsabilidad del Estado:

a) Facilitar e impulsar la incorporación a la sociedad del conocimiento para

alcanzar los objetivos del régimen de desarrollo.

b) Promover la generación y producción de conocimiento, fomentar la

investigación científica y tecnológica.

c) Asegurar la difusión y el acceso a los conocimientos científicos y

tecnológicos, el usufructo de sus descubrimientos y hallazgos en el marco

de lo establecido en la Constitución y la Ley.

d) Garantizar la libertad de creación e investigación en el marco del respeto

a la ética, la naturaleza, el ambiente.

e) Reconocer la condición de investigador de acuerdo con la Ley.

Art. 388.- El Estado destinará los recursos necesarios para la investigación

científica, el desarrollo tecnológico, la innovación, la formación científica y la

difusión del conocimiento. Un porcentaje de estos recursos se destinará a financiar

proyectos mediante fondos concursables. Las organizaciones que reciban fondos

públicos estarán sujetas a la rendición de cuentas y al control estatal respectivo.

La fundamentación legal para los estudios según la nueva ley de educación

superior se refleja en los artículos:

Art. 8.- Serán Fines de la Educación Superior.- La educación superior tendrá los

siguientes fines:

Page 53: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

34

a) Aportar al desarrollo del pensamiento universal, al despliegue de la

producción científica y a la promoción de las transferencias e innovaciones

tecnológicas;

b) Fortalecer en las y los estudiantes un espíritu reflexivo orientado al logro

de la autonomía personal, en un marco de libertad de pensamiento y de

pluralismo ideológico;

c) Contribuir al conocimiento…

d) Formar académicos y profesionales responsables, con conciencia ética y

solidaria, capaces de contribuir al desarrollo de las instituciones de la

República, a la vigencia del orden democrático, y a estimular la

participación social;

e) Aportar con el cumplimiento de los objetivos del régimen de desarrollo

previsto en la Constitución y en el Plan Nacional de Desarrollo;

f) Fomentar y ejecutar programas de investigación de carácter científico,

tecnológico y pedagógico que coadyuven al mejoramiento y protección del

ambiente y promuevan el desarrollo sustentable nacional;

g) Constituir espacios para el fortalecimiento del Estado Constitucional,

soberano, independiente, unitario, intercultural, plurinacional y laico;

h) Contribuir en el desarrollo local y nacional de manera permanente, a través

del trabajo comunitario o extensión universitaria.

Page 54: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

35

Art. 71.- Principio de igualdad de oportunidades.- El principio de igualdad de

oportunidades consiste en garantizar a todos los actores del Sistema de

Educación Superior las mismas posibilidades en el acceso, permanencia,

movilidad y egreso del sistema, sin discriminación de género, credo, orientación

sexual, etnia, cultura, preferencia política, condición socioeconómica o

discapacidad.

Las instituciones que conforman el Sistema de Educación Superior propenderán

por los medios a su alcance que, se cumpla en favor de los migrantes el principio

de igualdad de oportunidades. Se promoverá dentro de las instituciones del

Sistema de Educación Superior el acceso para personas con discapacidad bajo

las condiciones de calidad, pertinencia y regulaciones contempladas en la

presente Ley y su Reglamento. El Consejo de Educación Superior, velará por el

cumplimiento de esta disposición.

Art. 80.- Gratuidad de la educación superior pública hasta el tercer nivel.- Se

garantiza la gratuidad de la educación superior pública hasta el tercer nivel. La

gratuidad observará el criterio de responsabilidad académica de los y las

estudiantes, de acuerdo con los siguientes criterios:

a) La gratuidad será para los y las estudiantes regulares que se matriculen

en por lo menos el sesenta por ciento de todas las materias o créditos que

permite su malla curricular en cada período, ciclo o nivel;

Page 55: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

36

b) La gratuidad será también para los y las estudiantes que se inscriban en

el nivel preuniversitario, pre politécnico o su equivalente, bajo los

parámetros del Sistema de Nivelación y Admisión.

c) La responsabilidad académica se cumplirá por los y las estudiantes

regulares que aprueben las materias o créditos del período, ciclo o nivel,

en el tiempo y en las condiciones ordinarias establecidas. No se cubrirán

las segundas ni terceras matrículas, tampoco las consideradas especiales

o extraordinarias.

d) El Estado, por concepto de gratuidad, financiará una sola carrera o

programa académico de tercer nivel por estudiante. Se exceptúan los

casos de las y los estudiantes que cambien de carrera o programa, cuyas

materias puedan ser revalidadas.

e) La gratuidad cubrirá exclusivamente los rubros relacionados con la primera

matrícula y la escolaridad; es decir, los vinculados al conjunto de materias

o créditos que un estudiante regular debe aprobar para acceder al título

terminal de la respectiva carrera o programa académico; así como los

derechos y otros rubros requeridos para la elaboración, calificación, y

aprobación de tesis de grado.

f) Se prohíbe el cobro de rubros por utilización de laboratorios, bibliotecas,

acceso a servicios informáticos e idiomas, utilización de bienes y otros,

correspondientes a la escolaridad de los y las estudiantes universitarios y

politécnicos.

Page 56: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

37

g) Para garantizar un adecuado y permanente financiamiento del Sistema de

Educación Superior y la gratuidad, la Secretaría Nacional de Educación

Superior, Ciencia, Tecnología e Innovación desarrollará un estudio de

costos por carrera/programa académico por estudiante, el cual será

actualizado periódicamente.

h) Se pierde de manera definitiva la gratuidad, si un estudiante regular

reprueba, en términos acumulativos, el treinta por ciento de las materias o

créditos de su malla curricular cursada.

i) La gratuidad cubrirá todos los cursos académicos obligatorios para la

obtención del grado.

Art. 117.- Tipología de instituciones de Educación Superior.- Las instituciones de

Educación Superior de carácter universitario o politécnico se clasificarán de

acuerdo con el ámbito de las actividades académicas que realicen. Para

establecer esta clasificación se tomará en cuenta la distinción entre instituciones

de docencia con investigación, instituciones orientadas a la docencia e

instituciones dedicadas a la educación superior continua.

En función de la tipología se establecerán qué tipos de carreras o programas

podrán ofertar cada una de estas instituciones, sin perjuicio de que únicamente

las universidades de docencia con investigación podrán ofertar grados

académicos de PHD o su equivalente.

Page 57: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

38

Esta tipología será tomada en cuenta en los procesos de evaluación, acreditación

y categorización.

Art. 118.- Niveles de formación de la educación superior.- Los niveles de

formación que imparten las instituciones del Sistema de Educación Superior son:

a) Nivel técnico o tecnológico superior, orientado al desarrollo de las

habilidades y destrezas que permitan al estudiante potenciar el saber

hacer. Corresponden a éste los títulos profesionales de técnico o tecnólogo

superior, que otorguen los institutos superiores técnicos, tecnológicos,

pedagógicos, de artes y los conservatorios superiores. Las instituciones

de educación superior no podrán ofertar títulos intermedios que sean de

carácter acumulativo.

b) Tercer nivel, de grado, orientado a la formación básica en una disciplina o

a la capacitación para el ejercicio de una profesión. Corresponden a este

nivel los grados académicos de licenciado y los títulos profesionales

universitarios o politécnicos, y sus equivalentes. Sólo podrán expedir

títulos de tercer nivel las universidades y escuelas politécnicas. Al menos

un 70% de los títulos otorgados por las escuelas politécnicas deberán

corresponder a títulos profesionales en ciencias básicas y aplicadas.

c) Cuarto nivel, de postgrado, está orientado al entrenamiento profesional

avanzado o a la especialización científica y de investigación.

Corresponden al cuarto nivel el título profesional de especialista; y los

grados académicos de maestría, PhD o su equivalente. Para acceder a la

Page 58: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

39

formación de cuarto nivel, se requiere tener título profesional de tercer nivel

otorgado por una universidad o escuela politécnica, conforme a lo

establecido en esta Ley.

Las universidades y escuelas politécnicas podrán otorgar títulos de nivel

técnico o tecnológico superior cuando realicen alianzas con los institutos

de educación superior o creen para el efecto el respectivo instituto de

educación superior, inclusive en el caso establecido en la Disposición

Transitoria Vigésima Segunda de la presente Ley.

PREGUNTA CIENTÍFICA A CONTESTARSE

¿Se podrá cubrir la necesidad de tener una capa intermedia en el proyecto

ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE

TRABAJO PARA PROYECTOS DE TITULACIÓN APLICACANDO

METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE” con el desarrollo,

durante seis sprints, de servicios web dinámicos con tecnología REST/JSON que

ejecuten consultas y procedimientos y el despliegue de su respectivo componente

de monitoreo?

DEFINICIONES CONCEPTUALES

SEC: Servicio de Ejecución de Consultas, este servicio es el que se encargara de

ejecutar consultas configuradas en tablas.

SEP: Servicio de Ejecución de procedimientos este servicio es el que se encarga

de ejecutar los procedimientos configurados en tablas.

Page 59: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

40

Componente de Monitoreo: Es un sistema que nos permitirá ver el estado y

comportamiento de los servicios a través del uso de programas conocidos como

la pila ELK (Elasticsearch, Logstash, Kibana).

Monitorear: Se refiere a controlar algo, “A partir del sustantivo monitor (monitor

‘dispositivo o pantalla de control’), se han creado en español los verbos monitorizar

y monitorear, con el sentido de ‘vigilar o seguir [algo] mediante un monitor.” (Real

Academica de la Lengua, s.f.)

A continuación se detallan conceptos básicos de Elasticsearch, que nos ayudaran

a entender como esta estructurado este motor:

Campo: “La unidad de trabajo más pequeña almacenada en elasticsearch. Cada

documento tiene par de clave valor los cuales son referenciados como campos.

Los valores de un campo pueden ser enteros, cadenas, arreglos dependiendo de

su tipo de dato.” (Gupta, 2015). Es similar al concepto de campo en un base de

datos relacional.

Documento: “Es una colección de campos, es considerado como una fila en una

base de datos relacional, los documentos son Java Script Object Notation (JSON)”

(Gupta, 2015). Elasticsearch al guardar documentos JSON trabaja de manera muy

rápida

Tipo: Es similar a una tabla en una base de datos relacional. Contiene una lista

de campos que es definido para cada documento. Los tipos son usados con un

api de mapeos, en la cual se especifica el tipo de los campos. (Gupta, 2015). Esto

nos permite definir los tipos de datos que se almacenan en nuestro documento.

Page 60: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

41

Gráfico 22 Ejemplo de mapeo en elasticsearch

Elaborado por: Yuvraj Gupta

Fuente: Kibana Essential

Gráfico 23 Tipos de datos principales en elasticsearch

Elaborado por: Yuvraj Gupta

Fuente: Kibana Essential

Page 61: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

42

Índice: Es una colección de documentos. Un índice tiene un mapeo, este mapeo

es utilizado para definir múltiples tipos. Un índice está definido por un nombre, el

cual siempre es utilizado para realizar operaciones de búsqueda, actualización y

borrado. La cantidad máxima de índices que puede guardar en un índice es

2147483519 que equivale al valor máximo del entero.

Comparación de conceptos en elasticsearch y base de datos noSQL y tradicional:

Gráfico 24 Comparación de conceptos de elasticsearch con bases de datos tradicionales

Elaborado por: Yuvraj Gupta

Fuente: Kibana Essential

JPA: (Java Persistence Api) Es un conjunto de clases que permite realizar el

mapeo de tablas a objetos.

JDBC: (Java Database Connectivity) Es un conjunto de clases que permite la

conexión hacia a una base de datos como Oracle, Microsoft SQL server, mySQL

API: (Application Programming Interface) es un conjunto de subrutinas que un

módulo de software hace públicas para otros módulos en un sistema.

SISTEMA: Es un conjunto de elementos interconectados que están organizados

para alcanzar un objetivo.

Page 62: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

43

CAPÍTULO III

PROPUESTA TECNOLÓGICA

Al final del proyecto se entrega dos servicios web con tecnología REST y JSON

usando lenguaje java estándar y empresarial, un servicio denominado SEC

(Servicio de Ejecución de Consultas) ejecuta consultas y otro denominado SEP

(Servicio de Ejecución de Procedimientos) se encarga de ejecutar procedimientos

de manera dinámica a través de configuraciones en tablas en una base de datos

SQL Server versión de desarrollador, estas tablas y el respectivo modelo entidad

relación serán proporcionadas por otros integrantes del equipo que participaran

dentro del proyecto. Se despliega un componente de monitoreo usando la pila ELK

(ElasticSearch, Logstash y Kibana) el cual se encarga de la recolección,

almacenamiento, búsqueda y generación de gráficos de barra, pastel y líneas, de

las bitácoras de los servicios. Para la organización de las actividades se utiliza la

metodología ágil llamada SCRUM, estas actividades son almacenadas y

asignadas a los miembros del equipo en la aplicación web trello.

Análisis de Factibilidad

Entre los distintos requerimientos para asegurar el éxito del proyecto podremos

mencionar los siguientes:

Factibilidad Operacional Los usuarios de los servicios web son los integrantes de los equipos de la capa

visual y de la capa de datos que se encargan de consumir y configurar los

servicios, asegurando de esta manera el funcionamiento del mismo y si realmente

les permite realizar la comunicación respectiva entre sus capas.

Page 63: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

44

Factibilidad Técnica Para poder realizar el desarrollo de los servicios y despliegue de los componentes

de monitoreo se necesita que el equipo de infraestructura del proyecto provea

servidores de desarrollo en donde se realiza la instalación de los mismos.

Factibilidad Legal En el proyecto se utiliza herramientas de código abierto lo cual nos permite crear

un nuevo software sin infringir las leyes.

Entre los programas que se usan podemos mencionar las licencias sobre las

cuales son distribuidos:

Elasticsearch con Apache License, Version 2.0

Kibana con Apache License, Version 2.0

Netbeans con GNU Lesser General Public License version 2.1 (LGPL)

Java Standard y Enterprise con Oracle Binary Code License (BCL)

Factibilidad Económica

Para el desarrollo de los servicios y despliegue de su componente de monitoreo

se utiliza herramientas y lenguajes de código abierto que son gratis, gracias a esto

no se realiza gastos en software.

Etapas de la metodología del proyecto

Para el desarrollo del proyecto se utilizó la metodología ágil denominada

SCRUM, y se definieron 6 sprints que se detallan en el cuadro 5:

Page 64: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

45

Cuadro 5 Definición de sprint y entregables

N° Semanas Actividades

1 3 Análisis, Diseño y Desarrollo del SEP y SEC versión JDBC

2 3

Análisis, Diseño y Desarrollo SEP y SEC versión JPA. Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual.

3 2

Agregar validaciones de servicios, encriptación, instalación y pruebas de monitoreo con logstash y elastisearch y kibana. Soporte de configuraciones a los integrantes de la capa de datos y consumos

de servicios a los integrantes de la capa visual.

4 1

Mejoras con sonar, generación de gráficos de pastel y barra. Soporte de configuraciones a los integrantes de la

capa de datos y consumos de servicios a los integrantes de la capa visual.

5 1

Elaboración de documentación, manual de usuario y actualización de manual de diseño.

Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual.

6 1

Documento de Diseño y Desarrollo de la capa

rest/json del SEP y SEC. Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual.

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 65: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

46

En base a los seis sprints definidos a continuación detallaremos las actividades

realizadas en cada uno de los sprints:

Sprint 1

Configuración y pruebas de conexión con logstash.

Pruebas sobre el servidor de desarrollo.

Análisis del modelo entidad relación del servicio web de ejecución de

consultas y de procedimientos.

Definir herramientas de trabajo, versiones de java, de servidores de

aplicaciones, versión de IDE

Instalación y configuración de ambiente de desarrollo para desarrollo de

web service.

Creación de lógica de ejecución de procedimientos almacenados

Creación de lógica de ejecución de consultas dinámica.

Análisis de la arquitectura de la aplicación para el servicio web de consultas

y de ejecución de procedimientos almacenados.

Sprint 2

Configuración y pruebas de conexión con logstash.

Leer bitácoras con logstash y guardarlas en elasticsearch en ambiente

Windows.

Definir formato de bitácoras de archivo.

Instalación de centos 6.5 a nivel local.

Instalación de logstash, elasticsearch y kibana sobre centos.

Instalación de logstash en el servidor de base de datos de desarrollo.

Sprint 3

Investigación de blowfish en java.

Configuración en servidor 192.168.100.11 de logstash para que lea las

tablas del histórico de la base de datos.

Pruebas con kibana y elasticsearch.

Page 66: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

47

Instalación de kibana y elasticsearch en windows 7 en el servidor de

desarrollo 192.168.100.17.

Pruebas con logstash sobre centos para leer un archivo log servidor de

desarrollo 192.168.100.11.

Sprint 4

Subir a subversión sprint 1 del SEP y SEC.

Corrección del pase a producción del SEC, se quitaron los grants

innecesarios.

Generación de gráficos sobre el índice de access log

Pase a producción del SEP sprint 1 con apoyo de la persona que versiona.

Investigación de named queries para evitar error lazy load

Pase a producción del SEC con apoyo de la persona que versiona sprint

1.

Corrección de índice de access log en elasticsearch.

Sprint 5

Generación del gráfico de barras de top de IP de clientes que realizan

peticiones sobre las aplicaciones.

Cambiar query para realizar left join sobre las tablas del sec.

Corrección del pase del SEC.

Cambiar fecha con la ingresan los registros de al desde logstash hasta el

índice elasticsearch.

Mejoras con sonar de la nueva versión del SEP que usa SOAP.

Mejoras en la lógica y cierre de conexiones.

Puesta en producción y pruebas de la nueva versión SEP que usa SOAP.

Pruebas de la nueva versión SEC que usa SOAP.

Corrección de SEC, actualización de la capa JPA.

Sprint 6

Análisis de la versión SEC y SEP con rest y json.

Page 67: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

48

Investigación de uso de api rest de jboss.

Mejoras del SEC y SEP a través del uso de sonar.

Diseño de SEC con REST y JSON.

Diseño del SEP con REST y JSON.

Desarrollo del SEC y SEP con tecnología rest y json.

Actualización de documentos de métodos del SEC y del SEP.

Para llevar el control de las actividades se utilizó la herramienta trello, en donde

se creó un tablero y se asignó cada una de las actividades a realizar dentro del

proyecto y en los siguientes gráficos se muestran las tareas:

Gráfico 25 Grupo de arquitectura y su respectivo tablero en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

En el gráfico 26 se detalla los miembros del equipo, con los usuarios creados en la aplicación web trello.

Page 68: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

49

Gráfico 26 Miembros del grupo de arquitectura en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

En los siguientes gráficos se muestran las actividades creadas y asignadas en

cada uno de los sprints:

Gráfico 27 Actividades del sprint 1 en el tablero trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Page 69: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

50

Gráfico 28 Actividades del sprint 2 en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Gráfico 29 Actividades del sprint 3 en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Page 70: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

51

Gráfico 30 Actividades del sprint 4 en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Gráfico 31 Actividades del sprint 5 en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Page 71: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

52

Gráfico 32 Actividades del sprint 6 en trello

Elaborado por: Héctor Ortega

Fuente: www.trello.com

Entregables del proyecto

Los entregables del proyecto son 2 servicios web desarrollados en lenguaje de

programación java y que utilicen rest y json:

SEC (Servicio de Ejecución de Consultas)

SEP (Servicio de Ejecución de Procedimientos)

Un componente de monitoreo para los servicios utilizando la pila ELK.

Manual de usuario del SEC y SEP sección REST/JSON.

Manual de diseño del SEC y SEP sección REST/JSON.

Informe de Pruebas del SEC Y SEP sección REST/JSON.

Page 72: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

53

CRITERIOS DE VALIDACIÓN DE LA PROPUESTA

Juicio de Expertos Como política de aceptación del proyecto se deben cumplir la entrega de los seis

Sprint los cuales son validados por la PMP Srta. Iliana Vera.

El scrum master de la capa visual Sr. Juan Carlos Tamayo verifica si la información

retornada por el SEC y SEP en su versión REST-JSON es correcta.

El scrum master de la capa de datos Srta. Cinthya Rivadeneira se encarga de

validar si el SEC y SEP representa de manera fiel la información de las consultas

y de los procedimientos almacenados configurados y que se necesitan exponer

como servicios para la capa visual.

La Srta. Anabell Tingo con el rol de tester verifica la funcionalidad de los servicios.

Para poder validar la funcionalidad de capa de servicios con REST y JSON y su

componente de monitoreo se realiza un plan de pruebas que está estructurado de

la siguiente manera:

Objetos a probar.- Indica las clases, archivos, y el componente al cual se le

aplican las pruebas.

Datos de prueba.- Detalla los datos con los que se puede probar cada uno de los

casos de prueba.

Casos de prueba.- Describe cada uno de los escenarios a ejecutar sobre el objeto

que se realizan las pruebas.

Page 73: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

54

Informe de Pruebas del SEC con REST y JSON

Objetos a probar:

ConsultasJpa.war

Datos de prueba:

Cuadro 6 Datos de prueba del SEC

N° Json de Request Json de response

1 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "6", "usuario": "PRUEBA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "0", "mensajeRespuesta": "EXITO", "estado": "F", "respuestaConsulta": {"elementos": {"mielemento": [ { "id_persona": "1", "nombre": "Héctor", "apellido": "ortega", "fecha_nacimiento": "1990-01-27 00:00:00",

"fecha_nacimiento2": "1990-01-27 00:00:00.0", "sueldo": "20.24", "sueldo2": "12.56" } ]}}, "idHistorial": "530" }}

2 { "datosServicio": { "dataSource": "jdbc/saug1", "idServicio": "6", "usuario": "PRUEBA", "clave": "Abc123",

"parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:No se encontro el jndijdbc/saug1", "estado": "E",

"respuestaConsulta": "", "idHistorial": "531" }}

Page 74: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

55

{ "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "7", "usuario": "PRUEBA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" }

}

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Servicio no existente o Inactivo", "estado": "E", "respuestaConsulta": "", "idHistorial": "536" }}

4 {

"datosServicio": { "dataSource": "jdbc/saug", "idServicio": "8", "usuario": "PRUEBA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } }

{"respuestaServicio": {

"codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Servicio no existente o Inactivo", "estado": "E", "respuestaConsulta": "", "idHistorial": "550" }}

5 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "789654",

"usuario": "PRUEBA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Servicio no existente o

Inactivo", "estado": "E", "respuestaConsulta": "", "idHistorial": "551" }}

6 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "6", "usuario": "PRUEBAg", "clave": "Abc123",

"parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Error al validar las credenciales o Servicio no disponible", "estado": "E",

"respuestaConsulta": "", "idHistorial": "533" }}

7 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "6", "usuario": "PRUEBA",

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Error al validar las credenciales o Servicio no disponible",

Page 75: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

56

"clave": "INcorecta", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

"estado": "E", "respuestaConsulta": "", "idHistorial": "561" }}

8 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "9",

"usuario": "PRUEBAINACTIVO", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Error al validar las

credenciales o Servicio no disponible", "estado": "E", "respuestaConsulta": "", "idHistorial": "567" }}

9 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "9", "usuario":

"PRUEBAFECHA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Error al validar las credenciales o Servicio no disponible",

"estado": "E", "respuestaConsulta": "", "idHistorial": "598" }}

10 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "10", "usuario": "USERROLINACTIVO",

"clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en Servicio Web:Error al validar las credenciales o Servicio no disponible", "estado": "E",

"respuestaConsulta": "", "idHistorial": "641" }}

11 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "11",

{"respuestaServicio": { "codigoRespuesta": "99",

Page 76: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

57

"usuario": "USERROLRANGO", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

"mensajeRespuesta": "Error en Servicio Web:Error al validar las credenciales o Servicio no disponible", "estado": "E", "respuestaConsulta": "", "idHistorial": "644" }}

12 { "datosServicio": {

"dataSource": "jdbc/saug", "idServicio": "12", "usuario": "abc", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "99",

"mensajeRespuesta": "Error en Servicio Web:The SELECT permission was denied on the object 'nombres_complestos', database 'saug', schema 'dbo'.", "estado": "E", "respuestaConsulta": "", "idHistorial": "650" }}

13 { "datosServicio": { "dataSource": "jdbc/saug", "idServicio": "13",

"usuario": "", "clave": "", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

{"respuestaServicio": { "codigoRespuesta": "0", "mensajeRespuesta": "EXITO", "estado": "F",

"respuestaConsulta": {"pruebas": {"prueb": [ { "id_persona": "1", "nombre": "Héctor", "apellido": "ortega", "fecha_nacimiento": "1990-01-27 00:00:00", "fecha_nacimiento2": "1990-01-27 00:00:00.0", "sueldo": "20.24", "sueldo2": "12.56"

} ]}}, "idHistorial": "654"}}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 77: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

58

Casos de pruebas:

Cuadro 7 Casos de prueba del SEC

N° Caso de

Prueba Descripción

Del Caso Resultado

Esperado Observac

ión 1 Ejecución de

Una consulta

Se configura un

servicio y su respectiva consulta en las tablas sec_servicios, sec_consultas, y se la asocia a un usuario

Se retornan los

resultados de la consulta configurada.

Funciona

de manera correcta

2 Datasource No existente

En el json de request en el par jndi se envía un datasource que no está configurado en el servidor de aplicaciones jboss

Se retorna el mensaje: Error en Servicio Web:No se encontró el jndi YYYY

Funciona de manera correcta

3 Servicio con fechas fuera de rango

Se configura un nuevo servicio y en los campos fecha_desde y fecha_hasta se establece rangos que

no sean mayores a la fecha actual o menores a la fecha actual respectivamente.

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o

Inactivo

Funciona de manera correcta

4 Servicio Inactivo

Se configura un nuevo servicio y en el campo estado se pone el valor de I

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o Inactivo

Funciona de manera correcta

5 Servicio No existente

En el json de request se envía un identificador de servicio que no se encuentra configurado en la tabla sec_servicio

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o Inactivo

Funciona de manera correcta

6 Usuario Incorrecto

En el json de request en el para usuario, se

envía un usuario que no está configurado.

Se retorna el mensaje Error en

Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera

correcta

7 Clave Incorrecta

En el json de request en el para usuario, se

Se retorna el mensaje Error en Servicio

Funciona de manera correcta

Page 78: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

59

envía un usuario que no está configurado.

Web:Error al validar las credenciales o Servicio no disponible

8 Usuario Inactivo

En el json del request se especifica un usuario que tiene estado inactivo en la tabla sec_usuarios

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o

Servicio no disponible

Funciona de manera correcta

9 Usuario con fechas fuera de rango

En el json del request se especifica un usuario que tenga los campos fecha_desde y fecha_hasta con un rango en el que no se encuentre la fecha actual

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera correcta

10 Rol asociado inactivo

Se crea un nuevo servicio, con un nuevo usuario, pero el rol asociado tiene estado de inactivo en la tabla sec_servicios_roles

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o

Servicio no disponible

Funciona de manera correcta

11 Rol asociado con fechas fuera de rango

Se crea un nuevo servicio con un nuevo usuario, pero el rol asociado tiene definidos rangos en los campos fecha_desde y fecha_hasta en la tabla sec_servicios_roles donde se encuentra la fecha actual.

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera correcta

12 Servicio sin permisos

Se configura una nueva consulta y un nuevo servicio pero las tablas sobre la que se realiza

la consulta no es vista por el usuario del servicio web por falta de grant

Se retorna el mensaje The SELECT permission was

denied on the object YYYYYYYYY

Funciona de manera correcta

13 Servicio sin autenticación

Se configura un nuevo servicio y consulta, en el campo autenticación

Se ejecuta consulta

Funciona de manera correcta

Page 79: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

60

de la tabla sec_servicios se establece con valor N

configurada con normalidad

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Informe de Pruebas del SEP con REST y JSON

Objetos a probar:

ObjetosJPA.war

Datos de prueba: Cuadro 8 Datos de pruebas del SEP

N° Json de Request Json de response

1 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "17", "usuario": "MiUserPrueba", "clave": "Abc123", "parametrosObjeto": { "parametros": {

"nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } } }

{"respuestaServicio": { "codigoRespuesta": "0", "mensajeRespuesta": "EXITO", "estado": "F", "resultadoObjeto": { "codigo_salida": "0", "mensaje_salida": "Exito", "px_xml_salida": {"raiz": {"elemnto": "valor del elemento"}}

}, "idHistorico": "249456" }}

2 { "datosServicio": { "dataSource":

"jdbc/saugProcghjv", "idServicio": "17", "usuario": "MiUserPrueba", "clave": "Abc123",

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en

ServicioWeb: ec.edu.ug.recursos.UserException: Error al momento de acceder por JDNIjdbc/saugProcghjv",

Page 80: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

61

"parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" }

} } } } }

"estado": "E", "resultadoObjeto": "", "idHistorico": "249460" }}

3 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "23", "usuario": "", "clave": "", "parametrosObjeto": { "parametros": {

"nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Servicio no existente o Inactivo", "estado": "E", "resultadoObjeto": "", "idHistorico": "249485"

}}

4 { "datosServicio": {

"dataSource": "jdbc/saugProc", "idServicio": "24", "usuario": "", "clave": "", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": {

{"respuestaServicio": { "codigoRespuesta": "99",

"mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Servicio no existente o Inactivo", "estado": "E", "resultadoObjeto": "", "idHistorico": "249486" }}

Page 81: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

62

"raiz": { "elemnto": "valor del elemento" } } } } } }

5 { "datosServicio": { "dataSource": "jdbc/saugProc",

"idServicio": "2445897", "usuario": "", "clave": "", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" }

} } } } } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb:

ec.edu.ug.recursos.UserException: Servicio no existente o Inactivo", "estado": "E", "resultadoObjeto": "", "idHistorico": "249487" }}

6 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "17", "usuario": "UsuarioNoExiste",

"clave": "Abc123", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Error al validar las credenciales o Servicio no disponible",

"estado": "E", "resultadoObjeto": "", "idHistorico": "249491" }}

Page 82: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

63

} }

7 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "17", "usuario": "MiUserPrueba", "clave": "Abc12hg3", "parametrosObjeto": { "parametros": {

"nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Error al validar las credenciales o Servicio no disponible", "estado": "E", "resultadoObjeto": "",

"idHistorico": "249492" }}

8 { "datosServicio": {

"dataSource": "jdbc/saugProc", "idServicio": "25", "usuario": "UsuarioInactivo", "clave": "Abc123", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": {

"raiz": { "elemnto": "valor del elemento" } } } } } }

{"respuestaServicio": { "codigoRespuesta": "99",

"mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Error al validar las credenciales o Servicio no disponible", "estado": "E", "resultadoObjeto": "", "idHistorico": "249504" }}

9 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "25",

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException:

Page 83: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

64

"usuario": "UsuarioFechaFueraRango", "clave": "Abc123", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio",

"pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } } } }

Error al validar las credenciales o Servicio no disponible", "estado": "E", "resultadoObjeto": "", "idHistorico": "249512" }}

10 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "25", "usuario":

"UsuarioRolAsociadoInactivo", "clave": "Abc123", "parametrosObjeto": { "parametros": { "nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } }

} } } }

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Error al validar las credenciales o

Servicio no disponible", "estado": "E", "resultadoObjeto": "", "idHistorico": "249515" }}

11 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "25", "usuario": "UsuarioRolAsociadoFuiraDeRango", "clave": "Abc123", "parametrosObjeto": { "parametros": {

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: Error al validar las credenciales o Servicio no disponible", "estado": "E", "resultadoObjeto": "", "idHistorico": "249518" }}

Page 84: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

65

"nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } }

} } }

12 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "26", "usuario": "UsuarioRolAsociadoFuiraDeRango", "clave": "Abc123", "parametrosObjeto": { "parametros": {

"nombre_servicio": "primer servicio", "descripcion_servicio": "este es el primer servicio", "pc_xml": { "raiz": { "elemnto": "valor del elemento" } } } } }}

{"respuestaServicio": { "codigoRespuesta": "99", "mensajeRespuesta": "Error en ServicioWeb: ec.edu.ug.recursos.UserException: El parámetro nombre_servicio no estaba definido para el procedimiento almacenado dummy_prb_xml_nuevo.", "estado": "E", "resultadoObjeto": "",

"idHistorico": "249523" }}

13 { "datosServicio": { "dataSource": "jdbc/saugProc", "idServicio": "22", "usuario": "",

"clave": "", "parametrosObjeto": { "parametros": { "nombre_servicio": "abc", "descripcion_servicio": "23:12:12" } } }}

{"respuestaServicio": { "codigoRespuesta": "0", "mensajeRespuesta": "EXITO", "estado": "F", "resultadoObjeto": {"timepo_salida": "23:12:12"},

"idHistorico": "249526" }}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 85: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

66

Casos de prueba:

Cuadro 9 Casos de prueba del SEP

N° Caso de Prueba

Descripción Del Caso

Resultado Esperado

Observación

1 Ejecución de Procedimiento almacenado

Se configura un servicio y su respectivo procedimiento en las tablas sep_servicios,

sep_objetos_bd, y se lo asocia a un usuario valido.

Se retornan los resultados del procedimiento configurado

Funciona de manera correcta

2 Datasource No existente

En el json de request en el par jndi se envía un datasource que no está configurado en el servidor de aplicaciones jboss

Se retorna el mensaje: Error al momento de acceder por JDNI YYYYY

Funciona de manera correcta

3 Servicio con fechas fuera de rango

Se configura un nuevo servicio y en los campos fecha_desde y fecha_hasta de la tabla sep_servicios se establece rangos que no sean mayores a la

fecha actual o menores a la fecha actual respectivamente.

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o Inactivo

Funciona de manera correcta

4 Servicio Inactivo

Se configura un nuevo servicio y en el campo estado se pone el valor de I

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o Inactivo

Funciona de manera correcta

5 Servicio No existente

En el json de request se envía un identificador de servicio que no se encuentra configurado en la tabla sep_servicios

Se retorna el mensaje: Error en Servicio Web:Servicio no existente o Inactivo

Funciona de manera correcta

6 Usuario Incorrecto

En el json de request en el par usuario, se envía un usuario que

no está configurado.

Se retorna el mensaje Error en Servicio

Web:Error al validar las credenciales o

Funciona de manera correcta

Page 86: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

67

Servicio no disponible

7 Clave Incorrecta

En el json de request en el par usuario, se envía un usuario que no está configurado.

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera correcta

8 Usuario Inactivo

En el json del request se especifica un usuario que tiene

estado inactivo en la tabla sep_usuarios.

Se retorna el mensaje Error en Servicio

Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera correcta

9 Usuario con fechas fuera de rango

En el json del request se especifica un usuario que tenga los campos fecha_desde y fecha_hasta, en la tabla sep_usuarios, con un rango en el que no se encuentre la fecha actual.

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o Servicio no disponible.

Funciona de manera correcta

10 Rol asociado inactivo

Se crea un nuevo servicio, con un nuevo

usuario, pero el rol asociado tiene estado de inactivo en la tabla sep_servicios_roles

Se retorna el mensaje Error en

Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera

correcta

11 Rol asociado con fechas fuera de rango

Se crea un nuevo servicio con un nuevo usuario, pero el rol asociado tiene definidos rangos en los campos fecha_desde y fecha_hasta en la tabla sep_servicios_roles

donde se encuentra la fecha actual.

Se retorna el mensaje Error en Servicio Web:Error al validar las credenciales o Servicio no disponible

Funciona de manera correcta

12 Servicio sin permisos

Se configura un nuevo procedimiento y un nuevo servicio pero el procedimiento que se debe ejecutar no es

Se retorna el mensaje El parámetro YYYYYYYY no estaba definido

Funciona de manera correcta

Page 87: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

68

visto por el usuario del servicio web por falta de grant

para el procedimiento almacenado ZZZZZ

13 Servicio sin autenticación

Se configura un nuevo servicio y procedimiento, en el campo autenticación de la tabla sep_servicios se establece con valor N

Se ejecuta el procedimiento configurado con normalidad

Funciona de manera correcta

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 88: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

69

Encuestas

A continuación se detalla el resultado de las encuestas realizadas:

Pregunta Número 1:

¿Cuántos dispositivos móviles posee (smartphones, tablets)?

Gráfico 33 Resultados de la pregunta 1

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 82,14% de los encuestados tiene al menos un dispositivo móvil mientras que el

18,86% restante posee dos o más, esto nos da una muestra de la tendencia del

uso del mismo y debido a ello cuando se desarrolle un sistema existe una alta

probabilidad de que se elabore una versión del mismo para dispositivos móviles.

Page 89: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

70

Pregunta Número 2:

¿Qué tipo de sistema operativo posee su dispositivo móvil?

Gráfico 34 Resultados de la pregunta 2

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 92,86% de las personas posee dispositivos móviles con sistema operativo

android, esto nos demuestra que android sería la plataforma con mayor prioridad

al momento de elaborar un desarrollo de un sistema para dispositivos móviles

Page 90: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

71

Pregunta Número 3:

¿Considera usted que es importante que una aplicación tenga una capa que le

permita comunicarse con los dispositivos móviles?

Gráfico 35 Resultados de la pregunta 3

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

Podemos notar que el debido al auge de los dispositivos móviles el 100% de los

encuestados considera importante que aplicación tenga una capa de

comunicación con estos dispositivos.

Page 91: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

72

Pregunta Número 4:

¿Cómo calificaría el funcionamiento de la capa media de servicios desplegada en

el ambiente de producción?

Gráfico 36 Resultados de la pregunta 4

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 53,57 % de los encuestados piensa que el funcionamiento de los servicios en

el ambiente de producción fue bueno, mientras que el 39,29% considera que fue

excelente, esto demuestra que la capa de servicios en el ambiente de producción

funciono de manera correcta.

Page 92: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

73

Pregunta Número 5:

¿Cómo calificaría el funcionamiento de la capa media de servicios desplegada

en el ambiente de desarrollo?

Gráfico 37 Resultados de la pregunta 5

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 53,57% de los encuestados considera que el funcionamiento de los servicios

en el ambiente de desarrollo fue bueno, mientras que 39,29%, considera que fue

excelente esto demuestra que la capa de servicios en el ambiente de desarrollo

funciono de manera correcta.

Page 93: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

74

Pregunta Número 6:

¿Cree usted que se debe tener un sistema de monitoreo que permita conocer el

comportamiento y el estado de la capa de servicios para verificar si existen

problemas?

Gráfico 38 Resultados de la pregunta 6

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 92,86% de las personas encuestadas considera que se debe tener un

componente de monitoreo para verificar problemas, esto evidencia claramente lo

importante que es la herramienta al momento de examinar la capa de servicios.

Page 94: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

75

Pregunta Número 7:

¿Considera usted que tener un tablero (dashboard) con gráficos de barra o pastel

sobre los errores y éxitos de transacciones puede ayudar a un área de producción

en la administración de la capa media de servicios?

Gráfico 39 Resultados de la pregunta 7

Elaborado por: Héctor Ortega

Fuente: Encuestas del proyecto en www.es.surveymonkey.com

Análisis:

El 71,43% de las personas encuestadas están totalmente de acuerdo en que un

tablero puede ayudar en la administración de la capa de servicios mientras que

el 3,7% está en desacuerdo, esto nos demuestra que este tipo de herramienta va

a tener poca resistencia al cambio y puede ser bien explotada al momento de

administrar la capa de servicios.

Page 95: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

76

CAPÍTULO IV

Criterios de aceptación del producto o servicio

Como política de aceptación del proyecto se deben cumplir los seis sprint

Cuadro 10 Nivel de cumplimiento de sprints

Sprint Actividades NIVEL DE

CUMPLIMENTO

Análisis, Diseño y Desarrollo del SEP y SEC versión JDBC

100% 1

Análisis, Diseño y Desarrollo SEP y SEC versión JPA Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual

100% 2

Agregar validaciones de servicios, encriptación Instalación y pruebas de monitoreo con logstash y elastisearch y kibana Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes

de la capa visual

100% 3

Mejoras con sonar, Generación de gráficos de pastel y barra. Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los

integrantes de la capa visual

100% 4

Elaboración documentación, manual de usuario

y actualización de manual de diseño. Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual

100% 5

6

Documento de Diseño y Desarrollo de la capa REST/JSON del SEP y SEC. Soporte de configuraciones a los integrantes de la capa de datos y consumos de servicios a los integrantes de la capa visual

100%

Elaboración: Héctor Ortega

Fuente: Datos del proyecto

Page 96: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

77

Se certifica que una vez terminada la etapa de verificación y pruebas finales del

proyecto ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK

DE TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO

METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”. ENFOCADO A

LA ARQUITECTURA DE CAPA DE NEGOCIO DESARROLLANDO SERVICIOS

WEB DESTINADOS A PROCESAR REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO UNA APLICACIÓN DE MONITOREO DE

BITÁCORAS, los elementos verificados no contienen errores

Cuadro 11 Firmas de aceptación de los sprints

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Responsables

Firma

Scrum Master Capa Visual

Sr. Juan Carlos Tamayo

Scrum Master Capa de Datos

Cinthya Rivadeneira

Project Mananger

Srta. Iliana Vera

Tester

Srta Anabell Tingo

Page 97: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

78

Ambiente de Ejecución de las pruebas

Cuadro 12 Versiones de programas para realizar pruebas a los servicios

Java S. E. Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)

Java E. E. Versión 6

Servidor de Aplicaciones: jboss-as-7.1.1.Final

Pruebas Funcionales SoapUI-5.2.0

Pruebas de Rendimiento SoapUI-5.2.0, apache-jmeter-2.13

Calidad de Código Java sonarqube-5.1.2 y sonar-runner-dist-2.4

IDE NetBeans 8.0.2

Programa de Virtualización

Versión 5.0.10 r104061

Base de datos Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Developer Edition

Elaboración: Héctor Ortega

Fuente: Datos del proyecto

Cuadro 13 Características de la máquina virtual

Memoria RAM 3072

Memoria de Video 16 MB

Disco Duro 20 GB

Elaboración: Héctor Ortega

Fuente: Datos del proyecto

Criterios de rendimiento del SEC Detalle de la configuración con la que se ejecutan las pruebas

Herramienta: LoadTestSoapUi Hilos: 10 Test Delay: 1000 ms Estrategia: Simple Límite: 60 segundos Ramdom: 0.5 Herramienta: Jmeter Hilos: 100 Periodo de subida en segundos: 1

Page 98: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

79

Cuadro 14 Criterios de rendimiento del SEC

Escenario Criterio Rango

Ejecución de una

consulta

Tiempo mínimo de

respuesta

53 ms

Tiempo máximo de

respuesta

500 ms

Tiempo promedio de

respuesta

300 ms

Número Total de

Ejecuciones

756

Transacciones por

segundo

12.89

Número de Errores 0

Porcentaje de request

fallidos

0

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 40 Resultados del rendimiento del SEC en jmeter

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 99: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

80

Criterios de calidad de código del SEC

Herramienta: sonarqube

Uso de reglas de programación en java

Criterio: Obtener menos de 15 evidencias luego de análisis realizado por

sonarqube.

Cuadro 15 Evindecias del SEC generadas por sonarqube

Proyecto a analizar Tipos de Evidencias Cantidad

SEC blocker 0

critical 1

major 6

minor 0

info 0

Total de evidencias 7

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 41 Evidencias en el SEC generadas luego del análisis del sonarqube

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 100: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

81

Criterios de rendimiento del SEP

Detalle de la configuración con la que se ejecutan las pruebas Hilos: 10 Test Delay: 1000 ms Estrategia: Simple Límite: 60 segundos Ramdom: 0.5 Herramienta: LoadTestSoapUi

Herramienta: Jmeter Hilos: 100 Periodo de subida en segundos: 1

Cuadro 16 Criterios de rendimientos SEP

Escenario Criterio Rango

Ejecución de un

procedimiento

Tiempo mínimo de

respuesta

20 ms

Tiempo máximo de

respuesta

700 ms

Tiempo promedio de

respuesta

400 ms

Número Total de

Ejecuciones

742

Transacciones por

segundo

12.34

Número de Errores 0

Porcentaje de request

fallidos

0

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 101: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

82

Gráfico 42 Resultados del rendimiento de SEP en jmeter

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Criterios de calidad de código del SEP Herramienta: sonarqube

Obtener menos de 15 evidencias luego de análisis realizado por sonarqube.

Cuadro 17 Evindecias del SEP generadas por sonarqube

Proyecto a analizar Tipos de Evidencias Cantidad

SEP Blocker 0

Critical 0

Major 8

Minor 0

Info 2

Total de evidencias 10

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 102: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

83

Gráfico 43 Evidencias en el SEP generadas luego del análisis del sonarqube

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Conclusiones y Recomendaciones

Conclusiones El desarrollo de los servicios web SEC y SEP con tecnologías REST y JSON es

de gran aporte ya que nos provee una capa media que permite la integración con

aplicaciones desarrolladas para dispositivos móviles.

La aplicación de monitoreo con ELK es una herramienta clave cuando se realiza

una revisión de inconvenientes o anomalías que se presentan en los servicios SEP

y SEC. Es de gran ayuda para centralizar la información de las bitácoras cuando

se tiene en más de un servidor desplegado los servicios.

La aplicación de monitoreo a través de los gráficos de pastel, barra y de línea

permite conocer la cantidad de transacciones de éxito y error de los servicios y de

esta manera saber el estado en que se encuentran.

Usar la metodología SCRUM permite al equipo enfocarse en las actividades más

importantes para entregar la capa de servicios en el tiempo esperado y que los

integrantes de la capa visual y de datos puedan utilizarla e integrar sus respectivos

desarrollos.

Page 103: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

84

Recomendaciones Si se necesita proteger los datos que se envíen a los servicios web se recomienda

utilizar protocolo https y comprar un certificado ssl para poder instarlo en el

servidor de aplicaciones donde se desplieguen los servicio conocidos como SEC

y SEP.

Para que la configuración y modificación de los servicios del SEC y SEP sea más

amigable para el usuario se debería crear dos aplicaciones web con páginas que

permitan crear, actualizar, consultas y eliminar los registros de las tablas. Estas

aplicaciones deberían tener pruebas automatizadas un programa que nos puede

ayudar a cumplir con este objetivo es Selenium.

Para mejoras en el rendimiento de los servicios se pueden explotar las tecnologías

que nos ofrece java empresarial conocidas como el servicio de mensajería de Java

para la inserción de históricos de forma asincrónica.

Desarrollar un despachador para que permita procesamiento asincrónico de las

transacciones.

Cuando se realicen los despliegues de los servicios en un nuevo ambiente ya sea

en desarrollo o producción en el servidor de aplicaciones verificar que se

encuentre habilitada la generación del log de acceso ya que este log posee

información importante que nos puede ayudar en la revisión de inconvenientes.

Para realizar las futuras actualizaciones de versiones del SEC y SEP se deberían

implementar un balanceador de carga, esto con el objetivo de poder realizar un

pase productivo sin generar afectaciones en las transacciones duran la ejecución

del pase, programa que nos puede ayudar es nginx.

Seguir utilizando la metodología scrum en las siguientes fases del proyecto para

poder dividir y priorizar las tareas.

Page 104: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

85

Para mejorar el rendimiento de las consultas de configuraciones utilizar cache en

los servicios, para que puedan tener en memoria la información y no siempre

tengan que ir a la base de datos. Uno de los puntos a considerar cuando se utiliza

cache es la memoria del servidor ya que toda la información de configuraciones

se almacenaría en la memoria RAM. Utilizar tecnologías JMX, Singleton Bean,

para el manejo de carga de propiedades y administrar la actualización de las

propiedades bajo demanda.

Los servicios SEC Y SEP permiten ahorrar tiempos de desarrollo por tal motivo es

recomendable utilizarlos en instituciones o empresas que deseen proveer una

capa de servicios para un sistema legado o nuevo.

Page 105: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

86

Bibliografía

Acharya, S. (2014). 2015. Birmingham: Packt Publishing Ltd.

Arum, G. (2015). Java EE 6 Pocket Guide. Sebastopol: O'Reilly Media.

Beighley, L. (2007). Head First SQL. Sebastopol: O’Reilly Media.

Bryan Bashan, K. S. (2008). Head First Servlets and JSP. Sebastopol: O' Reilly.

Eslava. (2013). El nuevo PHP. Conceptos avanzados. España: Bubok Publishing

S. L.

Gupta, Y. (2015). Kibana Essentials. Birmingham: Packt Publishing Ltd.

Guy Harrison, S. F. (2006). MySQL Stored Procedure Programming. Sebastopol:

O'Reilly Media.

Halili, E. (2008). Apache Jmeter. Birmingham: Packt Publishing Ltd.

Haviv, A. (2014). MEAN Web Development. Birmingham: Packt Publishing Ltd.

JSON. (s.f.). Recuperado el 09 de Noviembre de 2015, de http://www.json.org/

kankanamge, C. (2012). Web Service Testing with soapUI. Birmingham: Pack

Publishing Ltd.

Khedher, O. (2015). Mastering Open Stack. Birmingham: Packt Publishing Ltd.

Kreps, J. (2015). I love logs. Sebastopol: O'Reilly.

Marchioni, F. (2011). Jboss As 7 Configuration Deployment and Administration.

Birmingham: Packt Publishing.

Masoud Kalali, B. M. (2013). Developing RESTful Services with JAX-RS 2.0,

WebSockets and JSON . Birmingham: Packt Publishing.

mastertheboss. (s.f.). Recuperado el 11 de Noviembre de 2015, de

http://www.mastertheboss.com/jboss-server/jboss-configuration/what-is-

jboss

Minera, F. (2011). PHP Avanzado. USERS, 400.

Morrison, L. B. (2009). Head First PHP & MySQL. Sebastopol: O’Reilly Media.

Netbeans. (s.f.). Recuperado el 11 de Noviembre de 2015, de

https://netbeans.org/downloads/

Oracle. (s.f.). Oracle Java Documentation. Recuperado el 09 de Noviembre de

2015, de

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

Paro, A. (2015). ElasticSearch Cookbook Second Edition. Birmingham: Packt

Publishing Ltd.

Real Academica de la Lengua. (s.f.). Recuperado el 15 de Noviembre de 2015, de

http://lema.rae.es/dpd/srv/search?id=79HjiY8E1D68S0oGfe

Rubin, K. (2013). Essential Scrum. Michigan: Pearson Education.

Singh, P. K. (2011). Introduction to Computer Networks. New Delhi: V. K. (India

Enterprise).

Tong, C. G. (2015). ElasticSearch: The Definitive Guide. Sebastopol: O’Reilly

Media, Inc.

Turnbull, J. (2013). The logstash book.

w3c. (s.f.). Recuperado el 15 de noviembre de 2015, de

http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb

Wielenga, G. (2015). Beginning Netbeans IDE: For Java Developers. New York:

Apress Media.

Page 106: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

87

ANEXOS

Captura de pantalla del Cronograma del proyecto

Page 107: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

88

Encuesta Realizada

Encuesta sobre la capa media de servicios java y componente de monitoreo

1. ¿Cuántos dispositivos móviles posee (smartphones, tablets)?

Ninguno

Uno

Dos o más

2. ¿Qué tipo de sistema operativo posee su dispositivo móvil?

Android

Windows Phone

iOS

Otros

3. ¿Considera usted que es importante que una aplicación tenga una capa que le permita comunicarse con los dispositivos móviles?

Si

No

4. ¿Cómo calificaría el funcionamiento de la capa media de servicios desplegada en el ambiente de desarrollo?

Excelente

Bueno

Regular

Malo

Muy malo

5. ¿Cómo calificaría el funcionamiento de la capa media de servicios desplegada en el ambiente de producción?

Excelente

Bueno

Regular

Page 108: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

89

Malo

Muy malo

6. ¿Cree usted que se debe tener un sistema monitoreo permitirá conocer comportamiento y el estado de la capa de servicios para verificar si existen problemas?

Si

No

7. ¿Considera usted que tener un tablero (dashboard) con gráficos de barra o pastel sobre los errores y éxitos de transacciones puede ayudar a un área de producción en la administración de la capa media de servicios?

Totalmente de acuerdo

De acuerdo

En desacuerdo

Totalmente en desacuerdo

Page 109: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

90

Sección del manual de usuario del SEC

Pasos para realizar el consumo del SEC con REST/JSON

Abrir la aplicación soapui

Escoger la opción Rest

Gráfico 1 Especificar REST para el SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Aparecerá la venta New Rest Project, en la caja de texto URI colocar la ruta del

servicio web

http://192.168.100.11:9080/consultasJPA/rest/servicioConsultas

Gráfico 2 URL del SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 110: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

91

Luego se nos mostrara la ventana de request, aquí seleccionamos en la opción

Method: POST, en la opción Media Type especificamos: application/json.

Gráfico 3 Especificar post y json para el SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En el área de texto especificamos el json que del servicio que deseamos enviar:

{ "datosServicio": { "dataSource": "jdbc/saug",

"idServicio": "6", "usuario": "PRUEBA", "clave": "Abc123", "parametrosConsulta": { "parametros": { "nombre": "Héctor" } } } }

El json consta de los siguientes elementos:

dataSource.- Es el jndi que identifica a la base de datos donde se ejecutara

la consulta

idServicio.- Es el identificador del servicio que deseamos ejecutar

usuario.- Es el usuario del servicio.

clave.- Es la clave del usuario del servicio

Page 111: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

92

parametrosConsultas.- Dentro de este elemento se especificara el un arreglo

de parámetros de entrada para el servicio que se desea ejecutar.

Una vez especificado el json de request, procederemos a presionar el botón

play, y el resultado la ejecución del servicio podremos observarlo en el área de

texto del response.

{"respuestaServicio": {

"codigoRespuesta": "0", "mensajeRespuesta": "EXITO", "estado": "F", "respuestaConsulta": {"elementos": {"mielemento": [ { "id_persona": "1", "nombre": "Héctor", "apellido": "ortega", "fecha_nacimiento": "1990-01-27 00:00:00", "fecha_nacimiento2": "1990-01-27 00:00:00.0", "sueldo": "20.24",

"sueldo2": "12.56" }, { "id_persona": "2", "nombre": "Héctor ", "apellido": "gonzalez", "fecha_nacimiento": "2012-01-27 00:00:00", "fecha_nacimiento2": "", "sueldo": "5000.24", "sueldo2": "12.30" } ]}},

"idHistorial": "528" }}

La respuesta JSON tendrá los siguientes elementos:

codigoRespuesta.- Es el código que indica si la respuesta fue exitosa o

no.

mensajeRespuesta: Es el mensaje que indica ÉXITO si es que no se

presentó ningún inconveniente y caso contrario el detalle del error que se

ha generado.

Page 112: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

93

Estado: Devolverá el valor F si es que no se generó algún inconveniente

caso contrario tendrá valor A.

respuestaConsulta: Contiene los registro que retorno la consulta

ejecutada.

idHistorial: Retorna el id que representa a la transacción en la tabla

histórica.

Gráfico 4 Request y Response del SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 113: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

94

Sección del manual de usuario del SEP

Pasos para realizar el consumo del SEP con REST/JSON

Abrir la aplicación soapui

Escoger la opción Rest

Gráfico 5 Opción REST de soapui

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Aparecerá la venta New Rest Project, en la caja de texto URI colocar la ruta del

servicio web

http://192.168.100.11:9080/consultasJPA/rest/servicioConsultas

Gráfico 6 URL para nuevo proyecto REST

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 114: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

95

Luego se nos mostrará la ventana de request, aquí seleccionamos en la opción

Method: POST, en la opción Media Type especificamos: application/json.

Gráfico 7 Especificación DE POST y JSON del SEP

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En el área de texto especificamos el JSON que del servicio que deseamos enviar:

{ "datosServicio": {

"dataSource": "jdbc/saugProc",

"idServicio": "17",

"usuario": "MiUserPrueba",

"clave": "Abc123",

"parametrosObjeto": {

"parametros": {

"nombre_servicio": "prueba ",

"descripcion_servicio": "prueba ",

"pc_xml": {

"raiz": { "elemento": "valor" } } } } }}

El JSON consta de los siguientes elementos:

dataSource.- Es el jndi que identifica a la base de datos donde se ejecutara la

el procedimiento almacenado

idServicio.- Es el identificador del servicio que deseamos ejecutar

Page 115: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

96

usuario.- Es el usuario del servicio.

clave.- Es la clave del usuario del servicio

parametrosObjeto.- Dentro de este elemento se especificara el un arreglo de

parámetros de entrada para el servicio que se desea ejecutar.

Una vez especificado el JSON de request, procederemos a presionar el botón

play, y el resultado la ejecución del servicio podremos observarlo en el área de

texto del response.

{"respuestaServicio": {

"codigoRespuesta": "0",

"mensajeRespuesta": "EXITO",

"estado": "F",

"resultadoObjeto": {

"codigo_salida": "0",

"mensaje_salida": "Exito",

"px_xml_salida": {"raiz": {"elemento": "valor"}}

},

"idHistorico": "278784"

}}

La respuesta JSON tendrá los siguientes elementos:

codigoRespuesta.- Es el código que indica si la respuesta fue exitosa o no.

mensajeRespuesta: Es el mensaje que indica ÉXITO si es que no se

presentó ningún inconveniente y caso contrario el detalle del error que se

ha generado.

Estado: Devolverá el valor F si es que no se generó algún inconveniente

caso contrario tendrá valor A.

resultadoObjeto: Contiene los parámetros de salida del procedimiento

almacenado que se ejecutó.

idHistorial: Retorna el id que representa a la transacción en la tabla

histórica.

Page 116: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

97

Gráfico 8 Request y Response del SEP

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 117: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

98

Sección del manual de usuario del Componente de

Monitoreo

Logstash

Instalación de logstash en servidor centos 6.5

1. Subir el archivo logstash-1.5.4-1.noarch.rpm a través de ftp en un directorio

en el servidor con centos por ejemplo /home/documentos/logstash

2. Conectarse a través del putty y ubicarse en el directorio donde se

encuentra el archivo logstash-1.5.4-1.noarch.rpm

3. Ejecutar el comando

4. sudo rpm -ivh logstash-forwarder-0.3.1-1.x86_64.rpm

Gráfico 9 Configuración del putty para acceder al servidor

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 118: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

99

5. Se creara la ruta: /etc/logstash. En donde debemos especificar la

configuración para lectura de archivo que deseamos que logstash ejecute

un ejemplo de nombre archivo es: conf.d

6. Iniciar el servicio de logstash a través del comando:

sudo service logstash start

7. Para verificar que logstash esté funcionando ejecutar el comando

sudo service logstash status

Gráfico 10 Verificación de estado de logstash

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 119: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

100

Instalación de logstash en Windows

1. Descomprimir el archivo logstash-1.5.4.zip en una ruta por ejemplo

C:\logstash\logstash-1.5.4

2. Para ejecutar logstash abrir una consola de línea de comandos cmd

3. Ir a la ruta donde se descomprimió los archivos por ejemplo:

C:\logstash\logstash-1.5.4\bin

4. Ejecutar el comando logstash.bat y enviar como parámetro el archivo de

configuración y especificación de la tablas que deseamos leer

logstash agent --config C:\libreria\conexionBaseProcedimiento.conf

Gráfico 11 Ejecución de logstash en Windows

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Archivos de configuración para logstash

Logstash necesita archivos de configuración para funcionar, los cuales debemos

crearlos en una ruta para mantener una organización como detallaremos a

continuación

1. Definir una ruta donde se guardaran los archivos

2. Crear el archivo de configuración para logstash por ejemplo

configuraciónProcedimiento.conf

3. Crear el archivo con la consulta que se ejecutará en la base por ejemplo

consultaProcedimiento.sql

Page 120: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

101

4. Copiar el archivo jar con el driver de conexión de la base de datos por

ejemplo sqljbc4

Gráfico 12 Archivos e configuración para logstash

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 121: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

102

Configuración Logstash para leer datos.

Para el ejecutar logstash debemos crear un archivo de configuración en donde

especificaremos tres opciones

Input.- Es de donde obtendremos la información ya sea de una tabla o de

un archivo

Filter.- Permite aplicar transformaciones a los datos que se obtienen del

input

Output.- Define donde se guardaran los datos que se sacaron del input

Configuración para cargar datos desde una tabla en

logstash

Para obtener datos de una tabla el input debemos especificar la opción jdbc y los

siguientes parámetros

jdbc_connection_string.- Se debe especificar la url de conexión hacia la

base de datos que deseamos conectarnos

jdbc_user.- Usuario de base de datos

jdbc_password.- Clave del usuario

jdbc_driver_library.- Especificar la ruta donde se encuentra el jar que tiene

el driver de conexión jdbc para la base de datos que nos deseamos

conectar

jdbc_driver_class.- Detallar la Clase que es el driver de conexión

statement_filepath.- indicar la ruta donde del archivo que tiene la consulta

que se ejecutará en la base de datos

Schedule.- Indicar cada cuanto tiempo se debe ejecutar la consulta

En el filter especificamos la opción date y los siguientes parámetros:

Match.- permite especificar el campo fecha y sus formato en año mes día,

hora minuto y segundo

Page 122: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

103

En el output detallamos la opción elasticsearch con los siguientes parámetros:

Protocol.- Especificar el protocolo http

Index.- Indicar el índice de elasticsearch donde se guardara la información

document_type.- Especificar el tipo de documento donde se guarda la

información

document_id.- Especificar el campo del registro que servirá como id dentro

del documento

host.- permite detallar la ip donde se encuentra instalado elasticsearch

Adicionalmente como parte del output podemos definir la opción stdout que nos

mostrara la información que se está procesando y nos permitirá hacer

depuraciones.

Ejemplo de configuración para leer una tabla con logstash

input { jdbc { jdbc_connection_string => "jdbc:sqlserver://192.168.100.10:1433;DatabaseName=saug"

jdbc_user => "consultasLogstash" jdbc_password =>"20stash15" jdbc_driver_library => "C:/libreria/sqljdbc4.jar" jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver" statement_filepath => "C:/libreria/consulta2.sql" schedule => "* * * * *" }} filter{ date{ match => [ "fecha_ingreso_historial" , "yyyy-MM-dd HH:mm:ss Z" ]

}} output { stdout { codec => rubydebug } elasticsearch { protocol => http index => "consultas" document_type => "historial" document_id => "%{id_historial}" host => "192.168.100.17" }}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 123: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

104

Configuración para cargar datos desde un archivo en logstash

Para obtener datos de una tabla el input debemos especificar la opción file y los

siguientes parámetros

path.- Se debe especificar la ruta del archivo que se dese leer

start_position.- detallar si se dese leer el archivo desde el principio

En el filter especificamos la grok con los siguientes parámetros:

patterns_dir.- ruta del archivo que tiene patrones

match.- Nombre del patrón que permitirá identificar las líneas del archivo

Otra opción de filter que debemos especificar es date con los siguientes

parametros:

Match .- Permite especificar el campo del archivo que tiene la fecha con la

que deseamos registrar la información

Locale.- permite especificar el idioma con el que se leerá la fecha.

En el output detallamos la opción elasticsearch con los siguientes parámetros:

Protocol.- Especificar el protocolo http

Index.- Indicar el índice de elasticsearch donde se guardara la información

document_type.- Especificar el tipo de documento donde se guarda la

informacion

document_id.- Especificar el campo del registro que servirá como id dentro

del documento

host.- permite detallar la ip donde se encuentra instalado elasticsearch

Adicionalmente como parte del output podemos definir la opción stdout que nos

mostrara la información que se está procesando y nos permitirá hacer

depuraciones.

Page 124: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

105

Ejemplo de configuración para leer un archivo

input{ file{ path => "/opt/jboss-as-7.1.1.Final/standalone/log/access_log." start_position => "beginning" } } filter { grok { patterns_dir => "/opt/jboss-as-7.1.1.Final/Documentos/patrones" match => [ "message", "%{NEWAPACHELOG}"] } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]

locale => "en" }} output{ stdout {codec=>rubydebug} elasticsearch { protocol => "http" host => "192.168.100.17:9200" index => "logapache" document_type => "access" }}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 125: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

106

Elasticsearch

Instalación de elasticsearch en Windows como servicio

1. Descomprimir el archivo elasticsearch-1.6.0.zip en un directorio

denominado:

C:\elasticsearch\elasticsearch-1.6.0

2. Una vez descomprimido ejecutaremos el archivo

3. C:\elasticsearch\elasticsearch-1.6.0>service install

4. Una vez terminada la ejecución podremos ver a elasticsearch entre los

servicios del sistema

Gráfico 13 Servicio elasticserach

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 126: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

107

Pasos para configura un nuevo índice en elasticsearch

Para administrar de elasticsearch desde el navegador Firefox instalaremos el

plugin denominado rest client

Gráfico 14 Plugin Rest Client en firefox

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Una vez instalado el plugin rest client es

1. Especificar el nombre del índice que deseamos crear

2. Escoger el método POST

3. Detallar el mapeo del índice que vamos a crear

Page 127: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

108

Gráfico 15 Especificación de Índices y mapeos elasticesearch

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 128: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

109

Kibana

Instalación de kibana como servicio en windows

Para instalar Kibana como servicio utilizaremos el programa denominado NSSM

(The Non Sucking Service Manager).

Descomprimir el archivo kibana-4.1.2-windows.zip en la c:\kibana\kibana-4.1.2-

windows\

El archivo ejecutable nssm.exe lo debemos copiar en la carpeta bin de Kibana

C:\kibana\kibana-4.1.2-windows\bin

Luego desde línea de comandos ejecutamos el archivo nssm.exe

Gráfico 16 Instalación de kibana como servicio

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Nos aparecerá una pantalla en donde debemos especificar los campos

Path: Especificar l ruta donde se encuentra el ejecutable de kibana por ejemplo

c:\kibana\kibana-4.1.2-windows\bin\kibana.bat

Startup directory: especificar la ruta raíz donde se encuentra instalado kibana

c:\kibana\kibana-4.1.2-windows\bin\

Page 129: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

110

Gráfico 17 Editor de servicio

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En la pestaña de dependencias debemos especificar el servicio que se debe ejecutar antes de iniciar Kibana, aquí escribiremos el nombre del servicio de elasticsearch

Gráfico 18 Dependencias de servicio

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En la pestaña I/O, especificáremos lo nombres de los archivos de bitácora para la

entrada, salida y error del servicio

Page 130: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

111

Gráfico 19 bitácoras de entrada, salida y error del servicio Kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

El último paso que debemos realizar es es presionar el botón edit service y se

creará nuestro servicio

Pasos para configurar un nuevo índice en Kibana

Abrir un navegador y escribir la url en la barra de direcciones:

http://192.168.100.17:5601

1. En la pantalla principal escoger la opción setting

2. Luego especificar el índice que deseamos agregar

3. Por último presionar el botón créate

Page 131: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

112

Gráfico 20 Creación de nuevo Índice en kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Para verificar si el índice se creó de manera correcta debemos buscarlo en el

menú de índices de la opción settings

Gráfico 21 Índices creados en Kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 132: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

113

Pasos para Descubrir un índice

Acceder a la siguiente url través de un navegador

http://192.168.100.17:5601

Se abrirá la pantalla principal del programa kibana, en esta pantalla presionamos

la opción discover y luego escogemos el índice que deseamos revisar. En este

caso el índice logapache

Gráfico 22 Descubrir índices en kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Luego de escoger el índice logapache aparecerá un gráfico de barras que nos

mostrara la cantidad de peticiones que se han realizado hacia el servidor jboss y

que se encuentran registradas en la bitácora denominada access_log

Page 133: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

114

Gráfico 23 Grafico y opciones para descubrir índice en kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 134: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

115

Pasos Para Crear una nueva visualización

Acceder a la siguiente URL través de un navegador

http://192.168.100.17:5601

En la pantalla presionar la opción visualizar y luego seleccionar el tipo de

visualización

Gráfico 24 Generar nueva visualización en kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 135: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

116

Escoger el índice del cual se desea generar la visualización en la opción

Gráfico 25 Selección de índice del cual se va a generar la visualización

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En la opción de buckets presionar la el icono Split slices

Gráfico 26 Opciones split slices de una visualización

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 136: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

117

Una vez presionado la opción Split Slices debemos especificar:

1. El tiempo que desde el cual se va a tomar información para generar el

gráfico

2. Escoger el tipo de agregación que se va a utilizar

3. Especificar el campo sobre el cual se desea generar el gráfico

Gráfico 27 Visualización con opción de tiempo agregación y campo

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 137: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

118

Pasos para crear un nuevo dashboard

Acceder a la siguiente url a través de un navegador

http://192.168.100.17:5601

Luego de dar click en la opción Dashboard realizar lo siguiente:

1. Escoger la opción agregar la visualización

2. Seleccionar la visualización que deseamos agregar al nuevo tablero

3. Una vez seleccionada la visualización, aparece en el espacio de trabajo

del tablero

Gráfico 28 Creación de un Nuevo Dashboard

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 138: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

119

Pasos para guardar un DashBoard

Una vez creado el tablero si deseamos guardarlos debemos realizar los siguientes

pasos

1. Presionar el botón guardar

2. Especificar el nombre del nuevo tablero

3. Dar click en guardar

Gráfico 29 Guardar un dashboard

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 139: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

120

Pasos para ver un DashBoard

Ingresar a un navegador y escribir la siguiente ruta en la barra de direcciones:

http://192.168.100.17:5601

Dar click en la opción Dashboard

Gráfico 30 Opción de dashboard en kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 140: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

121

Dar click en la opción cargar dashboard guardados y escoger el tablero

que deseamos ver

Gráfico 31 Opción para abrir un dashboard

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Una vez selecciona nos aparecerá nuestro tablero con las visualizaciones que es

se encuentren configuradas

Gráfico 32 Dashboard abierto con sus distintas visualizaciones

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 141: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

122

Entre las visualizaciones configuradas tenemos:

Gráficos de barras para obtener el top de direcciones ip clientes del

servicio.

Gráfico de línea sobre el tiempo mínimo de respuesta de peticiones

realizadas contra el servidor de aplicaciones jboss.

Gráfico de pastel sobre el recurso (URL) más solicitada del servidor de

aplicaciones jboss

Gráfico 33 Gráfico de barras de top de direcciones ip de clientes

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 142: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

123

Gráfico 34 Gráfico de barras del tiempo mínimo de respuesta

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 35 Gráfico de recursos más solicitudes en el servidor de aplicaciones

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 143: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

124

Si deseamos cambiar el rango de tiempo de dashboard, debemos presionar la

opción que tiene el icono de reloj en la parte superior derecha de la pantalla

de kibana.

Luego de presionar la opción de tiempo, podremos seleccionar un rango de tiempo

rápido, relativo o absoluto

Rápido.- Son tiempos predefinidos

Relativo.- Permite especificar un rango con una fecha desde hasta el

tiempo actual

Absoluto.- Permite especificar un rango con fecha desde y una fecha hasta

Gráfico 36 Tiempo rápido de kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 37 Tiempo relativo de kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 144: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

125

Gráfico 38 Tiempo Absoluto de kibana

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 145: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

ESTUDIO DE FACTIBILIDAD PARA LA PROPUESTA “FRAMEWORK DE

TRABAJO PARA PROYECTOS DE TITULACIÓN APLICANDO

METODOLOGÍA SCRUM EN LA INGENIERÍA DE SOFTWARE”.

ENFOCADO A LA ARQUITECTURA DE CAPA DE NEGOCIO

DESARROLLANDO SERVICIOS WEB DESTINADOS A PROCESAR

REQUERIMIENTOS DE DISPOSITIVOS

MÓVILES Y PROPORCIONANDO

UNA APLICACIÓN DE

MONITOREO DE

BITÁCORAS

Manual de Usuario y Técnico

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: HÉCTOR ANDRÉS ORTEGA GONZÁLEZ

TUTOR: LSI. OSCAR APOLINARIO.

GUAYAQUIL – ECUADOR

2015

Page 146: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

2

MANUAL DE USUARIO DEL

SEC

Facultad de Matemáticas y Físicas

Carrera Ingeniería en Sistemas Computacionales

Page 147: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

3

TABLA DE CONTENIDO

Objetivo ................................................................................................................... 6

Explicación de las Tablas .................................................................................. 6

Definición de la tabla sec_grupos_servicios .............................................. 6

Definición de la tabla sec_historial_consultas ........................................... 7

Definición de la tabla sec_consultas ........................................................... 8

Definición de la tabla sec_servicios............................................................. 9

Definición de la tabla sec_roles .................................................................. 10

Definición de la tabla sec_servicios_roles ................................................ 10

Definición de la tabla sec_servicios_usuarios ......................................... 11

Definición de la tabla sec_usuarios ........................................................... 11

Definición de la tabla sec_usuarios_roles ................................................ 12

Configuración de un nuevo Servicio ............................................................. 12

Configuración de Servicio de Consultas ................................................... 12

Configuración de Servicio Automático ...................................................... 12

Requisitos necesarios para activar el Servicio......................................... 14

Configuración de un nuevo usuario con encriptación. ............................... 15

Configuración password Encriptado con 3DES ....................................... 15

Configuración password Encriptado con BLOWFISH ............................. 16

Verificación que el Servicio se encuentre configurado y activo. ............... 16

Prueba del nuevo servicio haciendo uso del soapui ............................... 16

Revisión de Bitácora por éxito y por error en tablas y en log de archivo . 17

Pasos para realizar el consumo del SEC con REST/JSON ..................... 18

Errores comunes .............................................................................................. 23

Page 148: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

4

INDICE DE GRAFICOS

GRÁFICO 1 Tabla sec_grupos_servicios ............................................................ 6

GRÁFICO 2 Tabla sec_historial_consultas ......................................................... 7

GRÁFICO 3 Tabla sec_consultas ......................................................................... 8

GRÁFICO 4 Tabla sec_servicios .......................................................................... 9

GRÁFICO 5 Tabla sec_roles ............................................................................... 10

GRÁFICO 6 Tabla sec_servicios_roles ............................................................. 10

GRÁFICO 7 Tabla sec_servicios_usuarios ....................................................... 11

GRÁFICO 8 Tabla sec_usuarios ......................................................................... 11

GRÁFICO 9 Tabla sec_usuarios_roles .............................................................. 12

GRÁFICO 10 Ejecución de un servicio de consulta ........................................ 17

GRÁFICO 11 Especificar REST para el SEC ..................................................... 18

GRÁFICO 12 URL del SEC .................................................................................. 19

GRÁFICO 13 Especificar post y json para el SEC .......................................... 19

GRÁFICO 14 Request y Response del SEC ...................................................... 22

Page 149: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

5

INDICE DE CUADRO

CUADRO 1 Parámetros del SEC......................................................................... 13

Page 150: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

6

Objetivo

Presentar una guía sencilla para el usuario explicando el funcionamiento del

servicio web del SEC (Servicio Ejecuta Consultas) y las configuraciones

necesarias para el correcto funcionamiento.

Explicación de las Tablas

A continuación se detallan las tablas usadas en el SEC con sus respectivas

definiciones:

Definición de la tabla sec_grupos_servicios

Esta tabla agrupa los servicios para tener una administración de las

configuraciones de consultas que se encuentren activos.

GRÁFICO 1 Tabla sec_grupos_servicios

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 151: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

7

Definición de la tabla sec_historial_consultas

Esta tabla graba un registro de las ejecuciones realizadas al SEC, aquí se

grabara la información de los parámetros recibidos y los parámetros

devueltos así como si la ejecución fue exitosa o no.

GRÁFICO 2 Tabla sec_historial_consultas

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 152: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

8

Definición de la tabla sec_consultas

En esta tabla se encuentra las consultas configuradas con sus parámetros,

la cantidad de parámetros que se configuran.

GRÁFICO 3 Tabla sec_consultas

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 153: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

9

Definición de la tabla sec_servicios

En esta tabla tendremos las configuraciones de cada uno de los servicios

de consultas.

GRÁFICO 4 Tabla sec_servicios

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 154: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

10

Definición de la tabla sec_roles

En esta tabla tendremos las configuraciones de los roles.

GRÁFICO 5 Tabla sec_roles

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Definición de la tabla sec_servicios_roles

En esta tabla tendremos las configuraciones de los roles, asignados a un

servicio.

GRÁFICO 6 Tabla sec_servicios_roles

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 155: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

11

Definición de la tabla sec_servicios_usuarios

En esta tabla tendremos las configuraciones de los usuarios, asignados a

un servicio.

GRÁFICO 7 Tabla sec_servicios_usuarios

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Definición de la tabla sec_usuarios

En esta tabla tendremos las configuraciones de los usuarios.

GRÁFICO 8 Tabla sec_usuarios

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 156: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

12

Definición de la tabla sec_usuarios_roles

En esta tabla tendremos las configuraciones de los usuarios

asigandos a un rol.

GRÁFICO 9 Tabla sec_usuarios_roles

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Configuración de un nuevo Servicio

Se configuraran los servicios de consultas de forma automática.

Configuración de Servicio de Consultas

Para realizar la configuración manualmente debemos seguir el siguiente

orden de inserción en las tablas:

procedimiento.crea_servicio_consulta

Configuración de Servicio Automático

Para configurar un nuevo servicio de manera automática es necesario

ejecutar el siguiente procedimiento almacenado: crea_servicio_consulta

Page 157: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

13

A continuación se explica los parámetros de entrada para la ejecución del

procedimiento:

CUADRO 1 Parámetros del SEC

Parámetros de Entrada del SEC

crea_servicio_consulta

Nombre Descripción

@nombre_servicio Ingresar el nombre con el cual identificaremos al

servicio.

@descripcion_servicio Ingresar una descripción del Servicio a

configurar.

@nombre_consulta Se deberá ingresar el nombre de la consulta que

se requiera configurar.

@descripcion_consulta Descripción de la consulta almacenada.

@consulta Query de la consulta con sus respectivos

parámetros

@cantidad_parametros Cantidad de parámetros a configurar de 0 a n

parámetros con símbolo ?

@id_grupo Id del grupo al que se va a pertenecer el servicio.

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Page 158: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

14

Se adjunta ejemplo de ejecución del procedimiento almacenado.

USE [saugTemporal]

GO DECLARE @return_value int, @id_servicio int, @id_consulta int,

@codigo_salida int, @mensaje_salida varchar(200) EXEC @return_value = [dbo].[crea_servicio_consulta] @nombre_servicio = N'Notas',

@descripcion_servicio = N'Notas del Estudiante', @nombre_consulta = N'Notas', @descripcion_consulta = N'devuelve Notas', @consulta = N'select nombre from estudiante where id = ?', @cantidad_parametros = 1,

@id_grupo = 2, @id_servicio = @id_servicio OUTPUT, @id_consulta = @id_consulta OUTPUT, @codigo_salida = @codigo_salida OUTPUT, @mensaje_salida = @mensaje_salida OUTPUT

SELECT @id_servicio as N'@id_servicio', @id_consulta as N'@id_consulta', @codigo_salida as N'@codigo_salida', @mensaje_salida as N'@mensaje_salida'

SELECT 'Return Value' = @return_value GO

Requisitos necesarios para activar el Servicio

Al terminar el registro del servicio se deberá dar el grant del la consulta que

se configuro.

A continuación se detalla la sentencia a ejecutar:

grant execute on nombre_tabla to nombre_de_usuario;

Page 159: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

15

Configuración de un nuevo usuario con encriptación.

Existen dos métodos para la encriptación del password de los usuarios, se

detalla cada uno de ellos, aunque el que se usa es el 3DES.

Configuración password Encriptado con 3DES

Para Encriptar el password del usuario con el método 3DES se debe

ejecutar mediante consola la librería saug_1_0.jar.

La línea de ejecución en el CMD es la siguiente:

java -jar saug_1_0.jar "D" "ClaveEnClaro" "91BA835FD6CD6A1C"

"D59B3CA154FC1BCE" "D59B3CA154FC1BCE"

A continuación se detalla cada parámetro para la ejecución de la librería

por consola:

Primer Parámetro.- Indica el tipo de encriptación, deberá ir el valor

“D” que indica que es 3DES

Segundo Parámetro.- Deberá ir la clave que se requiere encriptar.

Tercer Parámetro.- Llave 1 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Cuarto Parámetro.- Llave 2 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Quinto Parámetro.- Llave 3 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Page 160: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

16

Configuración password Encriptado con BLOWFISH Para Encriptar el password del usuario con el método blowfish se debe

ejecutar mediante consola la librería saug_1_0.jar.

La línea de ejecución en el CMD es la siguiente:

java -jar saug_1_0.jar "B" "claveEnClaro" "1jherp9jnfrjqp"

"1fgt7uj8"

A continuación se detalla cada parámetro para la ejecución de la librería

por consola:

Primer Parámetro.- Indica el tipo de encriptación, deberá ir el valor

“B” que indica que es blowfish.

Segundo Parámetro.- Deberá ir la clave que se requiere encriptar.

Tercer Parámetro.- Llave 1 de encriptación, la longitud máxima es

de 14 caracteres.

Cuarto Parámetro.- Llave 2 de encriptación, la longitud es de 8

caracteres.

Verificación que el Servicio se encuentre configurado y

activo.

Prueba del nuevo servicio haciendo uso del soapui

Cuando el servicio este configurado en las tablas del SEC, se deberá

realizar la prueba con la herramienta SOAPUI, a continuación se anexa un

ejemplo de la ejecución del servicio:

Page 161: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

17

GRÁFICO 10 Ejecución de un servicio de consulta

Elaborado por: José Luis Sosa Barzola

Fuente: Datos del proyecto

Revisión de Bitácora por éxito y por error en tablas y en

log de archivo

Para la revisión de las bitácoras en las tablas del SEC se debe distinguir por los

siguientes querys:

Revisión por éxito

select * from saug.consultas.sec_historial_consultas where codigo_respuesta = 0

Revisión por error

select * from saug.consultas.sec_historial_consultas where codigo_respuesta != 0

Para la revisión de las bitácoras en el archivo log del SEC, se deberá tomar en

cuenta los siguientes parámetros:

Ruta del Archivo: /aplicaciones/secjpa/logs

Page 162: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

18

Nombre del Archivo: secjpa.log

Sección del manual de usuario del SEC

Pasos para realizar el consumo del SEC con REST/JSON

Abrir la aplicación soapui y Escoger la opción Rest

GRÁFICO 11 Especificar REST para el SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Aparecerá la venta New Rest Project, en la caja de texto URI colocar la ruta del

servicio web

http://192.168.100.11:9080/consultasJPA/rest/servicioConsultas

Page 163: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

19

GRÁFICO 12 URL del SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Luego se nos mostrara la ventana de request, aquí seleccionamos en la opción

Method: POST, en la opcion Media Type especificamos: application/json.

GRÁFICO 13 Especificar post y json para el SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 164: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

20

En el área de texto especificamos el json que del servicio que deseamos enviar:

{

"datosServicio": {

"dataSource": "jdbc/saug",

"idServicio": "6",

"usuario": "PRUEBA",

"clave": "Abc123",

"parametrosConsulta": {

"parametros": { "nombre": "Héctor" }

}

}}

El json consta de los siguientes elementos:

dataSource.- Es el jndi que identifica a la base de datos donde se

ejecutara la consulta

idServicio.- Es el identificador del servicio que deseamos ejecutar

usuario.- Es el usuario del servicio.

clave.- Es la clave del usuario del servicio

parametrosConsultas.- Dentro de este elemento se especificara el un

arreglo de parámetros de entrada para el servicio que se desea

ejecutar.

Una vez especificado el json de request, procederemos a presionar el

botón play, y el resultado la ejecución del servicio podremos observarlo en

el área detexto del response.

Page 165: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

21

{"respuestaServicio": {

"codigoRespuesta": "0",

"mensajeRespuesta": "EXITO",

"estado": "F",

"respuestaConsulta": {"elementos": {"mielemento": [

{

"id_persona": "1",

"nombre": "Héctor",

"apellido": "ortega",

"fecha_nacimiento": "1990-01-27 00:00:00",

"fecha_nacimiento2": "1990-01-27 00:00:00.0",

"sueldo": "20.24",

"sueldo2": "12.56"

},

{

"id_persona": "2",

"nombre": "Héctor ",

"apellido": "gonzalez",

"fecha_nacimiento": "2012-01-27 00:00:00",

"fecha_nacimiento2": "",

"sueldo": "5000.24",

"sueldo2": "12.30"

}

]}},

"idHistorial": "528"

}}

Page 166: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

22

La respuesta JSON tendrá los siguientes elementos:

codigoRespuesta.- Es el código que indica si la respuesta fue exitosa o

no.

mensajeRespuesta: Es el mensaje que indica ÉXITO si es que no se

presentó ningún inconveniente y caso contrario el detalle del error que se

ha generado.

Estado: Devolverá el valor F si es que no se generó algún inconveniente

caso contrario tendrá valor A.

respuestaConsulta: Contiene los registro que retorno la consulta

ejecutada.

idHistorial: Retorna el id que representa a la transacción en la tabla

histórica.

GRÁFICO 14 Request y Response del SEC

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 167: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

23

Errores comunes

A continuación se presentan los errores comunes al trabajar con los servicios del

SEC.

No se dieron los permisos al usuario.

No se encuentra configurado correctamente el dataSource.

Están enviando la cantidad de parámetros incorrectos.

Se configuro mal los parámetros no incluyendo el ?

Page 168: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

24

MANUAL TÉCNICO DEL SEC

Facultad de Matemáticas y Físicas

Carrera Ingeniería en Sistemas Computacionales

Page 169: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

25

Tabla de Contenido

Tabla de Contenido .............................................................................................. 25

INDICE DE GRÁFICOS ......................................................................................... 26

INDICE DE CUADROS .......................................................................................... 27

Objetivo del SEC .................................................................................................. 28

Descripción del Componente ............................................................................. 28

Especificaciones Técnicas .............................................................................. 28

Diagrama de Flujo ............................................................................................ 29

Descripciones de Estructuras ............................................................................ 34

Modelo Entidad Relación................................................................................. 34

Descripción de tablas ...................................................................................... 35

Descripción detallada de los campos ............................................................ 36

Procedimientos Almacenados ........................................................................ 41

Page 170: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

26

ÍNDICE DE GRÁFICOS

GRÁFICO 1 Diagrama general de componentes .............................................. 28

GRÁFICO 2 Diagrama de flujo del SEC ............................................................. 29

GRÁFICO 3 Diagrama de Clases ........................................................................ 30

GRÁFICO 4 Diagrama detallado de red ............................................................. 31

GRÁFICO 5 Diagrama actividades ......................................................................... 32

GRÁFICO 6 Diagrama de secuencias ................................................................ 33

GRÁFICO 7 Diagrama de estructuras ................................................................ 34

Page 171: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

27

ÍNDICE DE CUADROS

CUADRO 1 Descripción de las tablas ................................................................ 35

CUADRO 2 Descripción de la tabla sec_grupos_servicios ............................ 36

CUADRO 3 Descripción de la tabla sec_historial_consultas ......................... 37

CUADRO 4 Descripción de la tabla sec_consultas ........................................ 37

CUADRO 5 Descripción de la tabla sec_servicios........................................... 38

CUADRO 6 Descripción de la tabla sec_roles ................................................. 38

CUADRO 7 Descripción de la tabla sec_servicios_roles ................................ 39

CUADRO 8 Descripción de la tabla sec_servicios_usuarios ......................... 39

CUADRO 9 Descripción de la tabla sec_usuarios_roles ................................ 40

CUADRO 10 Descripción de la tabla sec_usuarios ......................................... 40

CUADRO 11 Descripción del procedimiento crea_servicio_consulta .......... 41

Page 172: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

28

Objetivo del SEC

El componente tiene como finalidad brindar un servicio que permita ejecutar

consultas a una base de datos. Estas consultas deben ser configuradas

previamente antes de poder ser utilizados.

Descripción del Componente

Especificaciones Técnicas

A continuación se detallan los requerimientos necesarios que requiere el

componente del Servicio de Ejecución de Consultas:

Java 7

Jboss AS 7.1

NetBeans 8.0.1

Diagrama general de componentes

GRÁFICO 1 Diagrama general de componentes

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 173: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

29

Diagrama de Flujo

GRÁFICO 2 Diagrama de flujo del SEC

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 174: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

30

UML Diagrama de Clases (Entidades JPA)

GRÁFICO 3 Diagrama de Clases

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 175: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

31

UML: Diagrama Detallado de Red

GRÁFICO 4 Diagrama detallado de red

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 176: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

32

UML Diagrama de Actividades

GRÁFICO 5 Diagrama actividades

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 177: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

33

UML Diagrama de Secuencias

GRÁFICO 6 Diagrama de secuencias

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 178: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

34

Descripciones de Estructuras

Modelo Entidad Relación

GRÁFICO 7 Diagrama de estructuras

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 179: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

35

Descripción de tablas

CUADRO 1 Descripción de las tablas

TABLA DESCRIPCIÓN

SEC_GRUPOS_SERVICIOS Permite definir el catálogo de grupos de

servicios.

SEC_HISTORIAL_CONSULTAS Bitácora de transacciones procesadas por

el Web Service

SEC_SERVICIOS Servicios que ejecutara el web service

SEC_SERVICIOS_USUARIOS Servicios por usuario

SEC_CONSULTAS Configuración de la consulta

SEC_USUARIOS Usuarios del servicio

SEC_SERVICIOS_ROLES Servicios por roles

SEC_USUARIOS_ROLES Usuario por Roles

SEC_ROLES Usuario por Roles

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 180: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

36

Descripción detallada de los campos

CUADRO 2 Descripción de la tabla sec_grupos_servicios

SEC_GRUPOS_SERVICIOS

CAMPO TIPO

PK ID_GRUPO INT

DESCRIPCIÓN VARCHAR

NOMBRE VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 181: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

37

CUADRO 3 Descripción de la tabla sec_historial_consultas

SEC_HISTORIAL_CONSULTAS

CAMPO TIPO

PK ID_HISTORIAL INT

ID_SERVICIO INT

ID_CONSULTA INT

FECHA_INGRESO_HISTORIAL DATETIME2

FECHA_INICIO_CONSULTA DATETIME2

FECHA_FIN_CONSULTA DATETIME2

FECHA_INICIO DATETIME2

FECHA_FIN DATETIME2

PARAMETROS_RECIBIDOS VARCHAR

RESPUESTA_RETORNADA VARCHAR

ESTADO VARCHAR

CODIGO_RESPUESTA INT

MENSAJE_RESPUESTA VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

CUADRO 4 Descripción de la tabla sec_consultas

SEC_CONSULTAS

CAMPO TIPO

PK ID_CONSULTA INT

NOMBRE VARCHAR

SENTENCIA VARCHAR

CANTIDAD_PARAMETROS VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 182: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

38

CUADRO 5 Descripción de la tabla sec_servicios

SEC_SERVICIOS

CAMPO TIPO

PK ID_SERVICIO INT

FK ID_GRUPO INT

NOMBRE VARCHAR

DESCRIPCION VARCHAR

FECHA_DESDE DATETIME2

FECHA_HASTA DATETIME2

ESTADO VARCHAR

AUTENTICACION VARCHAR

FORMATO_SALIDA VARCHAR

SEPARADOR_PARAMETRO VARCHAR

SEPARADOR_VALOR VARCHAR

SEPARADOR_REGISTRO VARCHAR

ETIQUETA_RAIZ VARCHAR

ETIQUETA_REGSTRO VARCHAR

FK ID_CONSULTA INT

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

CUADRO 6 Descripción de la tabla sec_roles

SEC_ROLES

CAMPO TIPO

PK ID_ROL INT

NOMBRE VARCHAR

DESCRIPCION VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 183: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

39

CUADRO 7 Descripción de la tabla sec_servicios_roles

SEC_SERVICIOS_ROLES

CAMPO TIPO

FK ID_ROL INT

FK ID_SERVICIO INT

FECHA_DESDE DATETIME2

FECHA_HASTA DATETIME2

ESTADO VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

CUADRO 8 Descripción de la tabla sec_servicios_usuarios

SEC_SERVICIOS_USUARIOS

CAMPO TIPO

FK ID_SERVICIO INT

FK ID_USUARIO INT

FECHA_DESDE DATETIME2

FECHA_HASTA DATETIME2

ESTADO VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 184: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

40

CUADRO 9 Descripción de la tabla sec_usuarios_roles

SEC_USUARIOS_ROLES

CAMPO TIPO

FK ID_ROL INT

FK ID_USUARIO INT

FECHA_DESDE DATETIME2

FECHA_HASTA DATETIME2

ESTADO VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

CUADRO 10 Descripción de la tabla sec_usuarios

SEC_USUARIOS

CAMPO TIPO

PK ID_USUARIO INT

NOMBRE VARCHAR

CLAVE VARCHAR

DESCRIPCION VARCHAR

FECHA_DESDE DATETIME2

FECHA_HASTA DATETIME2

ESTADO VARCHAR

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 185: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

41

Procedimientos Almacenados

CUADRO 11 Descripción del procedimiento crea_servicio_consulta

CREA_SERVICIO_CONSULTA

PARAMETROS TIPOS DESCRIPCION

NOMBRE_SERVICIO VARCHAR(50) Nombre del nuevo servicio.

DESCRIPCION_SERVICIO VARCHAR(2000) Breve descripción del

servicio.

NOMBRE_CONSULTA VARCHAR(50) Nombre de la consulta.

DESCRIPCION_CONSULTA VARCHAR(2000) Breve descripción de la

consulta.

CONSULTA VARCHAR(8000) Consulta sql

CANTIDAD_PARAMETROS INT Numero de parámetros

que recibe la consulta

ID_GRUPO INT Grupo al que pertenece el

servicio

ID_SERVICIO INT OUT Código del servicio

generado.

ID_CONSULTA INT OUT Código de la consulta

generado.

CODIGO_SALIDA INT OUT Código de ejecución de la

consulta.

MENSAJE_SALIDA VARCHAR(200)

OUT

Mensaje de ejecución de la

consulta.

Elaborado por: Ricardo Coello Quezada

Fuente: Datos del proyecto

Page 186: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

42

MANUAL DE USUARIO DEL

SEP

Facultad de Matemáticas y Físicas

Carrera Ingeniería en Sistemas Computacionales

Page 187: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

43

Tabla de contenido

Objetivo ................................................................................................................. 47

Explicación de las Tablas ................................................................................... 47

Definición de la tabla sep_grupos_servicios ............................................ 47

Definición de la tabla sep_historial_objetos ............................................. 48

Definición de la tabla sep_objetos_bd ....................................................... 49

Definición de la tabla sep_parametros_objetos_bd ................................. 49

Definición de la tabla sep_roles.................................................................. 50

Definición de la tabla sep_servicio_roles .................................................. 50

Definición de la tabla sep_servicio_usuarios ........................................... 51

Definición de la tabla sep_servicios .......................................................... 51

Definición de la tabla sep_tipos_datos ...................................................... 52

Definición de la tabla sep_usuarios ........................................................... 52

Configuración de Un nuevo Servicio................................................................. 53

Configuración de Servicio Manual ............................................................. 53

Configuración de Servicio Automático ...................................................... 54

Requisitos necesarios para activar el Servicio......................................... 56

Configuración de Un nuevo usuario con encriptación. .................................. 57

Configuración password Encriptado con 3DES ....................................... 57

Configuración password Encriptado con BLOWFISH ............................. 58

Verificación que el Servicio se encuentre configurado y activo.................... 59

Prueba del nuevo servicio haciendo uso del soapui ............................... 59

Revisión de Bitácora por éxito y por error en tablas y en log de archivo

Page 188: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

44

........................................................................................................................ 59

Sección del manual de usuario del SEP ........................................................... 60

Pasos para realizar el consumo del SEP con REST/JSON ...................... 60

Sección del manual de usuario del Componente de Monitoreo .................... 65

Logstash ........................................................................................................ 65

Elasticsearch ................................................................................................. 73

Kibana ............................................................................................................ 76

Errores comunes.................................................................................................. 93

Frequently Asked Questions .............................................................................. 93

Page 189: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

45

Índice de Gráficos

Gráfico 1 ................................................................................................................ 47

Gráfico 2 ................................................................................................................ 48

Gráfico 3 ................................................................................................................ 49

Gráfico 4 ................................................................................................................ 49

Gráfico 5 ................................................................................................................ 50

Gráfico 6 ................................................................................................................ 50

Gráfico 7 ................................................................................................................ 51

Gráfico 8 ................................................................................................................ 51

Gráfico 9 ................................................................................................................ 52

Gráfico 10 .............................................................................................................. 52

Gráfico 11 .............................................................................................................. 59

Gráfico 12 .............................................................................................................. 60

Gráfico 13 .............................................................................................................. 61

Gráfico 14 .............................................................................................................. 61

Gráfico 15 .............................................................................................................. 64

Gráfico 16 .............................................................................................................. 65

Gráfico 17 .............................................................................................................. 66

Gráfico 18 .............................................................................................................. 67

Gráfico 19 .............................................................................................................. 68

Gráfico 20 .............................................................................................................. 74

Gráfico 21 .............................................................................................................. 75

Gráfico 22 .............................................................................................................. 76

Gráfico 23 .............................................................................................................. 77

Gráfico 24 .............................................................................................................. 77

Gráfico 25 .............................................................................................................. 78

Gráfico 26 .............................................................................................................. 78

Gráfico 27 .............................................................................................................. 79

Gráfico 28 .............................................................................................................. 80

Gráfico 29 .............................................................................................................. 81

Gráfico 30 .............................................................................................................. 82

Gráfico 31 .............................................................................................................. 83

Gráfico 32 .............................................................................................................. 84

Gráfico 33 .............................................................................................................. 84

Gráfico 34 .............................................................................................................. 85

Gráfico 35 .............................................................................................................. 86

Gráfico 36 .............................................................................................................. 87

Gráfico 37 .............................................................................................................. 88

Gráfico 38 .............................................................................................................. 89

Gráfico 39 .............................................................................................................. 89

Gráfico 40 .............................................................................................................. 90

Page 190: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

46

Gráfico 41 .............................................................................................................. 91

Gráfico 42 .............................................................................................................. 91

Gráfico 43 .............................................................................................................. 92

Gráfico 44 .............................................................................................................. 92

Gráfico 45 .............................................................................................................. 93

Page 191: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

47

Objetivo

Presentar una guía sencilla para el usuario explicando el funcionamiento del

servicio web del SEP (Servicio Ejecuta Procedimientos) y las configuraciones

necesarias para el correcto funcionamiento.

Explicación de las Tablas

A continuación se detallan las tablas usadas en el SEP con sus respectivas

definiciones:

Definición de la tabla sep_grupos_servicios

Esta tabla agrupa los servicios para tener una administración de las

configuraciones de procedimientos que se encuentren activos.

Gráfico 1

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 192: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

48

Definición de la tabla sep_historial_objetos

Esta tabla graba un registro de las ejecuciones realizadas al SEP, aquí se

grabara la información de los parámetros recibidos y los parámetros

devueltos así como si la ejecución fue exitosa o no.

Gráfico 2

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 193: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

49

Definición de la tabla sep_objetos_bd

En esta tabla se encuentra el nombre de los procedimientos que va a

ejecutar el servicio web.

Gráfico 3

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Definición de la tabla sep_parametros_objetos_bd

En esta tabla tendremos las configuraciones de cada uno de los

parámetros de los procedimientos.

Gráfico 4

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 194: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

50

Definición de la tabla sep_roles

En esta tabla se graban los roles que tendrá el SEP.

Gráfico 5

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Definición de la tabla sep_servicio_roles

En esta tabla contiene los permisos que tendrá cada rol para la ejecución

del servicio.

Gráfico 6

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 195: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

51

Definición de la tabla sep_servicio_usuarios

En esta tabla contiene los permisos que tendrá directamente cada usuario

para la ejecución del servicio.

Gráfico 7

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Definición de la tabla sep_servicios

En esta tabla contiene los servicios que se encuentran configurados para

la ejecución del procedimiento de la base de datos.

Gráfico 8

Elaborado por: Adolfo Sotomayor Fuente: Datos del proyecto

Page 196: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

52

Definición de la tabla sep_tipos_datos

En esta tabla se encuentran las configuraciones de los tipos de datos de

cada uno de los parámetros de los procedimientos configurados.

Gráfico 9

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Definición de la tabla sep_usuarios

En esta tabla se encuentran los usuarios configurados para la ejecución

del servicio del SEP.

Gráfico 10

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 197: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

53

Configuración de Un nuevo Servicio

Existen dos formar de configurar los servicios en el SEP, de manera

manual y de manera automática, a continuación detallamos cada una de

ellas:

Configuración de Servicio Manual

Para realizar la configuración manualmente debemos seguir el siguiente

orden de inserción en las tablas:

procedimiento.sep_objetos_bd

procedimiento.sep_servicios

procedimiento.sep_parametros_objetos_bd

A continuación se adjunta un ejemplo de la inserción de datos en las tablas

del SEP (Servicio Ejecuta Procedimientos)

/* sep_objetos_bd */ INSERT [procedimiento].[sep_objetos_bd] ([id_objeto_bd], [nombre_objeto], [descripcion], [cantidad_parametros]) VALUES (10, N'sp_Consulta_Asistencias_Estudiantes', N'Consulta la asistencia de los estudiantes', N'12') /* sep_servicios */ INSERT [procedimiento].[sep_servicios] ([id_servicio], [nombre], [descripcion], [fecha_desde], [fecha_hasta], [estado], [autenticacion], [id_objeto_bd], [id_grupo_servicio]) VALUES (9, N'Consultar Asistencias de Estudiantes', N'Permite al profesor consultar la Asistencia de los Estudiantes', CAST(N'2015-09-15' AS Date), NULL, N'1', N'S', 10, 2) /* sep_parametros_objetos_bd */ INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (50, N'pv_fechaInicio', N'Descripcion @pv_fechaInicio', N'E', 1, 2, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (51, N'pv_fechaFin', N'Descripcion @pv_fechaFin', N'E', 2, 2, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (52, N'pi_idProfesor', N'Descripcion @pi_idProfesor', N'E', 3, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion],

Page 198: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

54

[entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (53, N'pi_idMateria', N'Descripcion @pi_idMateria', N'E', 4, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (54, N'pi_idParalelo', N'Descripcion @pi_idParalelo', N'E', 5, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (55, N'pi_anio', N'Descripcion @pi_anio', N'E', 6, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (56, N'pi_ciclo', N'Descripcion @pi_ciclo', N'E', 7, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (57, N'px_Salida', N'Descripcion @px_Salida', N'S', 8, 5, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (58, N'PI_ESTADO', N'Descripcion @PI_ESTADO', N'S', 9, 1, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (59, N'PV_MENSAJE', N'Descripcion @PV_MENSAJE', N'S', 10, 2, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (60, N'PV_CODTRANS', N'Descripcion @PV_CODTRANS', N'S', 11, 2, 10) INSERT [procedimiento].[sep_parametros_objetos_bd] ([id_parametro_objeto_bd], [nombre_parametro], [descripcion], [entrada_salida], [orden], [id_tipo_dato], [id_objeto_bd]) VALUES (61, N'PV_MENSAJE_TECNICO', N'Descripcion @PV_MENSAJE_TECNICO', N'S', 12, 2, 10)

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Configuración de Servicio Automático

Para configurar un nuevo servicio de manera automática es necesario

ejecutar el siguiente procedimiento almacenado:

crea_servicio_procedimiento_aut

A continuación se explica los parámetros de entrada para la ejecución del

procedimiento:

Page 199: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

55

Parámetros de Entrada del Procedimiento

crea_servicio_procedimiento_aut

Nombre Descripción

@nombre_servicio Ingresar el nombre con el cual identificaremos

al servicio.

@descripcion_servicio Ingresar una descripción del Servicio a

configurar.

@nombre_objeto Se deberá ingresar el nombre del

procedimiento que se requiera configurar.

@descripcion_objeto Descripción del procedimiento almacenado.

..@id_grupo Id del grupo al que se va a pertenecer el

servicio.

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Parámetros de Salida del Procedimiento

crea_servicio_procedimiento_aut

Nombre Descripción

@id_servicio Id del Servicio con que se registró el servicio en la

tabla sep_servicios.

@id_objeto Id del objeto con que se registró el nombre del

procedimiento en la tabla sep_objetos_bd.

@codigo_salida Código de ejecución del procedimiento de

servicios.

@mensaje_salida Mensaje de ejecución del procedimiento.

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 200: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

56

Se adjunta ejemplo de ejecución del procedimiento almacenado.

USE [saug] GO DECLARE @return_value int, @id_servicio int, @id_objeto int, @codigo_salida int, @mensaje_salida varchar(max) EXEC @return_value = [dbo].[crea_servicio_procedimiento_aut] @nombre_servicio = N'Graba Horario Manual Profesor', @descripcion_servicio = N'Graba el horario Manuel profesor', @nombre_objeto = N'sp_Graba_Horario_Manual_Profesor', @descripcion_objeto = N'Permite Grabar el horario del profesor.', @id_grupo = 4, @id_servicio = @id_servicio OUTPUT, @id_objeto = @id_objeto OUTPUT, @codigo_salida = @codigo_salida OUTPUT, @mensaje_salida = @mensaje_salida OUTPUT SELECT @id_servicio as N'@id_servicio', @id_objeto as N'@id_objeto', @codigo_salida as N'@codigo_salida', @mensaje_salida as N'@mensaje_salida' SELECT 'Return Value' = @return_value GO

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Requisitos necesarios para activar el Servicio

Al terminar el registro del servicio se deberá dar el grant del procedimiento

que se configuro.

A continuación se detalla la sentencia a ejecutar:

grant execute on nombre_del_procedimiento to nombre_de_usuario;

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 201: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

57

Configuración de Un nuevo usuario con encriptación.

Existen dos métodos para la encriptación del password de los usuarios, se

detalla cada uno de ellos, aunque el que se usa es el 3DES.

Configuración password Encriptado con 3DES

Para Encriptar el password del usuario con el método 3DES se debe

ejecutar mediante consola la librería saug_1_0.jar.

La línea de ejecución en el CMD es la siguiente:

java -jar saug_1_0.jar "D" "ClaveEnClaro"

"91BA835FD6CD6A1C" "D59B3CA154FC1BCE"

"D59B3CA154FC1BCE"

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

A continuación se detalla cada parámetro para la ejecución de la librería

por consola:

Primer Parámetro.- Indica el tipo de encriptación, deberá ir el valor

“D” que indica que es 3DES

Segundo Parámetro.- Deberá ir la clave que se requiere encriptar.

Tercer Parámetro.- Llave 1 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Cuarto Parámetro.- Llave 2 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Quinto Parámetro.- Llave 3 de encriptación en hexadecimal, la

longitud es de 16 caracteres.

Page 202: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

58

Configuración password Encriptado con BLOWFISH

Para Encriptar el password del usuario con el método blowfish se debe

ejecutar mediante consola la librería saug_1_0.jar.

La línea de ejecución en el CMD es la siguiente:

java -jar saug_1_0.jar "B" "claveEnClaro" "1jherp9jnfrjqp" "1fgt7uj8"

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

A continuación se detalla cada parámetro para la ejecución de la librería

por consola:

Primer Parámetro.- Indica el tipo de encriptación, deberá ir el valor

“B” que indica que es blowfish.

Segundo Parámetro.- Deberá ir la clave que se requiere encriptar.

Tercer Parámetro.- Llave 1 de encriptación, la longitud máxima es

de 14 caracteres.

Cuarto Parámetro.- Llave 2 de encriptación, la longitud es de 8

caracteres.

Page 203: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

59

Verificación que el Servicio se encuentre configurado y

activo.

Prueba del nuevo servicio haciendo uso del soapui

Cuando el servicio este configurado en las tablas del SEP, se deberá

realizar la prueba con la herramienta SOAPUI, a continuación se anexa un

ejemplo de la ejecución del servicio:

Gráfico 11

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Revisión de Bitácora por éxito y por error en tablas y en log

de archivo

Para la revisión de las bitácoras en las tablas del SEP se debe distinguir por los

siguientes qwerys:

Revisión por éxito

select * from saug.procedimiento.sep_historial_objetos where codigo_salida = 0

Revisión por error

select * from saug.procedimiento.sep_historial_objetos where codigo_salida != 0

Elaborado por: Adolfo Sotomayor

Fuente: Datos del proyecto

Page 204: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

60

Para la revisión de las bitácoras en el archivo log del SEP, se deberá tomar en

cuenta los siguientes parámetros:

Ruta del Archivo: /opt/jboss-as-7.1.1.Final/standalone/log/SEP

Nombre del Archivo: sepJPA.log

Sección del manual de usuario del SEP

Pasos para realizar el consumo del SEP con REST/JSON

Abrir la aplicación soapui

Escoger la opción Rest

Gráfico 12

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Aparecerá la venta New Rest Project, en la caja de texto URI colocar la ruta del

servicio web

http://192.168.100.11:9080/consultasJPA/rest/servicioConsultas

Page 205: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

61

Gráfico 13

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Luego se nos mostrará la ventana de request, aquí seleccionamos en la opción

Method: POST, en la opción Media Type especificamos: application/json.

Gráfico 14

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 206: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

62

En el área de texto especificamos el JSON que del servicio que deseamos enviar:

{ "datosServicio": {

"dataSource": "jdbc/saugProc",

"idServicio": "17",

"usuario": "MiUserPrueba",

"clave": "Abc123",

"parametrosObjeto": {

"parametros": {

"nombre_servicio": "prueba ",

"descripcion_servicio": "prueba ",

"pc_xml": {

"raiz": { "elemento": "valor" } } } } }}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

El JSON consta de los siguientes elementos:

dataSource.- Es el jndi que identifica a la base de datos donde se ejecutara la

el procedimiento almacenado

idServicio.- Es el identificador del servicio que deseamos ejecutar

usuario.- Es el usuario del servicio.

clave.- Es la clave del usuario del servicio

parametrosObjeto.- Dentro de este elemento se especificara el un arreglo de

parámetros de entrada para el servicio que se desea ejecutar.

Page 207: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

63

Una vez especificado el JSON de request, procederemos a presionar el botón

play, y el resultado la ejecución del servicio podremos observarlo en el área de

texto del response.

{"respuestaServicio": {

"codigoRespuesta": "0",

"mensajeRespuesta": "EXITO",

"estado": "F",

"resultadoObjeto": {

"codigo_salida": "0",

"mensaje_salida": "Exito",

"px_xml_salida": {"raiz": {"elemento": "valor"}}

},

"idHistorico": "278784"

}}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

La respuesta JSON tendrá los siguientes elementos:

codigoRespuesta.- Es el código que indica si la respuesta fue exitosa o no.

mensajeRespuesta: Es el mensaje que indica ÉXITO si es que no se

presentó ningún inconveniente y caso contrario el detalle del error que se

ha generado.

Estado: Devolverá el valor F si es que no se generó algún inconveniente

caso contrario tendrá valor A.

Page 208: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

64

resultadoObjeto: Contiene los parámetros de salida del procedimiento

almacenado que se ejecutó.

idHistorial: Retorna el id que representa a la transacción en la tabla

histórica.

Gráfico 15

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 209: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

65

Sección del manual de usuario del Componente de

Monitoreo

Logstash

Instalación de logstash en servidor centos 6.5

1. Subir el archivo logstash-1.5.4-1.noarch.rpm a través de ftp en un directorio

en el servidor con centos por ejemplo /home/documentos/logstash

2. Conectarse a través del putty y ubicarse en el directorio donde se encutra

el archivo logstash-1.5.4-1.noarch.rpm

3. Ejecutar el comando

4. sudo rpm -ivh logstash-forwarder-0.3.1-1.x86_64.rpm

Gráfico 16

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 210: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

66

5. Se creara la ruta: /etc/logstash. En donde debemos especificar la

configuración para lectura de archivo que deseamos que logstash ejecute

un ejemplo de nombre archivo es: conf.d

6. Iniciar el servicio de logstash a través del comando:

sudo service logstash start

7. Para verficiar que logstash este funcionando ejecutar el comando

sudo service logstash status

Gráfico 17

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 211: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

67

Instalación de logstash en Windows

1. Descomprimir el archivo logstash-1.5.4.zip en una ruta por ejemplo

C:\logstash\logstash-1.5.4

2. Para ejecutar logstash abrir una consola de línea de comandos cmd

3. Ir a la ruta donde se descomprimio los archivos por ejemplo:

C:\logstash\logstash-1.5.4\bin

4. Ejecutar el comando logstash.bat y enviar como parámetro el archivo de

configuración y especificación de la tablas que deseamos leer

logstash agent --config C:\libreria\conexionBaseProcedimiento.conf

Gráfico 18

Ejecución de logstash en Windows

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Archivos de configuración para logstash

Logstash necesita archivos de configuración para funcionar, los cuales debemos

crearlos en una ruta para mantener una organización como detallaremos a

continuación

1. Definir una ruta donde se guradaran los archivos

2. Crear el archivo de configuración para logstash por ejemplo

configuraciónProcedimiento.conf

Page 212: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

68

3. Crear el archivo con la consulta que se ejecutará en la base por ejemplo

consultaProcedimiento.sql

4. Copiar el archivo jar con el driver de conexión de la base de datos por

ejemplo sqljbc4

Gráfico 19

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 213: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

69

Configuración Logstash para leer datos.

Para el ejecutar logstash debemos crear un archivo de configuración en donde

especificaremos tres opciones

Input.- Es de donde obtendremos la información ya sea de una tabla o de

un archivo

Filter.- Permite aplicar transformaciones a los datos que se obtienen del

input

Output.- Define donde se guardaran los datos que se sacaron del input

Configuración para cargar datos desde una tabla en logstash

Para obtener datos de una tabla el input debemos especificar la opción jdbc y los

siguientes parámetros

jdbc_connection_string.- Se debe especificar la url de conexión hacia la

base de datos que deseamos conectarnos

jdbc_user.- Usuario de base de datos

jdbc_password.- Clave del usuario

jdbc_driver_library.- Especificar la ruta donde se encuentra el jar que tiene

el driver de conexión jdbc para la base de datos que nos deseamos

conectar

jdbc_driver_class.- Detallar la Clase que es el driver de conexión

statement_filepath.- indicar la ruta donde del archivo que tiene la consulta

que se ejcutara en la base de datos

Schedule.- Indicar cada cuanto tiempo se debe ejecutar la consulta

En el filter especificamos la opción date y los siguientes parámetros:

Match.- permite especificar el campo fecha y sus formato en año mes dia,

hora minuto y segundo

Page 214: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

70

En el output detallamos la opción elasticsearch con los siguientes parámetros:

Protocol.- Especificar el protocolo http

Index.- Indicar el índice de elasticsearch donde se guardara la información

document_type.- Especificar el tipo de documento donde se guarda la

informacion

document_id.- Especificar el campo del registro que servirá como id dentro

del documento

host.- permite detallar la ip donde se encuentra instalado elasticsearch

Adicionalmente como parte del output podemos definir la opción stdout que nos

mostrara la información que se está procesando y nos permitirá hacer

depuraciones.

Page 215: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

71

input { jdbc { jdbc_connection_string => "jdbc:sqlserver://192.168.100.10:1433;DatabaseName=saug" jdbc_user => "consultasLogstash" jdbc_password =>"20stash15" jdbc_driver_library => "C:/libreria/sqljdbc4.jar" jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver" statement_filepath => "C:/libreria/consulta2.sql" schedule => "* * * * *" } }

filter{ date{ match => [ "fecha_ingreso_historial" , "yyyy-MM-dd HH:mm:ss Z" ] } } output { stdout { codec => rubydebug } elasticsearch { protocol => http index => "consultas"

document_type => "historial" document_id => "%{id_historial}" host => "192.168.100.17" } }

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 216: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

72

Configuración para cargar datos desde un archivo en logstash

Para obtener datos de una tabla el input debemos especificar la opción file y los

siguientes parámetros

path.- Se debe especificar la ruta del archivo que se dese leer

start_position.- detallar si se dese leer el archivo desde el principio

En el filter especificamos la grok con los siguientes parámetros:

patterns_dir.- ruta del archivo que tiene patrones

match.- Nombre del patrón que permitirá identificar las líneas del

archivo

Otra opción de filter que debemos especificar es date con los siguientes

parametros:

Match .- Permite especificar el campo del archivo que tiene la fecha

con la que deseamos registrar la información

Locale.- permite especificar el idioma con el que se leerá la fecha.

En el output detallamos la opción elasticsearch con los siguientes parámetros:

Protocol.- Especificar el protocolo http

Index.- Indicar el índice de elasticsearch donde se guardara la información

document_type.- Especificar el tipo de documento donde se guarda la

informacion

document_id.- Especificar el campo del registro que servirá como id dentro

del documento

host.- permite detallar la ip donde se encuentra instalado elasticsearch

Page 217: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

73

Adicionalmente como parte del output podemos definir la opción stdout que nos

mostrara la información que se está procesando y nos permitirá hacer

depuraciones.

input{ file{

path => "/opt/jboss-as-7.1.1.Final/standalone/log/access_log." start_position => "beginning" } } filter { grok { patterns_dir => "/opt/jboss-as-7.1.1.Final/Documentos/patrones" match => [ "message", "%{NEWAPACHELOG}"] } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] locale => "en" }}

output{ stdout {codec=>rubydebug} elasticsearch { protocol => "http" host => "192.168.100.17:9200" index => "logapache" document_type => "access" }}

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Elasticsearch

Instalación de elasticsearch en Windows como servicio

1. Descomprimir el archivo elasticsearch-1.6.0.zip en un directorio

denominado:

C:\elasticsearch\elasticsearch-1.6.0

2. Una vez descomprimido ejecutaremos el archivo

3. C:\elasticsearch\elasticsearch-1.6.0>service install

Page 218: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

74

4. Una vez terminada la ejeucion podremos ver a elasticsearch entre los

servicios del sistema

Gráfico 20

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Pasos para configura un nuevo índice en elasticsearch

Para administrar de elasticsearch desde el navegador Firefox instalaremos el

plugin denominado rest client

Page 219: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

75

Gráfico 21

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Una vez instalado el plugin rest client es

1. Especificar el nombre del índice que deseamos crear

2. Escoger el método POST

3. Detallar el mapeo del índice que vamos a crear

Page 220: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

76

Gráfico 22

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Kibana

Instalación de kibana como servicio en windows

Para instalar Kibana como servicio utilizaremos el programa denominado NSSM

(The Non Sucking Service Manager).

Descomprimir el archivo kibana-4.1.2-windows.zip en la c:\kibana\kibana-4.1.2-

windows\

El archivo ejecutable nssm.exe lo debemos copiar en la carpeta bin de Kibana

C:\kibana\kibana-4.1.2-windows\bin

Luego desde línea de comandos ejecutamos el archivo nssm.exe

Page 221: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

77

Gráfico 23

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Nos aparecerá una pantalla en donde debemos especificar los campos

Path: Especificar l ruta donde se encuentra el ejecutable de kibana por ejemplo

c:\kibana\kibana-4.1.2-windows\bin\kibana.bat

Startup directory: especificar la ruta raíz donde se encuetra instalado kibana

c:\kibana\kibana-4.1.2-windows\bin\

Gráfico 24

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 222: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

78

En la pestaña de dependencias debemos especificar el servicio que se debe

ejecutar antes de iniciar Kibana, aquí escribiremos el nombre del servicio de

elasticsearch

Gráfico 25

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En la pestaña I/O, especificaemos lo nombres de los archivos de bitácora para la

entrada, salida y error del servicio

Gráfico 26

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 223: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

79

El último paso que debemos realizar es es presionar el botón edit service y se

creará nuestro servicio

Pasos para configurar un nuevo índice en Kibana

Abrir un navegador y escribir la url en la barra de direcciones:

http://192.168.100.17:5601

1. En la pantalla principal escoger la opción setting

2. Luego especificar el índice que deseamos agregar

3. Por último presionar el botón créate

Gráfico 27

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 224: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

80

Para verificar si el índice se creó de manera correcta debemos buscarlo en el

menú de índices de la opción settings

Gráfico 28

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Pasos para Descubrir un índice

Acceder a la siguiente url través de un navegador

http://192.168.100.17:5601

Se abrirá la pantalla principal del programa kibana, en esta pantalla presionamos

la opción discover y luego escogemos el índice que deseamos revisar. En este

caso el índice logapache

Page 225: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

81

Gráfico 29

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Luego de escoger el índice logapache aparecerá un gráfico de barras que nos

mostrara la cantidad de peticiones que se han realizado hacia el servidor jboss y

que se encuentran registradas en la bitácora denominada access_log

Page 226: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

82

Gráfico 30

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 227: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

83

Pasos Para Crear una nueva visualización

Acceder a la siguiente URL través de un navegador

http://192.168.100.17:5601

En la pantalla presionar la opción visualizar y luego seleccionar el tipo de

visualización

Gráfico 31

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 228: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

84

Escoger el índice del cual se desea generar la visualización en la opción

Gráfico 32

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

En la opción de buckets presionar la el icono Split slices

Gráfico 33

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 229: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

85

Una vez presionado la opción Split Slices debemos especificar:

1. El tiempo que desde el cual se va a tomar información para generar el

gráfico

2. Escoger el tipo de agregación que se va a utilizar

3. Especificar el campo sobre el cual se desea generar el gráfico

Gráfico 34

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 230: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

86

Pasos para crear un nuevo dashboard

Acceder a la siguiente url a través de un navegador

http://192.168.100.17:5601

Luego de dar click en la opción Dashboard realizar lo siguiente:

1. Escoger la opción agregar la visualización

2. Seleccionar la visualización que deseamos agregar al nuevo tablero

3. Una vez seleccionada la visualización, aparece en el espacio de trabajo

del tablero

Gráfico 35

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 231: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

87

Pasos para guardar un DashBoard

Una vez creado el tablero si deseamos guardarlos debemos realizar los siguientes

pasos

1. Presionar el botón guardar

2. Especificar el nombre del nuevo tablero

3. Dar click en guardar

Gráfico 36

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 232: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

88

Pasos para ver un DashBoard

Ingresar a un navegador y escribir la siguiente ruta en la barra de direcciones:

http://192.168.100.17:5601

Dar click en la opción Dashboard

Gráfico 37

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Dar click en la opción cargar dashboard guardados y eescoger el tablero

que deseamos ver

Page 233: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

89

Gráfico 38

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Una vez selecciona nos aparecera nuestro tablero con las visualizaciones que es

se encuentren configuradas

Gráfico 39

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 234: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

90

Entre las visualizaciones configuradas tenemos:

Gráficos de barras para obtener el top de direcciones ip clientes del

servicio.

Gráfico de línea sobre el tiempo mínimo de respuesta de peticiones

realizadas contra el servidor de aplicaciones jboss.

Gráfico de pastel sobre el recurso (URL) más solicitada del servidor de

aplicaciones jboss

Gráfico 40

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 235: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

91

Gráfico 41

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 42

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 236: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

92

Si deseamos cambiar el rango de tiempo de dashboard, debemos presionar la

opción que tiene el icono de reloj en la parte superior derecha de la pantalla

de kibana.

Luego de presionar la opción de tiempo, podremos seleccionar un rango de tiempo

rápido, relativo o absoluto

Rápido.- Son tiempos predefinidos

Relativo.- Permite especificar un rango con una fecha desde hasta el

tiempo actual

Absoluto.- Permite especificar un rango con fecha desde y una fecha hasta

Gráfico 43

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Gráfico 44

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Page 237: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

93

Gráfico 45

Elaborado por: Héctor Ortega

Fuente: Datos del proyecto

Errores comunes

A continuación se presentan los errores comunes al trabajar con los servicios del

SEP.

No se dieron los permisos al usuario.

Se modificaron (agregaron o eliminarlos) los parámetros del servicio pero

no se actualizo la cantidad de parámetros en la tabla sep_objetos_bd.

No se encuentra configurado correctamente el dataSource.

Están enviando los parámetros incorrectos

.

Frequently Asked Questions

A continuación se detallan las preguntas que se presentan frecuentemente en la

comunicación con el SEP (Servicio Ejecuta Procedimientos).

¿Si se actualiza un procedimiento es necesario volver a configurar la

parametrización en el SEP?

Sí, es necesario volver a actualizar en la tabla de parámetros, los últimos

que se agregaron en el procedimiento. No olvidar también que en la tabla

objetos se debe actualizar el número de parámetros.

Page 238: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

94

MANUAL TÉCNICO DEL SEP

Facultad de Matemáticas y Físicas

Carrera Ingeniería en Sistemas Computacionales

Page 239: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

95

Tabla de Contenido

Tabla de Contenido .............................................................................................. 95

Índice de Gráficos ................................................................................................ 96

Índice de Cuadros ................................................................................................ 97

Objetivo del SEP .................................................................................................. 98

Descripción del Componente ............................................................................. 98

Especificaciones Técnicas .............................................................................. 98

Diagrama de componentes ............................................................................. 98

Diagrama de Flujo ............................................................................................ 99

Descripciones de Estructuras .......................................................................... 100

Modelo Entidad Relación............................................................................... 100

Descripción de tablas .................................................................................... 101

Descripción detallada de los campos .......................................................... 101

Procedimientos Almacenados ...................................................................... 107

Diagrama de Clases ....................................................................................... 108

Diagrama de Secuencia ................................................................................. 109

Diagrama Detallado de Red ........................................................................... 110

Page 240: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

96

Índice de Gráficos

Gráfico 1 ................................................................................................................. 98

Gráfico 2 ................................................................................................................. 99

Gráfico 3 ............................................................................................................... 100

Gráfico 4 ............................................................................................................... 108

Gráfico 5 ............................................................................................................... 109

Gráfico 6 ............................................................................................................... 110

Page 241: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

97

Índice de Cuadros

Cuadro 1 ............................................................................................................... 101

Cuadro 2 ............................................................................................................... 101

Cuadro 3 ............................................................................................................... 102

Cuadro 4 ............................................................................................................... 102

Cuadro 5 ............................................................................................................... 103

Cuadro 6 ............................................................................................................... 103

Cuadro 7 ............................................................................................................... 104

Cuadro 8 ............................................................................................................... 104

Cuadro 9 ............................................................................................................... 104

Cuadro 10............................................................................................................. 105

Cuadro 11............................................................................................................. 105

Cuadro 12............................................................................................................. 106

Cuadro 13............................................................................................................. 107

Page 242: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

98

Objetivo del SEP

El componente tiene como finalidad brindar un servicio que permita

ejecutar los procesos de una base de datos. Estos procesos deben ser

configurados previamente antes de poder ser utilizados.

Descripción del Componente

Especificaciones Técnicas

A continuación se detallan los requerimientos necesarios que requiere el

componente de Servicios de Ejecución de Procedimientos:

Java 7

Jboss AS 7.1

NetBeans 7.3

Diagrama de componentes Gráfico 1

Modelo SEP

Elaborado por: Xavier Mora

Fuente: Datos del proyecto

Page 243: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

99

Diagrama de Flujo

Gráfico 2

INICIO

Request

Request

correcta

Obtener

Configuración de

BD

Configuración

Correcta

Generar script para

ejecutar proceso

Ejecuta Proceso

Proceso

Ejecutado

correctamente

Genera Response

con la respuesta

del proceso

Inserta ejecución

de Proceso

Inserta ejecución

en bitácora

Generar Response

de Error

FIN

NO

NO

NO

Obtener

Validaciones de

Usuarios

Usuario

correcto

NO

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 244: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

100

Descripciones de Estructuras Modelo Entidad Relación Gráfico 3

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 245: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

101

Descripción de tablas

Cuadro 1

TABLA DESCRIPCIÓN

SEP_GRUPOS_SERVICIOS Define el catálogo de grupos de servicios.

SEP_HISTORIAL_OBJETOS Bitácora de transacciones procesadas por el Web Service

SEP_OBJETOS_BD Nombre de objetos que ejecutará el servicio

SEP_PARAMETROS_OBJETOS_BD Parámetros de objetos configurados

SEP_ROLES Roles del servicio

SEP_SERVICIO_USUARIOS Servicios por usuario

SEP_SERVICIOS Servicios que ejecutará el web service

SEP_TIPOS_DATOS Tipos de Datos de los parámetros

SEP_USUARIO_ROLES Usuario por Roles

SEP_USUARIOS Usuarios del servicio

SEP_SERVICIO_ROLES Servicio por Roles

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Descripción detallada de los campos

Cuadro 2

SEP_GRUPOS_SERVICIOS

CAMPO TIPO

PK ID_GRUPO_SERVICIO INT

DESCRIPCIÓN VARCHAR

NOMBRE VARCHAR

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 246: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

102

Cuadro 3

SEP_HISTORIAL_OBJETOS

CAMPO TIPO

ID_HISTORIAL INT

ID_SERVICIO INT

ID_OBJETO INT

FECHA_INGRESO_HISTORIAL DATETIME2

FECHA_INICIO_OBJETO DATETIME2

FECHA_FIN_OBJETO DATETIME2

FECHA_INICIO DATETIME2

CODIGO_SALIDA_OBJETO INT

MENSAJE_SALIDA_OBJETO VARCHAR

CODIGO_SALIDA INT

MENSAJE_SALIDA VARCHAR

ESTADO VARCHAR

PARAMETROS_RECIBIDOS VARCHAR

RESPUESTA_RETORNADA VARCHAR

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Cuadro 4

SEP_OBJETOS_BD

CAMPO TIPO

PK ID_OBJETO_BD INT

NOMBRE_OBJETO VARCHAR

DESCRIPCION VARCHAR

CANTIDAD_PARAMETROS VARCHAR

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 247: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

103

Cuadro 5

SEP_PARAMETROS_OBJETOS_BD

CAMPO TIPO

PK ID_PARAMETRO_OBJETO_BD INT

NOMBRE_PARAMETRO VARCHAR

DESCRIPCION VARCHAR

ENTRADA_SALIDA VARCHAR

ORDEN INT

FK ID_TIPO_DATO INT

FK ID_OBJETO_BD INT

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Cuadro 6

SEP_SERVICIOS

CAMPO TIPO

PK ID_SERVICIO INT

NOMBRE VARCHAR2

DESCRIPCION VARCHAR2

FECHA_DESDE DATE

FECHA_HASTA DATE

ESTADO VARCHAR2

AUTENTIFICACION VARCHAR2

FK ID_OBJETO_BD INT

FK ID_GRUPO_SERVICIO INT

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 248: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

104

Cuadro 7

SEP_ROLES

CAMPO TIPO

PK ID_ROLES INT

NOMBRE VARCHAR

DESCRIPCION VARCHAR

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Cuadro 8

SEP_SERVICIOS_USUARIOS

CAMPO TIPO

PK/FK ID_USUARIO INT

PK/FK ID_SERVICIO INT

FECHA_DESDE DATETIME

FECHA_HASTA DATETIME

ESTADO VARCHAR2

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Cuadro 9

SEP_TIPOS_DATOS

CAMPO TIPO

PK ID_TIPO_DATO INT

NOMBRE VARCHAR2

LONGITUD INT

FORMATO VARCHAR2

TIPO VARCHAR2

ESCALA INT

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 249: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

105

Cuadro 10

SEP_USUARIOS_ROLES

CAMPO TIPO

PK/FK ID_ROLES INT

PK/FK ID_USUARIO INT

FECHA_DESDE DATETIME

FECHA_HASTA DATETIME

ESTADO VARCHAR2

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Cuadro 11

SEP_USUARIOS

CAMPO TIPO

PK ID_USUARIO INT

FK NOMBRE VARCHAR

CLAVE VARCHAR

DESCRIPCION VARCHAR

FECHA_DESDE DATETIME

FECHA_HASTA DATETIME

ESTADO VARCHAR

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 250: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

106

Cuadro 12

SEP_SERVICIO_ROLES

CAMPO TIPO

FK/PK ID_SERVICIO INT

FK/PK ID_ROLES INT

FECHA_DESDE VARCHAR

FECHA_HASTA VARCHAR

ESTADO DATETIME

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 251: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

107

Procedimientos Almacenados

Cuadro 13

CREA_SERVICIO_PROCEDIMIENTO_AUT

PARAMETROS TIPOS DESCRIPCION

NOMBRE_SERVICI

O

VARCHAR(50) Nombre del nuevo servicio.

DESCRIPCION_SE

RVICIO

VARCHAR(20

00)

Breve descripción del

servicio.

NOMBRE_OBJET

O

VARCHAR(50

0)

Nombre del procedimiento

almacenado

DESCRIPCION_OBJETO

VARCHAR(2000)

Breve descripción del procedimiento.

ID_GRUPO INT Grupo al que pertenece el servicio

ID_SERVICIO INT OUT Código del servicio generado.

ID_OBJETO INT OUT Código del objeto generado.

CODIGO_SALIDA INT OUT Código de ejecución del procedimiento.

MENSAJE_SALIDA VARCHAR(MAX) OUT

Mensaje de ejecución del procedimiento.

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 252: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

108

Diagrama de Clases Gráfico 4

Elaborado por: Xavier Mora

Fuente: Datos del proyecto

Page 253: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

109

Diagrama de Secuencia

Gráfico 5

Elaborado por: Xavier Mora Fuente: Datos del proyecto

Page 254: UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS …repositorio.ug.edu.ec/bitstream/redug/11560/1/PTG-B... · la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

110

Diagrama Detallado de Red

Gráfico 6

Elaborado por: Xavier Mora Fuente: Datos del proyecto