facultad de ingenieríarepositorio.utp.edu.pe/bitstream/utp/1296/1/frarossar espinoza_trabajo... ·...

70
Facultad de Ingeniería “OPTIMIZACIÓN DE LA ARQUITECTURA DE SOFTWARE PARA OPTIMIZAR LA COMUNICACIÓN TRANSACCIONAL EN EL ÁREA DE LOGÍSTICA DE ESSALUD EN LA CIUDAD DE LIMA - 2017” Bachiller: Frarossar, Espinoza Arangoitia Para optar el Título Profesional de Ingeniero de Sistemas e Informática Lima Perú 2018 Ingeniería de Sistemas e InformáticaPrograma Especial de Titulación:””

Upload: others

Post on 27-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

“Facultad de Ingeniería

“OPTIMIZACIÓN DE LA

ARQUITECTURA DE SOFTWARE

PARA OPTIMIZAR LA

COMUNICACIÓN

TRANSACCIONAL EN EL ÁREA

DE LOGÍSTICA DE ESSALUD EN

LA CIUDAD DE LIMA - 2017”

Bachiller:

Frarossar, Espinoza Arangoitia

Para optar el Título Profesional de Ingeniero

de Sistemas e Informática

Lima – Perú

2018

Ingeniería de Sistemas e Informática”

Programa Especial de Titulación:””

Page 2: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

2

Page 3: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

3

DEDICATORIA

Dedico este trabajo a todas las personas que puedan beneficiarse del

contenido.

Page 4: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

4

AGRADECIMIENTO

Agradezco a mi madre y a todas las personas que fueron partícipes en la

elaboración de este proyecto.””

Page 5: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

5

RESUMEN

La empresa SALOG brinda servicios de logística a EsSalud. SALOG realiza

sus transacciones logísticas de medicamentos mediante un sistema propio,

el cual se sincroniza con el sistema SAP que pertenece a EsSalud, con el

fin de tener la misma información. La sincronización entre ambos sistemas

se daba mediante el modelo Middleware Orientado a Mensajes (MOM) que

procesaba las transacciones mediante cola, esto generaba muchos pasos

de por medio para comunicarse con SAP y encolamiento de transacciones

ya que se atendían uno por uno.

El presente trabajo tiene por objetivo optimizar el proceso de atención de

las transacciones que se dan entre el sistema de SALOG y entre el sistema

de EsSalud (SAP), con el fin de evitar el encolamiento y disminuir las quejas

de los usuarios.

Entre los métodos para lograr el objetivo principal, se analizó el flujo de

comunicación entre ambos sistemas, se restructuró la arquitectura de

comunicación utilizando un archivo .jar elaborado en el lenguaje de

programación java instalado en un servidor y llamado por una tarea

programada. Esta nueva estructura realiza que los sistemas se comuniquen

más rápidamente y que se procese varias transacciones al mismo tiempo.

No generándose así encolamiento de transacciones.

Palabras claves: Middleware Orientado a Mensajes (MOM), archivo jar,

Tareas Programadas.

Page 6: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

6

INDICE

Tabla de contenido

RESUMEN.................................................................................................5

INDICE ......................................................................................................6

CAPÍTULO 1 ..............................................................................................9

ASPECTOS GENERALES. .......................................................................9

1.1. Definición del problema. .............................................................10

1.1.1. Descripción del problema. ....................................................10

1.1.2. Formulación del Problema. ...................................................12

1.1.3. Problemas Específicos .........................................................12

1.2. Definición de Objetivos ...............................................................12

1.2.1. Objetivo General. .................................................................12

1.2.2. Objetivos Específicos. ..........................................................12

1.3. Alcances y Limitaciones. .............................................................12

1.4. Justificación ................................................................................13

CAPITULO 2 ............................................................................................14

FUNDAMENTO TEÓRICO ......................................................................14

2.1. Marco Teórico .............................................................................15

2.1.1. Antecedentes del estudio .....................................................15

2.1.2. Metodología .........................................................................16

2.1.3. Lenguaje de Programación ..................................................25

2.1.4. Gestor de Base de Datos .....................................................27

2.2. Marco conceptual .......................................................................29

Definición de conceptos ....................................................................29

2.3. Marco Metodológico ...................................................................30

2.3.1. Metodología SCRUM ...........................................................30

2.3.2. Beneficios ............................................................................30

2.3.3. Roles de Scrum ....................................................................31

2.3.4. Elementos de Scrum ............................................................32

2.3.5. Eventos de Scrum ................................................................33

2.3.6. Roles de usuario ..................................................................35

Page 7: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

7

2.3.7. Historias de Usuario .............................................................35

CAPÍTULO 3 ............................................................................................37

DESARROLLO DE LA SOLUCIÓN .........................................................37

3.1. Breve descripción de la Solución ................................................38

3.2. Diagrama de flujo ........................................................................41

3.3. Requerimientos Funcionales.......................................................42

3.4. Roles de usuario .........................................................................44

3.5. Visual Story Mapping ..................................................................45

3.5.1. Identificación de los Procesos de Negocio ...........................45

3.5.2. Identificación de Funcionalidades .........................................45

3.6. Identificación de Entregas ...........................................................48

3.6.1. MVP (Entrega 1) ..................................................................48

3.6.2. MVP (Entrega 2) ..................................................................49

3.6.3. MVP (Entrega 3) ..................................................................49

3.7. Historias de Usuarios ..................................................................50

3.8. Plan de Entregas (Release Plan) ................................................54

3.9. Cronograma ................................................................................57

3.10. Base de datos .........................................................................58

CAPITULO 4 ............................................................................................59

RESULTADOS ........................................................................................59

4.1. Resultados ..................................................................................60

4.1.1. Resultados ...........................................................................60

4.1.2. Presupuesto .........................................................................64

FUENTES DE INFORMACIÓN ................................................................66

CONCLUSIONES ....................................................................................68

ANEXOS .................................................................................................69

Anexo 1: Flujo de comunicación entre sistema de SALOG y SAP ........69

Page 8: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

8

Ilustraciones

Ilustración 1: Diagrama de Ishikawa ........................................................11

Ilustración 2: Iteración en RUP ................................................................18

Ilustración 3: Fases del Método RUP .......................................................20

Ilustración 4: Estructura de RUP ..............................................................21

Ilustración 5: SCRUM ..............................................................................22

Ilustración 6: Metodología SCRUM ..........................................................23

Ilustración 9: Sprint Backlog ....................................................................32

Ilustración 10: Diagrama de propuesta de solución..................................39

Ilustración 11: Flujo de Proceso de Cola ..................................................41

Ilustración 12:Visual Story Mapping .........................................................47

Ilustración 13: Base de datos del proyecto ..............................................58

Ilustración 14: Mínimo de transacciones por día ......................................61

Ilustración 15: Máximo de transacciones por día .....................................62

Ilustración 16: Incidencias al mes por medio de tickets ............................62

Ilustración 17: Curva S ............................................................................64

Ilustración 18: Comunicación antigua entre SALOG y SAP .....................69

Tablas

Tabla 1: Comparación de Metodologías ..................................................24

Tabla 2: Comparación de Lenguajes de Programación ...........................26

Tabla 3: Comparación de Gestor de BD ..................................................28

Tabla 4: Comparación de arquitecturas del sistema ................................60

Page 9: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

9

CAPÍTULO 1

ASPECTOS GENERALES.

Page 10: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

10

1.1. Definición del problema.

1.1.1. Descripción del problema.

El boletín de la Organización Mundial de Salud (OMS, 2012) en su

publicación “Escasez de medicamentos: un problema mundial complejo”

afirma que los desabastecimientos de medicamentos son reconocidos

como un problema global.

A nivel de Perú, EsSalud que es donde hay la mayor cantidad de

asegurados realizó un contrato de Asociación Público Privada (APP) con la

empresa SALOG S.A. quien le brinda Servicios de Gestión concerniente al

Almacenamiento, Distribución y Entrega de Materiales en la Red de

Almacenes y Farmacias de la provincia de Lima y de la provincia

constitucional del Callao.

Este contrato entre SALOG y EsSalud tiene por finalidad realizar mejoras

en el servicio de entrega de medicamentos a pacientes, realizando una

entrega oportuna de medicinas y mantener abastecidas las farmacias de la

institución.

La empresa SALOG implementó un sistema propio en el Almacén Central

y en 16 centros asistenciales de EsSalud. Este sistema mantiene

comunicación con el sistema SAP de EsSalud para sincronizar datos de las

transacciones generadas en el transcurso del día con la finalidad de que

ambos muestren la misma información.

Es en este punto es donde se menciona el concepto de la comunicación

entre sistemas distribuidos, sistemas con diferente estructura,

programación que deben compartir información. Debido a la gran cantidad

de transacciones a sincronizar, la empresa manejaba una atención de

transacción apoyada en el modelo Middleware Orientado a Mensajes

(MOM) que procesa transacciones mediante colas; este modelo genera

muchos pasos de por medio para comunicarse con SAP y encolamiento de

transacciones ya que se procesaban uno por uno.

Page 11: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

11

Cabe mencionar que algunos centros de salud presentaron algunos

problemas de abastecimiento, generando así que los pacientes no tengan

sus medicinas correspondientes.

Causa efecto del problema: Ishikawa

CAUSAS

• Tecnología

o Mala arquitectura de comunicación entre sistema de SALOG

y SAP.

o Sistemas no muestran la misma información.

o Proceso de transacciones uno por uno, encolamiento.

• Personal

o Mala coordinación entre analista y centros hospitalarios de

EsSalud.

o Falta de capacitación en el uso del sistema.

• Materiales

o Problemas en los laboratorios

• Medio Ambiente

o Accesos difíciles a centros de salud

EFECTOS

Desabastecimiento de medicinas en los centros de EsSalud.

Ilustración 1: Diagrama de Ishikawa

Page 12: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

12

1.1.2. Formulación del Problema.

¿En qué medida la implementación ayudará a optimizar el

procesamiento de transacciones en el área de logística de EsSalud

permitiendo reducir el riesgo de desabastecimiento de

medicamentos en los centros de salud?

1.1.3. Problemas Específicos

▪ ¿En qué medida la mala arquitectura de comunicación entre

sistema SALOG y SAP (EsSalud) influye en la entrega de

medicamentos?

▪ ¿En qué medida el procesamiento de transacciones “uno por

uno” perjudica la sincronización de data generando

encolamiento?

1.2. Definición de Objetivos

1.2.1. Objetivo General.

Optimizar la arquitectura de comunicación transaccional en el

área de logística entre SALOG y EsSalud.

1.2.2. Objetivos Específicos.

• Diseñar una nueva arquitectura de comunicación entre el

sistema de SALOG y SAP.

• Optimizar el tiempo de sincronización de datos entre ambos

sistemas procesando varias transacciones al mismo tiempo.

1.3. Alcances y Limitaciones.

El alcance del presente proyecto, comprende la construcción de una nueva

arquitectura de comunicación entre el sistema de la empresa SALOG con

el sistema SAP.

La nueva arquitectura se base en la creación de un archivo codificado en

el lenguaje de programación JAVA el cual procesará las transacciones

generadas en el Almacén Central y en los Centros hospitalarios.

Page 13: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

13

A diferencia de la arquitectura anterior, ahora se procesarán varias

transacciones a la vez, dando como resultado una sincronización más fluida

y que no genera encolamiento.

No es alcance del presente trabajo detallar la programación ni el código,

sino es presentar una nueva arquitectura de software para optimizar un

sistema de abastecimiento de medicinas entre SALOG y EsSalud.

Con respecto a las limitaciones, la implementación de esta nueva

arquitectura no incluye otra gestión que no sea Guías de Remisión,

Movimientos, Materiales, Órdenes de Compra y Proveedores.

1.4. Justificación

El proyecto se justifica porque se desea minimizar el riesgo de

desabastecimiento de medicinas en los centros hospitalarios de EsSalud y

tener una información precisa y actualizada.

Así mismo, al realizar la sincronización de data entre el sistema de SALOG

con SAP, la comunicación seguía un proceso muy largo y se procesaba

transacción por transacción lo cual generaba encolamiento de

transacciones. Cabe mencionar que las transacciones estaban ordenadas

por prioridad, lo cual indica que al momento de llegar una transacción en la

cola su ubicación podía ser reemplazada por otra de mayor prioridad.

Se optó por restructurar la arquitectura de la comunicación entre el sistema

de SALOG con SAP, obteniendo un proceso más corto y atendiendo varias

transacciones al mismo tiempo.

Es importante porque se agiliza el tiempo de comunicación con SAP para

tener información actualizada entre los dos sistemas.

Page 14: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

14

CAPITULO 2

FUNDAMENTO TEÓRICO

Page 15: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

15

2.1. Marco Teórico

2.1.1. Antecedentes del estudio

• 2012. Escasez de medicamentos: un problema mundial

complejo. Boletín de la Organización Mundial de Salud.

Recuperado de http://www.who.int/bulletin/volumes/90/3/11-

101303/es/

Comenta sobre la escasez de medicamentos, mostrando una lista

de medicinas principales faltantes en países de Europa, Asia y

América. Así mismo, explica las posibles causas diversas que los

organismos gubernamentales podrían remediar.

• 2017. Problemas de abastecimiento de medicamentos en el

sistema de salud peruano. Diario “La Gestión”. Recuperado de

http://blogs.gestion.pe/evidencia-para-la-gestion/2017/04/que-esta-

detras-de-los-problemas-de-abastecimiento-de-medicamentos-en-

el-sistema-de-salud-peruano.html

Explica las entidades vinculadas en los procesos de compra,

almacenamiento y distribución de medicamentos en Perú. Así

mismo, menciona las diferentes formas de adquisición de las

medicinas y los problemas que se generan en el flujo de adquisición

como por ejemplo demoras en las compras, cuando no existe la

postulación de proveedores y son declaratorias designadas como

“desierto” y faltas de almacenes especializados.

• Edison Francisco Muñoz Recuay, (2007). Tesis de grado:

Integrador de Sistemas Heredados, una solución para la

Integración de Información. Universidad Ricardo Palma, Lima –

Perú.

Se menciona que la integración de sistemas a avanzado

tecnológicamente desde la década de los 80 al 2007, el cual

recomienda generar comunicaciones fáciles y rápidas, mediante

sincronización de data en sistemas diferentes.

Page 16: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

16

• Marcelo Alejandro Collao Huper, (2009). Tesis de maestría,

Controlador: un Framework de desarrollo para la integración de

sistema de software y cumplimiento de niveles de servicio.

Obtenido de:

http://www.tesis.uchile.cl/tesis/uchile/2009/collao_m/sources/collao

_m.pdf

En dicha tesis, se utiliza otro medio de integración de sistema

mediante Framework Controlador. Respecto a esta tesis debo

indicar que aporta conocimientos sobre el uso de otra herramienta

para poder integrar sistemas.

2.1.2. Metodología

▪ RUP

La metodología RUP, iniciales de Rational Unified Process o Proceso

Unificado Racional, es un producto comercial desarrollado y comercializado

por Rational Software que pertenece a la compañía IBM.

Se base en la elaboración de pasos a seguir para el desarrollo de proyectos

de software que precisa quién, cómo, cuándo y qué debe hacerse en el la

construcción del proyecto. La metodología RUP se ecuentra diseñada y

documentada en UML (Unified Modeling Language).

El Proceso Unificado está basado en tres conceptos: dirigidos mediante

casos de uso, centrado en la arquitectura, iterativo e incremental.

o El proceso Unificado mediante casos de uso

Una de las características es que RUP está dirigido por Casos de Uso que

es una técnica cuyo objetivo es obtener los diferentes requisitos del

sistema. Se puede definir un Caso de Uso a una funcionalidad del sistema.

Además de que los casos de uso sean una herramienta que se utiliza para

obtener los requisitos del sistema, dirigen también su diseño,

implementación y prueba.

Page 17: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

17

o Proceso centrado en la Arquitectura

La arquitectura de un sistema es la estructura de sus partes, gracias a eso,

todos los involucrados podemos tener una visión más exacta.

A parte de hacer uso de los casos de uso para el proceso, se enfoca

también en el establecimiento de una arquitectura robusta que no sea

afectada a posibles futuros cambios.

Los Casos de Uso deben adaptarse a la arquitectura y la arquitectura debe

permitir la elaboración de todos los Casos de Uso solicitados, por tal motivo

los Casos de Uso y la arquitectura deben desarrollarse en paralelo.

La arquitectura se va volviendo más robusta a través de las fases de RUP.

o Proceso iterativo e incremental

La estrategia que se plantea en RUP es tener un proceso iterativo e

incremental en donde el trabajo se descompone en partes más pequeñas

o también entendidas como mini proyectos. Cada mini proyecto es una

iteración el cual produce una progresión o crecimiento del producto.

Una iteración atraviesa por los siguientes flujos:

- Requisitos

- Análisis

- Diseño

- Implementación

- Pruebas

Page 18: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

18

Ilustración 2: Iteración en RUP

Como se muestra en la ilustración, el proceso iterativo e incremental

consiste en una sucesión de iteraciones hasta finalizar con la versión actual

del producto.

o Fases de RUP

La metodología RUP divide el proceso en cuatro fases, donde se logra

realizar varias iteraciones según sea el proyecto.

Inicio

En la fase de Inicio se da por definir tanto el modelo del negocio como el

alcance del proyecto, también se logra identificar los riesgos relacionados

al proyecto, se reconocen la totalidad de actores posibles y casos de uso y

se diseñan los más importantes. De igual manera, se tiende a elaborar un

plan de negocio para determinar que recursos deben ser asignados al

proyecto.

Objetivos de la fase de Inicio:

- Establecer el ámbito o entorno del proyecto, así como también sus

límites.

- Identificar los Casos de Uso graves que pudieran existir en

sistema.

Page 19: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

19

- Mostrar en general una arquitectura posible para los escenarios

principales.

- Calcular el valor aproximado del costo en recursos y el tiempo en

que empleará el proyecto.

- Reconocer los posibles riesgos.

Elaboración

En la fase de elaboración se tiene como objetivo analizar el problema,

establecer las bases de la arquitectura, desarrollar el plan del proyecto y

deshacer los riesgos de mayor importancia.

Se diseña la solución preliminar construyendo un prototipo o modelo de la

arquitectura, que debe crecer con iteraciones constantes hasta alcanzar el

sistema final.

Objetivos de esta fase:

- Definir, validar y cimentar la arquitectura.

- Crear un plan fiable para lo que concierne a la fase de construcción.

- La arquitectura propuesta debe demostrar que puede soportar la

visión con un coste y tiempo justo y prudente.

Construcción

El principal objetivo de esta fase es culminar con la funcionalidad del

sistema. Todos los componentes, características y requisitos deben ser

implementados, integrados y testeados en su totalidad con la finalidad de

obtener una versión buena o aceptable del producto.

Los objetivos incluyen:

- Reducir los costes de desarrollo realizando la optimización de

recursos.

- Realizar versiones funcionales del producto.

Page 20: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

20

Los resultados de la fase de construcción deben ser:

- Modelos completos (casos de uso, análisis, diseño, despliegue e

implementación).

- Riesgos reducidos.

- Manual inicial de usuario, el cual debe estar bien detallado.

- Prototipo operacional.

Transición

La finalidad de esta fase es garantizar que el software esté accesible para

los usuarios, poniéndolo en mano de los usuarios finales.

Otros objetivos:

- Capacitar a los usuarios brindando soporte necesario en el manejo

del producto.

- Conseguir que el usuario sea independiente con el sistema.

- Conseguir que el producto final haga cumplimento de los requisitos

ansiados, que funcione y que de una gran satisfacción al usuario.

Ilustración 3: Fases del Método RUP

Page 21: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

21

o Estructura de RUP

El proceso puede ser descrito en dos dimensiones:

Eje horizontal

Representa el tiempo y muestra el aspecto dinámico del proceso expresado

en términos de fases, iteraciones.

Eje Vertical

Representa el aspecto estático del proceso, en términos de actividades,

flujos de trabajo.

Ilustración 4: Estructura de RUP

Page 22: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

22

▪ SCRUM

Las organizaciones intentan alcanzar grandes objetivos de negocio a través

de los sistemas a la medida, esto representan desafíos comunes que se

pueden superar si se aplica una metodología rigurosa. Una de estas

metodologías es SCRUM.

SCRUM está orientado al trabajo en equipo entre cliente y proveedor,

donde sus integrantes colaboran con el fin de avanzar gradualmente y

lograr la entrega en un producto de calidad en tiempo y costos planeados.

Está basado en entregas parciales del producto final. El proyecto se divide

en Sprint que es cada una de las fases del proyecto donde se presenta los

avances al cliente, el cliente prueba el producto, lo aprueba o sugiere

cambios.

El cliente conoce la etapa en la que se encuentra su proyecto y se redefinen

los requerimientos.

Una vez finalizado los Sprints necesarios se hace entrega del producto

final.

Aplicar la metodología SCRUM significa realizar los proyectos de una mejor

manera, en menor tiempo y costo posible.

Ilustración 5: SCRUM

Page 23: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

23

Véase la siguiente imagen sobre la Metodología SCRUM:

Ilustración 6: Metodología SCRUM

Page 24: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

24

▪ Cuadro comparativo de Metodologías

Tabla 1: Comparación de Metodologías

Se eligió la metodología SCRUM debido a que se presenta avances del

proyecto al cliente, el cual da su punto de vista y se obtiene un feedback,

lo que permite mejorar la comunicación entre cliente y proveedor y de que

se construya un software el cual será más adaptivo a la necesidad del

cliente.

Page 25: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

25

2.1.3. Lenguaje de Programación

▪ JAVA

Es un lenguaje de programación el cual está orientado a objetos, fue

desarrollado por Sun Microsystems. Es un lenguaje que proviene desde un

principio del lenguaje C, por tal motivo, las reglas de sintaxis de ambos

lenguajes se asemejan bastante.

Se dice que es un lenguaje orientado a objetos debido a que permite

implementar el uso de clases, objetos, encapsulación, herencia, entre otros,

lo que reduce la complejidad de la programación.

Es un lenguaje independiente de la plataforma, puede ejecutarse en

computadoras con sistemas operativos diferentes (Windows, Linux) lo cual

facilita el trabajo para un desarrollador.

El lenguaje de java se utiliza en dispositivos móviles, también permite crear

aplicaciones applets que se adhieren en código HTML de una página web

con la capacidad de aplicar acciones complejas como, por ejemplo: realizar

animación de imágenes, hacer presentación de menús y cuadros de

diálogos, establecer conexiones de red, entre otros.

▪ PHP

Es el acrónimo de Hypertext Preproces. Es un lenguaje de programación

de código abierto, de uso libre y gratuito muy empleado en la programación

web y también utilizado en HTML lo que significa que un código HTML se

puede incluir código PHP, muchas páginas web están creadas en este

lenguaje.

Así mismo, es un lenguaje gratuito, independiente de plataforma, rapidez y

seguridad. Antes de que la página sea enviada a través del internet al

cliente, el código es ejecutado en el servidor web, estas páginas pueden

acceder a base de datos, conexiones en red y otras tareas que visualizará

el cliente final. Como resultado final el cliente recibe una página con código

HTML producto de la ejecución de PHP, la cual es compatible con todos

los navegadores.

Page 26: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

26

Es independiente de plataforma, compatible con cualquier sistema y

permite trasladar el sitio desarrollado a otro sistema sin dificultad. Posee

una extensa librería de funciones las cuales ayudan a realizar muchos tipos

de aplicaciones web y realizar varios tipos de proceso de información

necesitados en las aplicaciones, permiten realizar de una manera sencilla

tareas habituales.

De igual manera, son compatibles con bases de datos más conocidas como

MySQL, ORACLE, ODBC, entre otras.

▪ Cuadro comparativo de Lenguajes de Programación

Debido a que nuestro proyecto se basa en la comunicación del sistema de

SALOG implementado en los centros hospitalarios de EsSalud con el

sistema SAP. Se optó por la programación en Java debido a que es un

lenguaje orientado a objetos lo cual representa una programación con

normas definidas de forma precisa que brinda una comprensión más

sencilla. Así mismo, es un lenguaje que cuenta con librerías que permiten

conectarse con el sistema SAP.

Características JAVA PHP

Programación código

abierto

Si Si

Programación

Orientada a Objetos

Si No

Multiplataforma Si SI

Librerías conexión con

SAP

Si No

Compatibilidad con

BD

MySQL, ORACLE MySQL, ORACLE

Tabla 2: Comparación de Lenguajes de Programación

Page 27: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

27

2.1.4. Gestor de Base de Datos

▪ MySQL

Es un sistema de gestión de base de datos relacional, su código es abierto

y su lenguaje se encuentra basado en el Lenguaje de Consulta

Estructurado (SQL). Una base de datos relacional almacena los datos en

tablas diferentes lo que permite que la consulta de data sea más veloz y

flexible. Las tablas son unidas al realizar relaciones que hacen posible

combinar datos de diferentes tablas cuando se realizan las consultas en la

base de datos.

MySQL es bastante utilizado en base de datos sobre todo para aplicaciones

web, en especial en paquete LAMP que es un conjunto de softwares de

código abierto que se instala en unión para preparar un servidor con el fin

de alojar sitios y aplicaciones web dinámicas (Sistema Operativo Linux,

Servidor Apache, Base de Datos MySQL, Lenguaje de Programación PHP),

también existen otras opciones como MAMP y WAMP. Así mismo, MySQL

permite interacción con los lenguajes más usados como PHP, java, entre

otros.

Características:

- MySQL es un sistema de Gestión de Base de datos desarrollado

en el lenguaje C y C++.

- Para realizar consultas a la base de datos se realiza mediante el

lenguaje SQL.

- Mantiene gran cantidad de tipo de datos para las columnas.

- Puede trabajar en múltiples plataformas Linux, MAC, Windows

entre otras.

- Velocidad al realizar las operaciones.

- Facilidad de configuración e instalación.

Page 28: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

28

▪ ORACLE

Es un sistema de gestión de base de datos relacional hecho por Oracle

Corporation. Es una herramienta cliente/servidor muy potente para la

gestión de base de datos, debido a su gran potencia y su elevado precio

hace a que generalmente solo lo adquieran empresas muy grandes o

multinacionales.

Así mismo en el desarrollo de páginas web, ORACLE no está tan expandido

como otras bases de datos como MySQL. SAL Server, entre otras debido

a su alto precio.

ORACLE usa el lenguaje PL/SQL cuyo lenguaje se reconoce que es

bastante potente para gestionar la base de datos.

Características:

- Modelo de base de datos objeto-relacional.

- Multiplataforma

- Se puede ejecutar en varios sistemas operativos: Linux, MAC,

Windows, entre otros.

▪ Cuadro comparativo de Gestor de BD

Tabla 3: Comparación de Gestor de BD

Page 29: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

29

Para la elaboración de este proyecto se trabajó con el gestor de base de

datos ORACLE debido a que la empresa SALOG desde un principio ya

contaba con el servicio de éste y que además ORACLE posee un soporte

por lo cual se externaliza las incidencias.

2.2. Marco conceptual

Definición de conceptos

• ORACLE: Gestionador de Base de Datos.

• Job: Tareas que se ejecutan en una BD en una determinada fecha

y hora.

• MOM: Es un tipo de middleware orientado a mensajes. Este tipo de

middleware facilita la comunicación mediante intercambio de

mensajes y la entrega de mensajes lo realiza mediante colas.

• JMS: Implementación del modelo MOM en java.

• Productor: Aplicación que envía un mensaje

• Consumidor: Componente receptor que recupera el mensaje.

• ActiveMQ: Servidor gratuito de colas. Gestiona los mensajes en

cola.

• Archivo Jar: A través de los ficheros Jar (Java ARchives) se puede

recopilar varios ficheros en un único fichero, son almacenados en un

formato comprimido para que no ocupen mucho espacio.

• RUP: Proceso Unificado Racional, es una metodología para

desarrollar proyectos de software.

• SCRUM: Metodología Agil en donde se ejecutan un conjunto de

buenas prácticas y se trabaja en equipo, de esta forma se obtiene

un resultado optimo del proyecto

Page 30: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

30

2.3. Marco Metodológico

Para la elaboración del presente proyecto, se optó por la metodología

SCRUM comparada con otra metodología en el punto 2.1.2 del presente

informe. Por tal motivo en este punto, se enfocará a más profundidad.

2.3.1. Metodología SCRUM

SCRUM es una metodología flexible y ágil para realizar la gestión y el

desarrollo de software. En este proceso se aplican de manera constante un

conjunto de buenas prácticas para realizar un trabajo colaborativo, en

equipo y de esta manera poder conseguir el mejor resultado posible de un

proyecto.

Con esta metodología el cliente ve crecer su proyecto gracias a las

iteraciones recurrentes, le permite también de reformar los objetivos del

negocio en cualquier momento.

En Scrum se elaboran tanto entregas parciales como regulares del

producto final.

2.3.2. Beneficios

• Entrega mensual o quincenal de resultados

• Flexibilidad a cambios

La metodología está diseñada para acoplarse a los diferentes

cambios que puedan surgir de los requerimientos que serán del

interés de las necesidades del cliente.

• Reducción del Time to Market

El cliente puede hacer uso de las funcionalidades más relevantes del

proyecto antes de que este esté finalizado.

• Mayor calidad del software

Gracias a las iteraciones donde se obtiene versiones funcionales se

obtiene un producto de mayor calidad.

• Mayor productividad

El equipo de trabajo es autónomo, ellos mismos eligen la forma de

organizarse. Son autónomos.

• Reducción de riesgos

Page 31: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

31

2.3.3. Roles de Scrum

▪ Product Owner

Es la persona donde cae la responsabilidad del éxito del producto.

Sus responsabilidades son:

- Definir la visión del producto, dónde se está dirigiendo el

equipo de desarrollo.

- Gestionar las expectativas de los stakeholders.

- Juntar los requerimientos.

- Definir y tener conocimiento sobre las características

funcionales del producto.

- Generar y mantener el plan de entregas (reléase plan)

- Diagnosticas las importancias de cada una de las

características (prioridades).

- Cambiar las prioridades de las características según el

proyecto va avanzando.

- Poder Aceptar y también descartar el producto desarrollado

durante el Sprint y proveer feedback para su crecimiento.

- Ser partícipe de la revisión del Sprint en compañía de los

miembros que conforma el equipo

▪ Equipo de Desarrollo

El equipo de desarrollo se encuentra formado por el personal

imprescindible para la construcción o desarrollo del producto.

El equipo de desarrollo se encarga de su propia organización, no

existe un líder. El equipo es quien designa como se realizará el

trabajo y como resolverá si en caso se presentes problemas.

▪ Scrum Master

Es el líder del equipo en la gestión de proyectos. Hace cumplir a tos

los participantes del proyecto con los procesos de Scrum.

Page 32: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

32

2.3.4. Elementos de Scrum

El proceso de Scrum contiene algunos elementos formales que de tal

manera se pueda avanzar un proyecto de desarrollo:

Product Backlog

Es uno de los elementos más importante de Scrum, el backlog es una lista

de ítems o características del producto a construir, sostenible y cuyas

prioridades es hecha por el Product Owner.

Es importante definir la priorización de cada característica ya que será el

orden en que el equipo de trabajo transformará en un producto funcional

terminado.

Sprint Backlog

Es un conjunto de tareas las cuales las realiza el equipo en la reunión de

planificación de la iteración.

El Sprint Backlog es un paquete de PBIs (ítems del producto) que fueron

elegidos con la finalidad de trabajarlos durante un Sprint, en unión con las

tareas que el equipo de desarrollo ha determinado que debe realizar para

poder elaborar un incremento funcional entregable al finalizar el Sprint.

Ilustración 7: Sprint Backlog

Page 33: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

33

Increment

Es un avance funcional potencialmente entregable, debe ser el resultado

de cada Sprint.

Incremento funcional

Se dice que es un incremento o avance funcional debido a que es

una característica funcional modificada o recientemente elaborada

de un producto que está construyéndose de una forma evolutiva.

Potencialmente entregable

Se dice que es potencialmente entregable porque se realiza una

validación y verificación de cada una de las características del

producto, en donde se determina que puede ser entregada al usuario

si así lo estipula.

2.3.5. Eventos de Scrum

Sprint

Sprint son las iteraciones que se realizan. Scrum es un proceso de

desarrollo incremental e iterativo eso quiere decir que el producto se

elabora teniendo avances funcionales presentados en lapsos cortos de

tiempo para obtener a menudo y hacer uso de los feedbacks.

Los Sprints duran aproximadamente entre 1 a 4 semanas, siendo 2 o 3

semanas lo más habitual. Se recomienda establecer la duración de los

Sprint al comenzar el proyecto y mantenerlo constante durante el desarrollo

del producto.

Sprint Planning (Planificacion de Sprint)

Al iniciar cada Sprint se habitúa realizar una reunión de planificación del

Sprint donde el equipo de desarrollo y Product Owner generarán acuerdos

y compromisos respecto al alcance del Sprint.

Dicha reunión de planificación está compuesta en dos partes, la primera

parte estratégica y orientada en el “qué” y la segunda parte táctica enfocada

en el “cómo”.

Page 34: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

34

• Primera parte de la reunión (reunión de 4 horas como máximo)

- El cliente hace presente al equipo los requisitos del proyecto

a realizarse, establece nombre a la meta de la iteración y

propone requisitos de mayor prioridad a desarrollarse.

- El equipo analiza la lista, esclarece al cliente las dudas y

selecciona los objetivos más importantes que se compromete

a completar en la iteración.

• Segunda parte de la reunión (reunión de 4 horas como máximo)

El equipo planifica la iteración, elabora la táctica que le permitirá

conseguir el mejor resultado, la forma en la que llevará adelante el

trabajo.

Scrum Diario

A la reunión diaria asiste el equipo de trabajo y el ScrumMaster. Se realiza

las siguientes peguntas que se responderán por turnos:

1. ¿Desde la última reunión que he realizado o avanzado hasta el día

de hoy?

2. ¿Desde ahora hasta que haya la próxima reunión diaria, cuáles

serán las tareas en las que trabajaré?

3. ¿Qué obstáculos o dificultades tengo?

Cabe resaltar que esta reunión es enriquecedora ya que la comunicación y

el diálogo entre los integrantes del equipo de desarrollo se intensifica.

Al realizar la primera pregunta, se verifica si los integrantes del equipo de

desarrollo han cumplido con sus compromisos respectivos.

En la segunda pregunta, se da a conocer los nuevos compromisos

Finalmente, la tercera pregunta da a conocer los obstáculos que se les ha

presentado a los integrantes del equipo de desarrollo que serán resueltos

posteriormente y será responsabilidad del Scrum Master de que sean

resueltas lo más antes posible.

Page 35: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

35

2.3.6. Roles de usuario

Para analizar el sistema, se debe identificar los usuarios posibles con el

que el sistema poseerá.

2.3.7. Historias de Usuario

En los proyectos de desarrollo de software, la comunicación entre el cliente

y el desarrollador solía hacerse mediante documentación más conocida

como especificaciones funcionales que causaban malos entendidos y

muchas veces el software elaborado no era con lo que se esperaba.

Una de la razón por la cual las especificaciones funcionales transmitidas

como una forma de comunicación no conlleva a resultados esperado o

agradables es debido a que no existe una comunicación en persona. Las

historias de usuario son especificaciones funcionales que incitan a un

dialogo para que el detalle no sea un remplazo sino más bien una

consecuencia.

Una historia de Usuario lo integran 3 elementos, llamados como “las tres

Cs”.

▪ Card

Toda historia de usuario debe ser escrita en una ficha pequeña, si

no alcanzara, se debería compartir la información presencialmente.

▪ Conversación

Toda historia debe ser conversada con el Product Owner. Una

comunicación presencial que permita intercambiar tanto opiniones,

pensamientos y sentimientos (muy a parte de la información).

▪ Confirmación

Toda historia de usuario debe estar muy bien explicada de tal

manera que el equipo de desarrollo comprenda qué es lo ha de

desarrollar.

Como (rol) Necesito (funcionalidad) Para (beneficio)

Page 36: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

36

Los beneficios que trae este modo de redacción son:

- Ponerse en el lugar del usuario, la persona quien lee una

determinada historia de usuario comprende mejor la

necesidad del usuario.

- Ayuda a priorizar las funcionalidades.

Page 37: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

37

CAPÍTULO 3

DESARROLLO DE LA SOLUCIÓN

Page 38: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

38

3.1. Breve descripción de la Solución

La nueva arquitectura se basa en la utilización de un archivo JAR al cual se

nombró IRFC, se encuentra basado en lenguaje JAVA que es ejecutado

mediante tareas programadas. Este archivo JAR se encarga de procesar

las transacciones que se sincronizan del sistema de SALOG a SAP cuando

se requiere enviar datos de las Guías de Remisión y Movimientos. Así

mismo, procesa la información que se encuentra en el sistema SAP y debe

sincronizarse al sistema SALOG como son el caso de Materiales, órdenes

de compra y proveedores con la finalidad de que SALOG tenga una base

de datos actualizada.

El proceso de transacciones se realiza de la siguiente manera:

Tareas Programadas

• ProcesarCola

•ReprocesarCola

• (Se ejecuta cada minuto)

Archivos .BAT

• PROCESAR_COLA.BAT

•REPROCESAR_COLA.BAT

JAR IRFC

• Procesa transacciones mediante hilos.

Page 39: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

39

La nueva arquitectura es la siguiente:

Ilustración 8: Diagrama de propuesta de solución

1. Cuando se ejecuta la función PROCESAR_COLA del Jar IRFC,

consulta la tabla de colas en BD ORACLE (ERP_CTR_QUEUE), la

cantidad de transacciones que tome va a depender de la cantidad

de hilos que se configuro en el Jar IRFC.

2. Recibida la lista de transacciones en cola, las almacena en la tabla

ERP_CTR_TRANSACT con estado “procesando”.

3. Realiza Transacción SAP mediante el parámetro jco quien realiza la

conexión con SAP y envía ciertos parámetros.

Page 40: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

40

Acorde a la respuesta de SAP se realiza lo siguiente:

Éxito:

Cuando se logra sincronizar la data entre el sistema SALOG y SAP.

Se actualiza el estado de la transacción a “exitoso” en la tabla

ERP_CTR_TRANSACT, la transacción desaparece de la tabla

ERP_CTR_QUEUE y va a la tabla de historia de colas ERP_CTR_HIST.

Error:

Cuando no se envió todos los parámetros necesarios de la transacción a

procesar.

Se actualiza el estado de la transacción a “Error” en la tabla

ERP_CTR_TRANSACT. La transacción desaparece de la tabla

ERP_CTR_QUEUE y va a la tabla de errores ERP_CTR_ERROR, esta

transacción se puede volver a reprocesar mediante interfaz volviendo a la

tabla ERP_CTR_QUEUE y tomándola como nueva transacción.

Reproceso:

Se actualiza el estado de la transacción a “Reproceso” en la tabla

ERP_CTR_TRANSACT para que sea procesado por la función

REPROCESAR_COLA del Jar IRFC.

Nota: la aplicación usa hilos para procesar varias transacciones a la vez.

Page 41: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

41

3.2. Diagrama de flujo

Ilustración 9: Flujo de Proceso de Cola

Page 42: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

3.3. Requerimientos Funcionales

A continuación, se muestra el detalle de los requerimientos funcionales:

ID Detalle Proceso

ADT0001 Establecer conexión bajo una

configuración determinada

Enviar Información

ADT0002 Preparar información de

Guías de Remisión

Enviar Información

ADT0003 Preparar información de

Movimientos

Enviar Información

ADT0004 Enviar información de Guías

de Remisión

Enviar Información

ADT0005 Enviar información de

Movimientos

Enviar Información

ADT0006 Validar información de Guía

de Remisión

Enviar Información

ADT0007 Validar información de

Movimientos

Enviar Información

ADT0008 Establecer conexión bajo una

configuración determinada

Recibir Información

ADT0009 Definir información de

Materiales por recibir

Recibir Información

ADT0010 Definir Información de

Órdenes de Compra por

recibir

Recibir Información

ADT0011 Definir Información de

Proveedores por recibir

Recibir Información

ADT0012 Solicitar Información de

Material

Recibir Información

ADT0013 Solicitar Información de

Orden de Compra

Recibir Información

Page 43: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

43

ADT0014 Solicitar Información de

Proveedor

Recibir Información

ADT0015 Integrar Información de

Material

Recibir Información

ADT0016 Integrar Información de Orden

de Compra

Recibir Información

ADT0017 Integrar Información de

Proveedor

Recibir Información

Page 44: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

44

3.4. Roles de usuario

▪ Doctores

Regular manejo del sistema con bajo conocimiento del dominio del

problema. Este usuario tiene un bajo nivel relacionado a la

experiencia en el uso de computadoras y posee experiencia de nivel

regular en el uso del sistema en particular.

La responsabilidad de este usuario constará de realizar recetas a los

pacientes derivándolos a farmacia para que los recojan.

▪ Analistas

Usuario que tiene nivel alto de experiencia en el uso del sistema, con

conocimiento bajo del problema. Posee un alto nivel en el manejo de

computadoras.

La responsabilidad constará de realizar seguimientos de los stocks

de los medicamentos o materiales para cada centro hospitalario a su

cargo.

▪ Técnicos en Farmacia

Usuario cuenta con un intenso uso del sistema, conoce muy bien el

problema. Posee un nivel regular en el uso de computadoras.

Su responsabilidad constará de despachar los medicamentos que

contienen las recetas de los pacientes. Así mismo, verificar en el

sistema el stock de los medicamentos y materiales médicos.

▪ Personal de Almacén

Usuario que utiliza con mucha frecuencia el sistema, tiene

conocimiento alto del problema. Posee un nivel mayor en el manejo

de computadoras y por último, posee alto nivel de experiencia eon

el uso del sistema.

Su responsabilidad será de generar guías de remisión para el envío

de medicamentos y materiales médicos a los diferentes centros

hospitalarios de las tres redes de EsSalud Rebagliati, Almenara y

Sabogal a nivel de Lima y Callao.

Page 45: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

45

▪ Mesa de ayuda

Realiza un intenso uso del sistema, posee un alto conocimiento

respecto al dominio del problema. Tiene un nivel alto de experiencia

en el manejo de computadoras, así como en el uso del sistema.

Su responsabilidad será dar soporte con respecto al sistema a los

usuarios de los centros hospitalarios y del almacén central.

3.5. Visual Story Mapping

3.5.1. Identificación de los Procesos de Negocio

Se identificaron los siguientes procesos:

▪ Enviar Información

▪ Recibir Información

3.5.2. Identificación de Funcionalidades

Funcionalidades que deberá contar el sistema. De acuerdo a los

procesos de negocio, se han identificado las siguientes

funcionalidades:

▪ ENVIAR INFORMACION

o Establecer conexión con SAP

- Establecer conexión bajo una configuración

determinada

o Preparar información a enviar

- Preparar información de Guías de Remisión

- Preparar información de Movimientos

o Enviar información

- Enviar información de Guías de Remisión

- Enviar información de Movimientos

o Validar información enviada

- Validar información de Guías de Remisión

- Validar información de Movimientos

Page 46: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

46

▪ RECIBIR INFORMACION

o Validar conexión con SAP

- Establecer conexión bajo una configuración

determinada

o Definir información por recibir

- Definir información de Materiales por recibir

- Definir información de Órdenes de Compra por recibir

o Solicitar información definida

- Solicitar información de Material

- Solicitar información de Órdenes de Compra

- Solicitar información de Proveedores

o Validar información recibida (Integración)

- Integrar información de Material

- Integrar información de Órdenes de Compra

- Integrar información de Proveedores

Page 47: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

A continuación, se muestra el Visual Story Mapping:

Ilustración 10:Visual Story Mapping

Procesos de

Negocio

Establecer

conexión con

SAP

Preparar

informacion a

enviar

Enviar

Informacion

Validar

informacion

enviada

Validar conexión

con SAP

Definir

informacion por

recibir

Solicitar

informacion

definida

Validar

informacion

recibida

(Integracion)

Actividades

Release 1

Establecer

conexión bajo

una

configuracion

determinada

Preparar

informacion de

Guias de

Remision

Enviar

informacion de

Guias de

Remision

Validar

informacion de

Guia de

Remision

Establecer

conexión bajo

una

configuracion

determinada

Definir

informacion de

Materiales por

recibir

Solicitar

informacion de

Material

Integrar

informacion de

Material

Release 2

Preparar

informacion de

Movimientos

Enviar

informacion de

Movimientos

Validar

informacion de

Movimientos

Definir

informacion de

Ordenes de

Compra por

recibir

Solicitar

informacion de

Orden de

Compra

Integrar

informacion de

Orden de

Compra

Release 3

Definir

informacion de

Proveedores por

recibir

Solicitar

informacion de

Proveedor

Integrar

Informacion de

Proveedor

RECIBIR INFORMACIONENVIAR INFORMACION

Herramientas

o Historias de

Usuario

Page 48: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

3.6. Identificación de Entregas

La identificación de entregas se realiza mediante un Producto

Mínimo Viable (MVP).

3.6.1. MVP (Entrega 1)

Entrega 1 – Objetivo: Establecer conexión y sincronizar data

de Guías de Remisión y de Materiales

▪ ENVIAR INFORMACION

o Establecer conexión con SAP

- Establecer conexión bajo una configuración

determinada.

o Preparar información a enviar

- Preparar información de Guías de Remisión

o Enviar información

- Enviar información de Guías de Remisión

o Validar información enviada

- Validar información de Guía de Remisión

▪ RECIBIR INFORMACION

o Definir información por recibir

- Definir información de Materiales por recibir.

o Solicitar información definida

- Solicitar Información de Material

o Validar información recibida

- Integrar Información de Material

Page 49: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

49

3.6.2. MVP (Entrega 2)

Entrega 2 – Objetivo: Sincronizar información de

Movimientos y Órdenes de Compra

▪ ENVIAR INFORMACION

o Preparar información a enviar

- Preparar información de Movimientos

o Enviar información

- Enviar información de Movimientos

o Validar información enviada

- Validar información de Movimientos

▪ RECIBIR INFORMACION

o Definir información por recibir

- Definir información de Órdenes de Compra

o Solicitar información definida

- Solicitar Información de Órdenes de Compra

o Validar información recibida

- Integrar Información de Órdenes de Compra

3.6.3. MVP (Entrega 3)

Entrega 3 – Objetivo: Sincronizar información de

Proveedores

▪ RECIBIR INFORMACION

o Definir información por recibir

- Definir Información de Proveedores por recibir

o Solicitar información definida

- Solicitar Información de Proveedor

o Validar información recibida

- Integrar Información de Proveedor

Page 50: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

50

3.7. Historias de Usuarios

Se presenta a continuación las historias de usuarios para la Entrega 1:

Entrega 1 - Establecer conexión y sincronizar data de Guías de

Remisión y de Materiales

Pri Como Necesito Para Criterios de

Aceptación

1 Analista Establecer

conexión bajo

una

configuración

determinada

Asegurar el

correcto envío y

recepción de

información con

EsSalud

La conexión con

SAP debe ser

parametrizada y

configurable.

Si la conexión con

SAP no es exitosa

no se debe enviar

ni recibir

información.

2 Analista Preparar

información de

Guías de

Remisión

Enviar

información de

guías de remisión

a SAP

La información

enviada debe

poder corroborarse

en el sistema SAP

3 Analista Enviar

información de

Guías de

Remisión

Informar a SAP

de los

medicamentos

que se enviarán a

los hospitales

Se debe enviar

información de la

guía y del detalle

de materiales a

trasladar.

4 Analista Validar

información de

Guía de

Remisión

Asegurar que la

información llegó

a SAP

exitosamente

Se debe manejar

estados acordes a

la respuesta del

sistema SAP

5 Analista Definir

información de

Indicar al sistema

SAP los

Se debe

determinar el

Page 51: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

51

Materiales por

recibir.

materiales que se

solicitaran

rango de

materiales y el

rango de fechas

para consultar

6 Analista Solicitar

Información de

Material

Conocer la

información

modificada en

SAP respecto a

los materiales

Se debe

almacenar la

información de los

materiales en un

estado temporal

previo a la

integración

7 Analista Integrar

Información de

Material

Mantener el

catálogo de

materiales

actualizado

Se debe actualizar

el catálogo de

materiales en el

sistema local

Page 52: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

52

Historias de usuario para la Entrega 2:

Entrega 2 - Sincronizar información de Movimientos y Órdenes de

Compra

Pri Como Necesito Para Criterios de

Aceptación

8 Analista Preparar

información de

Movimientos

Definir el

movimiento en

almacén para

informar al

sistema SAP

Se debe indicar el

tipo de movimiento

(ingreso, salida)

Se debe indicar

los materiales que

se están moviendo

9 Analista Enviar

información de

Movimientos

Informar al

sistema SAP de

los movimientos

en el Almacén

Se debe poder

corroborar la

información de

movimientos en el

sistema SAP

10 Analista Validar

información de

Movimientos

Asegurar que los

movimientos

fueron enviados a

SAP

correctamente

Se debe manejar

estados acordes a

la respuesta del

sistema SAP

11 Analista Definir

información de

Órdenes de

Compra

Indicar al sistema

SAP las órdenes

de compra que se

solicitaran

Se debe indicar

información de la

orden de compra y

los materiales

involucrados en

esta.

12 Analista Solicitar

Información de

Órdenes de

Compra

Conocer las

nuevas órdenes

de compra

Se debe

almacenar

información de las

órdenes de

Page 53: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

53

emitidas por

Essalud

compra previa a

su integración

13 Analista Integrar

Información de

Órdenes de

Compra

Mantener las

ordenes de

compras

actualizadas en el

sistema local

Se debe actualizar

el catálogo de

órdenes de

compra en el

sistema local

Historias de usuario para la Entrega 3:

Entrega 3 - Sincronizar información de Proveedores

Pri Como Necesito Para Criterios de

Aceptación

14 Analista Definir

Información de

Proveedores

por recibir

Indicar al sistema

SAP los

proveedores que

se van a requerir

Se debe indicar el

código de

proveedor

15 Analista Solicitar

Información de

Proveedor

Conocer

información

detallada de los

proveedores

Se debe

almacenar la

información del

proveedor previa a

su integración

16 Analista Integrar

Información de

Proveedor

Mantener

actualizado el

catálogo de

proveedores de

EsSalud

Se debe actualizar

el catálogo de

proveedores en el

sistema local

Page 54: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

54

3.8. Plan de Entregas (Release Plan)

En cuanto al plan de entregas, se presentan las historias de Usuario,

haciendo uso de Fibonacci y considerando una velocidad de Iteración de

15 puntos de historia con una duración de dos semanas:

Entrega 1 - Establecer conexión y sincronizar data de Guías de

Remisión y de Materiales

Pri Como Necesito Para Estim

Sprint 1

1 Analista Establecer

conexión bajo

una

configuración

determinada

Asegurar el correcto envío y

recepción de información

con EsSalud.

8

Sprint 2

2 Analista Preparar

información de

Guías de

Remisión

Enviar información de guías

de remisión a SAP.

3

3 Analista Enviar

información de

Guías de

Remisión

Informar a SAP de los

medicamentos que se

enviarán a los hospitales.

5

4 Analista Validar

información de

Guía de

Remisión

Asegurar que la información

llegó a SAP exitosamente.

5

Sprint 3

5 Analista Definir

información de

Materiales por

recibir.

Indicar al sistema SAP los

materiales que se solicitarán.

3

Page 55: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

55

6 Analista Solicitar

Información de

Material

Conocer la información

modificada en SAP respecto

a los materiales.

3

7 Analista Integrar

Información de

Material

Mantener el catálogo de

materiales actualizado.

5

Entrega 2 - Sincronizar información de Movimientos y Órdenes de

Compra

Pri Como Necesito Para Estim

Sprint 4

8 Analista Preparar

información

de

Movimientos

Definir el

movimiento en

almacén para

informar al sistema

SAP.

3

9 Analista Enviar

información

de

Movimientos

Informar al sistema

SAP de los

movimientos en el

Almacén.

5

10 Analista Validar

información

de

Movimientos

Asegurar que los

movimientos fueron

enviados a SAP

correctamente.

5

Sprint 5

11 Analista Definir

información

de Órdenes

de Compra

Indicar al sistema

SAP las órdenes de

compra que se

solicitarán.

3

Page 56: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

56

Entrega 3 - Sincronizar información de Proveedores

Pri Como Necesito Para Estim

Sprint 6

14 Analista Definir

Información

de

Proveedores

por recibir

Indicar al sistema SAP

los proveedores que se

van a requerir

5

15 Analista Solicitar

Información

de

Proveedor

Conocer información

detallada de los

proveedores.

5

16 Analista Integrar

Información

de

Proveedor

Mantener actualizado

el catálogo de los

proveedores de

EsSalud.

8

12 Analista Solicitar

Información

de Órdenes

de Compra

Cnocer las nuevas

ordes de compra

emitidas por

EsSalud.

5

13 Analista Integrar

Información

de Órdenes

de Compra

Mantener las

ordenes de

compras

actualizadas en el

sistema local.

5

Page 57: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

57

3.9. Cronograma

Se presenta a continuación el cronograma de las entregas relacionadas al

proyecto:

Etapa Duración Desde Hasta

Incepción 2 semanas 02-mayo-2016 13-mayo-2016

Entrega 1

Sprint 1 2 semanas 16-mayo-2016 27-mayo-2016

Sprint 2 2 semanas 30-mayo-2016 10-junio-2016

Sprint 3 2 semanas 13-junio-2016 24-junio-2016

Entrega 2

Sprint 4 2 semanas 27-junio-2016 08-julio-2016

Sprint 5 2 semanas 11-julio-2016 22-julio-2016

Entrega 3

Sprint 6 2 semanas 25-julio-2016 05-ago-2016

Page 58: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

58

3.10. Base de datos

Se muestra las tablas involucradas en el proyecto:

Ilustración 11: Base de datos del proyecto

Page 59: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

59

CAPITULO 4

RESULTADOS

Page 60: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

60

4.1. Resultados

4.1.1. Resultados

a) Objetivo Específico 1: “Diseñar una nueva arquitectura de

comunicación entre el sistema de SALOG y SAP”.

Ayudó a mejorar la comunicación entre ambos sistemas,

optimizando el tiempo de procesamiento de transacciones,

minimizando los pasos existentes en tal proceso y mejorando la

sincronización de data de un sistema a otro.

En la antigua arquitectura, la comunicación entre ambos

sistemas se realizaba mediante un productor que entregaba las

transacciones a un consumidor mediante el uso de colas,

procedimiento que se realizaba en seis pasos. Con la nueva

arquitectura se minimizaron y se simplificaron los pasos a tres.

Comparación de las arquitecturas del sistema

Antigua Arquitectura Nueva Arquitectura

Pasos 6 3

Tiempo 500 a 800 transacciones por día

800 a 1200 transacciones por día

Servidor Web Apache Tomcat No

Servicio de Colas

Active MQ No

Lenguaje Java Java

Encolamiento Alto Bajo

Quejas Muchas Muy poco

Procesamiento en paralelo

No, (Uno por uno) Varias al mismo tiempo (hasta 8 a la

vez)

Tabla 4: Comparación de arquitecturas del sistema

Nota:

En el anexo 1, se puede visualizar el modelo de la antigua

arquitectura y en la ilustración 6 del capítulo 3 se puede

observar la Nueva Arquitectura.

Page 61: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

61

b) Objetivo Especifico 2: “Optimizar el tiempo de la sincronización

de datos entre ambos sistemas procesando varias transacciones

al mismo tiempo”.

• Con la arquitectura antigua, se generaba encolamiento de

transacciones, debido a que solamente se podía procesar una

sola transacción a la vez; actualmente, con la nueva

arquitectura, se procesan varias transacciones a la vez, hasta

ocho para ser exactos, siendo ésta una variable modificable. Hoy

se procesan más transacciones, teniendo un rango de 800

transacciones como mínimo y 1200 transacciones como máximo

por día.

Ver el siguiente cuadro:

Ilustración 12: Mínimo de transacciones por día

Page 62: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

62

Ilustración 13: Máximo de transacciones por día

Así mismo, el encolamiento de transacciones producía malestar

y/o quejas por parte de los usuarios del almacén central y

doctores de los centros hospitalarios que lo manifestaban al área

de soporte de ayuda mediante la generación de tickets en el

sistema Vtiger.

Véase el siguiente cuadro:

Ilustración 14: Incidencias al mes por medio de tickets

30

3

0

5

10

15

20

25

30

35

Arquitectura Antigua Arquitectura Nueva

Incidencias Tickets por mes

Tickets

Page 63: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

63

• Redujo los riesgos de desabastecimiento, actualmente se

cuenta con información exacta y oportuna entre ambos sistemas

(SALOG y SAP) para una mejor toma de decisiones en el sector

logístico de medicamentos en los centros hospitalarios de

EsSalud.

• Los usuarios se adaptaron fácilmente al sistema debido a que

en su interface de usuario no se realizó mayores cambios, las

mejoras solo fueron internas del sistema, específicamente la

arquitectura.

Page 64: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

64

4.1.2. Presupuesto

Curva S

El presupuesto de la elaboración de un proyecto siempre va relacionado al

tiempo. En este caso, el proyecto se elaborará en tres meses.

Ilustración 15: Curva S

total S/.

Costos Quincena 1 Quincena 2 Quincena 3 Quincena 4 Quincena 5 Quincena 6 En soles

Personal 9,000.00 15,000.00 48,000.00 48,000.00 39,000.00 9,000.00 168,000.00

Equipos 3,333.33 3,333.33 3,333.33 3,333.33 3,333.33 16,666.67

Licencias 250 250 250 250 250 1,250.00

Suministros 100 200 300 500 800 1,900.00

Otros Gastos 100 200 300 500 500 500 2,100.00

Total 9,100.00 18,883.33 52,083.33 52,383.33 43,583.33 13,883.33 189,916.67

Acumulado 9,100.00 27,983.33 80,066.67 132,450.00 176,033.33 189,916.67

Mes 1 Mes 2 Mes 3

-

20,000.00

40,000.00

60,000.00

80,000.00

100,000.00

120,000.00

140,000.00

160,000.00

180,000.00

200,000.00

1 2 3 4 5 6

Co

sto

acu

mu

lad

o e

n s

ole

s

Curva "S" Series2

Page 65: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

65

VAR y Rentabilidad del proyecto

Rentabilidad del proyecto para el cliente EsSalud:

Rentabilidad del proyecto para la empresa SALOG:

El Proyecto es técnicamente y económicamente rentable, representa

beneficios para la empresa SALOG en 18.16% y un VAN de S/. 41561.59.

Tasa de Dcto anual 12%

Tasa de Dcto mensual 0.949%

Proyecto Terceros 231,605.69

Gastos de Planilla 85,125.00

Otros gastos del

Proyecto 15,000.00

Total Proyecto 331,730.69

VANI S/. 395,203.06

VAN Neto S/. 37,501.88

Rentabilkidad del proyecto 9.49%

Periodo de Recupero 11 meses

Tasa de Dcto anual 12%

Tasa Mensual = (Tasa anual+1)^1/12 -1

Tasa de Dcto mensual 0.949%

Tasa quincenal 0.473%

VANI S/. 228,890.32

VAN NETO S/. 41,561.59

Rentabilidad VAN NETO / VANI 18.16%

Page 66: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

66

FUENTES DE INFORMACIÓN

▪ Boletín de la Organización Mundial de la Salud - Escasez de

medicamentos a nivel mundial

http://www.who.int/bulletin/volumes/90/3/11-101303/es/

▪ Publicación de la Academia Europea de Pacientes –

Debastecimiento de medicamentos

https://www.eupati.eu/es/seguridad-de-los-

farmacos/desabastecimiento-de-medicamentos/

▪ Periódico “La Gestión”

http://gestion.pe/empresas/compania-salog-se-unio-essalud-

mejorar-servicio-entrega-medicamentos-2130691

▪ Información EsSalud

http://www.essalud.gob.pe/essalud-ya-cuenta-con-almacen-

automatizado-de-medicamentos/

▪ Tesis: Integrador de Sistemas Heredados, una Solución para la

Integración de Información

Autor: David Mauricio Sánchez

Año: 2010

▪ Tesis: “Controlador: un Framework de desarrollo para la

integración de sistema de software y cumplimiento de servicio”.

Autor:Marcelo Alejandro Collao Huper

Año: 2009

▪ Artículos sobre la comunicación entre sistemas distribuidos

mediante el modelo middleware MOM

http://www.developer.com/java/data/getting-started-with-mom-in-

jms.html

http://www.iuma.ulpgc.es/users/lhdez/inves/tesis/memoria-

tesis/node2.html

Page 67: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

67

▪ Documentación Java - propuesta de solución

https://www.manualslib.com/manual/166161/Sun-Microsystems-

Eway-Sap-Bapi.html?page=40

Page 68: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

68

CONCLUSIONES

• Se implementó una nueva arquitectura, mediante la metodología

SCRUM, llegando a la conclusión después de ser puesto en marcha

que se mejoró la comunicación del equipo SALOG con el cliente

EsSalud.

• Un punto principal en el éxito de la optimización sistema, fue

modificar la arquitectura, minimizando los pasos de sincronización

de data entre los sistemas de SALOG y SAP, reduciéndose de seis

a tres pasos.

• Gracias a que se implementó un procesamiento versátil, pudiéndose

realizar hasta 8 transacciones al mismo tiempo; se redujeron los

reclamos y/o incidencias concernientes al encolamiento en 90%, así

mismo se aumentó la cantidad de transacciones procesadas por día,

siendo 800 como mínimo y 1200 como máximo.

• Gracias a la nueva implementación de arquitectura, se redujo el

riesgo de desabastecimiento de medicinas en los centros

hospitalarios.

• El proyecto es viable, con una inversión inicial de 40000 soles en el

proyecto y con un TIR del 18%; el financiamiento fue proporcionado

por la misma empresa SALOG.

Page 69: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

69

ANEXOS

Anexo 1: Flujo de comunicación entre sistema de SALOG y SAP

Los sistemas de la empresa SALOG mantienen comunicación con el

sistema SAP de EsSalud con el fin de sincronizar las transacciones

realizadas en el transcurso del día.

Debido a la gran cantidad de transacciones a sincronizar, la empresa

manejaba una atención de transacción mediante el proceso de colas:

Ilustración 16: Comunicación antigua entre SALOG y SAP

Apache Tomcat: Servidor Web

Productor: Aplicación que envía transacciones al intermediario generando

una cola.

Consumidor: Aplicación que procesa las transacciones en cola y envía a

SAP mediante RFC.

Apache Active MQ: Broker de mensajería.

Page 70: Facultad de Ingenieríarepositorio.utp.edu.pe/bitstream/UTP/1296/1/Frarossar Espinoza_Trabajo... · de los usuarios. Entre los métodos para lograr el objetivo principal, se analizó

70

Existe un JOB (Job Control Language) configurado en la Base de

Datos ORACLE que se ejecuta cada minuto, lee información de las

transacciones en cola en la tabla ERP_CTR_QUEUE, toma el dato ID y lo

envía al PRODUCTOR mediante HTTP (Hypertext Transfer Protocol).

La aplicación denominada PRODUCTOR envía nuevos ítems al

intermediario Active MQ generándose una cola de transacciones.

La aplicación denominada CONSUMIDOR lee los ítems que se

encuentran en la cola y los procesa uno por uno.

En el procesamiento de cada ítem de la cola, para sincronizar la

data, el CONSUMIDOR se conecta al SAP mediante el RFC.

SAP envía una respuesta al CONSUMIDOR

Si la respuesta de SAP es correcta, la transacción se almacena en

la tabla ERP_CTR_HIST, caso contrario se guarda en la tabla

ERP_CTR_ERROR.

2

4

3

5

6

1

1