Upload
others
View
22
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
3.1. Líneas de investigación futuras ................................................................................. 54
3.2. Trabajos de investigación futuros .............................................................................. 54
BIBLIOGRAFIA .................................................................................................................. 56
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
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
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
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.
10
PARTE l
CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN
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.
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.
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.
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.
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.
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.
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
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).
19
PARTE ll
DESARROLLO DE LA INVESTIGACIÓN
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
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
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)
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)
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
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)
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)
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)
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
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)
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):
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
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
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).
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.
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
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.
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
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
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
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.
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
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:
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
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
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
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
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.
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.
49
PARTE lll
CIERRE DE LA INVESTIGACIÓN
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.
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.
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.
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.
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.
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.
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
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