Propuesta para Trabajo de Grado -...
Transcript of Propuesta para Trabajo de Grado -...
CIS1530AP04 Arquitectura para Observatorio Nacional de Oferta y disponibilidad de productos farma-
céuticos.
Renzo David Rojas Silva
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMAS
BOGOTÁ, D.C.
2015
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación Práctica
Página i
Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
CIS1530AP04
Arquitectura para Observatorio Nacional de Oferta y disponibilidad de productos far-
macéuticos.
Autor(es):
Renzo David Rojas Silva
MEMORIA DEL TRABAJO DE GRADO REALIZADO PARA CUMPLIR UNO
DE LOS REQUISITOS PARA OPTAR AL TITULO DE INGENIERO DE
SISTEMAS
Director
Julio Ernesto Carreño Vargas.
Jurados del Trabajo de Grado
<Nombres y Apellidos Completos del Jurado >
<Nombres y Apellidos Completos del Jurado >
Página web del Trabajo de Grado
http://pegasus.javeriana.edu.co/~CIS1530AP04/
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMAS
BOGOTÁ, D.C.
Ingeniería de Sistemas CIS1530AP04
Página ii
11,2015
PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMAS
Rector Magnífico
Jorge Humberto Peláez Piedrahita, S.J.
Decano Facultad de Ingeniería
Ingeniero Jorge Luis Sánchez Téllez
Director de la Carrera de Ingeniería de Sistemas
Ingeniero Germán Alberto Chavarro Flórez
Director Departamento de Ingeniería de Sistemas
Ingeniero Rafael Andrés González Rivera
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación Práctica
Página iii
Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Artículo 23 de la Resolución No. 1 de Junio de 1946
“La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus
proyectos de grado. Sólo velará porque no se publique nada contrario al dogma y la moral
católica y porque no contengan ataques o polémicas puramente personales. Antes bien, que
se vean en ellos el anhelo de buscar la verdad y la Justicia”
Ingeniería de Sistemas CIS1530AP04
Página iv
AGRADECIMIENTOS
En primer lugar quisiera agradecer a mi familia que siempre ha estado allí como apoyo, alen-
tándome a seguir adelante y a cumplir todas las metas que me proponga.
En segundo lugar quisiera agradecer al Ingeniero Julio Ernesto Carreño, quien me dirigió en la
elaboración de este trabajo de grado; gracias por su paciencia y dedicación.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación Práctica
Página v
Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
CONTENIDO
CONTENIDO .............................................................................................................. V
INTRODUCCIÓN .......................................................................................................8
I - DESCRIPCIÓN GENERAL ..................................................................................9
1. OPORTUNIDAD, PROBLEMÁTICA, ANTECEDENTES. ............................................9 1.1. Formulación del problema que se resolvió. ........................................................... 10 1.2. Justificación del problema. .................................................................................... 10 1.3. Impacto Esperado. .................................................................................................. 12
2. DESCRIPCIÓN DEL PROYECTO. ..........................................................................13 2.1. Objetivo general. .................................................................................................... 13 2.2. Objetivos específicos. ............................................................................................. 13
3. METODOLOGÍA. ................................................................................................13
II – MARCO TEÓRICO ............................................................................................18
1. MARCO CONTEXTUAL.......................................................................................18 1.1. Perú. ....................................................................................................................... 18 1.2. Italia. ...................................................................................................................... 19 1.3. Estados Unidos. ...................................................................................................... 20 1.4. Venezuela: .............................................................................................................. 21 1.5. España: ................................................................................................................... 22 1.6. Resumen comparativo. ........................................................................................... 23
2. MARCO CONCEPTUAL. ......................................................................................25 2.1. Arquitectura de software. ....................................................................................... 25 2.2. Problemas dentro de la Arquitectura de software. ................................................. 26 2.3. Bus de Servicios Empresarial. ................................................................................ 26 2.4. Business Process Management. .............................................................................. 27 2.5. Business Activity Monitoring. ................................................................................. 28 2.6. BPM junto a ESB. ................................................................................................... 28
III – ANÁLISIS ..........................................................................................................29
1. OBTENCIÓN DE CONOCIMIENTO: .......................................................................29 1.1. Análisis. .................................................................................................................. 30
2. OBTENCIÓN DE REQUERIMIENTOS. ....................................................................32 2.1. Identificación de actores: ....................................................................................... 33 2.2. Identificación de actividades macro de valor: ....................................................... 34 2.3. Atributos de Calidad. .............................................................................................. 38
3. ESPECIFICACIÓN DE REQUERIMIENTOS. .....................................................................40
Ingeniería de Sistemas CIS1530AP04
Página vi
IV – DISEÑO ..............................................................................................................41
1. REQUERIMIENTOS ARQUITECTURALMENTE SIGNIFICATIVOS: ...........................42
2. VISTA LÓGICA. .................................................................................................43
3. VISTA DE COMPONENTES. .................................................................................46 3.1. Componentes específicos para el Observatorio. .................................................... 53
4. VISTA DE DESPLIEGUE. .....................................................................................61
5. EVALUACIÓN ARQUITECTURA. .........................................................................64
V – DESARROLLO DE LA SOLUCIÓN ................................................................69
VI – RESULTADOS ..................................................................................................79
VI – CONCLUSIONES .............................................................................................83
1. ANÁLISIS DE IMPACTO DEL DESARROLLO .........................................................83
2. CONCLUSIONES Y TRABAJO FUTURO ................................................................84
IV- REFERENCIAS Y BIBLIOGRAFÍA ................................................................87
IV - ANEXOS .............................................................................................................92
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación Práctica
Página vii
Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
ABSTRACT
The main objective of the following work was the analysis, design and construction of an ar-
chitecture that enables the development of a Supply and availability observatory of pharma-
ceutical products inside the Colombian context, searching to leave a tool of interest to the con-
sumers and the owners of drugstores. In that way we started with the analysis of the Health and
Pharmaceutical sector from different points of view, doing emphasis on the problems. Next,
we proceeded with the description of the main functionalities and last the construction of the
architecture and evaluation through the prototype developed.
RESUMEN
El objetivo del presente trabajo de grado fue analizar, diseñar y construir una arquitectura que
soportara el desarrollo de un Observatorio de oferta y disponibilidad de productos farmacéuti-
cos dentro del contexto colombiano, buscando dejar una herramienta de interés para los consu-
midores y para las droguerías. Así se comenzó con el análisis del sector Salud y Farmacéutico
desde los diferentes puntos de vista detectando los problemas. Seguido se procedió con la ela-
boración de las funcionalidades principales que ofrece el observatorio, para luego construir la
arquitectura y evaluarla mediante el prototipo desarrollado.
Ingeniería de Sistemas CIS1530AP04
Página 8
INTRODUCCIÓN
El sector salud se presenta como uno de los más grandes a nivel mundial y Colombia no es la
excepción [42].
Dentro de este sector surgen varios problemas y necesidades que están presentes en el día a día
de muchos ciudadanos, como lo es la obtención de medicamentos.
Este problema es de particular interés en Colombia donde un medicamento de marca puede
llegar a costar hasta 6 veces más que el mismo medicamento en su presentación genérica [48].
Igualmente no existe información al alcance de los consumidores que permita una comparación
entre productos genéricos y comerciales, lo que ocasiona que los consumidores no cuenten con
los recursos necesarios para tomar decisiones que se ajusten más a sus situaciones actuales,
teniendo en cuenta el presupuesto disponible para la obtención de productos farmacéuticos.
Igualmente y desde otro punto de vista, el sector Micro PyMe farmacéutico colombiano, con-
formado por las droguerías que venden al consumidor final, se encuentran pasando por amargos
momentos, debido a la llegada de nuevas empresas de grandes envergaduras, que hacen com-
petencia directa, y que al contar con más recursos económicos, ocasionan la desaparición de
los droguistas independientes dentro de la industria.
Por lo anterior, el siguiente trabajo de grado se centró en la creación de una arquitectura que
permita dar respuesta a los problemas del sector, tanto para consumidores como para droguis-
tas, mediante la construcción de un Observatorio Nacional de oferta y disponibilidad de pro-
ductos farmacéuticos.
Para el desarrollo de la propuesta se desarrolló una arquitectura BPM/SOA apoyada sobre un
ESB. Lo anterior debido a las características que ofrecen estos tres estilos al combinarse, adap-
tándose a las necesidades detectadas para la elaboración del Observatorio. Con el sistema cons-
truido sobre la base expuesta se logró una arquitectura escalable, abierta, de fácil monitoreo y
que permite la generación de información de interés sobre los procesos que se creen.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 9
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
I - DESCRIPCIÓN GENERAL
1. Oportunidad, Problemática, Antecedentes.
Dentro de la economía mundial, el sector de la salud es uno de los más grandes, aportando
aproximadamente un total del 8% del PIB mundial [42].
En Colombia vemos que la suma del gasto en salud ( sector público mas sector privado ) al-
canza un total del 6.8% del PIB nacional, acumulando un total de USD 533 en gasto per cápita
dentro del país; es el tercero en gasto de salud dentro de la región, después de Argentina y
Brasil [43].
Del gasto ya presentado, un 76% viene del sector público, es decir, el gobierno y otras entidades
del estado, mientras el 13.9% proviene del bolsillo [43], lo que en ingles se conoce como Out
of pocket y que hace referencia al gasto realizado con recursos propios de los hogares colom-
bianos cuando se quiere acceder a servicios de salud.
Con base en lo anterior, el gasto de bolsillo en la salud incluye, entre otras cosas, las consultas
médicas generales o especializadas, exámenes médicos, hospitalizaciones y medicamentos.
Haciendo referencia al último punto, vemos que Colombia es uno de los países con los precios
más altos en medicamentos [44], donde un producto farmacéutico de marca puede alcanzar
hasta 17,31 veces su precio en comparación del mismo en otros países [44].
Esta realidad es la que ha llevado a que aproximadamente el 51.1% de la población colombiana
(estratos 1, 2 y 3) tenga que hacer uso de un régimen subsidiado para poder tener acceso a la
salud [46].
El resumen de resultados de la defensoría del pueblo que expone cifras y resultados en cuanto
a la aplicación de la acción de tutela [47], nos muestra que más de una ter-cera parte de estas
para el año 2012 fueron por reclamos en derechos de salud.
Del mismo informe se evidencia que el 37% de tutelas fueron impuestas por la negación de
tratamientos, 19% negación de citas especializadas, 13% negación de cirugías, 10% negación
de imágenes diagnósticas y un 9% por negación de medicamentos.
Ingeniería de Sistemas CIS1530AP04
Página 10
Que los pacientes no tengan acceso a los debidos medicamentos es una situación compleja, ya
que al ser estos un producto de primera necesidad, es necesaria la obtención por otros medios
y como se ha expuesto anteriormente, los medicamentos de marca dentro del país son muy
costosos para gran parte de la población.
Por otra parte, en Colombia existe poca disponibilidad y acceso a la información técnica e
independiente sobre los medicamentos comercializados en el país [48]. Por lo tanto cuando un
ciudadano sufre de un problema de salud, no tiene criterio para evaluar su satisfacción frente a
un producto, se encuentra a manos del prescriptor (cuando acude a uno) o se encuentra a merced
de la publicidad y el mercadeo [49].
Esto ocasiona que se tenga un desconocimiento de la gama existente de marcas genéricas, que
pueden llegar a tener un valor de hasta 6 veces menos que el mismo producto de una marca
reconocida [48].
1.1. Formulación del problema que se resolvió.
A partir de lo dicho anteriormente se formuló la siguiente pregunta a resolver con el desarrollo
de la propuesta:
¿De qué manera se puede fortalecer el conocimiento de las personas para ejercer su derecho a
la libre elección al momento de la compra de productos farmacéuticos?
1.2. Justificación del problema.
Al proponer el diseño de una arquitectura para el desarrollo de un observatorio nacional de
oferta y disponibilidad de productos farmacéuticos, se está dejando la base para el desarrollo
de una nueva herramienta, dispuesta al alcance de los colombianos para poder acceder a la
información existente en el mercado de medicamentos de forma rápida, actualizada y entregada
al usuario según las necesidades de la consulta que se quiera realizar.
Al hablar de un alcance nacional, estamos haciendo referencia a la vinculación de diferentes
sistemas con fuentes de datos heterogéneas, en formatos distintos, provenientes del sector pyme
farmacéutico (droguerías, farmacias).
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 11
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Por lo tanto, y para lograr la escalabilidad y funcionalidad deseada es necesaria la planeación
adecuada de la arquitectura que soporte la heterogeneidad mencionada anteriormente; es acá
donde cobra valor el diseño de una arquitectura ESB (Bus de Servicio Empresarial).
Un sistema construido sobre una arquitectura ESB posee características que lo hacen apto para
manejar un alto volumen de transacciones y una comunicación de tiempo real entre sistemas
[50]. De igual forma posee la capacidad de interoperabilidad con distintos sistemas, escritos en
distintos lenguajes, basándose en conectores que se desarrollan para cada componente nuevo
distinto que se quiera incorporar [50].
Esta última característica es la que permite que los sistemas desplegados bajo una arquitectura
ESB sean flexibles y de fácil escalabilidad a medida que estos crecen y se tornan más complejos
[50] [45].
Una vez que se logra solucionar el problema de la heterogeneidad de sistemas, conectándolos
por medio de una arquitectura ESB, es necesario realizar una orquestación de éstos para lograr
crear un proceso nuevo para dar valor a los servicios y los datos que unifica el bus; acá cobra
importancia BPM como orquestador y como elemento que logra transformar los datos en in-
formación.
Al unir las características de una arquitectura ESB con las ventajas de BPM logramos crear
sistemas capaces de manejar procesos de negocio, donde se definen actividades de alta inter-
vención de usuarios, sobre una base de alta flexibilidad, escalabilidad y de alto rendimiento
otorgada por ESB [50] [45].
Así el observatorio pretende ser una herramienta que ayude a las personas en su búsqueda de
medicamentos, brindándoles las diferentes opciones de precios disponibles en el mercado, así
como las diferentes alternativas existentes para cubrir la necesidad que están presentando.
Desde otro punto, el sistema resultaría de interés para el propietario de Micro PyME farmacéu-
tica (puntos de venta de medicamentos a usuario final) al ser una herramienta, que al ser ofre-
Ingeniería de Sistemas CIS1530AP04
Página 12
cida como servicio, estaría dentro del alcance de adquisición y que brindaría recursos al em-
presario para hacer frente a los nuevos competidores internacionales que han ingresado al mer-
cado colombiano a causa del proceso de globalización que viene sucediendo a nivel mundial.
1.3. Impacto Esperado.
A corto plazo, la realización del proyecto busca dejar una base arquitectónica valida, probada
y evaluada para el desarrollo del observatorio. Lo anterior es de gran importancia debido a la
gran heterogeneidad de componentes que harían parte del sistema, donde es importante manejar
desde el diseño de la arquitectura el control de éstos, para poder ofrecer los diferentes servicios
con la ayuda de BPM, sin afectar atributos de calidad, que al no ser tenidos en cuenta desde
esta primera fase del diseño, re-percutirían en un sistema insostenible e imposible de desarro-
llar.
Al tomar como base una arquitectura BPM/ESB, el sistema, a mediano plazo y al ser llevado a
un ambiente comercial, tiene la intención de ser abierto y de fácil extensión para la incorpora-
ción de nuevos componentes y de nuevos servicios de forma eficiente, que cubran las necesi-
dades tanto del usuario final, como las del pequeño empresario; es una de las finalidades del
trabajo a desarrollar dejar el diseño arquitectónico planteado para que lo anterior pueda ser
realizable.
A largo plazo, el observatorio pretende ser una herramienta de utilidad tanto para la persona
que se encuentra en la búsqueda de un medicamento, como para los empresarios dueños de
pequeños y medianos puntos de venta de medicamentos (droguerías), que al unirse bajo un
mismo sistema, pueden generar datos e información del entorno donde se encuentran inmersos
para ayudar al mayor conocimiento de su mercado efectivo, generar interés en un nuevos nichos
de mercado con estrategias de penetración personalizadas para poder hacer frente y sobrevivir
dentro del sector junto con las grandes superficies, equilibrando la competencia y ofreciendo
mejor calidad de vida al usuario final, basada en una mejor prestación de servicios y fortaleci-
miento a sus derechos fundamentales como colombiano.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 13
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
2. Descripción del Proyecto.
2.1. Objetivo general.
Definir una arquitectura para el desarrollo de un observatorio nacional de oferta y disponibili-
dad de productos farmacéuticos.
2.2. Objetivos específicos.
Realizar la caracterización de un observatorio nacional de oferta y disponibilidad de
productos farmacéuticos mediante un proceso de ingeniería de requerimientos.
Diseñar una arquitectura orientada a BPM y ESB que permita el desarrollo de un ob-
servatorio nacional de oferta y disponibilidad de productos farmacéuticos.
Evaluar la arquitectura diseñada para el desarrollo del observatorio.
Desarrollar un prototipo que permita probar la arquitectura diseñada en un ambiente
de pruebas dentro del dominio del problema.
3. Metodología.
La metodología que se utilizó durante el desarrollo del proyecto estuvo basada en fases progre-
sivas e iterativas según la metodología ágil AUP (Agile Unified Process) [32]. El final de cada
fase dio como resultados diferentes entregables, necesarios para comenzar la fase siguiente.
Con esta dinámica se buscó que cada fase se retroalimentara con las anteriores. Así, el proyecto
se dividió en cuatro fases fraccionadas en secciones de investigación, análisis, desarrollo y
pruebas.
3.1. Fase de Inicio.
En la primera fase del proyecto, se realizó un proceso de investigación y de análisis en el cual
se procedió a una recolección de datos con respecto al estado actual de la problemática; de
igual forma se investigó sobre proyectos similares que sirvieron como referencia para el desa-
rrollo de la arquitectura.
3.1.1. Método.
Ingeniería de Sistemas CIS1530AP04
Página 14
Se realizó por medio de investigación especulativa, donde se buscó información acerca de la
problemática planteada en la sección I-1(Oportunidad, problemática, oportunidad).
3.1.2. Actividades.
3.1.2.1. Investigar.
En esta actividad se realizó un trabajo de investigación, analizando el estado actual de la pro-
blemática planteada, características de arquitecturas ESB junto con BPM y proyectos ya desa-
rrollados en el área.
3.1.2.2. Documentar.
En esta actividad se realizó la documentación de la información relevante a la problemática y
de la arquitectura propuesta.
3.1.3 Resultados Obtenidos.
A partir de la actividad anterior se obtuvo un estado del arte sobre la problemática investigada,
características relevantes de ésta y al mismo tiempo sobre la arquitectura ESB junto con BPM.
3.2. Fase de Diseño.
En la segunda fase se desarrolló un diseño basado en la recolección de datos de la fase anterior
y se realizará un proceso de ingeniería de requerimientos en los cuales se plantearon las nece-
sidades básicas a cubrir con la arquitectura a desarrollar.
3.2.1. Método.
Se realizaron un conjunto de actividades principales para la ingeniería de requerimientos como
lo propone Loucopoulos [25], adecuado a las necesidades del proyecto. Luego de ello se reali-
zará la arquitectura acorde a los requerimientos y se evaluó para asegurar que cumplía con lo
especificado.
3.2.2. Actividades.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 15
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
3.2.2.1. Diseño de casos de uso.
El objetivo de esta actividad fue analizar y sintetizar la información obtenida en la fase anterior
para poder realizar un primer levantamiento de los casos de uso que llevaron a la solución de
la problemática planteada.
3.2.2.2. Especificación de requerimientos.
El propósito de esta actividad es pautar las especificaciones de los requerimientos funcionales
y no funcionales detectados junto con los atributos de calidad.
3.2.2.3. Diseño arquitectura del sistema.
En esta actividad se realizó la caracterización arquitectónica del sistema de una manera más
específica basándonos en el proceso de requerimientos para que cumpliera con lo especificado
anteriormente.
3.2.2.5. Evaluación de arquitectura.
Para asegurar una arquitectura que cumpliera con los requisitos planteados, se procedió a rea-
lizar la evaluación de la arquitectura para verificar que cumpliera con los requerimientos espe-
cificados.
3.2.3 Resultados Obtenidos.
Se obtuvo al final de esta fase un documento de requerimientos con:
Modelo inicial de casos de uso.
Requerimientos funcionales y no funcionales del sistema.
Luego de esto se realizó Un SAD (Software Architecture Document) con:
Modelo de casos de uso ajustado.
Arquitectura lógica.
Arquitectura física.
Ingeniería de Sistemas CIS1530AP04
Página 16
3.3. Fase de Implementación.
En la tercera fase se empezó la construcción del prototipo a partir de la información obtenida
en la segunda fase.
3.3.1. Método.
Se usaron los productos obtenidos en etapas anteriores para comenzar la construcción del pro-
totipo. Se dividió en pequeñas iteraciones para validar el trabajo realizado en cada periodo de
tiempo y adecuar el prototipo por si surgían cambios en los requerimientos o la arquitectura
diseñada.
3.3.2. Actividades
3.3.2.1. Desarrollo del prototipo
En esta actividad se realizó la codificación del prototipo.
3.3.2.2. Documentación de prototipo
De manera paralela al desarrollo del prototipo se realizó la documentación del código, sus fun-
cionalidades y manual de usuario.
3.3.2. Resultados Obtenidos.
Al final de la etapa de construcción se obtuvo un prototipo funcional con:
Manual de usuario con descripción de las funcionalidades del prototipo.
Prototipo funcional del sistema.
3.4. Fase de Verificación
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 17
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
En esta fase se evaluó que el prototipo cumpliera con los requerimientos especificados que se
implementaron (funcionales y no funcionales) dentro de un ambiente de pruebas controlado
dentro del dominio de la problemática planteada.
3.4.1. Método
Debido a la naturaleza del sistema, donde existe la comunicación de diferentes componentes
que “hablan” diferentes idiomas fue necesario hacer una verificación de software por medio de
pruebas de componentes y pruebas del sistema, como propone Sommerville [31].
3.4.2. Actividades
3.4.2.1. Probar componentes.
Se realizan pruebas sobre los componentes individuales del sistema para verificar que estos
respondían de manera correcta, antes de estar inmersos dentro de una gran arquitectura.
3.4.2.2. Probar sistema.
Acá se integraron todos los componentes una vez ya probados por separado, para ver el fun-
cionamiento del sistema como un todo.
3.4.2.3. Documentar resultados.
Una vez finalizadas las pruebas, se realizó un documente de pruebas con respecto a lo obtenido
en las dos actividades anteriores.
3.4.3 Resultados Obtenidos.
Finalmente se obtuvo un documento o reporte de pruebas sobre el prototipo desarrollado.
Ingeniería de Sistemas CIS1530AP04
Página 18
II – MARCO TEÓRICO
1. Marco Contextual
El problema expuesto en la primera sección de este documento no ha sido únicamente de interés
en Colombia, por lo que ya se ha analizado desde diferentes perspectivas y en diferentes con-
textos nacionales.
1.1. Perú.
En Perú se ve un proyecto de iniciativa gubernamental enfocado a la creación de una herra-
mienta para apoyo de la comunidad. La principal intención es dar un recurso a las personas
para que puedan ejercer su libre derecho en la elección sobre compra de medicamentos [16].
Así se pretende dar información de toda la gama de medicinas, tanto genéricas como de marca
junto a su precio de venta en diferentes establecimientos comerciales a nivel nacional.
El sistema peruano permite el envío de información mediante tres formas [17]:
Envío de información mensual mediante llenado de un formulario.
Envío de información mensual mediante archivo Excel.
Envío de información mediante el servicio en línea – Web Service.
1.1.1. Aspectos positivos.
Para lograr el éxito del proyecto, vemos que el apoyo por parte del estado mediante la genera-
ción de leyes fue vital. Como resultado del proyecto, se ha logrado la construcción de un repo-
sitorio amplio de datos para que los usuarios puedan contar con la información suficiente cada
vez que deseen acceder a precios y descripción de medicamentos.
1.1.2. Aspectos negativos.
Hablando de los diferentes medios que ofrece el sistema para acceder a la información, encon-
tramos que solo cuenta con una aplicación cliente web disponible para el público, por la cual
se accede para realizar consultas. Lo anterior llega a ser una desventaja ya que no se cuentan
con otros clientes que permitan el ingreso desde otros dispositivos.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 19
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
1.1.3. Oportunidades.
Con la arquitectura planteada en este trabajo de grado, es posible la fácil y rápida adición o
eliminación de clientes que consuman las funciones ofrecidas por el Observatorio mediante el
Bus Empresarial, diseñando el flujo del proceso con BPM. Esto quiere decir que el sistema
puede llegar a tener una mayor penetración en la población, ya que se podrían realizar clientes
que respondan a diferentes características o limitaciones de los usuarios para facilitar el acceso
a la información.
1.2. Italia.
En Italia, encontramos otra iniciativa de gobierno donde se quiere crear una base de datos de
libre acceso para la consulta de información de cualquier tipo relacionada al sector salud [18].
Más precisamente, el proyecto gira en torno al cumplimiento de cuatro objetivos:
Promover el libre y continuo acceso a datos e información.
Disminuir costos del mantenimiento de los datos, tanto para el gobierno, como para los
interesados en estos.
Disminuir tiempos de diseño y desarrollo para aquellos interesados en acceder a los
datos.
Evitar el uso de protocolos propietarios de acceso a datos.
Así, CloudApp, llega a ser una colección de varias bases de datos relacionadas a temas de salud
a nivel nacional: hospitales, droguerías, entre otros.
Haciendo uso de la información expuesta mediante CloudApp, el mismo gobierno italiano co-
menzó el desarrollo de una aplicación para el apoyo a los turistas en el país. Así nace Open
Health for Tourist (OHT) [18].
1.2.1. Aspectos positivos.
Ingeniería de Sistemas CIS1530AP04
Página 20
Para lograr el libre acceso a los datos, el proyecto hace uso de los lineamientos dictados por
The Open Data Protocol, donde se encuentran herramientas para el buen desarrollo de interfa-
ces REST. De igual forma los resultados de las consultas sobre el sistema pueden ser devueltos
en tres formatos: JSON, RDF y KML. La arquitectura descrita anteriormente junto con la filo-
sofía de los estándares abiertos, evidencia el deseo de unir una gran cantidad de sistemas hete-
rogéneos bajo una misma fachada.
1.2.2. Aspectos negativos.
El sistema, sin embargo, solo muestra información aplicando ciertos filtros (ej. geo localiza-
ción), sin brindar un servicio más allá al usuario final. De igual forma, para el sector salud no
se ve mayor aplicación del sistema, ya que este solo participa aportando los datos para que
otros accedan a ellos y no reciben ninguna clase de beneficio a cambio.
1.2.3. Oportunidades.
Bajo la base de la arquitectura propuesta en este trabajo de grado, se logra la integración de un
sector de forma organizada de tal manera que la escalabilidad del sistema se lleva a cabo sin
mayores problemas. La incorporación de BPM ayuda a crear nuevos servicios tanto para los
usuarios finales como para los profesionales involucrados en el sector, sin quedarse solamente
en un sistema para mostrar datos.
1.3. Estados Unidos.
En Estados Unidos encontramos el FDA como programa del departamento de salud y servicios
humanos [19]. Food Drug Administration es una entidad gubernamental encargada de velar por
la protección de la salud pública mediante el control de drogas tanto veterinarias como para
humanos. Entre sus tareas se encuentra la de hacer avanzar el sector de la salud ayudando en
la innovación de nuevas tecnologías para lograr medicamentos más seguros, eficaces y asequi-
bles para la población.
Para lograr cumplir con el último punto, FDA ha desarrollado el sistema Drug Shortages. Este
llega al público por medio de una aplicación android y iOS en la cual el usuario puede estar al
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 21
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
tanto de los medicamentos que están sufriendo de escases y medicamentos descontinuados
[19].
1.3.1. Aspectos positivos.
Vemos que la aplicación no solo está enfocada a suplir las necesidades de los pacientes, sino
también pretende ser una herramienta para otros actores dentro del sector como los son los
médicos, ayudando a los prescriptores a tomar mejores decisiones sobre los tratamientos de los
pacientes. Adicionalmente permite la búsqueda de medicamentos por sus componentes activos.
1.3.2. Oportunidades.
La aplicación nos da información completa y detallada de los medicamentos, pero en ningún
momento la relaciona con su disponibilidad en droguerías. Acá vemos una ventaja con el sis-
tema que se desarrolla bajo la arquitectura planteada en este trabajo. De igual forma en ningún
punto se brinda información más allá de la disponible sobre medicamentos.
1.4. Venezuela:
En Venezuela encontramos un sistema desarrollado por AMS (Applied Mobility Systems),
creado con el propósito de ayudar a lidiar con la situación de desabastecimiento existente a
nivel nacional que ha afectado todos los sectores de la industria, incluido el de los medicamen-
tos [20].
Así surge Akiztá, aplicación android y iOS que busca conectar los diferentes inventarios de la
industria farmacéutica a nivel nacional para lograr una búsqueda de productos de forma más
eficiente [21].
1.4.1. Aspectos negativos.
La información ofrecida por la aplicación es actualizada al inicio de cada día, lo que ocasiona
la aparición de inconsistencias con lo existente en el inventario de la farmacia y con lo repor-
tado en la aplicación.
1.4.2. Oportunidades.
Ingeniería de Sistemas CIS1530AP04
Página 22
El Observatorio propuesto es una herramienta más especializada en el sector salud nacional
colombiano, lo cual permite que la información que allí se encuentra pueda ser más detallada
y comparable una con otra para brindar a los consumidores mayores puntos de vistas sobre sus
búsquedas.
1.5. España:
Otro sistema lo encontramos en España. “Medicamento Accesible Plus”, es una aplicación
desarrollada para Android y iOS que permite la búsqueda de información sobre un medica-
mento, ya sea escaneando el código de barras del empaque o ingresando el nombre del producto
[22] [23].
La aplicación ofrece los servicios de búsqueda de medicamento, búsqueda de farmacias y una
función para guardar una lista de medicamentos preferidos.
1.5.1. Aspectos positivos.
La aplicación cliente está creada pensando en las necesidades de los usuarios de tercera edad.
Lo anterior implica que la interfaz cuenta con parámetros ajustables para permitir el uso de
sistema con mayor facilidad a los adultos mayores.
1.5.2. Aspectos negativos.
Como aspecto negativo vemos que la función de búsqueda de medicamento no está relacionada
con la función de búsqueda de farmacia; lo anterior quiere decir que no podemos buscar un
medicamento en las farmacias que tenga la aplicación.
1.5.3. Oportunidades.
El sistema propuesto en este trabajo de grado está en la capacidad de integrar fuentes hetero-
géneas, provenientes en distintos formatos, todo con la finalidad de poder unir datos de dife-
rentes actores para brindar consultas más completas y basadas en lo disponible al momento de
realizarlas.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 23
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
1.6. Resumen comparativo.
Viendo cada uno de los sistemas expuestos anteriormente, encontramos que todos buscan de
forma general ofrecer a los usuarios una mejor base de información para que estos puedan
tomar mejores decisiones frente a la búsqueda y selección de medicamentos.
De igual forma, vemos que en cada uno la información es un componente estático. Lo anterior
quiere decir que no existe una comunicación directa entre los sistemas que alimentan la infor-
mación y el sistema por el cual los usuarios acceden para realizar búsquedas, ocasionando que
los resultados obtenidos puedan no ser del todo acordes con la realidad de los sistemas de las
droguerías.
Con la arquitectura propuesta en este trabajo, se logra una integración eficiente y eficaz, donde
la información expuesta a los usuarios finales siempre debe concordar con lo que manejan los
diferentes componentes integrados al sistema en tiempo real. De igual forma, usando BPM, el
modelado de nuevos servicios tanto para los usuarios finales como para los droguistas y terce-
ros involucrados se transforma en una tarea más sencilla donde el profesional no experto en TI
puede intervenir, lo que ocasiona creación de procesos de mayor valor para todas las partes. De
igual forma, y con base en BPM, el Observatorio es capaz de generar datos de interés para las
droguerías conectados a este, cada vez que se desarrolla un nuevo proceso de negocio. Lo an-
terior permite dar una herramienta de análisis de mercado, con variables de interés que den
una perspectiva de la situación actual a cada droguista dentro del sector nacional en compara-
ción con su competencia.
Para una mejor exposición de las características funcionales de las aplicaciones detectadas den-
tro del marco contextual junto con el Observatorio planteado en el presente trabajo, se realizó
la siguiente tabla donde se marcan las características existentes dentro de cada sistema. La
comparación se realizó alrededor de siete funcionalidades importantes detectadas en todos los
productos.
Ingeniería de Sistemas CIS1530AP04
Página 24
En la tabla anterior se observa cada uno de los sistemas expuestos en el marco contextual donde
se marcan las características que cada uno posee con el sigo “x”; en caso de una casilla vacía o
en blanco, la tabla indica que el sistema carece de esa funcionalidad; en caso de encontrar el
signo “~”, la tabla indica que la funcionalidad existe, pero no se cubre de la forma esperada, a
comparación del Observatorio propuesto.
1.7. Resumen Arquitectónico comparativo.
Una vez realizada la comparación funcional del Observatorio, se procedió a entrar en más de-
talle en cuanto a la arquitectura ofrecida por cada uno de los sistemas del marco contextual para
igualmente obtener los aspectos positivos y negativos de cada uno con el fin de detectar la
oportunidad que existe para el Observatorio. Para lograr lo anterior se procedió a la elaboración
de una tabla comparativa para cruzar lo existente en cada sistema.
ASPECTOS
Especializado en sector farmacéu-
tico.
x x x x x
Capacidad de acceso desde diferen-
tes plataformas.
x x x x
Recomendaciones sobre las búsque-
das.
x
Resultados basados en localización. x x x x x
Resultados con información actua-
lizada (tiempo real).
~ ~ x
Herramienta para consumidores. x x x x x x
Herramienta para vendedores. x x
Tabla 1Comparación sistemas.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 25
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
En la tabla anterior se observan diferentes
aspectos arquitectónicos detectados en las aplicaciones analizadas, su comparación en-
tre todas y con el Observatorio. Una casilla con el signo “x” indica que el aspecto es
cubierto por el sistema; Una casilla con el signo “~” indica que el aspecto existe pero
no se encuentra totalmente cubierto, o no se ofrece mayor información de este. Una
casilla vacía indica que el sistema no cumple el aspecto.
Para un análisis más profundo del marco contextual por favor referirse al anexo “Estado Del
Arte”.
2. Marco Conceptual.
Dentro del marco del trabajo desarrollado, es importante abarcar conceptos claves que ayuden
al entendimiento de la problemática, así como a la contextualización de la solución presentada.
2.1. Arquitectura de software.
Una arquitectura de software es lo que se conoce como los planos de un sistema; se realiza en
una etapa de diseño (es el nivel de abstracción más alto), antes de entrar a construcción y per-
mite la descripción de los componentes (estructura), así como la interacción que existirá entre
ASPECTOS
ARQUITECTÓNICOS.
Comunicación con estándares
abiertos.
x x
Soporte de SOAP y REST. x ~ ~ ~ x
Análisis de lógica de negocio a par-
tir de indicadores.
x
Soporte universal a repositorios con
estándar JDBC.
~ x
Capacidad de extensión a otras apli-
caciones clientes.
x ~ ~ x
Incorporación en tiempo de desplie-
gue de sistemas terceros.
x x x
Tabla 2 Aspectos arquitectónicos.
Ingeniería de Sistemas CIS1530AP04
Página 26
ellos (comportamiento) para lograr los objetivos definidos para el sistema, teniendo en cuenta
el ambiente donde este funcionará [1].
Dentro de los años que tiene la disciplina de la arquitectura de software, los profesionales in-
volucrados ha encontrado problemas que comparten los mismos atributos, es decir, comparten
las mismas características de otros ya resueltos. Lo anterior es lo que ocasiona la aparición de
patrones y estilos arquitectónicos.
Un patrón, dentro del contexto de la arquitectura de software, se conoce como una guía para
atacar cierto problema que ha surgido en otras ocasiones, llegando a una solución que ya ha
sido validada previamente con otros casos de éxito [4].
2.2. Problemas dentro de la Arquitectura de software.
La comunicación entre sistemas heterogéneos surge como uno de los problemas históricos den-
tro de la disciplina [5].
Entre las soluciones dadas para el problema anterior, encontramos la integración de tecnologías
a través de interfaces, lo cual en sistemas que se encuentran en continuo cambio y crecimiento
resulta en un acoplamiento no deseado de los componentes [7].
Posteriormente surge la comunicación basada en mensajes, donde ahora la interacción queda
en manos de agentes que se comunican entre ellos; cualquier cambio que sea introducido, se
ve reflejado en los agentes de comunicación, donde no es necesario re escribir los componentes.
Sin embargo, se siguen observando problemas en la escalabilidad del sistema, donde persiste
una comunicación punto a punto, realizada por intermediarios [5]. Es acá donde vemos el na-
cimiento de los buses de servicios empresariales (Enterprise Service Bus – ESB).
2.3. Bus de Servicios Empresarial.
Las arquitecturas de Bus Empresarial son aquellas que se encuentran optimizadas para el ma-
nejo de altos volúmenes de mensajes, en tiempo real, entre sistemas heterogéneos y con baja
latencia [6]. Por lo tanto son arquitecturas pensadas para ser usadas en situaciones donde el
desempeño no se vea afectado frente a un gran número de transacciones y sistemas externos
conectados. Lo anterior permite la distribución de la lógica de negocio en pequeños sistemas
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 27
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
livianos [5], donde el bus es el encargado de asegurar la confiabilidad y seguridad en la entrega
de los mensajes entre los diferentes componentes.
Esta arquitectura, se centra en el uso de un bus que simplifica la topología de comunicación
entre sistemas, que es capaz de manejar estándares abiertos de comunicación [5].
De igual forma, una arquitectura ESB tiene que ofrecer un conjunto de funciones básicas por
medio del bus [8]: Transparencia de localización, Transformación, Conversión de proto-
colo, Monitoreo/Administración, Seguridad.
A pesar de que esta arquitectura debe ofrecer el conjunto mínimo de características ya mencio-
nadas, los buses empresariales son ofrecidos por diferentes vendedores que los desarrollan ha-
ciendo uso de ciertas herramientas tecnológicas, orientados a resolver una necesidad muy es-
pecífica del mercado, donde es necesario hacer énfasis en una de las funcionalidades que
ofrece. Según el artículo “Towards Reusing ESB Services in Different ESB Architectures” [8],
estos productos se pueden dividir en 3 categorías según sus variaciones arquitectónicas:
Buses JBI (Java Business Integration): se centran principalmente en lograr el total
desacople entre los diferentes sistemas integrados al bus.
Buses SCA (Service Component Architecture): su objetivo es el desacople entre la
lógica de negocio (procesos de alto nivel) y el acceso a los diferentes componentes que
ofrecen servicios dentro del bus.
Buses MQM (Message Queuing Middleware): su funcionalidad se basa en el envío
de mensajes por medio de una cola.
2.4. Business Process Management.
BPM (Business Process Management), se encarga principalmente del diseño y análisis de pro-
cesos de negocio [6]; debido a lo anterior es usado para lograr la optimización de procesos
mediante re ingeniería [9].
Desde otro punto, puede ser visto como una cadena coordinada y orquestada de actividades,
diseñada para cumplir con objetivos de negocio [9]. Los procesos diseñados mediante BPM
Ingeniería de Sistemas CIS1530AP04
Página 28
son capaces de ver reflejados componentes tales como personas, actividades, flujos, datos y
sistemas externos [9].
Los procesos modelados con BPM, poseen las características de ser de larga duración y cen-
trados en usuarios, donde la intervención de éstos es alta, por lo general para la aprobación de
actividades intermedias [6].
2.5. Business Activity Monitoring.
Por otro lado, y en una etapa posterior al modelado de los procesos de negocio que cumple con
los objetivos planteados, aparece una rama que nos permite el análisis de estos en tiempo real
mediante indicadores también definidos por los dueños del proceso; Business Activity Moni-
toring (BAM).
Mediante BAM, se puede lograr el monitoreo de los procesos en tiempo real (tableros de esta-
dos) y de forma estática mediante reportes. Ofrece a los usuarios interesados crear nuevas vistas
a partir de los datos guardados sin necesidad de crear sentencias SQL que hagan la tarea, com-
binando datos históricos y entrantes. [10].
2.6. BPM junto a ESB.
BPM y ESB son conceptos que combinados, pueden complementarse para lograr arquitecturas
con las ventajas y características que cada uno presenta por separado [6].
Sin embargo, la combinación de estos para resolver un problema no siempre es necesaria y
puede resultar en arquitecturas complejas, innecesarias y difíciles de mantener.
La combinación de BPM con ESB nos da como resultado la delegación de responsabilidades
dentro de cada tecnología. La arquitectura ESB toma el papel de base para garantizar una in-
terconectividad entre sistemas heterogéneos, manteniendo todas las ventajas ya mencionadas,
mientras BPM se encarga de la orquestación de éstos para crear servicios de valor, sin preocu-
parse de cómo realizar la comunicación y centrándose en el análisis y buen diseño del proceso
a alto nivel [6] [11].
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 29
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Para un análisis más profundo del marco conceptual por favor referirse al anexo “Estado Del
Arte”.
III – ANÁLISIS
Para lograr el levantamiento de requerimientos para la construcción de la arquitectura y sistema
propuesto en este documento, se procedió a tomar como base la metodología propuesta por
Loucopoulos [25], quien plantea un proceso expuesto en la siguiente figura:
Ilustración 1Metodología para levantamiento de requerimientos, Loucopoulos [25]
Como se ve en la imagen anterior, cada etapa mostrada depende de la anterior. El fin del pro-
ceso es contar con una especificación formal de los requerimientos funcionales y no funciona-
les del sistema. La especificación final obtenida se puede ver con mayor detalle en el docu-
mento “Especificación de Requerimientos”. A continuación se expone como se desarrolló y el
rol de cada etapa dentro de la obtención de la especificación final.
1. Obtención de conocimiento:
En esta primera etapa se pretende lograr una comprensión a fondo del dominio del problema,
con el fin de tener mayor claridad del contexto donde se proyecta desplegar el sistema, identi-
ficar variables importantes, entender el lenguaje técnico del área y generar una base sólida de
conocimiento para poder comenzar la obtención de requerimientos.
Como entradas para el proceso de obtención de conocimiento, es importante contar con fuentes
de información que permitan adquirir una apropiación del conocimiento.
Loucopoulos propone como válidas diferentes fuentes de información para realizar el análisis.
Para el caso práctico del trabajo de grado presentado, se recurrió a la recolección de la literatura
sobre el dominio [25] que permitió la estructuración del problema.
Obtención de conocimiento
Obtención de requerimientos
Especificación de
requerimientos
Ingeniería de Sistemas CIS1530AP04
Página 30
Así, el análisis realizado, abarcó desde el área más general del sector farmacéutico en Colom-
bia, la identificación de las partes que participan dentro de este, hasta la perspectiva de los
problemas detectados desde el punto de vista de los actores involucrados. A continuación se
presenta el análisis a gran escala; para una profundización del análisis realizado para la obten-
ción de conocimiento por favor referirse al anexo “Análisis problemática”.
1.1. Análisis.
1.1.1. Sector farmacéutico en Colombia.
El sector farmacéutico es aquel que se encarga del desarrollo de las actividades de fabricación,
elaboración y comercialización de productos medicinales, que tienen como fin ayudar a mini-
mizar los riesgos de enfermedades en las personas [26].
En Colombia, este es un sector que hace parte de la Manufactura Industrial, participando con
las actividades de elaboración y exportación de medicamentos; aporta aproximadamente el 3%
de participación a este sector, que a su vez aporta con el 16% del PIB nacional [27].
1.1.2. Actores dentro del sector.
Los droguistas independientes, pertenecientes al sector de la Micro PyMe, se encuentran dentro
de la industria farmacéutica. De igual forma esta industria se encuentra inmersa dentro de un
sistema de salud. A continuación se expone un diagrama que identifica los actores que partici-
pan en el sector, visto desde el proceso de distribución primaria de medicamentos y con base
en lo presentado en [29].
Ilustración 2 Cadena de distribución primaria [29].
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 31
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Visto desde el proceso de la cadena de distribución comercial, podemos notar como sólo los
actores de la rama de distribuidores entran como competidores en la venta de medicamentos al
cliente final. A continuación se muestra un diagrama exponiendo a los actores participantes de
la distribución comercial.
Ilustración 3 Cadena de distribución comercial [30].
Como se ha venido introduciendo desde la presentación de la problemática en la primera sec-
ción de este documento (I-1, Oportunidad, Problemática, Antecedentes), la temática principal
a atacar aborda la cadena de distribución comercial y más precisamente está relacionada con
las droguerías independientes y el consumidor.
1.1.3. Problemática según los actores.
1.1.3.1. Consumidor:
Dentro del contexto del sector farmacéutico, el consumidor es aquella persona que hace uso de
los servicios de una droguería en la búsqueda de un medicamento. Es decir, es aquella persona
que, con o sin una prescripción médica, acude a una droguería en búsqueda de un medicamento.
El documento Conpes Social 155 [12] habla de la política farmacéutica colombiana y da una
explicación de la situación y problemas actuales del sector que afectan directamente al consu-
midor como actor dentro del sistema de salud.
Dentro del documento, se observa un gran problema general que luego es dividido y analizado
en sub componentes. Así, se habla del Acceso inequitativo a los medicamentos y deficiencia
en la calidad de atención como problema macro, que es analizado y dividido en 5 partes [12]:
Uso inadecuado e irracional de los medicamentos.
Ingeniería de Sistemas CIS1530AP04
Página 32
Uso ineficiente de los recursos financieros de la salud e inequidades en el acceso a
medicamentos.
Oferta, suministro y disponibilidad insuficiente de medicamentos esenciales.
Ausencia de transparencia, baja calidad de la información y escaso monitoreo del
mercado farmacéutico.
Debilidades en la rectoría y en la vigilancia.
1.1.3.2. Droguista:
Para el marco del desarrollo del proyecto, se define al droguista como aquel perteneciente al
sector de la industria Micro PyMe colombiana dedicada a la comercialización de productos
farmacéuticos al consumidor final.
Como se ha venido evidenciando, el sector de la Micro PyMe farmacéutica cuenta con una gran
cantidad de participantes, que debido a su naturaleza se enfrentan con problemas crecientes día
a día, principalmente por la entrada de competidores internacionales de grandes superficies. Un
estudio realizado en [15], expone tres problemáticas que ha venido presentando el droguista
debido a lo anterior explicado:
Problema en poder de negociación frente a los laboratorios farmacéuticos [15].
Difícil absorción de nuevas tecnologías dentro de sus negocios que ayuden a la
administración de procesos internos.
Desconocimiento de su verdadera situación dentro del mercado.
Para obtener una descripción más detallada del análisis, por favor consultar el anexo
“Análisis problemática”.
2. Obtención de requerimientos.
Luego de lograr una obtención del conocimiento sobre el dominio del problema en el paso
anterior, Loucopoulos propone la utilización del análisis realizado sobre las fuentes usadas para
obtener una indicación de los requerimientos funcionales y no funcionales del sistema.
Para ello propone varias técnicas. Entre ellas está la obtención de requerimientos por medio de
análisis de lenguaje natural, específicamente por medio de textos [25].
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 33
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
De igual forma, y como expone Brugge en [28], la obtención de requerimientos será plasmada
en un diagrama de cosos de uso que representará los requerimientos del sistema, que en la fase
de especificación serán descritos con mayor detalle.
Para crear el diagrama de casos de uso, y adaptando la metodología expuesta, primero se pro-
cedió con la identificación de los actores dentro del sistema para luego analizar las actividades
necesarias para atacar la problemática expuesta, crear la relación con los actores y finalmente
realizar una especificación detallada.
2.1. Identificación de actores:
Para identificar que actores hacen parte del sistema fue necesario tomar como base lo expuesto
en la sección 1.2.2 del presente capítulo (Actores dentro del sector) y lo profundizado en el
anexo “Análisis problemática”.
El problema principal a atacar, se encuentra en la cadena de distribución comercial, donde los
actores directamente relacionados son las droguerías independientes y los consumidores:
Consumidor: es quien hace uso del sistema para satisfacer su necesidad de búsqueda
de medicamentos. Igualmente es a quien se le brindará información y recomendaciones
sobre sus búsquedas para que pueda tomar mejores decisiones.
Droguista: es quien hace uso del observatorio proporcionando sus datos al conectar
su sistema. De igual forma tiene acceso a indicadores que le ayudan a tener un mejor
entendimiento del mercado donde se encuentra y de las necesidades de los consumi-
dores. Son droguistas pertenecientes al sector Micro PyMe farmacéutico.
Droguería: hace referencia al sistema de cada droguista que es conectado al observa-
torio, exponiendo los datos de los medicamentos para que sean usados en las consultas
de los consumidores. Estos sistemas deberán tener los datos del inventario en digital,
dentro de una base de datos para poder realizar la conexión.
Los actores ya mencionados fueron extraídos de los actores que pertenecen al sector farmacéu-
tico nacional. De igual manera, y como todo sistema, este necesita de actores que lo mantengan
y lo controlen, por lo cual fue necesaria la definición de un nuevo rol.
Ingeniería de Sistemas CIS1530AP04
Página 34
Administrador: es quien tiene acceso al sistema con el fin de gestionarlo. Tendrá ac-
ceso a los datos dentro del Observatorio: droguerías, medicamentos, indicadores.
2.2. Identificación de actividades macro de valor:
Ya con unos actores base principales detectados, pertenecientes al sector y quienes harán uso
del sistema, se identificaron actividades macro que atacaran de forma directa algunos de los
problemas expuestos en la sección 1.2.3 (Problemática según los actores). De igual forma se
usó lo detectado en el marco contextual para cubrir falencias de productos anteriores y tomar
los aspectos positivos para integrarlos.
De los problemas expuestos desde el punto de vista del consumidor se decidió trabajar con el
punto 2 y 4 de la problemática: lo anterior permitió definir un alcance para el prototipo.
Uso ineficiente de los recursos financieros de la salud e inequidades en el acceso a
medicamentos: principalmente se abordó la inequidad en el acceso a medicamentos.
En [13], se expone que una de las causas principales de la inequidad son las campañas
realizadas por las grandes compañías pertenecientes al sector buscando desprestigiar
el nombre de los genéricos, y de igual forma ocultando cualquier información que
pueda ser accesible de estos, todo debido a la gran diferencia de precios existentes entre
medicamentos genéricos y de marca, generando desinformación en el consumidor.
Para atacar esto, el Observatorio planteado en este trabajo de grado pretende brindar
mayor información a los consumidores para que tengan conocimiento de toda la oferta
que existe en cuanto a variación entre marcas, forma genérica y precios, para que, sin
inducir a una decisión u otra, se tengan mejores herramientas para la toma de decisio-
nes. Con base en lo anterior, a continuación se enumeran un conjunto de actividades
necesarias para atacar el problema expuesto:
o Buscar medicamento por nombre comercial: el observatorio permite reali-
zar la búsqueda de un medicamento por nombre comercial, que según se ha
expuesto, es uno de los pocos datos con los que cuenta un consumidor a la hora
de comprar o cuando ha sido recetado por un tercero.
o Generar recomendación por genérico: para lograr la recomendación, se
parte de la búsqueda de medicamento por nombre comercial, donde se obtiene
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 35
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
una descripción comparable con su forma genérica que es presentada al con-
sumidor que realiza la búsqueda.
o Buscar droguerías cercanas: el observatorio permite cruzar la información
existente y detallada de medicamentos con las droguerías que están en la ca-
pacidad de suplir la necesidad del consumidor; es por ello que al realizar una
búsqueda, la información recuperada y mostrada es de las droguerías cercanas
al punto donde el consumidor solicitó la búsqueda. De igual forma es una ac-
tividad incluida debido a la falencia que se vio en los sistemas del marco con-
textual, donde ninguno cruzaba los datos de los medicamentos con los de las
droguerías.
o Buscar medicamento en droguerías: dada la información de un medica-
mento que un consumidor desea buscar, el observatorio busca entre las dro-
guerías inscritas, cercanas a él, dónde se encuentra el producto.
Ausencia de transparencia, baja calidad de la información y escaso monitoreo del
mercado farmacéutico: la forma en que se ataca este problema es mediante la expo-
sición de información de una forma sencilla y entendible para el consumidor, para que
este pueda, de forma rápida comparar la información con la que cuenta para tomar la
mejor decisión. Las actividades con las que se ataca este problema son las siguientes:
o Obtener descripción detallada de medicamento: con esto se busca educar
al consumidor para que esté consciente de las características del producto que
está buscando. Esto se incluyó debido a que es un factor común detectado en
las aplicaciones descritas en el marco contextual.
o Comparar producto comercial contra genérico: esto pretende que el con-
sumidor tenga una forma de comparar la información principal de forma sen-
cilla para ayudarlo en la toma de decisiones.
o Apartar medicamento: luego de una búsqueda de medicamento, esta opción
permite al consumidor enviar una solicitud de apartado al droguista quien
Ingeniería de Sistemas CIS1530AP04
Página 36
puede aceptarla o rechazarla. Lo anterior apoya a los consumidores en su bús-
queda y obtención de medicamentos al igual que al droguista, quien cuenta con
una nueva herramienta que apoye y estimule sus procesos de ventas.
Por otro lado, el observatorio también es una herramienta para la droguería, por lo que también
cuenta con unas actividades macro que ayudan a atacar los siguientes problemas detectados en
la sección anterior:
Difícil absorción de nuevas tecnologías dentro de los negocios Y Desconocimiento
de su verdadera situación dentro del mercado: el Observatorio es una herramienta
que pretende servir de apoyo a las droguerías, logrando negocios más competitivos que
respondan a un entorno dinámico de mercado donde la información en tiempo real
sobre el estado del negocio es vital para lograr perdurar. Por lo anterior se han definido
los siguientes procesos:
o Generar indicadores de negocio: Para dar una ventaja competitiva a este sec-
tor de la industria y de igual manera generar interés por parte de los droguistas
al uso del observatorio, se aprovecharán los datos generados por las búsquedas
de los consumidores para generar información de valor para el empresario.
Para lograrlo, se definieron indicadores de desempeño cuyo objetivo es gene-
rar información que ayude a dar un diagnóstico del droguista en el mercado
[33]. Cada indicador se clasificó como básico o derivado [33]. Un indicador
básico se obtiene de los datos generados por el proceso. Un indicador derivado
se obtiene con la unión de dos o varios indicadores básicos.
Con lo anterior se definieron los siguientes indicadores de interés:
Indicadores Básico:
Número de veces que una droguería estuvo dentro de un radio
de búsqueda. Por periodos de tiempo.
Número de veces que una droguería tuvo el medicamento que
se solicitó. Por periodos de tiempo.
Número de veces que se apartó un medicamento en la drogue-
ría. Por periodos de tiempo.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 37
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Número de veces que se buscó un producto. Por periodo de
tiempo y por zonas.
Número de veces que se apartó un producto. Por periodo de
tiempo y por zonas.
Indicadores Derivados:
Porcentaje de veces que una droguería no tuvo el medica-
mento que se solicitó.
Porcentaje de apartados dentro de una droguería por periodo
de tiempo y zona.
Posición en cuanto a apartados realizados en una zona por pe-
riodo de tiempo para una droguería.
Posición en cuanto a precio de medicamento en una zona por
periodo de tiempo para una droguería.
Perfil de consumidores por zonas.
Con estos indicadores definidos, el observatorio permite la creación de infor-
mación en tiempo real debido a que los datos son obtenidos directamente de
los procesos realizados por los consumidores.
o Obtener información de droguería: permite la obtención de los datos de una
droguería específica dada por el consumidor. Esto ayuda a hacer más visibles
al micro empresario dentro del mercado y entre los consumidores.
Con respecto al administrador del sistema, este desempeña una función de controlador y veedor
donde se definieron las siguientes responsabilidades generales:
Gestionar sistema: es la manera en que se audita el observatorio. Se tiene información
de los procesos corriendo dentro del sistema, descripción visual de cada uno, estado,
instancias creadas en un momento determinado, estado de los servicios externos y da-
tos generales de droguerías inscritas, consumidores inscritos, servicios terceros conec-
tados, entre otros datos de interés configurables.
Ingeniería de Sistemas CIS1530AP04
Página 38
Conectar sistema: es como se conecta una droguería al Observatorio. Cuando se rea-
liza esta actividad, se están exponiendo los datos básicos de medicamentos dentro del
observatorio para permitir las búsquedas descritas anteriormente por el consumidor.
Con el conjunto de actividades definidas se ha creado el siguiente diagrama de casos de uso
que ilustra los principales procesos que se deben llevar a cabo dentro del Observatorio.
Ilustración 4 Diagrama de casos de uso general.
2.3. Atributos de Calidad.
Para identificar los requerimientos no funcionales que soportan la solución del problema con
el desarrollo del Observatorio, se usó una categorización por atributos de calidad para dividir
y analizar las características del sistema en diseño y ya desplegado.
A continuación se van abarcando los atributos de calidad y como deben presentarse en el ob-
servatorio:
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 39
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Escalabilidad: Relacionando el sistema en un contexto nacional expuesto en la sec-
ción Sector farmacéutico en Colombia, vemos que la industria Micro PyMe tiene la
característica de contar con un enorme número de participantes droguistas, quienes
son la fuente de datos principal del observatorio. Esto ocasiona que el observatorio
tenga que ser fácilmente escalable (scale up y scale out) para la incorporación de nue-
vos droguistas (junto con sus respectivos repositorios de datos) y clientes con el sis-
tema desplegado.
Interoperabilidad: De igual forma y relacionado con el punto anterior, el observatorio
se encuentra conectado a diferentes sistemas que se comunican en diferentes idiomas
por lo cual se debe soportar una abstracción para la lógica de negocio en la forma como
se conectan los componentes para lograr la interoperabilidad deseada. Para ello el ob-
servatorio debe soportar:
o Mediación de protocolos y Transformación de mensajes.
Enrutamiento: El observatorio ofrece diferentes servicios que a su vez hacen uso de
diferentes componentes conectados a la arquitectura que se comunican mediante el
envío de mensajes. Esto ocasiona que la arquitectura y el sistema en si necesiten habi-
lidades de enrutamiento para permitir la entrega de mensajes a los componentes, abs-
trayendo esta habilidad de la lógica de negocio. Con lo anterior la arquitectura también
debe soportar:
o Confiabilidad de entrega y Manejo de errores.
Seguridad: Configurar la seguridad en cada uno de los puntos finales conectados al
observatorio es una tarea ardua y que de ser llevada a cabo así necesitaría una gran
cantidad de tiempo para ser finalizada. Lo anterior es lo que resalta la necesidad de
manejo y configuración de la seguridad de una manera centralizada.
Monitoreo: El observatorio debe brindad facilidades de monitoreo de una forma cen-
tralizada para permitir controlar el estado actual de los procesos desplegados y ayudar
a la detección de posibles sobrecargas sobre el sistema.
Ingeniería de Sistemas CIS1530AP04
Página 40
Desempeño: Además de contar con un manejo robusto de transacciones, el sistema
debe ser capaz de llevarlas a cabo de forma rápida para no generar problemas en los
consumidores.
Diseño visual de la lógica de negocio: La lentitud en un proceso puede ser causa de
un mal diseño de proceso, por lo cual es necesario que se cuente con herramientas que
permitan la fácil detección de malos diseños dentro de la lógica de negocio.
Servicios de larga y corta duración: En las transacciones que debe soportar el sistema
encontramos unas que comienzan y son ejecutadas en su totalidad en un corto periodo
de tiempo, como los son las consultas sobre los datos ya existentes. Otras transacciones
requieren de una intervención humana alta, caracterizadas por ser asíncronas y de larga
duración; El sistema debe ser capaz de soportar estos dos tipos de transacciones.
Soporte de estándares abiertos: Para lograr cumplir con una abierta interconexión
entre sistemas heterogéneos, la arquitectura debe ser capaz de soportar la integración
de protocolos populares y abiertos de comunicación.
3. Especificación de requerimientos.
Ya detectadas las necesidades y funcionalidades principales del sistema y basado en un dia-
grama de casos de uso general, se realizó una especificación con más detalle que se podrá
encontrar en el anexo “Especificación de Requerimientos” donde también se encuentran otros
casos de uso auxiliares, mas técnicos que soportan la construcción del Observatorio. De igual
forma, y para lograr un mejor entendimiento de los casos de uso generales más importantes, se
realizó un modelado de procesos que ilustrara los pasos dentro de cada funcionalidad. Se usó
una aproximación planteada en [14], donde se explica cómo mapear entre casos de uso y dia-
gramas de procesos. A continuación se presenta el caso de uso CU001_Buscar medicamento
por nombre comercial como ejemplo de la especificación realizada.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 41
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 5 CU001_Buscar medicamento por nombre comercial, especificación en pro-
ceso.
Lo realizado anteriormente, junto con la especificación de los casos de uso encontrado en el
anexo “Especificación de Requerimientos”, permitió un mayor entendimiento de las funciona-
lidades del observatorio, así como una descripción formal para poder comenzar la construcción.
Para los requerimientos no funcionales, se usó una descripción y especificación basada en es-
cenarios como propone Bass en [33]. El detalle de los escenarios de los requerimientos no
funcionales se puede encontrar en el documento anexo “Especificación de Requerimientos”.
IV – DISEÑO
Para el diseño de la arquitectura y procesos que soportan los requerimientos funcionales y no
funcionales detectados en la etapa de análisis, se procedió con lo planteado por Bass [33],
usando una metodología de Diseño Dirigido por Atributos (Attribute-Driven Design):
Ingeniería de Sistemas CIS1530AP04
Página 42
Ilustración 6 Proceso diseño de arquitectura, Bass [33].
El anterior diagrama muestra el conjunto de actividades planteada por Bass [33] realizadas para
el diseño de la arquitectura del Observatorio. El proceso es iterativo y se repitió siempre que
se detectó un sub componente del sistema general.
A continuación se exponen los resultados de cada actividad.
1. Requerimientos Arquitecturalmente Significativos:
Como entradas para el levantamiento de la arquitectura se hizo uso de los casos de uso detec-
tados en la etapa de análisis. Adicionalmente y mediante la especificación de estos, se tomó un
grupo de Requerimientos Arquitecturalmente Significativos teniendo en cuenta la complejidad
de desarrollo, el número de dependencias con otros casos de uso y el número de llamados a
sistemas externos.
Complejidad de desarrollo: se calculó teniendo en cuenta el número de pasos nece-
sarios para ejecutar el caso de uso que se encuentra descrito en el flujo dentro de la
especificación del documento Especificación de Requerimientos.
o COMPLEJIDAD ALTA: [9-13] pasos dentro del flujo.
o COMPLEJIDAD MEDIA: [5-8] pasos dentro del flujo.
Definir entradas
•Especificación casos de uso
•Escenarios Requerimientos no funcionales.
•Requerimientos Arquitecturalmente Significantes.
Descomponer
•Del sistema general descomponer en sub sistemas.
Refinar
•Asociar sub sistemas con funcionalidades y escenarios.
•Refinar funcionalidades y escenarios si es necesario.
Creación de vistas.
•Lógica.
•De componentes.
•De despliegue.
Verificación
•Evaluación de la arquitectura propuesta.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 43
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
o COMPLEJIDAD BAJA: [0-4] pasos dentro del flujo.
Numero de dependencias: se calculó teniendo en cuenta el número de dependencias
que tiene un caso de uso con otros. Se hizo en base a la descripción de casos de uso,
que permitió obtener el caso de uso con mayor número de dependencias ( 5 dependen-
cias ) y a partir de este se definió la siguiente clasificación:
o COMPLEJIDAD ALTA: [4-5] dependencias.
o COMPLEJIDAD MEDIA: [1-3] dependencias.
o COMPLEJIDAD BAJA: 0 dependencias.
Componentes involucrados: se calculó teniendo en cuenta cuantos componentes dis-
tintos están involucrados en el flujo dentro de la especificación del caso de uso. Se
tomó como base el caso de uso que más componentes tenía involucrados (5 llamados)
y a partir de este se definió la siguiente clasificación:
o COMPLEJIDAD ALTA: [4-5] pasos dentro del flujo.
o COMPLEJIDAD MEDIA: [2-3] pasos dentro del flujo.
o COMPLEJIDAD BAJA: 1 paso dentro del flujo.
A continuación se exponen los CU seleccionados como Arquitecturalmente Significativos:
CÓDIGO CU COMPLEJIDAD NÚMERO DE
DEPENDENCIAS
COMPONENTES
INVOLUCRADOS
CU001 ALTA ALTA ALTA
CU003 ALTA BAJA ALTA
CU011 MEDIA MEDIA MEDIA
CU002 MEDIA BAJA BAJA
CU004 MEDIA MEDIA BAJA
CU005 BAJA MEDIA MEDIA
CU008 ALTA ALTA BAJA
Tabla 3Casos de uso arquitecturalmente significativos.
2. Vista Lógica.
Para lograr una profundización y entender el impacto de los casos de uso Arquitecturalmente
Significativos dentro de la arquitectura, se procedió a la elaboración de un diagrama Entity
Boundary Controller (EBC). El diagrama resultante se puede ver en la Ilustración 7.
Ingeniería de Sistemas CIS1530AP04
Página 44
El diagrama permitió identificar varios componentes lógicos del observatorio importantes para
el desarrollo de la arquitectura. Posteriormente cada uno de estos elementos lógicos fue rela-
cionado con un componente físico.
Las necesidades de interconexión entre distintos sistemas heterogéneos, la necesaria orquesta-
ción de estos para brindar servicios de valor a los consumidores finales junto con los compo-
nentes detectados en el diagrama EBC dan a resaltar la necesidad de implementar una arqui-
tectura BPM/SOA apoyada en un ESB.
2.1. Decisión de SOA/ESB.
De acuerdo al contexto explicado anteriormente, donde se desplegará el Observatorio, se evi-
dencia la necesidad de contar con una arquitectura que soporte atributos de calidad para permi-
tir la unificación de los diferentes sistemas de las droguerías, manejando los siguientes reque-
rimientos:
Transformación: como se explicaba en el capítulo de análisis, es esencial contar con
una herramienta que permita la transformación y mediación de protocolos y formatos
de mensajes provenientes de los diferentes sistemas de las droguerías; en Colombia
existen aproximadamente 8000 micro pymes farmacéuticas. Un ESB permite la trans-
formación transparente para la capa de negocio, donde se permite el cambio de for-
matos y protocolos sin necesidad de afectar cómo se desarrolla las funcionalidades
del Observatorio.
Enrutamiento: las invocaciones de los procesos a las droguerías no siempre involu-
cran al total de estas que se encuentran inscritas al Observatorio. Por lo anterior es
necesario enrutar mensajes basados en el contenido de este a los diferentes sistemas
externos. Esta capacidad la otorga el ESB que basado en proxys y componentes in-
ternos, se puede dirigir un mensaje de acuerdo a las especificaciones del mensaje.
Virtualización: todos los servicios que se invoquen en la lógica de negocio deben
poder ser accedidos independientemente de su localización para permitir la incorpo-
ración de nuevas droguerías con el observatorio ya desplegado y sin realizar cambios
en los procesos.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 45
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Confiabilidad: la entrega de mensajes a los componentes deseados, debe ser un pro-
ceso que cuente con una eficacia en su realización. Para ello el ESB permite una con-
figuración de reintentos de envíos de mensajes si estos no pudieron ser entregados
debido a problemas de red, por ejemplo. De igual forma al no poder ser entregado el
mensaje al componente, que se encuentra caído, el ESB permite el manejo de errores,
permitiendo así que el sistema continúe y reporte el evento sucedido.
Escalabilidad: para permitir un scale out del sistema es necesaria la distribución de
la lógica del negocio en diferentes componentes de hardware. El ESB nos permite
una invocación de la lógica basado en algoritmos de balanceo que permiten lograr el
atributo mencionado. Igualmente el ESB permite un alto y robusto manejo de mensa-
jes y transacciones.
2.2. Decisión de BPM.
Debido a la necesidad de entregar información al droguista, de forma eficiente, eficaz y en
tiempo real la implementación de una lógica de negocio por medio de BPM es clave. Acá se
aprovechan las ventajas de BPM desde su parte analítica de procesos, donde se pueden generar
indicadores de valor en base a las acciones y procesos que los consumidores disparan desde
sus dispositivos. Adicionalmente, BPM es un orquestador de SOA, lo que permite organizar
los diferentes servicios ofrecidos por ESB para crear nuevos servicios de valor para el usuario.
Análisis de procesos: Mediante la incorporación de indicadores, que pueden ser defi-
nidos por los interesados, BPM permite la creación de tableros de mando y reportes
dinámicos que dan información de interés al droguista.
Orquestador de servicios: BPM permite la organización y orquestación de los servi-
cios expuestos por la capa inferior. De igual forma permite encapsular y exponer los
procesos creados como nuevos servicios para ser expuestos al usuario final por medio
del ESB o que sean consumidos por otros procesos para crear otros nuevos de alto
nivel.
Ingeniería de Sistemas CIS1530AP04
Página 46
3. Vista de componentes.
Para lograr una descomposición del sistema que ayudara a satisfacer los requerimientos detec-
tados anteriormente y que permitiera la organización de los componentes lógicos detectados en
el diagrama EBC, se tomaron como base lineamientos para la creación de arquitecturas
BPM/SOA de referencias como IBM [34], Oracle [35], MuleSoft [36] y The OpenGroup [37].
Como primer paso fue necesaria la identificación y selección de las capas necesarias para la
construcción y organización de la arquitectura del Observatorio. Tomando como referencia los
modelos ya mencionados y adaptándolos según el contexto en el cual se desplegará el Obser-
vatorio, se obtuvieron las capas expuestas en la ilustración 8 Capas Lógicas Observatorio. A
continuación se explica la función de cada una:
Capa Sistemas Externos: hace referencia a aquellos servicios y sistemas que se en-
cuentran fuera de los límites del Observatorio. Esta capa representa principalmente los
sistemas de las droguerías (repositorios de datos) y otros sistemas externos de terceros
que ofrezcan servicios utilitarios. De igual forma acá también es incorporada la base
de datos propia del Observatorio para permitir un desacople.
Capa SOA: acá se encuentra toda la estructuración de los servicios ofrecidos y consu-
midos por el Observatorio. Cada uno de los servicios expuestos o consumidos por esta
capa se encuentran clasificados de la siguiente manera [39]:
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 47
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 7 Diagrama EBC-CU Arquitecturalmente significativos.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 49
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
o Servicios utilitarios: son expuestos por la Capa ESB mediante proxys y son
consumidos por la capa SOA para ser usados por otros servicios. Hacen refe-
rencia a los servicios más pequeños y ofrecen operaciones específicas y que
carecen de valor para los consumidores.
o Servicios de Negocio: son servicios de nivel medio. Hacen uso de los servicios
utilitarios combinando varios de estos para crear nuevos servicios de valor.
Son estrictamente de corta duración. Son creados mediante BPM consumiendo
los servicios utilitarios y son expuestos nuevamente en la capa SOA como
nuevos servicios.
o Servicios de Proceso: son los servicios de más alto nivel que representan un
valor para los consumidores de la capa superior. Hacen uso de los servicios de
Negocio. Son creados mediante BPM y son expuestos nuevamente en la capa
SOA para ser usados por la capa de consumidores. Pueden ser de corta o larga
duración.
Ilustración 9 Tipos de servicios
Capa BPM: como se mencionaba anteriormente, esta se encarga de la orquestación de
servicios utilitarios y servicios de negocio para crear servicios de proceso. Se encarga
de la creación, modelado y coordinación de los servicios; igualmente acá se produce
la generación de indicadores sobre los procesos mediante BAM. De acuerdo a los pro-
cesos expuestos en la etapa de análisis, se detectaron tres escenarios importantes donde
participa la capa BPM:
o BPM como consumidor: mediante el modelado de procesos, BPM puede con-
sumir servicios expuestos por las capas SOA, ESB y orquestarlos.
Ingeniería de Sistemas CIS1530AP04
Página 50
Ilustración 10 BPM como consumidor
El siguiente diagrama de secuencia expone, mediante el Caso de Uso
CU002_Buscar droguerías cercanas, el escenario descrito al realizar el llamado
al servicio Utilitario getAllDrugstores expuesto por el ESB.
Ilustración 11 BPM como consumidor, secuencia.
El diagrama anterior muestra una parte del proceso Buscar droguerías cercanas
donde se expone el escenario de BPM como consumidor. Acá el proceso hace
un llamado a la actividad getAllDrugstores que está implementada como un
servicio. La actividad busca en el catálogo de servicios SOA el servicio que la
implementa y llama al servicio en la capa ESB. Este a su vez llama al Servicio
de Negocio relacionado que realiza la consulta SQL sobre la base de datos del
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 51
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
observatorio. Cuando la respuesta vuelve hasta el proxy, este la transforma al
formato solicitado y la retorna a la actividad que lo llamó.
o BPM como proveedor síncrono: los procesos creados con la capa BPM pue-
den ser encapsulados y expuestos como servicios en la capa SOA para ser con-
sumidos por otros procesos o consumidores finales. Así, los servicios de Ne-
gocio y de Proceso son procesos BPM expuestos como servicios en SOA.
Ilustración 12 BPM como Proveedor.
El siguiente diagrama de flujo expone mediante el Caso de Uso
CU001_Buscar medicamento por nombre comercial, el escenario descrito an-
teriormente.
Ilustración 13 BPM como proveedor, secuencia.
Ingeniería de Sistemas CIS1530AP04
Página 52
Este escenario comienza con interacción del usuario quien solicita el método
findMedicine dentro del consumidor móvil. Este método en el cliente llama un
servicio expuesto a los consumidores mediante el ESB quien llama a un servi-
cio de la capa SOA que se encuentra implementado mediante un proceso BPM
que es invocado. De igual forma este proceso BPM llama a otras actividades
que llaman a otros servicios para realizar el proceso. Cuando el mensaje llega
al componente SOA FindNearestDrugstores se inicia el escenario descrito en
BPM como consumidor de la ilustración 11.
o BPM como proveedor asíncrono: algunos procesos de negocio, por su natu-
raleza pueden ser de larga duración debido a la intervención de otros usuarios
para completarlos. Lo anterior ocasiona que los procesos BPM de larga dura-
ción tengan que ser expuestos como servicios asíncronos para no dejar a los
consumidores finales que los invocan en espera sin poder realizar nada más.
El Caso de Uso CU011_Apartar medicamento presenta estas condiciones en
el siguiente diagrama de secuencia:
Ilustración 14 BPM como proveedor asíncrono.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 53
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
En el diagrama anterior se muestra la petición de apartado de un medicamento
desde la aplicación móvil consumidor. Debido a que este servicio necesita de
la aprobación de la droguería, cuando el consumidor invoca al servicio, este
responde automáticamente con un código único del apartado solicitado para
no dejar a la aplicación cliente esperando por respuesta. Cuando se realiza la
solicitud, el proceso del CU011 crea un proceso asíncrono encargado de poner
la solicitud en la consola web del droguista y que queda esperando a que este
conteste. Para consultar el estado de la solicitud, es necesario otro proceso que
dado el código del apartado retorne el estado de este, realizando una forma de
polling. Para ver el proceso complementario a este escenario ver anexo “SAD”
Capa de Consumidores: son consumidores finales que hacen uso de una interfaz de
usuario. Es la última capa de la arquitectura y consume los servicios de Proceso ex-
puestos en la capa de SOA haciendo uso del ESB como intermediario.
Las capas anteriores necesarias para la construcción de la arquitectura se relacionaron a nivel
lógico con el diagrama EBC creado. La Ilustración 15 de la siguiente página ilustra la relación
creada.
Una vez hecha la relación lógica entre capas y EBC para la realización de la arquitectura
BPM/SOA/ESB del Observatorio, se llevó a cabo la incorporación de componentes específicos
dentro de cada una que permitieron el desarrollo del sistema.
3.1. Componentes específicos para el Observatorio.
Bus de Servicios Empresarial – ESB: componente principal de la Capa ESB. Este es
el componente que se encarga de la abstracción de la homogeneidad existente entre
los diferentes esquemas de datos de las diferentes droguerías y exponer las interfaces
de acceso a estas de manera uniforme. Por otro lado se encarga de exponer los servicios
que los consumidores externos usan, es decir, es el punto de entrada a la lógica desa-
rrollada. De igual forma se conecta con servicios de terceros utilitarios para exponerlos
a la capa SOA. Para lograrlo se vale de componentes Proxy y Servicios de Negocio:
Ingeniería de Sistemas CIS1530AP04
Página 54
o Servicios de Negocio: componente interno del ESB que se encarga de consu-
mir directamente las bases de datos externas mediante un conector específico
o mediante un servicio web expuesto externamente sobre estas:
Consumidor mediante conector: En este caso es necesario que la
base de datos de la droguería soporte el estándar JDBC. Será otorgado
un usuario para conectarse directamente desde el Observatorio a la BD
creando el conector dentro del Bus de Servicio Empresarial.
Consumidor mediante servicio web externo: La droguería tendrá
que ofrecer la dirección de un servicio web mediante el cual se puedan
llevar a cabo las consultas necesarias dentro del Observatorio. No
existirá adaptador interno y el Servicio de Negocio se comunicará con
el Servicio Web dado.
De igual forma, el Servicio de Negocio se puede comunicar con servicios ex-
ternos, distintos a los droguistas, que son expuestos como servicios utilitarios.
o Proxy: componente interno del ESB que se encarga de consumir los Servicios
de Negocio. Dentro de este componente se realiza la lógica de enrutamiento,
cambio de protocolos, cambio de esquemas de distintos mensajes y se ofrecen
bajo una sola interfaz uniforme como servicios utilitarios.
Dentro del observatorio se encuentran los siguientes servicios utilitarios:
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 55
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 15 Diagrama EBC con capas lógicas-CU Arquitecturalmente significativos.
Ingeniería de Sistemas CIS1530AP04
Página 56
Nombre Descripción
getAllDrugstores Obtiene la información de todas las droguerías del observatorio.
distanceCalculator Obtiene la distancia entre dos puntos (latitud, longitud) en kilómetros.
medicinesSearch Obtiene la información de un medicamento basado en su nombre desde las droguerías.
getGenerics Obtiene una lista de medicamentos genéricos desde la base de datos del observatorio basado
en un componente activo.
getGenericId Obtiene el Id del componente activo de un medicamento desde la bd del observatorio.
getOwnerSession Retorna el estado de la sesión actual del droguista dentro de la aplicación web.
ReserveMedicine Envía a la aplicación cliente web del droguista la solicitud de apartado de un medicamento.
getManufacturers Retorna los laboratorios Genéricos que producen el componente activo.
insertMedicine Inserta un nuevo medicamento dentro del registro histórico de búsquedas del observatorio.
insertSeparateRegistry Inserta una nueva solicitud de apartado con su estado dentro del Observatorio.
selectDrugstoreOwner Retorna la información de la persona asociada como dueña de una droguería.
selectSeparateRegistry Retorna una solicitud de apartado existente dentro del observatorio.
updateOwnerSession Actualiza la sesión actual de un droguista dentro de la aplicación web.
updateSeparateRegistry Actualiza un registro de apartado dentro del Observatorio.
getConsumerSession Obtiene la sesión actual del consumidor.
updateConsumerSession Actualiza la sesión actual del consumidor.
Tabla 4 Servicios utilitarios.
A continuación se muestra el resumen del componente ESB con sus partes relacio-
nadas:
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 57
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 16 Componente ESB
En la parte más baja del diagrama vemos dos componentes de bases de datos que re-
presentan las dos formas de conectar un sistema al Observatorio. La base de datos X
se incorpora mediante un conector que la expone como servicio. La base de datos N se
conecta mediante web service expuesto de forma externa, por lo cual el conector no es
necesario pero si la incorporación de un wsdl que describa el servicio. La base de datos
al extremo derecho del diagrama es la propia del Observatorio, la cual es incorporada
con conector. De igual forma el servicio externo más a la izquierda necesita de su wsdl
para ser consumido por el Servicio de Negocio. Arriba de los servicios de negocio se
encuentran los Proxy que se encargan de las tareas necesarias de transformación, en-
rutamiento y enriquecimiento de mensajes. Cada proxy expone una interfaz uniforme
independiente de los Servicios de negocios con los que se comunica como Servicio
Utilitario a la capa SOA. Por cada servicio utilitario del Observatorio es necesaria la
creación de un Proxy.
Ingeniería de Sistemas CIS1530AP04
Página 58
Servidor SOA: encargado de la Capa SOA, consume administra y expone servicios
de los tres tipos ya mencionados: Utilitarios, de Negocio y de Proceso. Cuenta con un
Catálogo de Servicios interno donde se registran servicios externos (utilitarios, proxys
del ESB) e internos (creados con BPM) para ser re utilizados o expuestos a los consu-
midores. Cuenta con un motor de procesos para el despliegue de servicios. De igual
forma cuenta con un servidor de presentación que se conecta al Motor de servicios para
poder llevar una administración en tiempo real de los servicios desplegados por medio
de un navegador de internet. A continuación se muestra el componentes:
Ilustración 17 Servidor SOA
Dentro de la capa SOA, en sí, sólo se encuentran desplegados servicios de proceso y
servicios de negocio. Para el caso del Observatorio se cuentan con los siguientes ser-
vicios de Proceso y de Negocio:
SERVICIOS DE NEGOCIO SERVICIOS DE PROCESO
FindNearestDrugsto-
res
Dados una latitud, longitud y radio, retorna
las droguerías que se encuentran dentro del
perímetro.
FindMedicine Proceso para encontrar un medicamento co-
mercial en las droguerías cercanas al usuario.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 59
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
FindMedicineIn-
Drugstores
Dado un nombre comercial de medicamento
y una lista de droguerías, retorna todos los
medicamentos dentro de las droguerías que
tenga el nombre dado.
SeparateMedici-
neSyn
Proceso para apartar un medicamento dentro
de una droguería. Devuelve el codigo único
asociado a la solicitud.
GetSeparateStatus Dado el código único de una solicitud de
apartado de medicamento retorna el estado
actual de esta.
RecomendGeneric Proceso para pedir al Observatorio la reco-
mendación de un medicamento genérico ba-
sado en uno comercial.
DrugstoreLogin Permite al droguista autenticarse dentro del
sistema Web.
ObtainMedicineInfo Proceso para obtener toda la información dis-
ponible de un medicamento.
DrugstoreLogOut Permite al droguista cerrar sesión dentro del
sistema Web.
ObtainDrugstoreInfo Proceso para obtener toda la información dis-
ponible de una droguería.
ConsumerLogin Permite al consumidor autenticarse dentro del
sistema móvil.
CompareCommer-
cialGeneric
Proceso para pedir al Observatorio la realiza-
ción de una comparación entre medicamento
comercial y sus genéricos.
ConsumerLogOut Permite al consumidor cerrar sesión dentro
del sistema móvil.
SeparateMedicineAsy Proceso de larga duración, asíncrono que en-
vía la petición de apartado a una droguería y
espera a que esta conteste.
Tabla 5 Servicios de negocio y de proceso.
Componentes BPM: En primer lugar se encuentra un Motor BPM encargado de des-
plegar y poner en funcionamiento un proceso BPM. Está compuesto de los siguientes
componentes:
o Modelador de Procesos: mediante herramientas visuales permite el modelado
de procesos nuevos. Por otro lado el modelador se conecta con el Catálogo de
Servicios del servidor SOA para permitir el consumo de servicios ya existentes
dentro del proceso que se está creando.
o Motor BPM: componente donde se ejecuta el proceso de negocio una vez
desplegado. Cuando el proceso es expuesto como servicio en el motor SOA,
este último hace referencia a la instancia del proceso que se está ejecutando
dentro del motor BPM cuando es llamado.
o Servidor de Administración (BAM): permite ver el rendimiento en tiempo
real de los procesos que se encuentran desplegados así como todo su análisis
y creación de informes de análisis a partir de indicadores de negocio.
A continuación se muestra el componente.
Ingeniería de Sistemas CIS1530AP04
Página 60
Ilustración 18 Componente BPM.
Componentes Consumidores: El Observatorio cuenta con un cliente Web para los
droguistas y un cliente Móvil para los consumidores. Para el cliente Web se cuenta con
un servidor de presentación que ofrece las pantallas para que los droguistas puedan
conectarse al sistema y recibir notificaciones de apartados. A continuación se exponen
los componentes consumidores:
Ilustración 19 Consumidores.
En la Ilustración 20, Componentes Observatorio se presentan todos los componentes y su co-
municación dentro de un solo diagrama.
Ya con los componentes detectados se procedió a relacionar estos con el diagrama EBC reali-
zado anteriormente. La relación detectada se expone en la Ilustración 21.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 61
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
El proceso realizado anteriormente permitió la identificación de componentes necesarios den-
tro del Observatorio y la relación de estos con las funcionalidades lógicas del sistema. Poste-
riormente se realizó el diagrama de despliegue que expone como se ubicaron los componentes.
4. Vista de Despliegue.
Para realizar el despliegue de todos los componentes del Observatorio, se procedió a investigar
las diferentes formas topológicas en que se pude configurar un Bus de servicios empresarial.
Así se escogió una topología Hub and Spoke [38]que permite una instalación sencilla del bus,
donde existe un gran solo componente que se comunica de forma central con todos los servicios
que se exponen en este para lograr el enrutamiento de mensajes. De igual forma permite dis-
ponibilidad al distribuir la instalación del mismo ESB en dos o más servidores. Permite una
administración sencilla y fácil depuración.
Con base en lo anterior, los componentes del observatorio se desplegaron como se muestra en
la Ilustración 22 Diagrama de Despliegue.
A continuación se describen los nodos detectados dentro del diagrama de despliegue expuesto
en la Ilustración 22 Diagrama de Despliegue:
Nodo Servidor ESB: Donde es desplegado el ESB junto con los proxy y servicios de
negocio definidos dentro de él. Posee lógica para enrutar, transformar, y validar los
mensajes entrantes y salientes.
Nodo Servidor SOA: Acá son desplegados los servicios de esta capa (servicios de
proceso y de negocio). Adicionalmente contiene todos los componentes que permiten
el manejo, control y monitoreo de los servicios desplegados dentro del motor de pro-
cesos.
Nodo Servidor BPM: Acá son desplegados los procesos pertenecientes a esta capa.
Se encuentra el motor de proceso, el modelador de procesos, el servidor de adminis-
tración y la base de datos del servidor de administración donde se guarda la definición
de los KPI junto con las medidas tomadas de estos en los procesos ejecutados.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 63
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 21 EBC Componentes-CU Arquitecturalmente significativos.
Ingeniería de Sistemas CIS1530AP04
Página 64
Nodos Droguerías: Es el componente externo, el cual es conectado al Observatorio
por solicitud de un droguista. Representa la conexión entre la base de datos de la dro-
guería con el Observatorio. Sobre este componente se realizan consultas, de forma or-
questada para dar respuesta a las solicitudes de los consumidores.
Nodo Base de datos Observatorio: Componente del Observatorio donde este va guar-
dando los datos correspondientes a los droguistas inscritos junto con los medicamentos
que se han buscado. De igual forma acá se van almacenando los datos correspondientes
a los indicadores de negocio.
o Estrategia de inserción de datos:
Debido a que la principal fuente de datos son las droguerías, la base de datos
del Observatorio se encuentra vacía al principio. Para solucionar esto, la base
de datos será cargada con dos reportes de precios, descripción de medicamen-
tos y laboratorios obtenidos del INVIMA y del OBSERVAMED, ambas insti-
tuciones públicas en Colombia. De igual forma, la base de datos se ira llenando
a medida que se realizan consultas desde el cliente móvil.
Nodos Cliente Web: Es el cliente por el cuál accede el droguista para consultar indi-
cadores de interés y de igual forma para pedir en primer lugar la inscripción al obser-
vatorio de una droguería.
Nodos Cliente Móvil: Es el cliente por el cual accede el consumidor al Observatorio.
Acá se exponen los servicios que están disponibles para él.
Nodo Servicio Externo: Representa la forma de conexión de los servicios externos de
terceros que consuma el observatorio y que no se encuentran dentro de su dominio. Un
ejemplo de este servicio es aquel que calcula la distancia entre dos puntos en un mapa.
5. Evaluación Arquitectura.
Para verifica que la arquitectura cumple con los atributo de calidad señalados en la etapa de
análisis, se realizó una evaluación con base en la metodología SBAR [40] [41] comparando la
arquitectura propuesta contra los atributos de calidad definidos en el capítulo de análisis (Ca-
pitulo III-2.4). Así se procedió a abordar cada atributo de calidad describiendo como uno o
varios componentes de la arquitectura tienen la capacidad para suplir el requerimiento, y seña-
lando posibles tácticas arquitecturales de ser necesario.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 65
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 22 Diagrama de Despliegue.
Ingeniería de Sistemas CIS1530AP04
Página 66
Escalabilidad y Desempeño: se aborda logrando una fácil escalabilidad horizontal del
sistema en sus diferentes capas de ESB, SOA o BPM. Para lograr escalabilidad que
soporte el número de transacciones recibidas por los consumidores finales para lograr
un mejor desempeño, es necesaria una escalabilidad en los componentes de servidor
SOA y BPM. El siguiente diagrama muestra cómo se puede implementar una escala-
bilidad horizontal al distribuir la instalación del servidor SOA en dos nodos físicos.
Para seguir manejándolos como uno solo, y que los consumidores puedan seguir acce-
diendo a los servicios de forma transparente, es necesario un componente Balanceador
de cargas (componente a la izquierda) que distribuya las peticiones a los diferentes
servidores. En el nuevo servidor se pueden realizar copias de los servicios o desplegar
nuevos. El catálogo de servicios sigue siendo el mismo para que todos los servicios se
registren en un único punto. El servidor de presentación (donde también se administran
los procesos) es único y conoce los dos motores de procesos para llevar una sola vista
lógica de la capa.
Ilustración 23 Escalabilidad y Desempeño.
Para lograr escalabilidad dentro de los sistemas externos conectados al observatorio,
de igual forma se puede distribuir la instalación del bus en diferentes nodos. Esto per-
mite un mejor manejo de los mensajes desde el observatorio hacia las droguerías.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 67
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Interoperabilidad y Soporte de estándares abiertos: para lograr la interoperabilidad
deseada, para la comunicación del Observatorio con las droguerías, el Bus Empresarial
es el componente clave.
o Mediación de protocolos: la disponibilidad de diferentes conectores dentro
del Bus permiten el paso de un mensaje proveniente en un protocolo a otro.
o Transformación de mensajes: mediante características de transformación
por XSLT y lenguajes de consultas sobre documentos XML como XQuery, el
Bus Empresarial permite realizar la transformación de esquemas para brindar
homogeneidad en los servicios que ofrece.
Ilustración 24 Interoperabilidad.
El diagrama anterior muestra un servidor ESB junto con el componente Bus Empresa-
rial donde los componentes verdes exponen los conectores capaces de entender dife-
rentes protocolos. Todos los conectores son expuestos como Servicios de Negocio que
son consumidos por los proxy (componentes morados) donde se realiza la transforma-
ción de esquemas para unificar los datos y exponer servicios a la capa SOA. De igual
forma los conectores están basados en estándares abiertos de comunicación lo que hace
posible la conexión con una gran variedad de sistemas externos.
Ingeniería de Sistemas CIS1530AP04
Página 68
Seguridad: La seguridad en la comunicación se configura tanto en los proxy que ofre-
cen servicios a la capa SOA y en los Servicios de Proceso que son aquellos que se
exponen a los consumidores. Gracias a la centralización de los puntos de comunicación
entre diferentes capas técnicas de encriptación pueden ser usadas implementando el
protocolo de comunicación HTTPS, debido a que todo está basado en SOAP dentro
del Observatorio.
Ilustración 25 Seguridad HTTPS.
Monitoreo: El monitoreo es logrado gracias a los servidores existentes en la capa SOA
y la capa BPM. Ambos se encuentran conectados a los motores respectivos como se
explicaba anteriormente y permiten a los administradores del Observatorio ver el es-
tado actual de los servicios y los procesos.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 69
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Diseño visual de la lógica de negocio: El componente modelador de procesos BPM
permite la creación de lógica de negocio de forma visual.
Servicios de larga y corta duración: Nuevamente, con la ayuda del motor de procesos
BPM se logra esta característica, donde la invocación de servicios síncronos y asíncro-
nos que soportan este requerimiento es posible.
Finalmente la arquitectura fue probada con el prototipo desarrollado y haciendo uso de los
escenarios planteados. Para mayor detalle de la arquitectura y de la evaluación de esta referirse
al anexo “SAD” y “Evaluación de la Arquitectura”. Para una mejor vista de los diagramas
presentados puede referirse al anexo “Imágenes Diagramas”.
V – DESARROLLO DE LA SOLUCIÓN
Para el desarrollo del prototipo se procedió con fases pequeñas iterativas sobre cada compo-
nente, probando de forma paralela cada nueva característica que se fue desarrollando para fi-
nalmente, y luego de desarrollados todos los componentes, unirlos y realizar pruebas del sis-
tema.
Para el prototipo se escogieron los siguientes casos de uso, pertenecientes al set de casos de
uso significativos, que permitieron destacar las características de la arquitectura escogida, así
como realizar la validación de está mediante los escenarios de los atributos de calidad.
CÓDIGO CU NOMBRE
CU001 Buscar medicamento por nombre comercial.
CU003 Buscar medicamento en droguerías.
CU011 Apartar medicamento.
CU002 Buscar droguerías cercanas.
CU004 Generar recomendación por genérico.
CU008 Generar indicadores de negocio.
Tabla 6 CU Desarrollados.
Para el desarrollo de la lógica de negocio se procedió a la comparación de diferentes herra-
mientas líderes en el mercado, tanto del ámbito del software libre como del ámbito comercial
para elegir la que mejor se ajustaba a las necesidades de desarrollo del prototipo, teniendo muy
presente la curva de aprendizaje, facilidad de integración de BPM con SOA y ESB y facilidad
Ingeniería de Sistemas CIS1530AP04
Página 70
de desarrollo. Así se realizó la siguiente tabla que expone las características principales de cada
producto escogido para el análisis.
Jboss MuleSoft +
Bonita
Oracle IBM
SOA/ESB
Facilidad de instalación. 10 10 10 5
Facilidad de integración
con BPM.
10 5 10 10
Documentación para aprendizaje.
10 6 10 6
Documentación para
desarrollo.
10 6 10 6
Facilidad creación de ser-vicios web SOAP y
REST.
8 10 7 10
Facilidad invocación de servicios web SOAP y
REST.
8 10 10 10
Facilidad de transforma-
ción de mensajes.
5 5 8 8
Facilidad de enrutamiento
de mensajes.
10 9 5 8
Sub total 71 61 70 63
BPM
Facilidad de instalación. 10 10 10 5
Facilidad de integración con SOA/BPM.
10 5 10 10
Facilidad creación de ser-
vicios web SOAP y REST.
8 5 10 10
Facilidad invocación de
servicios web SOAP y
REST.
8 5 10 10
Capacidades de análisis
de procesos (KPI).
8 5 10 8
Facilidad para el desarro-
llo de pruebas unitarias.
10 5 10 5
Sub total 54 35 60 48
Total 125 96 130 111
Tabla 7 Comparación stacks de desarrollo.
En la tabla anterior se expone una comparación entre los stacks de desarrollo para
SOA/ESB/BPM ofrecidos por JBoss, MuleSoft (ESB) con BonitaSoft (BPM), Oracle e IBM.
Para la comparación se buscó información referente a cada una de las herramientas e informa-
ción de procesos de implementación y guías de desarrollo ([51], [52], [53], [54], [55]). Cada
aspecto comparado recibió una puntuación de 0 a 10, primero realizando un subtotal por
SOA/ESB y luego por BPM; la herramienta con mayor puntaje fue la elegida.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 71
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Así para el desarrollo de la lógica de negocio se escogió el stack de herramientas SOA de
ORACLE debido, entre otros aspectos, a que este provee todos los componentes necesarios
para la construcción del prototipo con la arquitectura propuesta, bajo un solo proveedor [3]:
BPM: Oracle Linux 6 Update 4 (64-bit), Oracle Database Express Edition 11g Release
2, Oracle BPM Suite 11.1.1.7.1, Oracle JDeveloper 11.1.1.7.0, Oracle Weblogic
10.3.6.
SOA y ESB: Oracle Linux 6 Update 4 (64-bit), Oracle Database Express Edition 11g
Release 2, Oracle JDeveloper 11.1.1.7.0, Oracle Weblogic 10.3.6., Oracle SOA Suite
11.1.1.7.1 (con Business Activity Monitoring).
Componente Móvil: se procedió con el desarrollo bajo plataforma android con la he-
rramienta Android Studio, debido a su licenciamiento y acceso gratuito [2].
Componente Web: IDE Netbeans 8.0.2, con lenguaje Java para el back end y ja-
vascript para el lado cliente, que permitió el uso de la tecnología Websockets para
comunicación en tiempo real [24].
Así, la arquitectura del prototipo se expone en la Ilustración 26 con el uso de tecnologías es-
pecíficas en cada componente.
CU001_Buscar medicamento por nombre comercial.
Para este caso de uso se accede desde la aplicación cliente móvil, donde está configurado un
solo usuario autenticado por defecto para efectos del prototipo. A continuación la aplicación
solicita el nombre del medicamento y un radio de búsqueda. El siguiente ejemplo se realizó
buscando el medicamento Advil.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 73
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 27 Pantalla búsqueda.
Cuando el consumidor solicita la búsqueda, la aplicación se conecta con el sistema BackEnd
disparando el proceso FindMedicine. La solicitud del ejemplo realiza el camino mostrado en
la Ilustración 28, dentro del proceso disparado según se observa en la consola de administra-
ción SOA. De igual manera este proceso dispara dos más relacionados a los casos de uso
CU002 y CU003 mostrados en las Ilustraciones 29 y 30.
Ilustración 28 Flujo CU001.
Ingeniería de Sistemas CIS1530AP04
Página 74
Ilustración 29 Flujo CU002.
Ilustración 30 Flujo CU003
Dentro de los casos de uso CU003 y CU002, los procesos anteriormente mostrados se conectan
al Bus de Servicios de Oracle, tal como se planteó en la arquitectura con el fin de comunicarse
y enrutar los mensajes necesarios a los sistemas externos. En la ilustración 29 las actividades
getAllDrugstores_Activity y distanceUserDrugstore_Activity son las que se conectan con el
OSB. En la ilustración 30 las actividades findMedicine_Activity y insertMedicineObs_Activity
son las que se conectan con el OSB. En la ilustración 30, el subproceso creado para buscar los
medicamentos en las droguerías se ejecuta de forma paralela por cada droguería, lo que permite
una ejecución del proceso eficiente, y donde el número de droguerías conectadas no influye
significativamente sobre el desempeño del proceso.
Una vez terminados los procesos, el cliente móvil recibe la respuesta por parte del Observato-
rio.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 75
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 31 Pantallas resultado búsqueda.
CU011_Apartar medicamento.
Luego de realizada una búsqueda, el consumidor puede entrar en cada una de las farmacias
listadas para ver los medicamentos que se obtuvieron por cada droguería cercana a él. La ilus-
tración 31, muestrea la pantalla del extremo derecho con los medicamentos para la droguería
1.
Una vez mostrado parte del detalle del medicamento, se puede realizar un apartado de este en
la droguería mediante el botón “Apartar medicamento”. Se pide confirmación al presionar esta
opción.
Ilustración 32 Pantallas apartando medicamento.
Una vez enviado el mensaje de apartado al observatorio, se retorna un mensaje de éxito al
usuario y este es redirigido a la pantalla de apartados para que pueda ver el estado de la solitud.
Ingeniería de Sistemas CIS1530AP04
Página 76
En la pantalla anterior se observa el estado de cada solicitud que puede ser: PENDIENTE POR
APROBACIÒN, APROBADO POR DROGUERÌA, RECHAZADO POR DROGUERÌA o
SIN RESPUESTA DE DROGUERÌA.
De igual forma, desde el cliente web creado para el droguista, este ve en tiempo real la nueva
solicitud que ha sido pedida por el consumidor. Para hacerlo primero tiene que autenticarse en
el cliente web para luego cargar las solicitudes relacionadas con su droguería. Para la autenti-
cación se crearon dos procesos más: DrugstoreLogIn y DrugstoreLogOut.
Ilustración 33 Ingreso consola web droguista.
Ilustración 34 Consola droguista.
Desde la pantalla anterior el droguista puede ver todos los pedidos que se le han realizado (tabla
izquierda), que al hacer click sobre cada uno, en la pantalla derecha se muestra el detalle y las
opciones de confirmar o rechazar la solicitud.
Para lograr la realización del caso de uso CU011 fue necesario el desarrollo de tres nuevos
procesos dentro del observatorio que permitieran una comunicación asíncrona debido a que es
una tarea de larga duración donde el cliente móvil no podía quedarse esperando por la respuesta
de la droguería. Para ello se desarrollaron los siguientes procesos:
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 77
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 35 Reservar síncrono
Ilustración 36 Reservar asíncrono.
Para verificar la respuesta por parte de la droguería de igual forma también se creó un proceso
síncrono para el consumidor, que obtuviera el estado dado un código único de apartado.
CU008_Generar indicadores de negocio.
Para el caso de uso se pusieron dos puntos de medición dentro de los procesos referentes a los
casos de uso CU002 y CU003 para poder obtener dos indicadores referentes a: “Número de
veces que una droguería estuvo en un radio de búsqueda” y “Número de veces que una drogue-
ría tuvo el medicamento que se solicitó”. Para lograr el registro de los Indicadores de Negocio
se definieron los siguientes atributos dentro del proceso:
Dimensiones: tipo de indicador de negocio que permite la agrupación de valores. Se
definieron las siguientes dimensiones:
o Drugstore_name: Para permitir la agrupación de datos por el nombre de cada
droguería.
Ingeniería de Sistemas CIS1530AP04
Página 78
o dateSearch: Fecha de la captura del indicador de negocio. Se utiliza para poder
mostrar información por periodos de tiempo (mes, año).
Los puntos de medición son representados por las cámaras dentro del proceso. Posteriormente
se definió una vista dentro del BAM para poder consultar la información. A continuación se
muestra el reporte.
Ilustración 37 Reporte indicadores de negocio.
El reporte nos muestra 4 droguerías inscritas en el Observatorio donde la columna izquierda
indica la cantidad de veces que esa droguería estuvo en un radio de búsqueda y la columna
derecha la cantidad de veces que tuvo el medicamento solicitado. Así, según el ejemplo, la
Droguería 1 estuvo en 6 búsquedas de las cuales 6 tuvo lo que se buscaba, a diferencia de la
Droguería Hospital San Ignacio que solo apareció en 4 búsquedas y no tuvo el medicamento
necesitado nunca.
CU004_Generar recomendación por genérico.
Para lograrlo, el Observatorio hace uso de la información disponible del INVIMA, SISMED
y OBSERVAMED. Se procedió con la identificación del componente activo más general del
producto que seleccionó el consumidor. Con base a este componente (discriminando concen-
tración), el observatorio busca los laboratorios conocidos de productos genéricos que fabrican
medicamentos con esta sustancia, los agrupa y response la solicitud. El consumidor una lista
de laboratorios farmacéuticos con su respectivo conjunto de medicamentos genéricos.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 79
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ilustración 38 Proceso generar recomendación genérico.
Primero, la aplicación muestra un listado con los laboratorios genéricos encontrados que pro-
ducen medicamentos con el componente activo dado.
Ilustración 39 Listado laboratorios genéricos y medicamentos.
Sobre cada laboratorio se tiene el nombre y la cantidad de medicamentos genéricos encontra-
dos. Cuando se presiona un laboratorio y se presiona “Mostrar medicamentos” la aplicación
muestra en pantalla la lista de medicamentos encontrados.
Para más detalle sobre las funcionalidades del prototipo implementado por favor referirse al
anexo Descripción funcionalidad prototipo.
VI – RESULTADOS
Como se muestra en la ilustración 27 del diagrama anterior, para probar la arquitectura se
conectaron 4 bases de datos representando a las droguerías más la base de datos del observa-
torio. Para las droguerías se usaron 2 bases de datos conectadas por medio de conector JCA
Ingeniería de Sistemas CIS1530AP04
Página 80
Oracle XE, 1 base de datos MSSQL conectada por medio de conector JCA y 1 base de datos
MySQL conectada por medio de un servicio web externo.
Como se planteó en la metodología, se realizaron pruebas funcionales por componentes para
luego realizar pruebas de sistema progresivas, hasta contar con todos los componentes conec-
tados al sistema.
Para estas pruebas el Observatorio se dividió en los siguientes componentes:
Componente OSB: Se conectaron primero dos bases de datos más la base de datos
del Observatorio. Luego desplegado el sistema se conectaron las otras dos restantes
para validar uno de los escenarios de los requerimientos no funcionales. De igual
forma se probaron las funcionalidades de ruteo y transformación para validar escena-
rios.
Componente BPM/SOA: Es la capa intermedia del observatorio. Con la creación de
cada nuevo proceso se hicieron pruebas de estrés teniendo en cuenta la comunicación
con el OSB. Para las pruebas de estrés se usó el Weblogic Server que permite la con-
figuración de las pruebas, creación de hilos concurrentes y da como resultado el
tiempo promedio de cada respuesta para poder compararlo con los escenarios de los
requerimientos no funcionales.
Componente Móvil: Es la interfaz con el consumidor. Antes de conectarlo con el
sistema BackEnd, se quemaron datos dentro del dispositivo móvil para simular las
interacciones y probar las pantallas. Luego de desarrollada toda la aplicación móvil se
conectó por medio de la invocación de servicios web al sistema BackEnd para probar
la interacción.
Componente Web: Es la interfaz con los droguistas. Primero se probó con datos que-
mados para probar la interacción y flujos de pantallas. Luego se conectó con el obser-
vatorio para probar la interacción con el sistema BackEnd.
Componente BAM: Es el servidor necesario para la implementación de los Indica-
dores de Negocio y su representación gráfica. Primero se probó la creación de reportes
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 81
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
con datos quemados en la base de datos del BAM, luego se conectó con el BackEnd
para probar que los indicadores se guardaran y se generaran los reportes en tiempo
real.
Cada componente se fue conectando progresivamente con el BackEnd (OSB y BPM/SOA), y
se fue probando como un todo, hasta tener todo conectado.
Con cada componente se probaron los escenarios relacionados para verificar que se cumpliera
con lo especificado y terminar de evaluar la arquitectura. A continuación se presentan los re-
sultados para tres escenarios mostrando la evaluación realizada:
ES001.
Identificador escenario: ES001.
Nombre:
El sistema debe permitir conectar una nueva droguería en menos de
24 horas.
Atributo de Calidad: Escalabilidad.
Verificación:
Con el observatorio desplegado, con dos droguerías conectadas se
procedió a la conexión de una nueva mediante Web Service en MySQL y otra mediante conector JCA en MSSQL.
Resultados:
Para lograr cada conexión se tomó un tiempo promedio de 52,5 minu-
tos:
-MySQL: 60 minutos.
-MSSQL: 45 minutos.
Estado: CUMPLIDO.
Tabla 8 Evaluación ES001.
Como se describe en el campo “Verificación”, se incorporaron dos nuevas bases de datos luego
de contar con el observatorio funcionando desplegado. El campo “Resultados” muestra lo que
se obtuvo de la prueba del escenario. El campo “Estado” indica si el escenario fue CUMPLIDO
o NO CUMPLIDO, para verificar que la arquitectura cumple con lo propuesto.
ES007.
Para las pruebas relacionadas con este escenario es importante describir las características de
hardware donde se está ejecutando el servidor con la lógica del BackEnd, siendo este un
computador portátil, no configurado para su uso como servidor dedicado, el cual si se tendría
en un ambiente de producción.
Ingeniería de Sistemas CIS1530AP04
Página 82
o Portátil Lenovo G40. Procesador i5-4200U, 1.60GHz. Memoria RAM: 8GB.
Para las droguerías usadas, se tiene un inventario entre 1500 y 2000 (extraídos del reporte ge-
nerado por el INVIMA) medicamentos a excepción de la base de datos MySQL debido a limi-
taciones de almacenamiento impuestas por el proveedor del servidor en la nube. Igualmente,
se inscribieron 20 droguerías (unas copias de las otras) para forzar un escenario donde en una
búsqueda a 5 km el Observatorio encontrara 20 droguerías cercanas y llamara a cada uno de
los sistemas.
Identificador escenario: ES007.
Nombre
El sistema debe responder a una solicitud con una latencia promedio
de 30 segundos con todos los servicios arriba y disponibles.
Atributo de Calidad: Desempeño.
Verificación:
Con el uso de WebLogic se probaron cada uno de los procesos desa-
rrollados con ayuda de la utilidad de pruebas de estrés.
Resultados:
Los resultados de esta prueba se encuentran en la tabla "Pruebas de
estrés ES008", con cada uno de los resultados obtenidos por proceso.
Estado: CUMPLIDO.
Tabla 9 Evaluación ES007.
CONFIGURACIÓN PRUEBA RESULTADOS DE LA PRUEBA
Proceso Hilos
Ciclos por
cada hilo
Tiempo
Min(ms) Promedio(ms) Tiempo May(ms)
FindMedicine 50 10 29246 45652 40584
SeparateMedicineSyn 50 10 502 1579 2256
GetSeparateStatus 50 10 1114 2798 3908
RecommendGeneric 50 10 1015 2854 3995
DrugstoreLogin 50 10 556 2334 3663
DrugstoreLogOut 50 10 618 1565 2455
Tabla 10 Pruebas de estrés ES007.
Con las dos tablas anteriores se exponen los resultados obtenidos para el ES008, donde por
cada proceso consumido por los clientes móviles y web, se realizaron pruebas de estrés ha-
ciendo uso del WebLogic, con las configuraciones mostradas. Los resultados obtenidos, en su
mayoría se adaptan a las restricciones del escenario, sin embargo es preciso aclarar que las
características de hardware donde corre el BackEnd no son las adecuadas para un servidor, por
lo que se da como CUMPLIDO el escenario con la certeza que en un hardware adecuado cum-
plirá lo estipulado. Igualmente, el llamado a cada droguería se realiza de forma paralela lo que
permite que la complejidad en tiempo se mantenga a medida que se incorporan más. Por otro
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 83
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
lado la respuesta de este escenario se encuentra sujeta a la respuesta del sistema más lenta al
cual se conecte el Observatorio.
ES009
Identificador escenario: ES009.
Nombre:
El sistema debe soportar la caída de una Droguería si esta no se en-
cuentra disponible para realizar consultas, descartándola de la lista de resultados, y devolviendo la respuesta en un tiempo promedio de 120
segundos.
Atributo de Calidad: Tolerancia a fallos.
Verificación:
Con el observatorio desplegado, se procedió a realizar la desconexión de la droguería conectada con Servicio Web y creada en MySQL.
Posteriormente se realizó una prueba de estrés sobre el Proceso
FindMedicine y verificar que la droguería no se encontrara en la lista dentro de la respuesta
Resultados:
La droguería no apareció en la lista de resultados cuando se encon-traba desconectada. Para el resultado de la prueba de estrés referirse a
la tabla “Prueba de estrés ES009”.
Estado: CUMPLIDO.
Tabla 11 Evaluación ES009
CONFIGURACIÓN PRUEBA RESULTADOS DE LA PRUEBA
Proceso Hilos
Ciclos por
cada hilo
Tiempo
Min(ms) Promedio(ms) Tiempo May(ms)
FindMedicine 30 1 111691 138116 145293
Tabla 12 Prueba de estrés ES009.
Los anteriores tres escenarios son unos de los más cruciales dentro del observatorio, debido a
que en estos es necesaria la conexión y comunicación con las droguerías como sistemas exter-
nos y con otros servicios utilitarios.
Con el resultado de todos los escenarios evaluados, encontrado en el documento anexo Evalua-
ción de la Arquitectura, junto con la especificación de cómo cada componente aborda cada
atributo de calidad, se concluye que la arquitectura planteada y desarrollada por medio del
prototipo es válida y permite el desarrollo del Observatorio bajo las condiciones dadas.
VI – CONCLUSIONES
1. Análisis de Impacto del Desarrollo
Con lo obtenido durante la elaboración del trabajo de grado se puede concluir lo siguiente:
Ingeniería de Sistemas CIS1530AP04
Página 84
Desde el punto de vista disciplinar se ha dejado una arquitectura genérica (libre de tecnología)
que permite la unificación de diferentes fuentes de datos heterogéneas, que se pueden exponer
bajo una misma interfaz para abstraer la complejidad en la transformación de los mensajes
usados en la comunicación entre los sistemas externos, de la lógica de negocio realizada me-
diante procesos visuales que permiten la generación de información de interés mediante la me-
dición de estos. Con lo anterior, se han dejado unos planos para la construcción de sistemas
que requieran el cumplimiento de las características ya mencionadas, extrapolando el contexto
de la problemática del Sector Salud/Farmacéutico a otros sectores donde soluciones de este
estilo sean necesarias.
Desde el punto de vista social, la elaboración del Observatorio es un proyecto, que totalmente
finalizado, deja una herramienta para la población colombiana en su búsqueda de medicamen-
tos bajo un precio justo y accesible al igual que una fuente para la consulta de datos específicos
sobre productos de este sector. De igual forma, es un sistema para generar una ventaja compe-
titiva a aquellos participantes del sector Micro PyMe farmacéutico nacional, para apoyar en su
capacidad de competencia y dar frente a las grandes cadenas que hoy día están abarcando el
mercado.
Desde el punto de vista económico, el Observatorio permite una mejora en la calidad de vida
de las personas que no posees ni información ni recursos para la obtención de cierto medica-
mento comercial, brindando una fuente de información para conocer nuevas alternativas gené-
ricas que desconocía y que muy seguramente si van a estar al alcance económico del consumi-
dor.
2. Conclusiones y Trabajo Futuro
Con lo obtenido durante la elaboración del trabajo de grado se puede concluir lo siguiente:
El objetivo específico 1 “Realizar la caracterización de un observatorio nacional de
oferta y disponibilidad de productos farmacéuticos mediante un proceso de ingeniería
de requerimientos” se puede dar por cumplido con la elaboración del documento “Es-
pecificación de Requerimientos”.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 85
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
El objetivo específico 2 “Diseñar una arquitectura orientada a BPM y ESB que permita
el desarrollo de un observatorio nacional de oferta y disponibilidad de productos far-
macéuticos” se puede dar por cumplido con la elaboración del documento SAD.
El objetivo específico 3 “Evaluar la arquitectura diseñada para el desarrollo del obser-
vatorio” se puede dar por cumplido con la elaboración del documento Evaluación de
la Arquitectura.
El objetivo específico “Desarrollar un prototipo que permita probar la arquitectura di-
señada en un ambiente de pruebas dentro del dominio del problema” se puede dar por
cumplido con la elaboración del prototipo funcional, del cual se entrega el código y el
documento “Descripción funcionalidad prototipo”.
Entre otras conclusiones obtenidas mediante la elaboración del trabajo de grado tenemos:
Entre el diseño y construcción de procesos de negocio siempre es necesaria la re ela-
boración o re estructuración de ciertos componentes dentro de estos. Lo anterior debido
a falta de experiencia con las herramientas utilizadas que exigían la construcción de
los procesos de ciertas formas específicas restringidas.
La incorporación de otros componentes que ayudaran a obtener una arquitectura más
escalable no fueron posibles de implementar debido a la restricción de tiempo existente
para el proyecto. Tal es el caso del Registry, componente que permite desacoplar los
consumidores de servicios con los proveedores al brindar un repositorio central donde
se registran todos los servicios disponibles dentro del sistema.
La utilización de componentes BPM, teniendo en cuenta la eficiencia en los procesos
no es muy común, por lo que la documentación encontrada no ayudó a obtener la ar-
quitectura deseada; por lo anterior, y luego de obtener experiencia con las herramientas
escogidas para el desarrollo del proyecto, se escogió hacer especial énfasis en la opti-
mización al hacer uso de procesamiento paralelo de actividades, compuertas paralelas,
manejo de errores, temporizadores que finalizaran con tareas luego de un tiempo de-
terminado y procesos asíncronos, igualmente para dejar una base para aquellos que
quieran implementar soluciones BPM basadas en eficiencia.
Con la exposición de los procesos BPM como servicios, se logra obtener un término
acuñado desde la aparición de los dispositivos móviles conocido como BPM Mobile.
Ingeniería de Sistemas CIS1530AP04
Página 86
Esto permite exponer los procesos al exterior y que sean consumidos por cualquier
dispositivo que sea capaz de realizar invocaciones por llamadas HTTP, transformando
los procesos en algo que era meramente interno de las organizaciones a algo externo.
Con relación al punto anterior, la exposición por servicios permite el desarrollo de
nuevas interfaces que permitan logra un sistema que penetre en diferente tipos de usua-
rios teniendo en cuenta incapacidades especiales que requieran un diseño de interfaz
muy específico, sin necesidad de preocuparse por la implementación de la lógica ya
existente, funcional y verificada.
Los ESB son componentes de software que usados de la manera adecuada y bajo las
condiciones de problemas adecuados, brindan una serie de atributos de calidad que
permiten, en general, sistemas más sostenibles cuando la cantidad de usuarios conec-
tados a este crece a gran escala.
Como trabajo futuro sobre el trabajo de grado realizado se propone:
Una validación con usuarios finales no fue posible para el desarrollo del proyecto de-
bido a restricciones de tiempo y a que su principal objetivo no era este. Por lo anterior
se propone realizar este proceso.
Incorporación de un componente Registry dentro de la arquitectura que permita un
mayor desacople entre los consumidores dentro de la capa SOA y lo proveedores en la
capa ESB, para lograr una arquitectura más escalable.
La elaboración de la arquitectura propuesta con herramientas completamente libres que
se puedan usar en ambientes comerciales sin necesidad de pago, realizando la respec-
tiva arquitectura aterrizada a tecnología que refleje los cambios necesarios para poder
realizarla.
Incorporación de más procesos de negocio según necesidades del sector. Lo anterior
puede ser atacar otro de los problemas expuestos como lo es “poder de negociación
frente a los laboratorios farmacéuticos” incorporando sistemas externos de los labora-
torios al observatorio para colocar órdenes más grandes, conformadas por grupos de
droguerías, logrando un mejor precio en el abastecimiento de estos gracias al volumen
de compra.
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 87
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
IV- REFERENCIAS Y BIBLIOGRAFÍA
[1] “What is software architecture” (2006) [en línea], disponible en: http://www.ibm.com/de-
veloperworks/rational/library/feb06/eeles/, recuperado: agosto 2015.
[2] “Android Studio” [en línea], disponible en: http://developer.android.com/intl/es/sdk/in-
dex.html, recuperado: Octubre de 2015.
[3] “Oracle Fusion Middleware SOA Suite” [en línea], disponible en: http://www.ora-
cle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html, recuperado: Octu-
bre de 2015.
[4] Tešanovic, A. “What is a pattern?” [en línea], disponible en: http://st.inf.tu-dres-
den.de/Lehre/dpf/IntroductoryPapers/tesanovic-WhatIsAPattern.pdf, recuperado: agosto 2015.
[5] Gang, L. “A comparative study between soft system bus and Enterprise Service bus” (2012)
[en línea], disponible en: http://ieeexplore.ieee.org/xpl/login.jsp?tp=&ar-
number=6394383&url=http%3A%2F%2Fieeex-
plore.ieee.org%2Fiel5%2F6392590%2F6394246%2F06394383.pdf%3Far-
number%3D6394383, recuperado: Agosto 2015.
[6] “Using ESB technology as a foundation for BPM” (2012) [en línea], disponible en:
https://www.mulesoft.com/lp/whitepaper/soa/business-processes-management, recuperado:
11 de abril de 2015.
[7] “Understanding Enterprise Application Integration - The Benefits of ESB for EAI”[en
linea], disponible en: https://www.mulesoft.com/resources/esb/enterprise-application-integra-
tion-eai-and-esb, recuperado: Agosto 2015.
[8] Kumara, I. “Towards Reusing ESB Services in Different ESB Architectures” (2010) [en
línea], disponible en: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5615740, re-
cuperado: Agosto 2015.
[9] Fuhua, G. “Architecture Comibining SOA and BPM “(2011) [en linea], disponible en:
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnum-
ber=5974589&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnum-
ber%3D5974589, recuperado: Agostos 2015.
[10] “Oracle Business Activity Monitoring” [en linea], disponible en: http://www.ora-
cle.com/technetwork/es/middleware/bam/overview/index.html, recuperado: Noviembre de
2015.
[11] “Mule ESB Enterprise Performance” (2014) [en línea], disponible en: https://www.mule-
soft.com/lp/whitepaper/soa/esb-enterprise-performance, recupera-do: 11 de abril de 2015.
Ingeniería de Sistemas CIS1530AP04
Página 88
[12] Consejo Nacional de Política Económica y Social, Colombia, “Documento Conpes Social
155, Política farmacéutica nacional” (2012, 30 de agosto) [en línea], disponible en: https://co-
laboracion.dnp.gov.co/CDT/Conpes/Social/155.pdf, recuperado: 4 de abril de 2015.
[13] Colombia, Congreso Nacional de la República (2000), “Ley 500 de 2000 por la cual se
dictan disposiciones para promover el desarrollo de las micro, pequeñas y media-nas empresas”
[en línea], disponible en: www.mincit.gov.co/descargar.php?idFile=2309, recuperado: 4 de
mayo de 2015.
[14] “An algorithm to derive use cases from business processes” (2002) [en línea], disponible
en: http://www.researchgate.net/publication/228889707_An_algorithm_to_derive_use_ca-
ses_from_business_processes, recuperado: Agosto de 2015.
[15]Morales,B. ”DISEÑO DE INSTRUMENTO DE INVESTIGACIÓN PARA LA
IDENTIFICACIÓN DE LAS VARIABLES EN EL SECTOR FORMAL E INFORMAL DE
LA ECONOMIA” (2009) [en línea], disponible en: http://repository.unimi-
nuto.edu:8080/jspui/bitstream/10656/2050/1/TA_MoralesGalvanBlancaAlejandra_2009.pdf,
recuperado: Noviembre 2015.
[16] Perú, Observatorio de Productos Farmacéuticos [en línea], disponible en: http://observa-
torio.digemid.minsa.gob.pe/, recuperado: 15 de mayo de 2015.
[17] Perú, “Directiva Administrativa Nº176 MINSA/DIGEMID V.01.” [en línea], disponible
en: http://observatorio.digemid.minsa.gob.pe/OPMSCMS/Archivos/RM341-
2011MINSA.pdf, recuperado: 15 de mayo de 2015.
[18] Cannataro, M. (2013), “Using Open Data in Health Care and Tourism” [en línea], dispo-
nible en: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnum-
ber=6732750&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnum-
ber%3D6732750, recuperado: agosto de 2015.
[19] “U.S Food and Drug Administration” (2014) [en línea], disponible en:
http://www.fda.gov/AboutFDA/WhatWeDo/default.htm, recuperado: agosto 2015.
[20] Applied Mobility Systems (AMS) [en línea], disponible en: http://appliedmobility.com/,
recuperado: 16 de mayo de 2015.
[21] Akiztá [en línea], disponible en: http://akizta.com/#/home, recuperado: 16 de mayo de
2015.
[22] “Medicamentos Accesibles Plus” [en línea], disponible en: http://www.portal-
farma.com/Profesionales/Buenas-practicas-profesionales/rscinfo/medicamento-accesible-
plus/Paginas/introduccion-general.aspx, recuperado: 21 de mayo de 2015.
[23] “Medicamentos Accesibles Plus – App” [en línea], disponible en: https://play.goo-
gle.com/store/apps/details?id=com.technosite.medicamentoaccesible, recuperado: 21 de mayo
de 2015.1
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 89
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
[24] “Websocket” [en línea], disponible en: https://www.websocket.org/, recuperado: Octubre
de 2015.
[25] Pericles Loucopoulos and Vassilios Karakostas. 1995. System Requirements Engi-neer-
ing. McGraw-Hill, Inc., New York, NY, USA.
[26] “Sector farmacia” (2009) [en línea], disponible en: http://ubikate.gov.co/sites/default/fi-
les/farmacia.pdf, recuperado: Septiembre de 2015.
[27] “El sector de productos farmacéuticos para uso humano en Colombia” (2005) [en línea]
disponible en: https://bitacorafarmaceutica.files.wordpress.com/2008/08/la-industria-farma-
ceutica-en-colombia.pdf, recuperado: Septiembre d 2015.
[28] Brugge, B. (2010) Object-Oriented Software Engineering, Prentice Hall.
[29] “ESTUDIO DEL SECTOR FARMACEUTICO COLOMBIANO CORRESPONDIENTE
AL PROCESO DE ADQUISICIÓN, DISTRIBUCION, SUMINISTRO Y CONTROL DE
MEDICAMENTOS A TRAVES DE UN OPERADOR LOGISTICO PARA LOS USUARIOS
DEL SUBSISTEMA DE SALUD DE LAS FUERZAS MILITARES DE LAS VIGENCIAS
2014 A 2018” (2014) [en línea], disponible en: http://www.sanidadfuerzasmilitares.mil.co/?id-
categoria=71264&download=Y, recuperado: Septiembre de 2015.
[30] Bustamante, A. “Sector farmacéutico Colombiano” (2007) [en línea], disponible en:
http://www.corficolombiana.com.co/WebCorficolombiana/Repositorio/informes/ar-
chivo2262.pdf, recuperado: Septiembre de 2015.
[31] Sommerville, Ian. (2005), Ingeniería de Software, Pearson Education
[32] “The Agile Unified Process (AUP)” [en línea], disponible en: http://www.amby-
soft.com/unifiedprocess/agileUP.html, recuperado: 15 de abril de 2015.
[33] Bass, L. Clements, P. Kazman, R. (2003) Software Architecture in Practice (2nd Edition)
Addison-Wesley Professional.
[34] “Design an SOA solution using a reference architecture” (2014) [en línea], disponible en:
http://www.ibm.com/developerworks/library/ar-archtemp/, recuperado: Octubre de 2015.
[35] “Oracle Reference Architecture” (2010) [en línea], disponible en: http://www.ora-
cle.com/technetwork/topics/entarch/oracle-ra-soa-foundation-r3-1-176715.pdf, recuperado:
Octubre de 2015.
[36] “Services in SOA” [en línea], disponible en: https://www.mulesoft.com/resources/esb/ser-
vices-in-soa recuperado: Octubre de 2015.
[37] “SOA Reference Architecture Technical Standard” (2013) [en línea], disponible en:
https://www.opengroup.org/soa/source-book/soa_refarch/layers.htm#figure4, recuperado: Oc-
tubre de 2015.
Ingeniería de Sistemas CIS1530AP04
Página 90
[38] Rotem, A. SOA Patterns (2012), Manning.
[39] Dikmans, L. “SOA made simple” (2011) [en línea], disponible en: http://www.ora-
cle.com/technetwork/articles/soa/soa-made-simple-chap-4-1918442.pdf, recuperado: Octubre
de 2015.
[40] Bengtsson, P. “Scenario-based Software Architecture Reengineering” (1998) [en línea],
disponible en: http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnum-
ber=685756&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnum-
ber%3D685756, recuperado: Octubre de 2015.
[41] Babar, M. “A framework for Classifying and Comparing Software Architecture Evalua-
tion Methods” (2004) [en linea], disponible en: http://ieeex-
plore.ieee.org/xpl/login.jsp?tp=&arnumber=1290484&url=http%3A%2F%2Fieeex-
plore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1290484, recuperado: Octubre de
2015.
[42] “Información sobre el sector salud” (2010) [en línea], disponible en: http://www.camara-
baq.org.co/index.php?option=com_content&view=article&catid=156:salud-competi-
tiva&id=419:informacion-del-cluster&Itemid=268, recuperado: 1 de abril de 2010.
[43] “World Development Indicators: Heath systems” (2014) [en línea], disponible en:
http://wdi.worldbank.org/table/2.15, recuperado: 1 de abril de 2010.
[44] Silva, M y Tirado, A. (2013), Oportunidades y amenazas para el sector farmacéutico con
la firma del TLC con los estados unidos, Bogotá, Universidad EAN, [en línea], disponible en:
http://repository.ean.edu.co/bitstream/handle/10882/4703/StepanianMichael2013.pdf?se-
quence=1, recuperado: 1 de abril de 2015.
[45] “Mule ESB Enterprise Performance” (2014) [en línea], disponible en: https://www.mule-
soft.com/lp/whitepaper/soa/esb-enterprise-performance, recupera-do: 11 de abril de 2015.
[46] “¿Qué es el Régimen Subsidiado?” [en línea], disponible en: http://www.astrea-ce-
sar.gov.co/apc-aa-fi-
les/39366334626636306461313563366464/INFORME_REGIMEN_SUBSIDIADO_PARA_
XX.doc, recuperado: 4 de abril de 2015
[47] Defensoría del Pueblo, Colombia, “La tutela y el derecho a la salud 2012” (2013) [en
línea], disponible en: http://www.asivamosensalud.org/media/santafe/lecturas_sugeri-
das/6265849126fdb7c8e5f828f2c4edc7e7.pdf, recuperado: 4 de abril de 2015.
[48] Consejo Nacional de Política Económica y Social, Colombia, “Documento Conpes Social
155, Política farmacéutica nacional” (2012, 30 de agosto) [en línea], disponible en: https://co-
laboracion.dnp.gov.co/CDT/Conpes/Social/155.pdf, recuperado: 4 de abril de 2015.
[49] Ministerio de la Protección Social, Colombia, “Programa de reorganización, rediseño y
modernización de las redes de prestación de servicios de salud” (2011, 12 de septiembre) [en
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Página 91
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
línea], disponible en : http://www.minsalud.gov.co/Politicas%20Farmaceuti-
cas/Pol%C3%ADtica%20farmac%C3%A9utica/Documentos%20soporte/Diagnostico%20Si-
tuaci%C3%B3n%20Farmac%C3%A9utica%20Nacional%202011.pdf, recuperado: 4 de abril
de 2015.
[50] “Using ESB technology as a foundation for BPM” (2012) [en línea], disponible en:
https://www.mulesoft.com/lp/whitepaper/soa/business-processes-management, re-cuperado:
11 de abril de 2015.
[51] “JBoss Enterprise BRMS Compared to Oracle SOA Suite and Oracle BPM Suite
(11.1.1.6)” (2013) [en línea], disponible en: https://www.redhat.com/es/files/resources/en-
rhjb-brms-compared-oracle-soa-oracle-business-process-management-competitive-brief-
10185747.pdf.
[52] “ESB Support” [en línea], disponible en:
http://docs.jboss.org/tools/OLD/3.0.1.GA/en/esb_ref_guide/html/esb_support.html.
[53] “Understanding Integration From A "Needs-Based" Perspective - Mule vs. Open ESB /
Glassfish ESB” [en línea], disponible en: https://www.mulesoft.com/resources/esb/under-
standing-integration-needs-based-perspective-mule-vs-open-esb-glassfish-esb
[54] “Our response to MuleSoft blog “10 reasons to walk from BizTalk”” (2014) [en línea],
disponible en: http://blogs.biztalk360.com/response-mulesoft-blog-10-reasons-walk-biztalk/
[55] “JBoss ESB 4.3 GA” [en línea], disponible en: http://docs.jboss.org/jbos-
sesb/docs/4.3.GA/manuals/pdf/services/ContentBasedRouting.pdf.
Ingeniería de Sistemas CIS1530AP04
Página 92
IV - ANEXOS
Estado del Arte: profundización del marco contextual y conceptual. Disponible en:
http://pegasus.javeriana.edu.co/~CIS1530AP04/anexos.html.
Análisis problemática: profundización del análisis realizado para la obtención de re-
querimientos. Disponible en: http://pegasus.jave-
riana.edu.co/~CIS1530AP04/anexos.html.
Especificación de Requerimientos: especificación de casos de uso y requerimientos no
funcionales. Disponible en: http://pegasus.jave-
riana.edu.co/~CIS1530AP04/anexos.html.
SAD: arquitectura planteada. Disponible en: http://pegasus.jave-
riana.edu.co/~CIS1530AP04/anexos.html.
Evaluación de la Arquitectura: evaluación de la arquitectura planteada. Disponible en:
http://pegasus.javeriana.edu.co/~CIS1530AP04/anexos.html.
Descripción funcionalidad de Prototipo: descripción del alcance que se logró con el
prototipo y manual de usuario. Disponible en: http://pegasus.jave-
riana.edu.co/~CIS1530AP04/anexos.html.
Imágenes Diagramas: imágenes de los diagramas de mayor importancia dentro del tra-
bajo. Disponible en: http://pegasus.javeriana.edu.co/~CIS1530AP04/anexos.html.