rubén darío hernández sánchez

57
Prototipo de aplicación móvil para consulta de información referente a vuelos por parte de los usuarios de aerolíneas en Colombia basado en el Análisis de Tecnologías para Transmisión de Información en Tiempo Real Rubén Darío Hernández Sánchez 20171099011 [email protected] Proyecto para optar por el título de Especialista en Ingeniería de Software Universidad Distrital Francisco José de Caldas Facultad de Ingeniería Especialización en Ingeniería de Software Bogotá 2017

Upload: others

Post on 14-Nov-2021

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rubén Darío Hernández Sánchez

Prototipo de aplicación móvil para consulta de información referente a vuelos por parte de los

usuarios de aerolíneas en Colombia basado en el Análisis de Tecnologías para Transmisión de

Información en Tiempo Real

Rubén Darío Hernández Sánchez

20171099011

[email protected]

Proyecto para optar por el título de Especialista en Ingeniería de Software

Universidad Distrital Francisco José de Caldas

Facultad de Ingeniería

Especialización en Ingeniería de Software

Bogotá

2017

Page 2: Rubén Darío Hernández Sánchez

Prototipo de aplicación móvil para consulta de información referente a vuelos por parte de los

usuarios de aerolíneas en Colombia basado en el Análisis de Tecnologías para Transmisión de

Información en Tiempo Real

Rubén Darío Hernández Sánchez

20171099011

[email protected]

Director: Roberto Pava

Revisor: Jhon Fredy Parra

Proyecto para optar por el título de Especialista en Ingeniería de Software

Universidad Distrital Francisco José de Caldas

Facultad de Ingeniería

Especialización en Ingeniería de Software

Bogotá

2017

Page 3: Rubén Darío Hernández Sánchez

CONTENIDO

INTRODUCCIÓN ................................................................................................................. 7

CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN ...................................................... 10

CAPITULO 1. DESCRIPCIÓN DE LA INVESTIGACIÓN .............................................. 11

1.1. Planteamiento e identificación del problema ............................................................. 11

1.2. Objetivos .................................................................................................................... 13

1.3. Justificación del trabajo de investigación .................................................................. 14

1.4. Hipótesis .................................................................................................................... 14

1.5. Marco referencial ....................................................................................................... 15

1.6. Metodología de la investigación ................................................................................ 16

1.7. Organización del trabajo de grado ............................................................................. 16

1.8. Estudio de sistemas previos ....................................................................................... 17

DESARROLLO DE LA INVESTIGACIÓN ....................................................................... 19

CAPITULO 1. SISTEMA EN TIEMPO REAL STR .......................................................... 20

1.1. Sistemas en Tiempo Real .......................................................................................... 20

1.2. Clasificación de los sistemas en tiempo real STR ..................................................... 21

1.3. Modelo Cliente / Servidor ......................................................................................... 22

1.4. Modelo Publicador / Suscriptor ................................................................................. 24

CAPITULO 2. BASES DE DATOS EN TIEMPO REAL .................................................. 26

2.1. Que son las Bases de Datos en Tiempo Real ............................................................. 26

2.2. Firebase ...................................................................................................................... 27

2.3. CouchBase ................................................................................................................. 28

CAPITULO 3. VIABILIDAD DEL DESARROLLO ......................................................... 30

3.1. Situación actual de las tecnologías móviles en Colombia ......................................... 30

3.2. Situación actual del transporte aéreo en Colombia ................................................... 32

CAPITULO 4. DISEÑO DEL PROTOTIPO DE APLICACIÓN MOVIL ......................... 34

4.1. Diseño del prototipo .................................................................................................. 34

4.2. Aerolínea como Organización ................................................................................... 34

Page 4: Rubén Darío Hernández Sánchez

4.3. Servicios y productos................................................................................................. 35

4.3.1 Servicios en Rampa: ............................................................................................ 35

4.3.2 Servicios de atención a Pasajeros: ....................................................................... 36

4.3.3 Productos .............................................................................................................. 36

4.4. Punto de vista de Organización ................................................................................. 36

4.5. Punto de vista de cooperación de actor ..................................................................... 37

4.6. Punto de vista de función de negocio ........................................................................ 38

4.7. Punto de vista del proceso de negocio ....................................................................... 38

4.8. Punto de vista de cooperación de proceso de negocio ............................................... 39

4.9. Punto de vista de producto ......................................................................................... 40

4.10. Punto de vista de comportamiento de aplicación .................................................... 40

4.11. Punto de vista de uso de aplicación ......................................................................... 41

4.12. Funcionamiento del prototipo .................................................................................. 42

4.13. Tecnologías utilizadas ............................................................................................. 42

4.14. Punto de vista de uso de infraestructura .................................................................. 43

4.15. Punto de vista de uso de infraestructura .................................................................. 44

4.16. Punto de vista de implementación y despliegue ...................................................... 44

4.17. Punto de vista de realización de servicio ................................................................. 45

4.18. Punto de vista de capas ............................................................................................ 46

4.1. Aplicaciones actuales ................................................................................................ 46

CIERRE DE LA INVESTIGACIÓN ................................................................................... 49

1. CAPITULO 1. RESULTADOS Y DISCUSIÓN .......................................................... 50

1.1. Resultados alcanzados ............................................................................................... 50

CAPITULO 2. CONCLUSIONES ....................................................................................... 51

2.1. Verificación, contraste y evaluación de los objetivos ............................................... 51

2.2. Síntesis del modelo propuesto ................................................................................... 52

2.3. Aportes originales ...................................................................................................... 53

CAPITULO 3. PROSPECTIVA DEL TRABAJO DE GRADO ......................................... 54

Page 5: Rubén Darío Hernández Sánchez

3.1. Líneas de investigación futuras ................................................................................. 54

3.2. Trabajos de investigación futuros .............................................................................. 54

BIBLIOGRAFIA .................................................................................................................. 56

Page 6: Rubén Darío Hernández Sánchez

LISTA DE FIGURAS

FIGURA 1. DEFINICIÓN CLIENTE SERVIDOR - INFOGRAFÍA: IBM.COM ......................................................................................... 23

FIGURA 2. DEFINICIÓN PUBLICADOR SUSCRIPTOR – INFOGRAFÍA: DOCS.ORACLE.COM .................................................................. 24

FIGURA 3. SUSCRIPTORES Y ACCESO A INTERNET MÓVIL POR DEMANDA. INFOGRAFÍA: COLOMBIATIC.MINTIC.GOV.CO ........................ 31

FIGURA 4. ABONADOS DE TELEFONÍA MÓVIL E ÍNDICE DE PENETRACIÓN. INFOGRAFÍA: COLOMBIATIC.MINTIC.GOV.CO ........................ 31

FIGURA 5. PASAJEROS ORIGEN DESTINO –DICIEMBRE 2016. INFOGRAFÍA: AEROCIVIL.GOV.CO ....................................................... 33

FIGURA 6. PUNTO DE VISTA DE ORGANIZACIÓN ..................................................................................................................... 37

FIGURA 7. PUNTO DE VISTA DE COOPERACIÓN DE ACTOR ......................................................................................................... 37

FIGURA 8. PUNTO DE VISTA DE FUNCIÓN DE NEGOCIO ............................................................................................................. 38

FIGURA 9. PUNTO DE VISTA DEL PROCESO DE NEGOCIO ............................................................................................................ 39

FIGURA 10. PUNTO DE VISTA DE COOPERACIÓN DEL PROCESO DE NEGOCIO ................................................................................. 39

FIGURA 11. PUNTO DE VISTA DE PRODUCTO .......................................................................................................................... 40

FIGURA 12. PUNTO DE VISTA DE COMPORTAMIENTO DE APLICACIÓN ......................................................................................... 41

FIGURA 13. PUNTO DE VISTA DE USO DE APLICACIÓN .............................................................................................................. 41

FIGURA 14. FUNCIONAMIENTO DE LA APLICACIÓN .................................................................................................................. 42

FIGURA 15. TECNOLOGÍAS UTILIZADAS ................................................................................................................................. 43

FIGURA 16. PUNTO DE VISTA DE USO DE INFRAESTRUCTURA..................................................................................................... 43

FIGURA 17. PUNTO DE VISTA DE USO DE INFRAESTRUCTURA..................................................................................................... 44

FIGURA 18. PUNTO DE VISTA DE IMPLEMENTACIÓN Y DESPLIEGUE ............................................................................................. 45

FIGURA 19. PUNTO DE VISTA DE REALIZACIÓN DEL SERVICIO ..................................................................................................... 45

FIGURA 20. PUNTO DE VISTA DE CAPAS ................................................................................................................................ 46

Page 7: Rubén Darío Hernández Sánchez

7

INTRODUCCIÓN

El avance de las tecnologías y el creciente desarrollo de aplicaciones móviles atraen la atención

de un gran número de usuarios que acceden a la información mediante el uso de equipos móviles.

Según menciona el MINTIC en el boletín trimestral de las TIC al finalizar el cuarto trimestre del

2016, el número de abonados en servicio de telefonía móvil en Colombia alcanzo un total de

58.624.924 y un índice de penetración del 120,4%, presentando un aumento de 1,5 puntos

porcentuales con relación al índice de penetración del mismo trimestre del año anterior, el cual se

ubico en 118,9% (ColombiaTIC, 2017).

Para la Asociación de la Industria Móvil de Colombia Asomovil que es una entidad sin ánimo de

lucro que congrega a los principales operadores móviles del país como lo son Claro, Tigo Une y

Movistar quienes reúnen más del 95% de usuarios en Colombia, el uso de SmartPhones

(Teléfonos inteligentes) en Colombia ya es mayor al 50% en la población, la medición está

basada en datos suministrados por los operadores móviles a dicha entidad en la cual se observa

un aumento en la venta de internet móvil y una disminución en el consumo de mensajes de texto

del 50% debido al uso de aplicaciones como WhatsApp (Asomovil, 2017).

Teniendo en cuenta las cifras que ofrece el Ministerio de Tecnologías de la Información y las

Comunicaciones MINTIC se puede ver la viabilidad que tiene la investigación de tecnologías

asociadas al desarrollo de aplicaciones móviles en Colombia. Por otro lado saliendo del contexto

local se puede ver una tendencia de continua evolución en el desarrollo de tecnologías para

solventar o mejorar problemas encontrados en desarrollo actual de aplicaciones móviles, es aquí

donde se fundamentan cambios en los modelos de desarrollo. En el momento se cuenta con

Page 8: Rubén Darío Hernández Sánchez

8

tecnologías poco exploradas en el ámbito del desarrollo de aplicaciones móviles, es el caso de las

tecnologías asociadas a la transmisión de información en tiempo real que cambian el modelo

actual, proponiendo simplificar tareas de desarrollo que lleven al ahorro de recursos a nivel de los

dispositivos involucrados y optimizar los procesos de tratamiento de la información.

Según la Aeronáutica civil entidad encargada de garantizar el desarrollo ordenado de la aviación

civil, de la industria aérea y la utilización segura del espacio aéreo colombiano, el transporte

aéreo en Colombia mantiene cifras positivas de crecimiento. De acuerdo con los datos

suministrados en el informe de Estudios Sectoriales, sobre el tráfico aéreo de pasajeros

movilizados en Colombia en 2016, la demanda creció en un 4,8 %, es decir un millón 641 mil

pasajeros más que en el año inmediatamente anterior. De 34 millones 131 mil personas

movilizadas en 2015, se pasó a 35 millones 773 mil en 2016 (Aeronáutica Civil, 2017).

En Colombia como en la mayoría de los países del mundo el transporte aéreo se ve interrumpido

debido a múltiples causas que involucran a los aeropuertos, aerolíneas y factores externos como

los cambios climáticos. Los usuarios de aerolíneas tienen que adaptarse a diversos cambios que

pueden presentarse al momento de tomar un vuelo debido a que la información asociada no es

estática y puede tener múltiples variaciones, factores como la hora de salida del vuelo o la puerta

de acceso del pasajero se convierten en información que puede ser modificada en cualquier

momento.

El uso de tecnologías para transmisión de información en tiempo real y el desarrollo de

aplicaciones móviles hacen posible el diseño de soluciones informáticas basadas en innovación

que permiten mantener informado al usuario de manera inmediata sobre cualquier eventualidad

que ocurra al momento de tomar un vuelo. Para el caso mencionado anteriormente se puede

Page 9: Rubén Darío Hernández Sánchez

9

plantear la construcción de un prototipo de aplicación móvil que permita la transmisión de

información en tiempo real de los vuelos, informando así al usuario de manera oportuna e

inmediata cualquier novedad que haya surgido. Esta herramienta sería de gran utilidad ya que

brindaría una comunicación constante y eficiente permitiendo que los usuarios de la aerolínea

tengan información de primera mano y con la inmediatez necesaria del caso.

Page 10: Rubén Darío Hernández Sánchez

10

PARTE l

CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN

Page 11: Rubén Darío Hernández Sánchez

11

CAPITULO 1. DESCRIPCIÓN DE LA INVESTIGACIÓN

1.1. Planteamiento e identificación del problema

El rápido crecimiento de las tecnologías asociadas al desarrollo para dispositivos móviles se han

creado soluciones tecnológicas basadas en herramientas tecnológicas actuales para obtener

información de manera inmediata, existen casos de aplicaciones móviles que requieren mantener

la información actualizada en tiempo real para la toma de decisiones por parte de los usuarios, se

podrían citar ejemplos como aplicaciones asociadas a la bolsa de valores, manejo de divisas,

sector de compañías aéreas entre otras.

En la actualidad las aplicaciones móviles sincronizan su contenido con el servidor utilizando

tecnología pull mediante el modelo cliente/servidor, con el uso de esta tecnología la aplicación

móvil lanza llamados recurrentes al servidor que contiene la información para mantenerse

actualizado. Sin embargo el uso de esta Tecnología no garantiza que se tenga la información en

tiempo real, ya que si la información cambia un instante después que el servidor responda el

llamado del dispositivo móvil se debe esperar a que se lance un nuevo llamado para obtener la

información actualizada.

La tecnología push cuyo funcionamiento es opuesto a la tecnología pull ofrece una solución al

problema de transmisión de información en tiempo real. La tecnología push se basa en el modelo

publicador/suscriptor en cuyo caso es el servidor el que contacta al cliente para informarle que la

información a cambiado, justo en el momento que el servidor detecta un cambio en la

información realiza la transmisión hacia la aplicación móvil.

Page 12: Rubén Darío Hernández Sánchez

12

Debido a la importancia que tiene hoy en día las aplicaciones móviles en la cotidianidad de la

Sociedad actual, muchas empresas ven la oportunidad de utilizar dichas aplicaciones como

puente de comunicación con los usuarios, la inmediatez con que se comuniquen los cambios en la

información es muy importante para los usuarios tomen decisiones a tiempo acordes con los

cambios observados. Es aquí donde se requiere de la investigación de herramientas que permitan

la integración de la tecnología push para hacer transmisión de información en tiempo real en el

desarrollo de aplicaciones móviles.

Grandes empresas de tecnología como Google y CouchBase han venido liderando desde el año

2011 una iniciativa generada en la creación de herramientas y productos tecnológicos que

permitan la evolución de los modelos actuales de desarrollo, generando soluciones a problemas

que se han logrado identificar en los últimos años.

Si se lleva a cabo un análisis de casos en los cuales se podrían implementar soluciones basadas

en transmisión de información en tiempo real aplicada al desarrollo de dispositivos móviles en

Colombia, el sector de aerolíneas que según indica la Aeronáutica civil muestra un claro

crecimiento con el pasar del tiempo es uno de ellos, ya que debido a los diferentes factores que

interfieren diariamente en el desarrollo de la operación aeroportuaria del país hacen que la

información asociada a los vuelos sea una fuente que se encuentra en constante cambio afectando

directamente a los usuarios. Dentro de los cambios que se presentan con mayor frecuenta están la

modificación de la puerta de abordaje y la hora de salida que normalmente se debe a retrasos en

los vuelos por diversos factores como auditorías realizadas a los aviones o factores climáticos

entre otros.

Page 13: Rubén Darío Hernández Sánchez

13

La implementación de una solución móvil basada en transmisión de información en tiempo real

para los usuarios de aerolíneas en Colombia que permita la consulta de información referente a

vuelos generaría la oportunidad para las aerolíneas de informar cualquier cambio sufrido en el

desarrollo de la operación de manera inmediata y de fácil acceso para los usuarios.

La explotación de las ventajas que ofrecen las tecnologías de transmisión de información en

tiempo real asociadas al desarrollo de aplicaciones móviles para brindar soluciones basadas en

innovación pueden representar una solución viable en casos donde el usuario requiere estar

informado sobre los cambios en la información de manera inmediata.

1.2. Objetivos

En el desarrollo de los objetivos del proyecto se encuentra el siguiente objetivo general:

Implementar un prototipo de aplicación móvil para consulta de información referente a

vuelos por parte de los usuarios de aerolíneas en Colombia basado en el análisis de

Tecnologías para Transmisión de Información en Tiempo Real.

También se hallan los siguientes objetivos específicos a alcanzar dentro del proyecto:

Investigar las principales tecnologías que permiten la integración de la transmisión de

información en tiempo real con el desarrollo de aplicaciones para dispositivos móviles.

Analizar las ventajas que ofrece el uso de las tecnologías asociadas a la transmisión de

información en tiempo real en el desarrollo de aplicaciones móviles.

Page 14: Rubén Darío Hernández Sánchez

14

Comparar y seleccionar la tecnología de transmisión de información en tiempo real más

acorde para el desarrollo del prototipo de aplicación móvil que permita la consulta de

información de vuelos de las aerolíneas en Colombia por parte de los usuarios.

1.3. Justificación del trabajo de investigación

Este proyecto busca implementar un prototipo de aplicación móvil para consulta de información

referente a vuelos por parte de los usuarios de aerolíneas en Colombia aplicando el resultado

obtenido del análisis de tecnologías para transmisión de información en tiempo real. Dicho

análisis pretende explorar nuevas tecnologías basadas en la innovación que permitan mantener

informado al usuario de aerolíneas en tiempo real de las eventualidades que puedan ocurrir sobre

los cambios en la información de los vuelos, brindando así un puente de comunicación en tiempo

real entre la aerolínea y el usuario del vuelo.

1.4. Hipótesis

La implementación de un prototipo de aplicación móvil para la consulta de información referente

a vuelos por parte de usuarios de aerolíneas en Colombia permitirá la investigación y aplicación

de tecnologías que permitan solucionar problemas actuales relacionados con la inmediatez en la

entrega de información desde el servidor a la aplicación móvil brindando un canal de

comunicación efectivo entre la aerolínea y usuario del vuelo, permitiendo así informar sobre las

novedades que se puedan presentar en el desarrollo normal de la operación.

Page 15: Rubén Darío Hernández Sánchez

15

1.5. Marco referencial

La transmisión de información en tiempo real, permite mantener aplicaciones móviles

actualizadas, con información acorde a las modificaciones que pueden surgir en el servidor que

hace las veces de contenedor.

Push es una tecnología que hace posible acceder a información en tiempo real con el uso e

integración de herramientas tecnológicas diseñadas para este fin, cambiando el modelo actual de

transmisión de información entre el servidor y las aplicaciones móviles.

Las implementaciones actuales acceden a la información mediante la tecnología pull haciendo

llamados desde la aplicación móvil al servidor quien se encarga de diligenciar la petición y

enviar la información que tiene en el momento. Los llamados al servidor se hacen de manera

periódica buscando mantener la información actualizada en el dispositivo móvil, el principal

problema es cuando esta información se requiere de manera inmediata y se tiene un cambio un

instante después que el servidor a respondido la petición hecha por la aplicación móvil, en este

caso el dispositivo contendrá información desactualizada hasta que se atienda la siguiente

petición hecha por parte de la aplicación móvil.

La tecnología pull tiene dos inconvenientes principales que son los siguientes:

La información en el dispositivo móvil depende de los llamados recurrentes al servidor.

La información en el servidor podría cambiar después de que el cliente accede por lo que

el dispositivo cliente tendrá información obsoleta hasta que se vuelva a acceder al

servidor otra vez y cargar la información modificada. El acceso frecuente consume gran

cantidad de recursos de redes y dispositivos móviles, y por tanto no ofrece soluciones

rentables.

Page 16: Rubén Darío Hernández Sánchez

16

1.6. Metodología de la investigación

El método de investigación utilizado en el desarrollo de este proyecto es el análisis y la

investigación de tecnologías que permitan transmitir información en tiempo real. En este caso se

parte del análisis de la necesidad que se presenta que consiste en encontrar la forma de entregar

información actualizada y en tiempo real de los cambios que pueda sufrir el itinerario de un vuelo

a los usuarios de una aerolínea en Colombia.

Con la premisa anterior se inicia un proceso de investigación de tecnologías que permitan

encontrar herramientas que aplicadas al desarrollo de software permitan solventar dicha

necesidad, en medio de la investigación se encuentra el concepto de “Real Time Databases”

(Bases de datos en tiempo real). Dichas herramientas permiten implementar soluciones de

software que ofrecen la ventaja de mantener al usuario informado en tiempo real sobre cualquier

actualización que ocurra en la información.

En la búsqueda de la tecnología para la elaboración del proyecto se exploraron dos tecnologías,

por un lado Couchbase propiedad de la compañía Couchbase inc y Firebase propiedad de Google,

se opto por elaborar el desarrollo en base a la segunda tecnología debido a la documentación que

se encontró sobre dicha tecnología, lo cual hace más viable el desarrollo de la solución.

1.7. Organización del trabajo de grado

Para el desarrollo de este proyecto se utilizaran fuentes secundarias, ya que la mayor parte de la

información se encuentra en la documentación web ofrecida por las empresas de tecnología que

han desarrollado y documentado las herramientas que se van a usar.

Page 17: Rubén Darío Hernández Sánchez

17

En la investigación se utilizaran las siguientes fuentes: artículos científicos sobre el tema,

documentación web, libros online y la documentación oficial de los fabricantes de las

tecnologías.

En cuanto a la organización del trabajo se aborda incluyendo primero los temas relacionados con

los sistemas en tiempo real, hablando de los conceptos aplicados en el desarrollo para

contextualizar a los lectores sobre los términos empleados. Luego se hace una breve reseña de la

situación actual a nivel de tecnologías móviles en el país y el creciente aumento de la industria

aeronáutica. Por último se ofrece un ejercicio de arquitectura que pretende mostrar de manera

más adecuada el planteamiento de la solución al problema identificado.

1.8. Estudio de sistemas previos

Los sistemas en tiempo real STR y bases de datos en tiempo real, contienen estudios previos que

abordan el tema intentando descubrir sus ventajas y aplicación en entornos reales, entre los más

relevantes para aplicar a este proyecto se encuentran los siguientes:

Alejandro Buchmann de Technische Universität Darmstadt, Germany en su artículo Real-Time

Database expone la importancia de las bases de datos en tiempo real aplicadas en varios

contextos y variedad de aplicaciones en áreas de control como navegación, sistemas móviles,

telecomunicaciones y simulación en los cuales se depende de la entrega oportuna y predecible de

datos.

Se aborda el tema de la consistencia temporal de los datos y sus dos aspectos, La consistencia

temporal absoluta define la coherencia entre el estado del entorno y los datos en la base de datos

describiendo el estado del sistema físico observado en un momento determinado y La

Page 18: Rubén Darío Hernández Sánchez

18

consistencia temporal relativa que se refiere a la proximidad temporal de los datos que se utilizan

para derivar otros datos y refleja el hecho de que las mediciones de los datos usados juntos en un

cómputo deben tomarse dentro de un intervalo de tiempo especificado. Por último se aborda el

tema de las restricciones de tiempo (Buchmann, 2017).

Saud A. Aldarmi de Department of Computer Science The University of York en su artículo

Real-Time Database Systems: Concepts and Design habla sobre los sistemas de bases de datos en

tiempo real y los modos de sincronización empleados. De cómo los datos en un sistema en

tiempo real se administran de forma individual por cada tarea dentro del sistema y como con el

avance de la tecnología, muchas aplicaciones requieren una gran cantidad de información para

ser manejados y administrados de manera oportuna. Por lo tanto, se está convirtiendo en un

número considerable de aplicaciones en tiempo real. Tales cantidades de información han

producido una relación de interdependencia entre aplicaciones en tiempo real. Por lo tanto, en

varios dominios de aplicación, los datos ya no pueden ser tratados y administrados de manera

individual, sino que se está convirtiendo en un recurso vital que requiere una gestión eficiente de

datos. Mientras tanto, los sistemas de gestión de bases de datos están diseñados en torno a dicho

concepto; esto es, con el único objetivo de administrar datos como recurso. Por lo tanto, los

principios y técnicas de gestión de transacciones en los sistemas de gestión de bases de datos

deben aplicarse a las aplicaciones en tiempo real para un almacenamiento y manipulación

eficientes de la información (Aldarmi, 1998).

Page 19: Rubén Darío Hernández Sánchez

19

PARTE ll

DESARROLLO DE LA INVESTIGACIÓN

Page 20: Rubén Darío Hernández Sánchez

20

CAPITULO 1. SISTEMA EN TIEMPO REAL STR

1.1. Sistemas en Tiempo Real

El origen del término tiempo real viene de la historia reciente de los procesos de control usando

plataformas de computación digital, la primera publicación del concepto se realizó en 1965. El

concepto de tiempo real está arraigado a la simulación por ordenador, donde una simulación que

corre al menos tan rápido como un proceso físico del mundo real que modela se ejecuta en

tiempo real (Sam Siewert, 2016).

En 1973 Liu y Layland también definieron matemáticamente el concepto de Software en tiempo

real como “algoritmos de programación para la multiprogramación en un entorno en tiempo real

duro”; sin embargo aún no existe una definición formal aceptada a nivel universal para el término

Software en tiempo real (Sam Siewert, 2016).

El término tiempo real cuando se habla de desarrollo de aplicaciones software es interpretado

como “enseguida” o “instantáneamente” haciendo referencia a la información. La definición

técnica para este término en lo que respecta a las aplicaciones de software es “aplicaciones en las

que la computadora responda tan rápidamente como lo requiera el usuario o que sea necesaria por

el proceso que la controla” (Phillip A. Laplante, 2011).

Al hablar de aplicaciones Software que utilizan tiempo-real normalmente se habla de sistemas

reactivos. Los sistemas reactivos son aquellos en los que la programación de tareas es impulsada

por la interacción continua con su entorno (Phillip A. Laplante, 2011).

Las Aplicaciones Software en tiempo real deben diferenciarse de los demás por entregar una

respuesta en tiempos óptimos permitiéndole al Usuario la toma de decisiones basadas en la

Page 21: Rubén Darío Hernández Sánchez

21

información recibida. Estos sistemas deben cumplir con criterios como la inmediatez en la

entrega de la información y la veracidad de la misma.

Los sistemas en tiempo real se pueden definir como aquellos sistemas informáticos que están

diseñados para funcionar de manera oportuna. Es decir, realizar ciertas acciones dentro de

restricciones de tiempo específicas; por ejemplo, produciendo resultados mientras cumple con los

plazos predefinidos.

Los sistemas en tiempo real consisten en un sistema controlado (la aplicación subyacente) y un

sistema controlador (una computadora que supervisa el estado del medio ambiente, además de

proporcionarle la conducción adecuada de señales) El sistema de control interactúa con su

entorno en función de los datos disponibles sobre el entorno. Por lo tanto, es importante que el

estado del entorno, tal como lo percibe el sistema controlador, sea consistente con el estado real

del entorno. De lo contrario, los efectos de las actividades del sistema de control pueden ser

inapropiados. La necesidad de mantener la coherencia entre el estado actual del entorno y el

estado reflejado o percibido por el sistema lleva a la noción de consistencia temporal. (Aldarmi,

1998)

1.2. Clasificación de los sistemas en tiempo real STR

Estos Sistemas se clasifican en hard real-time systems (STR duros) y soft real-time systems (STR

suaves). Una de las principales características de los sistemas en tiempo real duros es el tiempo

de respuesta comprometido al desarrollo de un proceso crítico, los tiempos en este tipo de

sistemas deben lograrse con una precisión exacta de lo contrario esto conllevar a consecuencias

catastróficas. En los sistemas en tiempo real suaves el control en los tiempos de respuesta no

Page 22: Rubén Darío Hernández Sánchez

22

tiene una prioridad alta por tal razón no existe esa rigurosidad sobre dicho tipo de sistemas. En un

sistema en tiempo real duro, el rendimiento de carga máxima debe ser predecible y no debe violar

los plazos predefinidos. En un sistema en tiempo real suave, se puede tolerar una operación

degradada en una carga máxima si se llegara a dar el caso. Un sistema en tiempo real duro debe

permanecer sincronizado con el estado del ambiente en todos los casos. Por otro lado, los

sistemas de tiempo real suaves ralentizarán su tiempo de respuesta si la carga es muy alta. Los

sistemas duros en tiempo real suelen ser críticos para la seguridad. Los sistemas duros en tiempo

real tienen pequeños archivos de datos y bases de datos en tiempo real. La exactitud temporal es a

menudo la preocupación aquí. Si se produce un error en un sistema de tiempo real suave, el

cálculo se devuelve a un punto de comprobación previamente establecido para iniciar una acción

de recuperación. En sistemas duros en tiempo real, el rollback / recuperación es de uso

limitado.(Juvva, 2017)

1.3. Modelo Cliente / Servidor

El termino Cliente / Servidor hace referencia a un tipo de procesamiento distribuido en el cual

una aplicación es dividida en dos partes que posiblemente pueden residir en Sistemas Operativos

separados, pero trabajando de manera conjunta para proporcionar un servicio al Usuario final.

Normalmente una de las partes mencionadas aquí reside en estaciones de trabajo que solicitan un

servicio para el usuario final. La otra parte de la aplicación, el servidor, por lo general reside en

un servidor centralizado, utilizando los recursos mainframe para realizar los servicios solicitados

por cada uno de los Clientes.(IBM, 2017)

Page 23: Rubén Darío Hernández Sánchez

23

Figura 1. Definición Cliente Servidor - Infografía: ibm.com

Un servidor pude procesar peticiones de múltiples clientes de manera recurrente. Generalmente,

hay un servidor que atiende a muchos Clientes. (IBM, 2017)

El cliente suele ser la parte de la aplicación que es "vista" por el usuario final. Por lo tanto, la

mitad del cliente de una aplicación cliente / servidor reside del lado del Usuario, donde este

puede interactuar con la aplicación a través de la interfaz de usuario gráfica del sistema operativo

de la estación de trabajo.(IBM, 2017)

Los servidores generalmente son transparentes para el usuario final. Es decir, el Usuario final

sólo percibe la mitad del cliente de la aplicación, la parte que muestra la información (aunque en

realidad fue recuperado por un servidor remoto). Dado que sólo hay un servidor para un conjunto

determinado de clientes, los servidores proporcionan una forma ideal de administrar el acceso

compartido a los recursos del sistema, como los conjuntos de datos.(IBM, 2017)

Page 24: Rubén Darío Hernández Sánchez

24

1.4. Modelo Publicador / Suscriptor

Las tecnologías actuales permiten un alto grado de conectividad entre un gran número de

computadoras, aplicaciones y usuarios. En estos entornos, se proporcionan comunicaciones

asíncronas para sistemas distribuidos que operan de forma poco acoplada y autónoma y que

requieren inmunidad operativa frente a fallos de red. Este requisito ha sido llenado por varios

productos de middleware que se caracterizan por mensajería, middleware orientado a mensajes

(MOM), cola de mensajes o modelo publicador/suscriptor.(Oracle, 2017)

Las aplicaciones que se comunican a través de un paradigma de publicador y suscriptor requieren

que las aplicaciones de envío (publicadores) publiquen mensajes sin especificar explícitamente a

los destinatarios o tener conocimiento de los destinatarios previstos. De manera similar, las

solicitudes receptoras (suscriptores) deben recibir solamente aquellos mensajes en los que el

suscriptor ha registrado interés.(Oracle, 2017)

Este desacoplamiento entre los publicadores y los suscriptores suele llevarse a cabo por una

entidad intermedia entre el publicador y el suscriptor. Esta entidad intermedia es una cola que

representa un sujeto o canal.(Oracle, 2017)

Figura 2. Definición Publicador Suscriptor – Infografía: docs.oracle.com

Page 25: Rubén Darío Hernández Sánchez

25

Un suscriptor se suscribe a una cola de mensajes expresando interés en los mensajes contenidos

por esa cola y utilizando una regla basada en contenido o sujeto como un filtro. Esto da como

resultado un conjunto de suscripciones basadas en reglas asociadas con una cola determinada.

En tiempo de ejecución, los editores publican mensajes en varias colas. La cola a continuación,

entrega mensajes que coinciden con las diversas suscripciones a los abonados adecuados.(Oracle,

2017)

Page 26: Rubén Darío Hernández Sánchez

26

CAPITULO 2. BASES DE DATOS EN TIEMPO REAL

2.1. Que son las Bases de Datos en Tiempo Real

Una base de datos en tiempo real es un sistema donde las transacciones tienen limitaciones

explicitas de tiempo. En estos sistemas, el proceso de transacciones no solo debe satisfacer la

consistencia de la base de datos, sino que también debe cumplir con las restricciones asociadas a

tiempos de respuesta. Estos sistemas en tiempo real son cada vez más importantes en el

desarrollo de aplicaciones computacionales.(Jhon A Stankovic, 1990)

Los sistemas de bases de datos en tiempo real (RTDBs del inglés Real-time database systems) se

pueden ver como una fusión de una base de datos convencional de sistema de gestión y un

sistema en tiempo real. Al igual que un sistema de base de datos convencional, tiene que procesar

transacciones y garantizar criterios básicos de corrección. Además, tiene que operar en tiempo

real, satisfaciendo las limitaciones de tiempo impuestas a los compromisos de transacción y de la

validez de los datos. Un sistema de base de datos en tiempo real puede existir como un sistema

independiente o como un sistema integrado a un componente de un sistema de multidatabase

más grande.(Son, 2017)

Page 27: Rubén Darío Hernández Sánchez

27

2.2. Firebase

La base de datos en tiempo real fue la primera característica que lanzo Google para Firebase. Lo

que hizo que la base de datos de Firebase fuera verdaderamente única fue su capacidad de

sincronizar los datos entre los diferentes clientes de manera instantánea, con una única API

simple de usar. La base de datos en tiempo real oculta la complejidad de crear aplicaciones detrás

de una interfaz de programación consistente. Esto facilitó la creación de aplicaciones

colaborativas en tiempo real.

La base de datos en tiempo real es realmente un gran objeto JSON que se administra en tiempo

real. Esto significa que realmente es un árbol de valores. Lo cual permite un modelado de datos

simple y flexible. La base de datos es schemaless, lo que significa que no tiene que

comprometerse con una estructura fija desde el principio. Pero, si le preocupa la validación de

datos, la base de datos en tiempo real viene con un lenguaje de reglas impuestas por el servidor

que le permite validar la estructura de datos de cada escritura en la base de datos.

El aspecto verdaderamente único de la base de datos Firebase está en su sincronización en tiempo

real. La mayoría de las bases de datos tradicionales lo hacen trabajar con un modelo de Cliente /

Servidor. Escribiendo la consulta y luego pidiendo a la base de datos que entregue los resultados

de esa consulta. Si se necesitan los resultados nuevamente o se desea verificar si hay

actualizaciones de los resultados, se debe volver a ejecutar la consulta.

Firebase informa cuándo ocurren los cambios en la base de datos. Informando cualquier cambio

que se produzca en la ubicación del árbol. Manteniendo los cambios sincronizados en todos los

usuarios.(Firebase, 2017)

Page 28: Rubén Darío Hernández Sánchez

28

2.3. CouchBase

Couchbase una tecnología que proporciona una solución completa de gestión de datos,

multipropósito con capacidades que soportan una amplia gama de aplicaciones y casos de uso.

Dentro de las principales prestaciones que ofrece Couchbase encontramos (Couchbase, 2017):

Couchbase es una base de datos NoSQL orientada a documentos, distribuida, de alto

rendimiento, fácilmente escalable y de propósito general.

Couchbase integra un modelo con una capa de cache, y una capa de persistencia en disco.

De este modo, las lecturas y escrituras son en memoria, lo que explica su excelente

rendimiento.

Couchbase integra una solución de movilidad (Couchbase Mobile), que incluye una base

de datos simplificada en el dispositivo móvil (Couchbase Lite) que se sincroniza con una

base de datos centralizada, y permite su funcionamiento en modo offline: cuando no hay

conectividad con el servidor central la aplicación sigue funcionando en modo local

Couchbase soporta integración y réplica de datos entre centros de datos remotos (Cross

Data Center Replication – XDCR)

Como base de datos documental, Couchbase utiliza JSON como formato de documento.

Esto permite una gran flexibilidad en el dato, al no forzar un esquema predeterminado

Couchbase permite la ejecución de consultas mediante una implementación de

SQL desarrollada a medida: N1QL. Este lenguaje permite que los desarrolladores no

tengan que aprender nuevas APIs propietarias, así como su integración con soluciones

actuales de reporting, basadas en SQL

Page 29: Rubén Darío Hernández Sánchez

29

Couchbase incluye APIs de programación en los principales lenguajes: Java, C/C++,

.Net, Node.js, PHP, Python, Ruby, Go, y no está ligada a ninguna tecnología ni servidor

de aplicaciones en particular.

Couchbase y Big Data: En el ecosistema de Big Data, Couchbase se posiciona como

una base de datos operacional, orientada al tiempo real, frente al enfoque analítico y batch

más propio de entornos Hadoop, e incluye conectores nativos para Hadoop, Spark, Kafka

entre otros.

CouchBase es una de las tecnologías mejor perfiladas en el momento para integración de

transmisión de información en tiempo real desde servidor a aplicaciones móviles. (Couchbase,

2017)

Page 30: Rubén Darío Hernández Sánchez

30

CAPITULO 3. VIABILIDAD DEL DESARROLLO

3.1. Situación actual de las tecnologías móviles en Colombia

En Colombia el Ministerio de Tecnologías de la Información y las Comunicaciones MINTIC

cada trimestre elabora un informe sobre el crecimiento tecnológico en el País, este informe

muestra un claro incremento en el número de usuarios que buscan acceso a las tecnologías

mediante el uso de dispositivos móviles y conexiones a internet.

El último informe que saco el MINTIC tiene la información correspondiente al cuarto trimestre

del 2016 y fue publicado en el mes de marzo del 2017 en este se tratan diversos temas asociados

a tecnología como crecimiento a nivel de conexiones a internet fijo y móvil y telefonía pública

básica conmutada, información basada en datos reportados por los proveedores de redes y

servicios al Sistema de Información Unificado del Sector de Telecomunicaciones SIUST –

Colombia TIC. Este reporte trimestral se convierte en una buena herramienta para medir el

crecimiento de usuarios de dispositivos móviles en el país.

A continuación se relaciona un grafico que muestra la cantidad de suscriptores a internet móvil

por demanda sacado del informe del cuarto trimestre del 2016 sacado en el mes de marzo del

2017 (ColombiaTIC, 2017):

Page 31: Rubén Darío Hernández Sánchez

31

Figura 3. Suscriptores y acceso a Internet móvil por demanda. Infografía: colombiatic.mintic.gov.co

También se puede observar incrementos en la cantidad de abonados y la penetración de mercado

que ha tenido el servicio de telefonía móvil como se puede observar en el siguiente grafico

extraído del mismo informe:

Figura 4. Abonados de telefonía móvil e índice de penetración. Infografía: colombiatic.mintic.gov.co

Por otro lado cabe resaltar una iniciativa del gobierno nacional llamada Impulso al desarrollo de

aplicaciones móviles (APPS.CO) la cual “es una iniciativa diseñada desde Ministerio de

Page 32: Rubén Darío Hernández Sánchez

32

Tecnologías de la Información y las Comunicaciones (MinTIC) y su plan Vive Digital para

promover y potenciar la creación de negocios a partir del uso de las TIC, poniendo especial

interés en el desarrollo de aplicaciones móviles, software y contenidos.”(MINTIC, 2017)

Esta iniciativa como logro a diciembre de 2016 mostro una plataforma web con 80 mil registros.

Al mes de diciembre de 2016, 75 mil emprendedores están aprendiendo diferentes habilidades

para el desarrollo de sus negocios. 1.300 equipos de emprendedores han validado su idea de

negocio. 277 equipos han participado en la fase de crecimiento y consolidación. Se ha generado

1.373 empleos (MINTIC, 2017).

Lo anteriormente expuesto deja en evidencia que Colombia es un país con mucho potencial para

explorar nuevas tecnologías buscando ofrecer soluciones innovadoras a necesidades que aun no

están cubiertas y que podrían brindar mejor calidad de vida a los Usuarios.

3.2. Situación actual del transporte aéreo en Colombia

De acuerdo con los datos suministrados en el informe de Estudios Sectoriales de la Aeronáutica

Civil, sobre el tráfico aéreo de pasajeros movilizados en Colombia en 2016, la demanda creció en

un 4,8 %, es decir un millón 641 mil pasajeros más que en el año inmediatamente anterior. De 34

millones 131 mil personas movilizadas en 2015, se pasó a 35 millones 773 mil en 2016.

Diciembre también registró un aumento del 2,1 % en la movilización de pasajeros; de 3 millones

187 mil personas movilizadas en 2015, se pasó a 3 millones 254 mil viajeros en 2016.

"En el último año (2016) la industria aérea nacional transportó cerca de 36 millones de personas

de forma segura y eficiente a sus destinos, cifra récord que gracias a la apertura de nuevas rutas

aéreas, especialmente desde regiones apartadas del país y la facilidad de encontrar mejores

Page 33: Rubén Darío Hernández Sánchez

33

ofertas en tiquetes ha hecho que más colombianos tengan la posibilidad de transportarse vía

aérea", expresa Alfredo Bocanegra, Director General de la Aerocivil.(Aeronáutica Civil, 2017)

Los datos referidos anteriormente se pueden evidenciar en la siguiente grafica, expuesta por parte

de la aeronáutica civil:

Figura 5. Pasajeros origen destino –diciembre 2016. Infografía: aerocivil.gov.co

En el primer bimestre de 2017, la demanda creció en 2,28 %, es decir 130 mil pasajeros más que

en el mismo periodo de 2016, de acuerdo con el Informe de Estudios Sectoriales de Transporte

Aéreo de la Aerocivil. De 5 millones 724 mil personas movilizadas en 2016, se pasó a 5 Millones

855 mil en 2017. El tráfico internacional se incrementó en 4,27 % mientras el tráfico doméstico

creció el 1,30 %.

Durante febrero se registró un aumento del 0,85 % en la movilización de pasajeros equivalente a

22 mil pasajeros más con relación a febrero de 2016; de 2 millones 638 mil en 2016, se pasó a 2

millones 660 mil viajeros en febrero de 2017 (Aeronáutica Civil, 2017).

Page 34: Rubén Darío Hernández Sánchez

34

CAPITULO 4. DISEÑO DEL PROTOTIPO DE APLICACIÓN MOVIL

4.1. Diseño del prototipo

El prototipo de aplicación móvil que permitirá la consulta de información referente a vuelos por

parte de los usuarios de aerolíneas en Colombia debe ofrecer información actualizada en tiempo

real con el fin de ofrecer la ventaja de permitir al usuario la toma de decisiones acorde a la

información transmitida.

Para documentar el diseño de este prototipo de aplicación se utilizaran los conocimientos

adquiridos en el marco de trabajo The Open Group Architecture Framework (TOGAF) de

arquitectura empresarial y el lenguaje de modelado de arquitectura empresarial ArchiMate.

También es importante aclarar que en el ejercicio se tomaron datos de diferentes los procesos de

diferentes Aerolíneas buscando entender como es su funcionamiento con el fin de poder hacer un

ejercicio de arquitectura que nos permita realizar un diseño adecuado del prototipo.

4.2. Aerolínea como Organización

Las Aerolíneas son empresas que se dedican al transporte de pasajeros y carga en avión. Cumplen

un papel fundamental y de los más importantes dentro del trasporte a nivel mundial.

Dentro de las funciones con las cuales debe cumplir este tipo de empresas se destacan las

siguientes:

Coordinar itinerario y plan de vuelos de la Compañía acorde a las capacidades de

infraestructura y cubrimiento.

Page 35: Rubén Darío Hernández Sánchez

35

Formular propuestas de mercadeo basados en estudios previamente realizados buscando

la mejora continua de la Organización.

Garantizar el cumplimiento de los itinerarios establecidos aportando confianza a los

Clientes.

Dirigir, organizar y coordinar el mantenimiento preventivo de la flota de aviones con que

cuenta la Organización.

Promover e implementar estrategias de mercadeo que aporten al crecimiento de la

Organización.

Ejecutar las actividades continuas de capacitación de personal buscando ofrecer un

excelente servicio y evitando contratiempos no contemplados en el plan diario de acción.

4.3. Servicios y productos

Las aerolíneas ofrecen servicios catalogados por categorías y organizados de la siguiente manera:

4.3.1 Servicios en Rampa:

Direccionamiento de llegada y salida de aeronaves

Manejo de Equipaje

Manejo de Carga y Correo

Limpieza de instalaciones y aeronaves

Push Back y Remolque de Aeronaves

Servicio de manejo para aguas negras y potables

Page 36: Rubén Darío Hernández Sánchez

36

4.3.2 Servicios de atención a Pasajeros:

Ayuda en el abordaje a los pasajeros

Recepción de pasajeros en el destino de llegada

Ayuda y asesoramiento con trámites migratorios si se llegase a requerir

4.3.3 Productos

Venta de tiquetes aéreos para viajes de acuerdo al cubrimiento de la aerolínea.

Atención inmediata de personal altamente calificado.

A nivel organizacional el desarrollo del prototipo se va a centrar en la información referente a

vuelos que afecta directamente el itinerario de los usuarios de la aerolínea y será el insumo para

realizar la transmisión de información en tiempo real.

4.4. Punto de vista de Organización

La aerolínea cuenta con un sistema de información, el cual es el que contiene la información de

los vuelos ofrecidos por la aerolínea, dicho sistema de información es accedido por dos usuarios

que interactúan en todo momento con dicho sistema, estos son el usuario de la oficina de atención

al usuario quien puede visualizar la información de los itinerarios en tiempo real y por otro lado

se encuentra el área de operaciones, esta área es quien se encarga de actualizar la información de

los itinerarios de vuelos incluyendo cualquier novedad que se llegue a presentar.

Page 37: Rubén Darío Hernández Sánchez

37

Figura 6. Punto de vista de Organización

4.5. Punto de vista de cooperación de actor

En la cooperación del actor se puede observar que existe un servicio de negocio que contiene la

información de los vuelos. Dicha información debe ser entregada al usuario de la aerolínea en

tiempo real, lo cual se hace mediante dos interfaces de negocio, una corresponde a la aplicación

móvil y otra mediante una página web que brinde dicha información de manera complementaria.

Figura 7. Punto de vista de cooperación de actor

Page 38: Rubén Darío Hernández Sánchez

38

4.6. Punto de vista de función de negocio

En el punto de vista de función de negocio el servicio de negocio que representa la información

de los vuelos debe cumplir con una serie de funciones de negocio entre las cuales encontramos:

Almacenar información de vuelos: Dicha función corresponde a recibir información de

una interfaz externa correspondiente a área de operaciones de la aerolínea.

Monitorear cambios en la información: El sistema debe contar con la tecnología necesaria

que permita la detección de cambios en tiempo real.

Notificar cambios detectados: En el momento que se detecten cambios en la información

de los itinerarios, dicha información debe ser notificada a los usuarios de la aerolínea.

Figura 8. Punto de vista de función de negocio

4.7. Punto de vista del proceso de negocio

En el punto de vista de proceso de negocio se puede evidenciar como el usuario llamado

coordinador de vuelos que representa el área de operaciones de la aerolínea realiza un evento de

actualización de información directamente sobre el proceso que contiene la información de los

vuelos, lo cual desencadena otro evento que consiste en la actualización de la información de los

Page 39: Rubén Darío Hernández Sánchez

39

suscriptores en tiempo real. De esta manera los usuarios de las aerolíneas observan cualquier

cambio en la información de los itinerarios en sus dispositivos.

Figura 9. Punto de vista del proceso de negocio

4.8. Punto de vista de cooperación de proceso de negocio

En el punto de vista de cooperación de negocio de puede observar como el proceso de

información de vuelos es accedidos desde dos roles diferentes, uno que hace referencia a la

aerolínea como rol que crea y actualiza información sobre dicho proceso y otro asociado al rol

del usuario de la aerolínea que necesita dicha información actualizada.

Figura 10. Punto de vista de cooperación del proceso de negocio

Page 40: Rubén Darío Hernández Sánchez

40

4.9. Punto de vista de producto

El principal producto de la solución es el vuelo, dicho producto tiene una relación de agregación

con el contrato de transporte en cual están descritos los ítems de cumplimiento, derechos y

deberes sobre el producto. Dicho producto también asociado un servicio de negocio que describe

el comportamiento de informar los cambios en los itinerarios demostrando funciones de negocio

como ofrecer información oportuna, veraz y en tiempo real a los usuarios de la aerolínea.

Figura 11. Punto de vista de producto

4.10. Punto de vista de comportamiento de aplicación

Como se menciona en los puntos de vista anterior, la base del proyecto corresponde a la

información del vuelo, dicho componente está ligado a los demás servicios que ofrece la

aerolínea e interactúa con funciones de negocio que se encargan de alimentar y actualizar la

información existente así como de notificar los cambios que se produzcan sobre dicha

información.

Page 41: Rubén Darío Hernández Sánchez

41

Figura 12. Punto de vista de comportamiento de aplicación

4.11. Punto de vista de uso de aplicación

El componente de Información de vuelos mediante la interacción con los servicios de negocio de

Creación y Actualización de itinerarios afecta al proceso que representa la información de los

vuelos, dicho proceso es el encargado de generar las notificaciones en tiempo real sobre la

manipulación que sufre la información.

Figura 13. Punto de vista de uso de aplicación

Page 42: Rubén Darío Hernández Sánchez

42

4.12. Funcionamiento del prototipo

El prototipo parte de la premisa de almacenar la información de los vuelos en una base de datos

en tiempo real alojada en la nube, la cual es accedida y manipulada desde una aplicación web que

representar el área de operaciones de la aerolínea, por otro lado se puede observar a los usuarios

de la aerolínea quienes acceden en tiempo real a cualquier modificación que sufra la información

de los itinerarios:

Figura 14. Funcionamiento de la aplicación

4.13. Tecnologías utilizadas

Para la elaboración del prototipo se utilizaron tecnologías que fueran compatibles con las

herramientas utilizadas para la transmisión de información en tiempo real, en el siguiente

diagrama se puede observar las tecnologías que intervienen en el funcionamiento de los

diferentes componentes del prototipo:

Page 43: Rubén Darío Hernández Sánchez

43

Figura 15. Tecnologías utilizadas

4.14. Punto de vista de uso de infraestructura

La infraestructura de la solución está compuesta por una base de datos en tiempo real, dicho

componente se encuentra alojado en la nube y está encargado de almacenar la información y

realizar las respectivas notificaciones cuando se detectan cambios en la información contenida,

por otro lado se puede observar dos aplicaciones WEB y una aplicación móvil que actúan como

suscriptores de la Base de Datos y reciben la información actualizada cuando se producen

cambios, este proceso se realiza en tiempo real.

Figura 16. Punto de vista de uso de infraestructura

Page 44: Rubén Darío Hernández Sánchez

44

4.15. Punto de vista de uso de infraestructura

El Uso de la infraestructura muestra los componentes que intervienen en la solución, entre ellos

se puede observar dos servidores de aplicación que contienen tanto la aplicación que administra

el área de operaciones de la Aerolínea como la aplicación de consulta utilizada por los Clientes.

El nodo situado en la mitad representa la base de datos en tiempo real, que se encuentra alojada

en la nube y que se encarga de detectar los cambios realizados en la información. Por último, se

puede ver la interacción como componentes, como fluye la información desde la aplicación del

área de operaciones de la aerolínea hacia la base de datos y esta se encarga de actualizar la

información en las aplicaciones suscriptoras.

Figura 17. Punto de vista de uso de infraestructura

4.16. Punto de vista de implementación y despliegue

La base de datos en tiempo real es el componente principal que se muestra de manera central,

esto se hace debido a la importancia que tiene en la solución, debido a que está encargada de

detectar los cambios que sufra la información y enviar la actualización a los servicios suscritos.

De este componente se derivan los dos servidores de aplicación que contienen las aplicaciones

encargadas de alimentar la base de datos y mostrar los cambios detectados. En última instancia se

Page 45: Rubén Darío Hernández Sánchez

45

muestra la aplicación móvil que también tiene como función mostrar los cambios que tenga la

información en tiempo real.

Figura 18. Punto de vista de implementación y despliegue

4.17. Punto de vista de realización de servicio

El flujo inicia con la interacción que tiene el rol del área de operaciones de la aerolínea haciendo

una actualización de la información de vuelos, dicho cambio es detectado por la base de datos y

se hace la notificación a los componentes suscritos. Tanto el rol que hace la actualización como el

rol usuario de la aerolínea son notificados de los cambios hechos a la información.

Figura 19. Punto de vista de realización del servicio

Page 46: Rubén Darío Hernández Sánchez

46

4.18. Punto de vista de capas

Para este caso el proceso principal corresponde a la información de los vuelos, que tiene una capa

de negocio definida con su respectivo proceso, a nivel de aplicación se cuenta con dos

implementaciones diferentes, una encargada de actualizar la información por parte del área de

operaciones y otra creada exclusivamente para consulta de información por parte los clientes.

Figura 20. Punto de vista de capas

4.1. Aplicaciones actuales

La tienda de aplicaciones de Google cuenta con aplicaciones desarrolladas para la obtención de

información referente a vuelos por parte de sus Usuarios de aerolíneas en Colombia. A

continuación se puede observar un ejerció en el cual se tomaron las 3 principales aplicaciones

Page 47: Rubén Darío Hernández Sánchez

47

diseñadas para este fin y se hace un breve análisis de la percepción obtenida por los usuarios que

descargan y utilizan estas aplicaciones:

LATAM Airlines Group: Esta aplicación fue construida por la misma compañía, su

última actualización en la tienda fue el 24 de septiembre de 2017, cuenta con una

puntuación de 4,2 entre un total de 25787 descargas. Esta aplicación mantiene una buena

calificación a nivel general, analizando las opiniones compartidas por los usuarios se

encuentran peticiones asociadas a mejoras en las funcionalidades ofrecidas y algunos

inconvenientes que han presentado con la información de los vuelos. La tecnología

investigada en este proyecto sería una buena opción para la transmisión de dicha

información a los Clientes, permitiéndoles más rapidez en la entrega de la información y

permitiéndoles mejorar a nivel de desempeño de la aplicación.

Avianca: Aplicación desarrollada por Avianca, se actualizo en la tienda por última vez el

12 de octubre de 2017, tiene una puntuación de 3,2 sobre un total de descargas de 11325.

La calificación obtenida de la aplicación no es buena como referencia para nuevos

usuarios que se basen en este criterio para realizar la descarga. Basados en los usuarios

que descargaron y utilizaron esta aplicación se puede observar inconformidades con el

funcionamiento a nivel de rendimiento y funcionalidad de los requerimiento. También es

importante exaltar halagos a nivel de diseño grafico. Haciendo un análisis basado en

dichas opiniones, el funcionamiento del proceso se podría incluir las bases de datos en

tiempo real como alternativa que ayudaría al mejoramiento en los tiempos de entrega de

información a los Clientes, dando la visión de mejoras a nivel de desempeño.

Page 48: Rubén Darío Hernández Sánchez

48

El Dorado app: Esta aplicación fue desarrollada por una compañía llamada Creatitivo, su

última actualización en tienda fue el 12 de septiembre de 2017, cuenta con una

calificación de 4,3 sobre un total de descargas de 154. Lo anterior representa una buena

calificación teniendo en cuenta que su número de descargas es muy limitado y esto

representa otro de los ítems a tener en cuenta por parte de los usuarios al momento de

llevar a cabo la descarga de una aplicación. Según la opinión de los usuarios de la tienda

que la han descargado y utilizado, esta aplicación tiene varios comentarios negativos

asociados a que la información de los vuelos no se actualiza en tiempo real, por lo cual se

recomendaría el uso de tecnologías como las expuestas en este proyecto buscando

solventar este problema, ofreciendo información en tiempo real a los usuarios.

Page 49: Rubén Darío Hernández Sánchez

49

PARTE lll

CIERRE DE LA INVESTIGACIÓN

Page 50: Rubén Darío Hernández Sánchez

50

1. CAPITULO 1. RESULTADOS Y DISCUSIÓN

1.1. Resultados alcanzados

La construcción del prototipo de aplicación móvil para usuarios de aerolíneas en Colombia que

permite conocer información referente a vuelos en tiempo real utilizando tecnologías para este

fin, ha permitido la exploración de herramientas que se encuentran en proceso de investigación,

desarrollo e implantación.

En un corto plazo estas tecnologías tendrán una aplicación mayor y se podrán diseñar soluciones

que las incluyan y permitan solventar problemas frecuentes relacionados con la actualización de

información en tiempo real utilizando los modelos de acceso a datos actuales. Como todas las

tecnologías están en un proceso de transición en el cual inician dándose a conocer y mostrando

ventajas en la solución de problemas actuales. Cuando se dan a conocer, se inicia una etapa de

recomendación de uso y de crecimiento de la Tecnología.

Page 51: Rubén Darío Hernández Sánchez

51

CAPITULO 2. CONCLUSIONES

2.1. Verificación, contraste y evaluación de los objetivos

La construcción de aplicaciones móviles integradas a tecnologías para transmisión de

información en tiempo real, específicamente las bases de datos en tiempo real dan como

resultado una solución integral en aplicaciones que requieran mantener la información

actualizada y que permitan a sus clientes la toma de decisiones con información

actualizada en tiempos coherentes para la ejecución del proceso.

La principal ventaja que ofrecen las tecnologías asociadas a la transmisión de información

en tiempo real son los tiempos de respuesta en entrega de información, los cuales en

algunos contextos son críticos y permiten a los usuarios tomar decisiones adecuadas en

tiempos prudentes, por otro lado se ofrece la creación de aplicaciones intuitivas que se

encargan de actualizar su propio contenido sin depender de la interacción directa del

Usuario final.

La opción más consistentes al momento de escoger una base de datos en tiempo real para

una implementación es Firebase, por un lado se cuenta con el respaldo de Google como

fabricante de esta tecnología y por otro una buena documentación que explica su

funcionamiento e integración con tecnologías como Android, iOS y aplicaciones WEB.

La integración con Aplicaciones Android y WEB que fue lo que se utilizo en el desarrollo

de este proyecto es bastante intuitiva y por otro lado con la cuenta de desarrollador de

Google ofrece una cuenta con características buenas para la elaboración de prototipos que

permiten probar estas tecnologías.

Page 52: Rubén Darío Hernández Sánchez

52

2.2. Síntesis del modelo propuesto

Las bases de datos en tiempo real son la alternativa que le permite a los sistemas interactuar con

sus usuarios de manera inmediata, ofreciendo información actualizada y permitiéndoles así la

toma de decisiones en base a dicha información.

Uno de los primeros pasos es determinar si la solución requiere el uso de este tipo de tecnologías,

para el caso de la información de vuelos que puede ofrecer una Aerolínea, esta información es

muy importante, el usuario necesita estar enterado a todo momento de cualquier novedad que

ocurra con su vuelo y tomar decisiones de acuerdo a cualquier imprevisto que se pueda presentar.

Lo que se hizo en el desarrollo de este proyecto fue usar las bases de datos en tiempo real para

permitir a los usuarios tener la información de los vuelos actualizada en todo momento, tanto en

su dispositivo móvil mediante el uso de una aplicación, como en una página web por si no se

llegara a contar con un Smartphone con el Sistema operativo Android.

Luego de detectar la necesidad y el requerimiento de la propagación de información en tiempo

real, se procede escoger la tecnología que se va a utilizar, para este punto se prestó atención a la

documentación ofrecida por los fabricantes, Firebase ofrece una documentación de calidad a la

vez que hay muchos desarrolladores que están empezando a utilizar estas tecnologías lo cual

ofrece blogs adicionales para consultar información. Otra de las cosas adicionales es que solo con

tener una cuenta de desarrollador en Google se puede acceder a un espacio de alojamiento en la

nube que permite crear bases de datos en tiempo real y hacer pruebas del comportamiento de este

tipo de aplicaciones en entornos reales.

Page 53: Rubén Darío Hernández Sánchez

53

Por último se realizo la construcción del prototipo tanto WEB como móvil, en el cual se puede

observar el funcionamiento de estas tecnologías y su aplicabilidad.

2.3. Aportes originales

En la construcción del prototipo de aplicación móvil para la consulta de información referente a

vuelos por parte de los Usuarios de aerolíneas en Colombia basado en el análisis de tecnologías

para la transmisión de información en tiempo real, fue necesaria la utilización de tecnologías

como las bases de datos en tiempo real, lo cual hace los siguientes aportes:

La construcción de un prototipo que involucra desarrollo de aplicaciones WEB y móvil

utilizando tecnologías para la transmisión de información en tiempo real que le permite a

los Usuarios de una aerolíneas en Colombia mantenerse actualizados sobre cualquier

cambio que sufra la información sin necesidad de estar interactuando con la aplicación,

delegando estas tareas a la tecnología.

Indagar acerca de conceptos y tecnologías que pueden servir como referencia a la

construcción de aplicaciones que necesiten contar con este tipo de tecnologías.

Page 54: Rubén Darío Hernández Sánchez

54

CAPITULO 3. PROSPECTIVA DEL TRABAJO DE GRADO

3.1. Líneas de investigación futuras

A partir de la construcción de este prototipo de aplicación móvil se podrían ver otras alternativas

que permitan generar nuevas líneas de investigación entre las que se resaltan las siguientes:

Tecnología de almacenamiento en la nube Firebase Cloud Storage que permite almacenar

grandes volúmenes de información en la nube incluyendo elementos como fotos y videos.

Esta tecnología ofrece robustez, seguridad y aplicabilidad.

Firebase Authentication esta tecnologia ofrece una solución de autenticación directa

aprovechando estándares de la industria como OAuth 2.0 y OpenID Connect, lo que

permite la integración con cualquier backend.

Cloud Functions para Firebase que permite ejecutar de forma automática el código de

backend en respuesta a eventos activados por las funciones de Firebase y las solicitudes

HTTPS. El código es almacenado en la nube y se ejecuta en un entorno administrado.

3.2. Trabajos de investigación futuros

A partir del desarrollo de este proyecto, se proponen como trabajos futuros los siguientes:

Generación de una aplicación que permita explorar nuevas funcionalidades ofrecidas por

Firebase como lo es el Cloud Functions.

Page 55: Rubén Darío Hernández Sánchez

55

Generación de la aplicación planteada en este proyecto apoyado en una aerolínea real que

permita llevar esta funcionalidad a entornos de producción y sirva a los usuarios que la

usen.

Generación de prototipo que permita fusionar tecnologías de transmisión de información

en tiempo real con Internet de las Cosas. Se plantea la construcción de una aplicación

móvil que permita hacer seguimiento en tiempo real al equipaje dentro del aeropuerto.

Page 56: Rubén Darío Hernández Sánchez

56

BIBLIOGRAFIA

Aeronáutica Civil. (2017). Crecimiento del transporte aéreo en Colombia. Retrieved from

http://www.aerocivil.gov.co/prensa/noticias/Pages/se-mantiene-el-crecimiento-del-

transporte-aereo-en-colombia.aspx

Aldarmi, S. A. (1998). Real-Time Database Systems: Concepts and Design. University of York.

Retrieved from https://www.cs.york.ac.uk/ftpdir/reports/98/YCS/303/YCS-98-303.pdf

Asomovil. (2017). Uso de SmartPhones en Colombia. Retrieved from

http://www.asomovil.org/uso-de-los-smartphones-en-colombia-ya-es-mayor-al-50-de-la-

poblacion-segun-asomovil/

Buchmann, A. (2017). Real-Time Databases. Technische Universität Darmstadt, Germany.

Retrieved from https://ai2-s2-

pdfs.s3.amazonaws.com/0462/8f0df952c1fa3427b16664085157ecbe44fa.pdf

ColombiaTIC, M. (2017). Informes del sector. Retrieved from

http://colombiatic.mintic.gov.co/602/w3-propertyvalue-715.html

Couchbase. (2017). Couchbase official site. Retrieved from http://info.couchbase.com/

Firebase. (2017). Firebase en desarrollo de dispositivos moviles. Retrieved from

https://firebase.google.com/?hl=es-419

IBM. (2017). The Client/Server Model. Retrieved from

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.ieak5

00/ieak511.htm

Jhon A Stankovic, D. T. (1990). Real-Time Transaction Processing: Design, Implementation and

Performance Evaluation. University of Massachesetts. Retrieved from

https://web.cs.umass.edu/publication/docs/1990/UM-CS-1990-043.pdf

Juvva, K. (2017). Real-Time Systems. Carnegie Mellon University. Retrieved from

https://users.ece.cmu.edu/~koopman/des_s99/real_time/

MINTIC. (2017). Impulso al desarrollo de aplicaciones móviles (APPS.CO),. Retrieved from

http://www.mintic.gov.co/portal/vivedigital/612/w3-propertyvalue-575.html

Oracle. (2017). Using the Publish-Subscribe Model for Applications. Retrieved from

https://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg15pub.htm#998278

Page 57: Rubén Darío Hernández Sánchez

57

Phillip A. Laplante, S. J. O. (2011). Real-Time Systems Design an Analysis: Tools for the

practitioner. (W.-I. Press, Ed.) (4th ed.).

Sam Siewert, J. P. (2016). Real-Time embedded components and systems with Linux and RTOS.

Son, S. H. (2017). Research Trends and Issues in Real-Time Database Systems. University of

Virginia. Retrieved from

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.143.5732&rep=rep1&type=pdf