jeisson armando huÉrfano daza edgar david velasco...
Post on 13-Jul-2020
1 Views
Preview:
TRANSCRIPT
SISTEMA TELEMATICO PARA LA INTEGRACION DE INFORMACIÓN
VEHICULAR
JEISSON ARMANDO HUÉRFANO DAZA
EDGAR DAVID VELASCO PINZON
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
BOGOTÁ
2017
1
SISTEMA TELEMATICO PARA LA INTEGRACION DE INFORMACIÓN
VEHICULAR
EDGAR DAVID VELASCO PINZON
20142678035
JEISSON ARMANDO HUÉRFANO DAZA
20142678043
TUTOR:
MIGUEL ÁNGEL LEGUIZAMÓN PAEZ
PROYECTO DE GRADO PRESENTADO COMO REQUISITO PARA OPTAR AL
TÍTULO DE INGENIEROS TELEMATICOS
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
BOGOTÁ
2017
2
Nota de aceptación
_______________________________ _______________________________ _______________________________ _______________________________ _______________________________ _______________________________ _______________________________ _______________________________ _______________________________ _______________________________
_______________________________ Firma del Jurado
_______________________________ Firma del Tutor
3
AGRADECIMIENTOS
Expresamos nuestros más sinceros agradecimientos a todas las personas que
hicieron posible la realización de este proyecto, en especial al Ingeniero Miguel
Angel Leguizamón Paez quien con su experiencia, conocimiento y orientación nos
ayudó a alcanzar los objetivos propuestos.
A la universidad Distrital Francisco José De Caldas por recibirnos para formarnos como profesionales, una institución respetada y valorada en el medio educativo.
A nuestros familiares y compañeros que durante nuestra etapa de formación
académica fueron de vital importancia para lograr los objetivos que nos hemos
propuesto.
4
DEDICATORIAS
“Dedico este gran esfuerzo y paso tan importante en mi vida
Profesional a Dios, a mi familia, a la universidad distrital
y a todas las personas que influyeron en mi camino
Que me han colaborado y han querido lo mejor para mi
Solo les quiero decir Gracias por todo, Gracias por abrirme las puertas
y por aportar su granito de arena en mi vida”
Edgar David Velasco Pinzón
“Yo dedico el logro de esta meta principalmente a mis padres quienes me
apoyaron todo el tiempo.
A mis compañeros cercanos de estudio especialmente karen se las debo por
su apoyo incondicional.
A los maestros quienes dieron siempre su mejor esfuerzo para enseñarme y
guiarme por el camino que me tiene hoy en dia finalizando mi carrera. ”
Jeisson Armando Huerfano Daza
5
TABLA DE CONTENIDO
1. Planeación ......................................................................................................................... 17
1.1 Tema .............................................................................................................................. 17
1.2 Título ............................................................................................................................. 17
1.3 Objetivos ....................................................................................................................... 17
1.3.1 Objetivo general ........................................................................................................ 17
1.3.2 Objetivos específicos ................................................................................................. 17
1.4 Descripción del problema ............................................................................................. 18
1.5 Pregunta de investigación ............................................................................................. 19
1.6 Justificación ................................................................................................................... 19
1.7 Marco teórico ................................................................................................................ 20
1.7.1 Sistema telemático ..................................................................................................... 20
1.7.2 Servicios web ............................................................................................................. 22
1.7.3 Tecnología de los servicios web ................................................................................ 25
1.7.4 WSDL ........................................................................................................................ 26
1.7.5 Servidores ................................................................................................................... 28
1.7.7 Aplicación .................................................................................................................. 29
1.8 Marco conceptual .......................................................................................................... 30
1.8.1 Aplicación nativa ....................................................................................................... 30
1.8.2 Web app ..................................................................................................................... 31
1.8.3 Aplicación híbrida ..................................................................................................... 32
6
1.8.4 Web service ............................................................................................................... 32
1.8.5 Bases de datos ............................................................................................................ 33
1.8.6 Aplicación móvil ....................................................................................................... 34
1.8.7 Sistema distribuido .................................................................................................... 35
1.9 Estado del arte ............................................................................................................... 36
1.9.1 Sispro ......................................................................................................................... 36
1.9.2 Ministerio de trasporte: servicios y consultas en línea .............................................. 37
1.10 Marco legal .................................................................................................................... 39
1.11 Metodología .................................................................................................................. 41
1.11.1 PHVA ........................................................................................................................ 42
1.11.2 Metodología ágil para el desarrollo de aplicaciones móviles dentro de la metodología
principal (PHVA) ..................................................................................................................... 43
1.12 Alcances y delimitaciones ............................................................................................. 46
1.12.1 Alcance ...................................................................................................................... 46
1.12.2 Limitaciones .............................................................................................................. 47
1.12.3 Delimitación temporal ............................................................................................... 47
1.12.4 Delimitación geográfica ............................................................................................ 47
1.12.5 Delimitación tecnológica ........................................................................................... 47
1.13 Recursos ........................................................................................................................ 48
1.13.1 Recursos humanos ..................................................................................................... 48
1.13.2 Recursos físicos ......................................................................................................... 48
7
1.13.3 Recursos tecnológicos ............................................................................................... 48
1.13.4 Recursos financieros .................................................................................................. 49
1.13.5 Identificar los servicios que intervienen dentro del sistema telemático .................... 50
1.13.6 Tratamiento y protección de la información – ley 1581 de 2012 .............................. 51
1.13.7 Cronograma de trabajo .............................................................................................. 57
2 Desarrollo .......................................................................................................................... 58
2.1 Fase de Exploración. ..................................................................................................... 58
2.2 Documento De requisitos Iniciales ............................................................................... 59
2.3 Plan del proyecto ........................................................................................................... 61
2.3.1 Flujo de procesos por servicios ................................................................................. 61
2.3.2 Funcionamiento y enlace de los servicios ................................................................. 64
2.3.3 Tiempo de ejecución del desarrollo de cada servicio ................................................ 67
2.3.4 Descripción base del proceso .................................................................................... 67
2.3.5 Arquitectura ............................................................................................................... 68
2.3.5.1 Análisis de protocolos de comunicaciones ............................................................ 68
2.3.5.2 Conclusiones Protocolos ........................................................................................ 74
2.3.5.3 Diseño General del Sistema Telemático ................................................................ 75
2.3.5.4 Componentes o entidades del sistema telemático .................................................. 76
2.3.5.5 Herramientas a utilizar ........................................................................................... 77
2.3.6 Fase de Iniciación ...................................................................................................... 77
2.3.6.1 Primera Versión del Diseño de software ............................................................... 77
8
2.3.6.2 Funcionalidad Implementada y desarrollo sistema telemático .............................. 78
2.3.6.3 Base de datos ......................................................................................................... 78
2.3.6.4 Notas e interfaz de usuario ..................................................................................... 81
2.3.7 Fase de Producto ........................................................................................................ 82
2.3.7.1 Funcionalidad Implementada ................................................................................. 82
2.3.8 Fase de Estabilización ............................................................................................... 83
2.3.8.1 Documentación del producto Webservice Runt .................................................... 83
2.3.8.2 Documentación del producto Webservice Simit .................................................. 86
2.3.8.3 Documentación del producto Webservice Sim ...................................................... 89
2.3.8.4 Documentación del producto Aplicación Android ............................................... 92
3 Evaluación ...................................................................................................................... 100
3.1 Pruebas de aceptación de cada requisito ..................................................................... 100
4 Mejoramiento .................................................................................................................. 108
5 Conclusiones ................................................................................................................... 110
5.1 Trabajos futuros .......................................................................................................... 111
6 Referencias Bibliográficas .............................................................................................. 112
9
DICCIONARIO DE FIGURAS
Figura 1. Sistema Telemático .................................................................................................. 21
Figura 2. Funcionamiento Básico Servicio Web ..................................................................... 23
Figura 3. Funcionamiento Específico de los servicios web (2015) .......................................... 24
Figura 4. Servidor .................................................................................................................... 28
Figura 5. Aplicación ................................................................................................................ 29
Figura 6. Cronograma ............................................................................................................. 57
Figura 7. Diagrama fases Mobile-D ......................................................................................... 58
Figura 8 Proceso Registro de usuario ..................................................................................... 61
Figura 9. Proceso Registro de vehículo ................................................................................... 62
Figura 10. Proceso Consulta datos básicos RUNT ................................................................. 62
Figura 11. Proceso Consulta de multas e infracciones ............................................................ 63
Figura 12. Proceso Consulta de estado de trámites .................................................................. 63
Figura 13. Proceso Consulta rápida ......................................................................................... 64
Figura 14. Proceso Edición de información ............................................................................. 64
Figura 15. Funcionamiento Protocolo SSL ............................................................................. 69
Figura 16. Funcionamiento Protocolo Https ........................................................................... 70
Figura 17. Funcionamiento Protocolo TCP ............................................................................. 72
Figura 18. Independencia de medios Protocolo IP ................................................................... 73
Figura 19. Diseño General del sistema telemático .................................................................. 76
Figura 20. Registro único nacional de tránsito (RUNT - WS 1) .............................................. 79
10
Figura 21. Información del conductor ...................................................................................... 79
Figura 22. Información del vehículo ........................................................................................ 80
Figura 23. Sistema integrado de información sobre multas y sanciones por infracciones de
tránsito (SIMIT – WS 2) .......................................................................................................... 80
Figura 24. Servicios integrales para la movilidad (SIM – WS 3) ............................................ 81
11
DICCIONARIO DE TABLAS
Tabla 1. Recursos Financieros ................................................................................................ 49
Tabla 2. Documento de requisitos iniciales ............................................................................. 60
Tabla 3. Notas interfaz usuario ................................................................................................ 83
Tabla 4. Descripción paquete WS Aplicación Runt local ....................................................... 85
Tabla 5. Descripción paquete WS Dominio Runt local .......................................................... 86
Tabla 6. Descripción paquete WS Servicio Dominio Runt local ............................................ 87
Tabla 7. Descripción paquete WS Objetos Dominio Runt local ............................................. 87
Tabla 8. Descripción paquete WS Aplicación Simit local ...................................................... 88
Tabla 9. Descripción paquete WS Dominio Simit local ......................................................... 89
Tabla 10. Descripción paquete WS Servicio Simit local…………………………………….89
Tabla 11. Descripción paquete WS Aplicación Sim local…………………………………...90
Tabla 12. Descripción paquete WS Dominio Sim local……………………………………..91
Tabla 13. Descripción paquete WS Servicio Sim local……………………………………...92
Tabla 14. Descripción paquete WS Objetos Dominio Sim local…………………………….92
Tabla 15. Descripción Adaptadores de la aplicación Android………………………………..94
Tabla 16. Descripción Adaptadores servicio Sim…………………………………………….94
Tabla 17. Descripción Adaptadores servicio Simit…………………………………………...94
Tabla 18. Descripción Adaptadores servicio Runt…………………………………………....95
Tabla 19. Modelo descripción framework realm……….…………………………………….96
Tabla 20. Modelo descripción framework realm - Runt…………………………………..….97
Tabla 21. Modelo descripción framework realm – Sim.……………………………………...97
Tabla 22. Modelo descripción framework realm - Simit……………………………………..98
Tabla 23. Descripción de actividades aplicación……………………………………………..99
12
Tabla 24. Descripción fragmentos de aplicación…………………………………………...100
Tabla 25. Descripción fragmentos de aplicación por servicio………………………….…..100
Tabla 26. Descripción funciones útiles aplicación……………………………………….....101
Tabla 27. Caso de prueba Estructura Runt…………………………………………………..102
Tabla 28. Caso de prueba Estructura Simit……………………………………………..…...103
Tabla 29. Caso de prueba Estructura Sim……………………………………………..…….103
Tabla 30. Caso de prueba WebService Runt…………………………………………..…….104
Tabla 31. Caso de prueba WebService Simit…………………………………………...…...105
Tabla 32. Caso de prueba WebService Sim…………………………………………….…...105
Tabla 33. Caso de prueba Registro Usuario…………………………………………….…...106
Tabla 34. Caso de prueba Inicio Sesión …………………………………………..………...106
Tabla 35. Caso de prueba Editar Perfil…………………………………………..……….....107
Tabla 36. Caso de prueba Consulta de información ………………………………………..107
Tabla 37. Caso de prueba detección de placa……………………………………………….108
Tabla 38. Caso de prueba consulta de historial……………………………………………..108
Tabla 39. Procedimientos Correctivos Sistema Telemático………………………………...109
13
Introducción
El presente trabajo comprende el funcionamiento de las consultas distribuidas dentro de los
sistemas o aplicaciones para la obtención de datos desde varios orígenes, ya sean homogéneos
o heterogéneos. Estos datos pueden estar almacenados ya sea en un equipo local o en
diferentes equipos remotos.
Es por lo anterior que las consultas distribuidas son importantes y más cuando la obtención
de la información debe ser en tiempo real, es por ello que la consulta distribuida se puede
utilizar como medio para la obtención de información de los vehículos y debido a esto
conocer el historial y los antecedes del vehículo a consultar.
En Colombia cada vehículo se encuentra identificado por su número de placa, el cual
debe ser única y no es posible encontrar dos números de placa repetidos. Cuando se quiere
investigar sobre el historial de vehículo o consultas si tiene antecedentes o reportes de
tránsito, no es posible hacerlo en el instante, puesto que no existe un mecanismo o sistema
móvil que pueda realizar una consulta de información a partir del número de placa del
vehículo y con ello conocer el estado legal en que se encuentra el vehículo.
Una utilidad adicional que se agrega al sistema es hacer uso de los sistemas de
reconocimiento automático de placa de vehículos. Los cuales estos sistemas son un tema de
indudable de interés comercial con numerosas aplicaciones como el control de aparcamientos,
acceso a instalaciones. Los métodos de reconocimiento de imágenes toman una imagen fija
(o una secuencia de ellas), localizan en ella la placa que corresponde a la matrícula, y
proceden a la extracción y reconocimiento de los caracteres que contiene. Después de la
obtención de estos caracteres se realizara una consulta distribuida de información a los
sistemas de información pública en los que se encuentra la información del vehículo a
14
consultar y a si se obtendrán los resultados de acuerdo a los criterios establecidos en la
búsqueda realizada.
Por ello en este documento y mediante la simulación de servicios web, redes de
comunicación, herramientas de desarrollo y diseño para Android se pretende desarrollar un
sistema que integra la información relacionada a un vehículo mediante la consulta distribuida
de información ayudada por el reconocimiento automático de placas.
15
RESUMEN
El sistema telemático se especializa en la gestión de consulta de información vehicular
mediante una plataforma tecnológica robusta y modular. Esta plataforma permite la consulta y
operación de diferentes actividades mediante servicios web.
El sistema se desarrolló con el propósito de brindar a los usuarios que tienen un vehículo en
propiedad mayor agilidad y eficacia en el acceso a la información desde cualquier sitio.
Los módulos de trabajo (Aplicación, comunicación e información) se basan en
funcionalidades macro, como lo es la interacción del usuario con sistemas telemáticos, la
consulta de información desde cualquier sitio que se encuentre el usuario, la agilidad, eficacia
y control de la información asociada al vehículo.
El sistema telemático y la elaboración del documento se basan siguiendo los lineamientos de
la metodología PHVA. Asimismo, el desarrollo de este sistema telemático se pudo llevar
acabo con la ayuda de la herramienta de desarrollo Android Studio para su óptimo
funcionamiento.
En este documento se puede encontrar la aplicación de la metodología usada en la creación de
esta solución, describiendo la funcionalidad implementada. Asimismo, los requerimientos
solicitados y los manuales de instalación y de usuario.
16
ABSTRACT
The telematics system specializes in the management of information vehicles through a robust
technological platform and modular. This platform allows the consultation and operation of
different activities through web services.
The system was developed with the purpose of providing to users who have a vehicle on
property greater agility and efficiency in the access to information from anywhere.
The modules of work (information, communication and application) are based on macro
features, such as the interaction of the user with telematics systems, the consultation of
information from any site that is user, the agility, efficiency, and control information
associated with the vehicle. The system was developed with the purpose of providing to users
who have a vehicle on property greater agility and efficiency in the access to information
from anywhere.
These telematics system and the elaboration of the document are based along the lines of the
PHVA methodology. The development of this telematics system was also possible to carry
out with the help of the development tool Android Studio for its optimum performance.
In this document you can find the application of the methodology used in the creation of this
solution, describing the functionality implemented. Also, the requested requirements and the
installation and user manuals.
17
1. Planeación
1.1 Tema
Servicios web como apoyo a los procesos de consulta.
1.2 Título
Sistema telemático para la integración de información vehicular
1.3 Objetivos
1.3.1 Objetivo general
Crear un sistema telemático para la Integración de aplicaciones de consulta de información
relacionada con vehículos mediante la utilización de servicios web.
1.3.2 Objetivos específicos
Establecer los objetivos y procesos para conseguir los resultados satisfactorios de
acuerdo al diseño y desarrollo del sistema telemático.
Analizar los protocolos de comunicación requeridos para consultar la información del
vehículo.
Diseñar un sistema telemático que integre las aplicaciones de consulta de información
vehicular.
Desarrollar el sistema telemático que permita la consulta de información vehicular en
tiempo real.
18
Verificar el funcionamiento del sistema telemático mediante pruebas y corregir errores
resultantes.
1.4 Descripción del problema
Los sistemas hoy en día juegan un papel fundamental en la sociedad, a diario surgen
nuevas necesidades que exigen la disponibilidad de la información en todo momento y
además requiere que esta sea a la vez información verídica y de interés para la sociedad.
Es por ello que las personas que son propietarias de vehículos requieren que la información
del vehículo pueda ser consultada en todo momento y que se pueda obtener toda la
información relacionada al vehículo de manera rápida y completa.
Actualmente existen sistemas de información web ofrecidos por entidades como el RUNT
(Registro Único Nacional de Tránsito), PONAL (Policía Nacional de Colombia), en el cual en
cada sistema se logra consultar la información relacionada a los vehículos donde es manejada
por cada una de estas entidades y por ende donde cada usuario propietario del vehículo tiene
la posibilidad de consultar toda la información relacionada a su vehículo (Comparendos,
Historial del vehículo, Propietarios del vehículo entre otros) pero esta información no se
lograría obtener de forma completa, sencilla y rápida.
El problema radica en que los sistemas de estas entidades sirven para un propósito
específico a un único usuario o grupo de usuarios como el caso del RUNT (información de
conductores, seguros, empresas de transporte público entre otras.), limitando su conexión con
otros sistemas como el de la policía que otorgan servicios de información distintos como
multas, robos accidentalidad entre otras, pero de interés para este mismo usuario.
Los usuarios se ven obligados a instalar/ abrir otra aplicación o en ocasiones dirigirse a la
entidad correspondiente para realizar una consulta completa de información.
19
1.5 Pregunta de investigación
¿De qué manera se puede crear un sistema telemático para la Integración de aplicaciones
de consulta de información relacionada con vehículos mediante la utilización de servicios
web?
1.6 Justificación
En Colombia el sector tecnológico ha crecido en los últimos diez años a pasos agigantados,
tanto así que esta se ha convertido en una necesidad día a día del ser humano. La tecnología
en tan importante en la vida del ser humano, que se ha vuelto una dependencia para la toma de
decisiones, comunicación y se puede llegar a decir que hasta forma parte del estilo de vida de
cada ser.
Por tal motivo el ser humano busca en la tecnología una solución a sus problemas, a como
poderlos confrontar y buscar en ella las mejores alternativas que puedan influir en la mejora
de sus actividades diarias tanto en los tramites personales o aquellos procesos que tengan que
hacer uso de su tiempo.
Estos procesos radican en que los sistemas de entidades como el RUNT y la policía
nacional (PONAL) sirven para un propósito específico a un único usuario o grupo de usuarios
(información de conductores, seguros, empresas de transporte público entre otras.), limitando
su conexión con otros sistemas que otorgan servicios de información distintos como multas,
robos accidentalidad entre otras, pero de interés para este mismo usuario.
Los usuarios se ven obligados a instalar/ abrir otra aplicación o en ocasiones dirigirse a la
entidad correspondiente para realizar una consulta completa de información.
Por lo anterior se optó por buscar una solución tecnológica que ofrezca la consulta de la
información del vehículo y que se vea como un conjunto de información que se encuentre
20
disponible en una sola parte (visualización de la información en el prototipo de aplicación
móvil), que por medio de un prototipo de aplicación móvil las personas puedan consultar la
información, haciendo uso de la identificación de la persona y la placa del vehículo y con ello
puedan visualizar todo el historial de información del vehículo sin necesidad de dirigirse a
cada una de las entidades solicitando reportes o archivos que contengan dicha información y
sin necesidad de requerir tiempo necesario para poder solicitar información en cada una de las
entidades correspondientes.
Con este prototipo de aplicación lo que se pretende es optimizar recursos como lo son en
tiempo y dinero. Puesto que para solicitar dicha información en cada entidad se debe
contemplar que se requiere gastar dinero ya sea en transportes o en papeleos (tramitologías), y
el tiempo que se hace uso tanto al llegar a la entidad requerida como a la espera de su turno
para solicitar dicha información.
1.7 Marco teórico
1.7.1 Sistema telemático
Sistema Telemático:
Es el conjunto servicios y técnicas que asocian las telecomunicaciones y la informática, por
lo tanto implica la transmisión y el procesamiento automático de la información enviándolos
de un punto a otro punto a través de un canal de comunicación para ser capturados y
almacenados dentro de un sistema informático, esto con el fin de dar lugar a una solución a
una necesidad que exista dentro de la sociedad.
21
1Figura 1. Sistema Telemático
En la imagen anterior se puede dar a conocer el funcionamiento de un sistema telemático,
donde esta teoría podrá ser aplicada a este proyecto y será de gran ayuda para su
funcionamiento.
Explicación del gráfico: En la imagen podemos detallar que existen tres componentes
dentro del sistema telemático:
• App (Aplicación Móvil)
• Web Service (Servicio Web)
• Servidor (Fuente de información)
Cada uno de estos componentes funcionales del sistema telemático cumple una función
específica y donde la comunicación y viaje de información se detallara a continuación:
1 Abella, B. (2014). Ilustración sistema telemático. [Figura 1]. Recuperado de
http://picarcodigo.blogspot.com.co/2014/05/webservice-conexiones-base-de-datos.html
22
La app (Aplicación web o aplicación móvil) en primer lugar envía una petición de consulta
(Información) al web service, el web service (Servicio Web) recibe esta petición y de acuerdo
a las características de la información que se envía desde la aplicación (App) toma la decisión
de a que servidor o servidores enviar una petición de consulta, cuando esta petición es enviada
a los servidores estos devuelven una respuesta (Información consultada) al web service,
cuando esta respuesta es devuelta al web service este devuelve la respuesta a la App
(Aplicación) que realizo la petición de consulta y la aplicación recibe esta respuesta y muestra
la información que ha solicitado.
1.7.2 Servicios web
¿Qué son los Servicios Web?
Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su
complejidad a la hora de dar una adecuada definición que englobe todo lo que son e implican.
Una posible sería hablar de ellos como un conjunto de aplicaciones o de tecnologías con
capacidad para inter-operar en la Web. Estas aplicaciones o tecnologías intercambian datos
entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como
procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a
través de la Web.
¿Para qué sirven?
Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes
aplicaciones, que interactúan entre sí para presentar información dinámica al usuario. Para
proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo
23
tiempo sea posible su combinación para realizar operaciones complejas, es necesaria una
arquitectura de referencia estándar
Los servicios web:
Permiten exponer y hacer disponibles funcionalidades (servicios) de los sistemas
informáticos de las organizaciones mediante tecnologías y protocolos WEB estándar.
Cada Servicio Web se responsabiliza de realizar un conjunto de funciones concretas y
bien definidas
Los Servicios Web actúan como componentes independientes que se pueden integrar
para formar sistemas distribuidos complejos.
Los puntos claves de un servicio web son la interoperabilidad (Distintas plataformas que
funcionan entre sí para un determinado proceso), el uso de estándares abiertos y el mínimo
acoplamiento.
2Figura 2. Funcionamiento Básico Servicio Web
2 Star, P. (2013). Creación y consumo de servicios web. [Figura 2]. Recuperado de
http://pablostarxml.blogspot.com.co/2013/06/47-creacion-y-consumo-de-servicios-web_13.html
24
Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes
aplicaciones, que interactúan entre sí para presentar información dinámica al usuario. Para
proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo
tiempo sea posible su combinación para realizar operaciones complejas, es necesaria una
arquitectura de referencia estándar.
3Figura 3. Funcionamiento Específico de los servicios web (2015).
En todo este proceso intervienen una serie de tecnologías que hacen posible esta
circulación de información. Por un lado, estaría SOAP (Protocolo Simple de Acceso a
Objetos). Se trata de un protocolo basado en XML, que permite la interacción entre varios
dispositivos y que tiene la capacidad de transmitir información compleja. Los datos pueden
3 Perez, A. (2014). Funcionamiento de los servicios web. [Figura 3]. Recuperado de
http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
25
ser transmitidos a través de HTTP, SMTP, entre otros. SOAP especifica el formato de los
mensajes.
1.7.3 Tecnología de los servicios web
Los programas que interactúan en Internet deben ser capaces de encontrarse mutuamente,
descubriendo alguna forma de interconectarse y negociar algunas modalidades de servicio,
como seguridad, confiabilidad, entre otras. Algunas de esas modalidades de servicio son
cubiertos por tecnologías existentes y estándares propuestos, pero otros no. La infraestructura
de los servicios Web están siendo diseñados y desarrollados para ser extensibles como el
HyperText Markup Language (HTML) y el XML.
Los servicios Web son importantes porque son capaces de enlazar tecnologías, no
reemplazan una tecnología existente. Por ejemplo, se podría decir que lenguajes como Visual
Basic, C#, C/C++ y Java reemplazaron a lenguajes antiguos como COBOL y FORTRAN, sin
embargo, muchos programas elaborados en esos lenguajes aún se encuentran en nuestro
entorno (Newcomer, 2002). Los programadores deben tomar en cuenta a los servicios Web
cuando diseñan y desarrollan nuevos programas y bases de datos, pero esos programas y bases
de datos serán requeridos detrás del encapsulamiento de los servicios Web. Los servicios Web
no son programas ejecutables, sino que se encuentran dentro de programas de aplicación y
scripts. Requieren de varias tecnologías basadas en XML para transportar y transformar datos
dentro y fuera de programas y bases de datos, dichas tecnologías se mencionan en los
siguientes apartados.
26
1.7.4 WSDL
Web Services Description Language4 fue creado en Septiembre del año 2000, utilizando la
combinación de dos lenguajes descriptores de servicio: Network Application Services
Specification Language (NASSL) de IBM y Services Description Language (SDL) de
Microsoft (Weerawarana, et al., 2005). NASSL tiene una estructura similar al WSDL en
términos abstractos que eran ligados a protocolos cableados específicos, sin embargo, era
difícil utilizarlo con el estilo RPC. SDL por su parte era la estructura opuesta, un servicio que
era ofrecido 45 sobre múltiples protocolos era descrito como un servicio completamente
diferente, sin una descripción común de servicio. SDL estaba mucho más centrada en los
mensajes que NAASL. El WSDL es un esquema XML que define una estructura para
describir las interfaces de los servicios Web. Los creadores del WSDL fueron Microsoft e
IBM, tiempo después tuvieron el apoyo de otras 25 compañías para someterlo al consorcio
W3C (Newcomer, 2002). WSDL es el núcleo de la estructura de los servicios Web, provee un
sentido común en el que los tipos de datos son representados y pasados a mensajes, así como
las operaciones que son ejecutadas en los mensajes y el mapeo de mensaje sobre la red.
Inicialmente el documento WSDL estaba definido en tres elementos principales: definición de
tipos de datos, operaciones abstractas y enlace de servicios. Las partes incluyen la definición
de tipos de datos, mensajes y operaciones abstractas, que son similares a las definiciones de
interfaces en CORBA o DCOM (Newcomer, 2002). Los mensajes pueden tener múltiples
partes y pueden ser definidas para usarse con la orientación a procedimientos o la interacción
orientada a documento. A través de las capas de abstracción, los mismos mensajes pueden ser
definidos y usados por múltiples puertos.
4 Ponce, H. C, (2009). Arquitectura basada en componentes de software para la integración de
servicios . 9, 35-38.
27
El WSDL juega un rol importante que facilita muchas de las ventajas de los servicios Web
y la orientación a servicio. Según Weerawarana, et al., (2005) el esquema WSDL es utilizado
en los servicios Web en dos tipos de escenarios: • Descripción de un servicio para sus clientes
En este tipo de descripción, el documento WSDL describe un servicio publicado para sus
clientes. La descripción consiste en una declaración de mensajes, operaciones de intercambio
de mensajes y la ubicación, en resumen, es el mecanismo para interactuar con el servicio. El
propósito principal del WSDL en este escenario es el de permitir a un cliente usar el servicio
satisfactoriamente. • Descripción de un servicio estándar para implementar el servicio En este
caso, el documento WSDL es un servicio estándar. Un ejemplo de esto pueden ser las
librerías, estas reciben y aceptan la compra de un determinado libro. Un documento XML
describe el formato del mensaje, y la interacción envuelta con la compra del libro ha sido 47
convenida por la editorial. Entonces, una editorial específica puede utilizar el WSDL y ofrecer
el servicio, lo cual resulta en otro WSDL. Un consumidor de servicio ó cliente utiliza el
WSDL para ubicar el servicio Web e invocar cualquiera de sus funciones públicas
disponibles. Existen herramientas que permiten la integración de servicios Web con poco
código, por ejemplo, la herramienta desarrollada por IBM: Web Services Invocation
Framework (WSIF), este proyecto actualmente es dirigido por Apache XML (Fremantle,
2002). Utilizando esta aplicación se puede especificar el nombre del archivo WSDL y
automáticamente invocar el servicio descrito.
28
1.7.5 Servidores
5Figura 4. Servidor
Server o servidor, también llamado Host o anfitrión; es una computadora con muy altas
capacidades de proceso, encargada de proveer diferentes servicios a las redes de datos (una
red es un conjunto de computadoras interconectadas entre sí), tanto inalámbricas como las
basadas en cable; también permite accesos a cuentas de correo electrónico, administración de
dominios empresariales, hospedaje y dominios Web entre otras funciones.
En estos servidores es donde se encuentra alojada aquella información que quiere ser
consultada y que por medio de servicios web haciendo uso de protocolos de comunicación,
canales de comunicación, cifrado de información y procesos de comunicación podrá estar
disponible para los usuarios que requieran obtener dicha información con un fin en específico.
5 Computemas. (2015). Servidor en la nube. [Figura 4]. Recuperado de
https://computemas.wordpress.com/2015/page/16/
29
1.7.7 Aplicación
6Figura 5. Aplicación
Una aplicación (también llamada app) es simplemente un programa informático creado
para llevar a cabo o facilitar una tarea en un dispositivo informático. Cabe destacar que
aunque todas las aplicaciones son programas, no todos los programas son aplicaciones. Existe
multitud de software en el mercado, pero sólo se denomina así a aquel que ha sido creado con
un fin determinado, para realizar tareas concretas.
6 Visible. (2014). Aplicación para dispositivos móviles. [Figura 5]. Recuperado de
https://www.visibletic.com/aplicaciones-para-dispositivos-moviles/
30
Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para
facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador han
detectado una cierta necesidad. Pero las aplicaciones también pueden responder a necesidades
lúdicas, además de laborales (todos los juegos, por ejemplo, son considerados aplicaciones).
Se suele decir que para cada problema hay una solución, y en informática, para cada problema
hay una aplicación.
Las aplicaciones pueden ser desde programas de apenas unas líneas de código, hasta
grandes obras de ingeniería informática, con miles de horas de trabajo detrás. El tamaño, sin
embargo, no define el éxito de una aplicación, sino justamente que cubra las necesidades del
usuario.
1.8 Marco conceptual
El mercado de las aplicaciones móviles no para de crecer, teniendo en cuenta la relevancia
que ha tenido a continuación se describe qué tipos de aplicaciones móviles7 existen y algunas
de sus características:
1.8.1 Aplicación nativa
Una aplicación nativa es la que se desarrolla de forma específica para un determinado
sistema operativo, llamado Software Development Kit o SDK. Cada una de las plataformas,
Android, iOS o Windows Phone, tienen un sistema diferente, por lo que si se quiere que la
7LanceTalent - Talento freelance para tus proyectos online. Los 3 tipos de aplicaciones móviles: ventajas e
inconvenientes. Actualizada: 20 feb 2015 . [Fecha de consulta: 07 septiembre 2015]. Disponible en:
http://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-inconvenientes/
31
app esté disponible en todas las plataformas se deberá crear varias apps con el lenguaje del
sistema operativo seleccionado.
● Las apps para iOS se desarrollan con lenguaje Objective-C
● Las apps para Android se desarrollan con lenguaje Java
● Las apps en Windows Phone se desarrollan en .Net
Cuando hablamos de desarrollo móvil casi siempre nos estamos refiriendo a aplicaciones
nativas. La principal ventaja con respecto a los otros dos tipos, es la posibilidad de acceder a
todas las características del hardware del móvil: cámara, GPS, agenda, dispositivos de
almacenamiento, entre otras. Esto hace que la experiencia del usuario sea mucho más positiva
que con otro tipo de apps.
Una de las ventajas es que las aplicaciones nativas no necesitan conexión a internet para
que funcionen.
La descarga e instalación de estas apps se realiza siempre a través de las tiendas de
aplicaciones (app store de los fabricantes).
1.8.2 Web app
Una aplicación web o webapp es la desarrollada con lenguajes muy conocidos por los
programadores, como es el HTML, Javascript y CSS. La principal ventaja con respecto a la
nativa es la posibilidad de programar independiente del sistema operativo en el que se usará la
aplicación. De esta forma se pueden ejecutar en diferentes dispositivos sin tener que crear
varias aplicaciones.
32
Las aplicaciones web se ejecutan dentro del propio navegador web del dispositivo a través
de una URL. Por ejemplo en Safari, si se trata de la plataforma iOS. El contenido se adapta a
la pantalla adquiriendo un aspecto de navegación APP.
1.8.3 Aplicación híbrida
Una aplicación híbrida es una combinación de las dos anteriores, se podría decir que
recoge lo mejor de cada una de ellas. Las apps híbridas se desarrollan con lenguajes propios
de las webabpp, es decir, HTML, Javascript y CSS por lo que permite su uso en diferentes
plataformas, pero también dan la posibilidad de acceder a gran parte de las características del
hardware del dispositivo. La principal ventaja es que a pesar de estar desarrollada con HTML,
Java o CSS, es posible agrupar los códigos y distribuirla en app store.
1.8.4 Web service
Un web service es un conjunto de protocolos y estándares que sirven para intercambiar
datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los
servicios web para intercambiar datos en redes de ordenadores como internet.
De una manera más clara se podría decir que un web service es una función que diferentes
servicios o equipos utilizan; es decir, solo se envían parámetros al servidor (lugar donde está
alojado el web service) y éste responderá la petición. Entre algunas que se manejan de utilizar
servicios webs en las aplicaciones destacan las siguientes:
Aportan interoperabilidad entre aplicaciones de software independientemente de sus
propiedades o de las plataformas sobre las que se instalen.
33
Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más
fácil acceder a su contenido y entender su funcionamiento, al apoyarse en HTTP, los servicios
Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las
reglas de filtrado.
Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares
geográficos puedan ser combinados fácilmente para proveer servicios integrados.
Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de
protocolos estándar y abiertos. Las especificaciones son gestionadas por una organización
abierta, la W3C, por tanto no hay secretismos por intereses particulares de fabricantes
concretos y se garantiza la plena interoperabilidad entre aplicaciones.
1.8.5 Bases de datos
Se define una base de datos como una serie de datos organizados y relacionados entre sí,
los cuales son recolectados y explotados por los sistemas de información de una empresa o
negocio en particular.
Entre las principales características de los sistemas de base de datos podemos mencionar:
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
34
Consultas complejas optimizadas.
Seguridad de acceso y auditoría.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar.
1.8.6 Aplicación móvil
Una aplicación móvil, applo o app (en inglés) es una aplicación informática diseñada para
ser ejecutada en teléfonos inteligentes, tabletas y otros dispositivos móviles y que permite al
usuario efectuar una tarea concreta de cualquier tipo profesional, de ocio, educativa, de acceso
a servicios, etc. facilitando las gestiones o actividades a desarrollar.
Por lo general se encuentran disponibles a través de plataformas de distribución, operadas
por las compañías propietarias de los sistemas operativos móviles como Android, iOS,
BlackBerry OS, Windows Phone, entre otros. Existen aplicaciones móviles gratuitas u otras
de pago, donde en promedio el 20-30 % del costo de la aplicación se destina al distribuidor y
el resto es para el desarrollador. El término app se volvió popular rápidamente, tanto que en
2010 fue listada como Word of the Year (Palabra del Año) por la American Dialect Society
Al ser aplicaciones residentes en los dispositivos están escritas en algún lenguaje de
programación compilado, y su funcionamiento y recursos se encaminan a aportar una serie de
ventajas tales como:
Un acceso más rápido y sencillo a la información necesaria sin necesidad de los datos
de autenticación en cada acceso.
Un almacenamiento de datos personales que, a priori, es de una manera segura.
35
Una gran versatilidad en cuanto a su utilización o aplicación práctica.
La atribución de funcionalidades específicas.
Mejorar la capacidad de conectividad y disponibilidad de servicios y productos
(usuario-usuario, usuario-proveedor de servicios, etc.).
1.8.7 Sistema distribuido
Un sistema distribuido se define como una colección de computadores autónomos
conectados por una red, y con el software distribuido adecuado para que el sistema sea visto
por los usuarios como una única entidad capaz de proporcionar facilidades de computación.
El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta
velocidad a principios de 1970. Más recientemente, la disponibilidad de computadoras
personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado
en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores
centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para
sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este
software permite a los ordenadores coordinar sus actividades y compartir los recursos del
sistema – hardware, software y datos.
Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas
pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección
de redes de área local y de área extensa interconectados, que en lazan millones de
ordenadores.
Las aplicaciones de los sistemas distribuidos varían desde la provisión de capacidad de
cómputo a grupos de usuarios, hasta sistemas bancarios, comunicaciones multimedia y
36
abarcan prácticamente todas las aplicaciones comerciales y técnicas de los ordenadores. Los
requisitos de dichas aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra
interferencias externas y privacidad de la información que el sistema mantiene. Se deben
proveer accesos concurrentes a bases de datos por parte de muchos usuarios, garantizar
tiempos de respuesta, proveer puntos de acceso al servicio que están distribuidos
geográficamente, potencial para el crecimiento del sistema para acomodar la expansión del
negocio y un marco para la integración de sistema usados por diferentes compañías y
organizaciones de usuarios.
1.9 Estado del arte
En términos generales, en Colombia donde la evolución de Internet, y en consecuencia, la
consolidación y madurez de sistemas de información, se encuentra en una fase de mayor
desarrollo. En paralelo, es en el ámbito gubernamental y en el conjunto de universidades y/o
instituciones colombianas donde pueden encontrarse proyectos e investigaciones que analizan
la eficiencia de integrar la información y optar por nuevas tecnologías para adquirir
información del mundo real.
De acuerdo con dicha evidencia, se estructura el estado del arte en dos apartados, uno
dedicado al caso de los sistemas relativos al ámbito gubernamental e integrador de
información, y el otro referido al reconocimiento automático de placas.
1.9.1 Sispro
El Sistema Integral de Información de la Protección Social es una herramienta que permite
obtener, procesar y consolidar la información necesaria para la toma de decisiones que apoyen
la elaboración de políticas, el monitoreo regulatorio y la gestión de servicios en cada uno de
37
los niveles y en los procesos esenciales del sector: aseguramiento, financiamiento, oferta,
demanda y uso de servicios. Suministra información para toda la ciudadanía.
Como sistema, el SISPRO incluye el conjunto de instituciones y normas que rigen el
comportamiento del sector en términos de deberes y derechos de los agentes, organismos de
dirección y administración del sistema, diseño de los procesos tecnológicos básicos,
estandarización y normalización del registro, almacenamiento, flujo, transferencia y
disposición de la información dentro del contexto del Sistema.
Su diseño se basa en una Bodega de Datos en la cual se concentra la información necesaria
para la construcción de indicadores y reportes. Los datos provienen de fuentes de información
internas y externas al Ministerio. En el SISPRO se consolida y dispone la información a
través de los siguientes componentes: RUAF, RIPS, PILA, SIHO, SGD, SISMED, entre
otros.8
El SISPRO es un caso de éxito y un claro ejemplo de lo que se puede lograr al reunir la
información en un solo sistema, se convirtió en el sistema crítico del ministerio de salud, la
idea es tener en cuenta e investigar más sobre el diseño de Bodega de datos en el cual
desarrollaron el sistema.
1.9.2 Ministerio de trasporte: servicios y consultas en línea
En la página del ministerio de trasporte se encuentra la sección de “Servicios y consultas
en línea” que permite realizar consultas a:
Consulta de Placas de vehículo
8 Ministerio de Salud y Protección Social, Sistema Integral de Información SISPRO. [Fecha de consulta: 3
marzo 2016]. Disponible en:
https://www.minsalud.gov.co/salud/Paginas/SistemaIntegraldeInformaci%C3%B3nSISPRO.aspx
38
Directorio Centros de Reconocimiento de Conductores (CRC) habilitados por el
Ministerio
Directorio Centros de Enseñanza Automovilística (CEA) activos en RUNT
Consulta de infracciones de tránsito
Consulta Pago de Especies Venales SIREV
Respuestas Dirección general de Tráfico de Madrid (DGT)
Consulta Estado Cambio de Servicio
Sistema de Indicadores de Transporte Urbano del Ministerio de Transporte
Datos básicos Empresas de Transporte Terrestre
Desintegración de Vehículos de Carga
Registro Nacional de Despachos de Carga por Carretera
Consultas accidentalidad
Manifiesto de Carga
Consulta licencia de conducción
Modelo de costos para peaje
Consulta homologaciones
Histórico Avalúos comerciales para pago de impuestos de vehículos
Listado de Carroceros e importadores
Tablas 2016
Formularios Requisitos Transporte Internacional de Mercancías y Pasajeros
Estado de Trámites Expedición Certificación de Cumplimiento - Chatarrización
Depuración Fichas Técnicas de Homologación
Listado de Consultores Personas Naturales - Jurídicas
Encuesta Empresas de Transporte de Pasajeros
39
Solicitudes de Adjudicación de Rutas de Transporte Intermunicipal.
Devolución de Dinero por trámites cancelados y no realizados
Organismos de Transito
Aplicación Avalúos9
La página web no es una aplicación como tal, pero intenta integrar toda la información que
se puede consultar de un vehículo aunque le faltan fuentes como la policía, más sin embargo
aporta un largo listado de directorios de información que se pueden utilizar y/o emular en el
proyecto.
1.10 Marco legal
En Colombia existen algunas leyes e incentivos que promueven las iniciativas de
contenidos digitales, sin embargo es necesario plantear nuevas estrategias y garantizar su
visibilidad. A continuación se enlistan algunas de las leyes que suponen un apoyo legal o
financiero a esta industria:
● Ley 1341 de 2009 define un marco legal propicio para el desarrollo de los contenidos
digitales.
● Ley del Cine 814 de 2003 establece una contribución parafiscal e incentivo tributario a
la inversión en películas nacionales.
● Plan Vive Digital Colombia busca proyectar al país como hub regional y mundial de
contenidos digitales y fomentar el desarrollo de contenidos digitales, aplicaciones
móviles y web a través de clúster que potencien la industria nacional.
9 Ministerio de trasporte, Servicios y Consultas en Línea [Fecha de consulta : 3 de marzo de 2016] Disponible
en: https://www.mintransporte.gov.co/Publicaciones/atencion_al_ciudadano/servicios_y_consultas_en_linea
40
● CONPES 3659 de 2010 La Política Nacional para la promoción de las industrias
culturales en Colombia. Entre varios puntos, propone el incremento del acceso a los
mecanismos de financiamiento ya existentes como Fondo Emprender, Fomipyme,
líneas de COLCIENCIAS, Bancoldex, entre otros. También propone la incorporación
de las TIC en el desarrollo de modelos de negocio de las industrias culturales a través
del programa Mipyme Digital, y la divulgación de la normatividad nacional sobre
derechos de autor.
● Decreto 1526 de Julio 24 de 2002 reglamenta la administración del sistema de
información del sector educativo.
Formación del talento humano en TIC
● Resolución 3462 de 2003 - MEN / Formación profesional en IT. Define las
características específicas de calidad para los programas de formación hasta el nivel
profesional por ciclos propedéuticos en las áreas de las Ingeniería, Tecnología de la
Información y Administración.
● Ley 029 de 1990 / Fomento de la investigación. disposiciones para el fomento de la
investigación científica y el desarrollo tecnológico y se otorgan facultades
extraordinarias
● Ley 1286 de 2009 / Ley Ciencia y Tecnología. Modifica la Ley 029 de 1990, se
transforma a Colciencias en Departamento Administrativo, se fortalece el Sistema
Nacional de Ciencia, Tecnología e Innovación en Colombia y se dictan otras
disposiciones, para lograr un modelo productivo sustentado en la ciencia, la tecnología
y la innovación, para darle valor agregado a los productos y servicios de nuestra
economía y propiciar el desarrollo productivo y una nueva industria nacional.
41
● Resolución 504 de 2010 - COLCIENCIAS / Centros de Investigación. Establece
definiciones y requisitos para el reconocimiento de los Centros de Investigación o
Desarrollo Tecnológico. Define las instancias e instrumentos administrativos y
financieros por medio de los cuales se promueven la destinación de recursos públicos
y privados al fomento de la Ciencia, tecnología e Innovación.
● VISIÓN COLOMBIA 2019 / Avanzar hacia una sociedad mejor informada – Meta 6:
“Desarrollar capacidades en la población para el uso y la apropiación de las TIC”.
En el componente de aplicaciones, se observan lineamientos para el desarrollo de
contenidos y aplicaciones, principalmente sobre la base del avance de la estrategia para
afianzar la relación entre el estado, el ciudadano y las empresas mediante el programa de
Gobierno en Línea.
También se adelanta un proyecto de resolución para establecer el régimen de acceso a
redes por parte de los proveedores de contenidos y aplicaciones y otro para promover la
creación de contenidos y aplicaciones en las MiPymes con apalancamiento financiero.10
1.11 Metodología
“Una metodología es una colección de procedimientos, técnicas, herramientas y documentos
auxiliares que ayudan a los desarrolladores de software en sus esfuerzos por implementar
nuevos sistemas de información. Una metodología está formada por fases, cada una de las
cuales se puede dividir en sub-fases, que guiarán a los desarrolladores de sistemas a elegir
10
APLICACIONES MÓVILES PARA LA EDUCACIÓN. Desarrollo y evolución de las aplicaciones móviles.
Actualizada: 11 oct 2012. [Fecha de consulta: 26 septiembre 2015]. Disponible en:
http://aplicacionesmovilescolombia.blogspot.com.co/2012/10/desarrollo-y-evolucion-de-las.html
42
las técnicas más apropiadas en cada momento del proyecto y también a planificarlo,
gestionarlo, controlarlo y evaluarlo.” 11
1.11.1 PHVA
La metodología seleccionada es PHVA (Planear Hacer Verificar Actuar) pues brinda una
solución que contribuye a la adaptación de los procesos a los avances tecnológicos, además de
permitirnos eliminar procesos repetitivos. Se divide en 4 etapas como sus siglas lo indican y
consisten en lo siguiente: Planificar: En la etapa de planificación se establecen objetivos y se
identifican los procesos necesarios para lograr los resultados. En esta etapa se determinan
también los parámetros de medición que se van a utilizar para controlar y seguir el proceso.
Hacer: En este punto se recurre a la Metodología ágil para el desarrollo de aplicaciones
móviles. Las metodologías ágiles han ganado popularidad desde hace algunos años, ya que
constituyen una buena solución para proyectos a corto plazo, en especial, aquellos proyectos
en donde los requisitos están cambiando constantemente, un ejemplo de esto son las
aplicaciones para dispositivos móviles, debido a que estas tienen que satisfacer una serie de
características y condicionantes especiales, tales como: canal, movilidad, portabilidad,
capacidades específicas de las terminales, entre otras, y aun cuando existen miles de
aplicaciones para dispositivos móviles que corren en diferentes sistemas operativos IOs,
Android, BlackBerry y Windows Mobile; éstas llenan las expectativas de los usuarios hasta
cierto punto por su escasa calidad en el desarrollo, ya que el uso de metodologías de
desarrollo de software no se considera importante en este ámbito, por tanto, los desarrollos
para dispositivos móviles, hasta el momento, se han venido realizando, principalmente, de
11
D. E. Avison y G. Fitzgerald, Information system development. Maidenhead: McGraw-Hill Education, 2006.
43
manera desordenada y en la mayoría de los casos por desarrolladores individuales que no
aplican métodos de ingeniería de software que garanticen su mantenibilidad y por lo tanto su
calidad. Verificar: Una vez se ha puesto en marcha el plan de mejoras, se establece un periodo
de prueba para medir y valorar la efectividad de los cambios. Se trata de una fase de
regulación y ajuste. Actuar: Realizadas las mediciones, en el caso de que los resultados no se
ajusten a las expectativas y objetivos predefinidos, se realizan las correcciones y
modificaciones necesarias. Por otro lado, se toman las decisiones y acciones pertinentes para
mejorar continuamente el desarrollo de los procesos.
1.11.2 Metodología ágil para el desarrollo de aplicaciones móviles dentro de la
metodología principal (PHVA)
Las metodologías ágiles han ganado popularidad desde hace algunos años, ya que
constituyen una buena solución para proyectos a corto plazo, en especial, aquellos proyectos
en donde los requisitos están cambiando constantemente, un ejemplo de esto son las
aplicaciones para dispositivos móviles, debido a que estas tienen que satisfacer una serie de
características y condicionantes especiales, tales como: canal, movilidad, portabilidad,
capacidades específicas de las terminales, entre otras, y aun cuando existen miles de
aplicaciones para dispositivos móviles que corren en diferentes sistemas operativos IOs,
Android, BlackBerry y Windows Mobile; éstas llenan las expectativas de los usuarios hasta
cierto punto por su escasa calidad en el desarrollo, ya que el uso de metodologías de
desarrollo de software no se considera importante en este ámbito, por tanto, los desarrollos
para dispositivos móviles, hasta el momento, se han venido realizando, principalmente, de
manera desordenada y en la mayoría de los casos por desarrolladores individuales que no
44
aplican métodos de ingeniería de software que garanticen su mantenibilidad y por lo tanto su
calidad.
Generalidades del desarrollo de aplicaciones para dispositivos móviles
El mercado de aplicaciones móviles ha experimentado una rápida expansión durante los
últimos 10 años, las plataformas móviles siguen mejorando su desempeño, y la necesidad de
los usuarios de una amplia variedad de aplicaciones móviles va en aumento12. El desarrollo de
software para las plataformas móviles viene con características únicas y restricciones que se
aplican a la mayoría de las etapas del ciclo de vida. Las características distintivas más
importantes son identificadas como: un alto nivel de competitividad, cortó tiempo de entrega,
movilidad, portabilidad, capacidades específicas y constantemente cambiantes de las
terminales, sistemas operativos diferentes e incompatibles, entre otras13. presenta una serie de
características a tener en cuenta a la hora de desarrollar software para dispositivos móviles,
como son, que el software es liberado en un ambiente incierto y dinámico con un alto nivel de
competencia, los equipos que desarrollan aplicaciones móviles son generalmente pequeñas y
medianas empresas, las aplicaciones en sí son de pequeño tamaño, se entregan en versiones
rápidas con el fin de satisfacer las demandas del mercado y se dirigen a un gran número de
usuarios finales. El autor sugiere que en el desarrollo de aplicaciones de software para
dispositivos móviles los equipos de desarrollo deben hacer frente al desafío de un entorno
dinámico, con modificaciones frecuentes en las necesidades y expectativas del cliente14, por
12
K. Restivo, «Worldwide Quarterly Mobile Phone Tracker». [En línea]. Disponible en: http://www.idc.
com/tracker/showproductinfo.jsp?prod_id=37. [Accedido: 26-sep-2015] 13
M. Satyanarayanan, «Fundamental Challenges in Mobile Computing,», oct. 1998. 14
P. Abrahamsson, «Agile software development of mobile information systems», en Proceedings of the 19th
international conference on Advanced information systems engineering, 2007, pp. 1-4.
45
tanto, deben ser desarrollados con enfoques orientados a ciclos de desarrollo relativamente
cortos, propios de las metodologías ágiles para el desarrollo de software.
En la siguiente fase, iniciación, los desarrolladores preparan e identifican todos los
recursos necesarios. Se preparan los planes para las siguientes fases y se establece el entorno
técnico como los recursos físicos, tecnológicos y de comunicaciones (incluyendo el
entrenamiento del equipo de desarrollo). Esta fase se divide en cuatro etapas: la puesta en
marcha del proyecto, la planificación inicial, el día de prueba y día de salida.
En la fase de producción se repite la programación de tres días (planificación, trabajo,
liberación) se repite iterativamente hasta implementar todas las funcionalidades. Primero se
planifica la iteración de trabajo en términos de requisitos y tareas a realizar. Se preparan las
pruebas de la iteración de antemano. Las tareas se llevarán a cabo durante el día de trabajo,
desarrollando e integrando el código con los repositorios existentes. Durante el último día se
lleva a cabo la integración del sistema (en caso de que estuvieran trabajando varios equipos de
forma independiente) seguida de las pruebas de aceptación.
En la fase de estabilización, se llevan a cabo las últimas acciones de integración para
asegurar que el sistema completo funciona correctamente. Esta será la fase más importante en
los proyecto multi-equipo con diferentes subsistemas desarrollados por equipos distintos. En
esta fase, los desarrolladores realizarán tareas similares a las que debían desplegar en la fase
de “producción”, aunque en este caso todo el esfuerzo se dirige a la integración del sistema.
Adicionalmente se puede considerar en esta fase la producción de documentación.
46
La última fase (prueba y reparación del sistema) tiene como meta la disponibilidad de una
versión estable y plenamente funcional del sistema. El producto terminado e integrado se
prueba con los requisitos de cliente y se eliminan todos los defectos encontrados.
1.12 Alcances y delimitaciones
1.12.1 Alcance
El alcance del presente proyecto se basa en el diseño de un sistema telemático que permite
la consulta de información vehicular en tiempo real y que por medio de la identificación del
propietario y la placa vehicular se consulta a diferentes fuentes configurables de información
asociada al vehículo.
El presente proyecto influye en lo siguiente
Comprende en la optimización de los recursos que influyen en las personas como lo es el
tiempo y dinero.
Comprende en la consulta de información vehicular que se permita obtener de los
diferentes repositorios distribuidos.
Contribuir con el medio ambiente optimizando el uso de los recursos naturales en cuanto a
papelería se refiere en los diferentes procesos.
47
1.12.2 Limitaciones
Tomando en cuenta que no existe ninguna aplicación móvil que se encargue de este tipo de
consulta, integración e identificación, la investigación se ha delimitado en los siguientes
aspectos.
1.12.3 Delimitación temporal
El proyecto se realizará en un periodo de 8 meses comprendidos desde abril de 2016 hasta
Noviembre 2016
1.12.4 Delimitación geográfica
El área geográfica seleccionada para el desarrollo del proyecto, está orientada a la ciudad
de Bogotá.
1.12.5 Delimitación tecnológica
Como el proyecto es un prototipo en primera instancia el desarrollo solo estará disponible
para Smartphone con sistema operativo Android versión 4.0 o superior
La consulta de información se debe hacer posible si y solo si el Smartphone se encuentra
conectado a internet ya sea por red inalámbrica (Wifi) o datos móviles.
La aplicación no será publicada en la playstore (Android Market) puesto que es un
prototipo de aplicación y puede ser escalable para nuevas funcionalidades.
48
Como las entidades que almacenan la información de los vehículos no cuentan con
servicios web necesarios para el funcionamiento del sistema, se desarrollaran mínimo 3
servicios web con información de prueba y desplegados en 3 servidores que estarán separados
geográficamente.
1.13 Recursos
1.13.1 Recursos humanos
● 2 Ingeniero telemáticos
● 1 Tutor
1.13.2 Recursos físicos
● Sony Ericsson Xperia Z2
● 250 GB de espacio en disco (Mínimo)
● 4 GB memoria RAM.
● Procesador ATHLON X3 3.1 Ghz
● Windows 10
1.13.3 Recursos tecnológicos
● Microsoft Word 2015
● Microsoft Project 2015
● Android Studio
● Android API > 20
● JDK 1.8
● Netbeans 8
49
1.13.4 Recursos financieros
TIPO DE COSTO DESCRIPCIÓN CANTIDAD
VALOR UNITARIO
$
VALOR TOTAL
$
Costo de
Papelería
Fotocopias 40 300 12.000
Resma de
Papel 2 11.000 22.000
CDs 3 1.000 3.000
Impresiones 400 150 60.000
Comunicaciones
0
Tiempo del Tutor En horas 48 35.000 1.680.000
Tiempo del asesor En horas 35 35.000 1.225.000
Tiempo del
estudiante En meses 6 210.000 1.260.000
Transporte Días 60 3.200 192.000
Otros gastos e
Imprevistos 300.000
Total Costos 4.754.000
Tabla 1. Recursos Financieros
En esta fase se establecen los objetivos y procesos necesarios para llevar la obtención de
resultados, también se realiza la identificación de los actores que establecen relación con el
sistema telemático en conformidad con los requisitos y necesidades planteadas en un principio
y por ende a lo que se quiere llegar en esta etapa donde se quiere llevar a cabo un plan
estratégico dentro del proyecto que cumpla con los siguientes ítems:
50
Identificar los actores que se ven involucrados en el sistema telemático
Identificar los servicios que intervienen dentro del sistema telemático.
Elaborar y establecer el flujo de procesos de los servicios que intervienen dentro del
sistema telemático (Diagramas de flujo).
Definir el funcionamiento y enlace de los servicios que intervienen dentro del sistema
telemático.
Planificar el tiempo de ejecución en el desarrollo de los servicios que intervienen
dentro del sistema telemático.
Definir prioridades y secuencias en el flujo de procesos en el desarrollo de los
servicios.
Los actores que intervienen con el sistema telemático son:
Usuarios Propietarios de vehículos
Entidades de donde se obtiene la información (SIMIT, SIM,RUNT)
1.13.5 Identificar los servicios que intervienen dentro del sistema telemático
Los servicios que interactúan dentro del sistema telemático denominado “Sistema
Telemático para la integración de información vehicular” son los siguientes:
Registro de usuario
Registro de vehículos en la app
Consulta de datos básicos (RUNT)
Consulta de multas e infracciones (SIMIT)
Consulta de estado de tramites (SIM)
51
Consulta rápida (Placas “Forma Manual” / Identificación), estado del vehículo
(RUNT), guardar histórico de consultas rápidas
Edición de información personal (Perfil)
Todo sistema de información debe mencionar y dar a conocer como enfoca la parte de
seguridad en él y de quienes son las personas que se ven directamente implicadas en estos
procesos, es por ello que es importante mencionar como el sistema telemático de apoya en la
ley 1581 de 2012 para aplicar el tratamiento y protección de la información según se estipula
en dicha ley.
1.13.6 Tratamiento y protección de la información – ley 1581 de 2012
Dado que dentro del sistema telemático se realiza consulta de información personal y se
manipula información importante y confidencial para las entidades o usuarios finales, se toma
como referencia la ley 1581 de 2012 donde se establecen unas métricas y definiciones que a
continuación se mencionaran y se darán a conocer cada una de dichas definiciones y
principios.
Con esta mención a la ley 1581 de 2012 (Protección de datos personales) se involucra esta
ley dentro del sistema telemático rigiendo por la normatividad que propone el ministerio de
las tecnologías y las comunicaciones en Colombia (MINTIC). Como esta ley se involucra
dentro del sistema telemático es necesario dar a conocer unas definiciones para entender la
estructura de ley 1581 de 2012 y su importancia dentro del sistema telemático.
52
Definiciones
AUTORIZACIÓN: Consentimiento previo, expreso e informado del titular para
llevar a cabo el tratamiento de datos personales.
AVISO DE PRIVACIDAD: Comunicación verbal o escrita generada por el
responsable dirigida al titular para el tratamiento de sus datos personales, mediante la
cual se le informa acerca de la existencia de las políticas de tratamiento de
información que le serán aplicables, la forma de acceder a las mismas y las finalidades
del tratamiento que se pretende dar a los datos personales.
BASE DE DATOS: Conjunto organizado de datos personales que sea objeto de
tratamiento.
CAUSAHABIENTE: Persona que ha sucedido a otra por causa del fallecimiento de
ésta (heredero).
DATO PERSONAL: Cualquier pieza de información vinculada a una o varias
personas determinadas o determinables o que puedan asociarse a una persona natural o
jurídica.
DATO PÚBLICO: Es el dato que no sea semiprivado, privado o sensible. Son
considerados datos públicos, entre otros, los datos relativos al estado civil de las
personas, a su profesión u oficio y a su calidad de comerciante o de servidor público.
Por su naturaleza, los datos públicos pueden estar contenidos, entre otros, en registros
públicos, documentos públicos, gacetas y boletines oficiales y sentencias judiciales
debidamente ejecutoriadas que no estén sometidas a reserva.
DATOS SENSIBLES: Se entiende por datos sensibles aquellos que afectan la
intimidad del titular o cuyo uso indebido puede generar su discriminación, tales como
aquellos que revelen el origen racial o étnico, la orientación política, las convicciones
53
religiosas o filosóficas, la pertenencia a sindicatos, organizaciones sociales, de
derechos humanos o que promueva intereses de cualquier partido político o que
garanticen los derechos y garantías de partidos políticos de oposición, así como los
datos relativos a la salud, a la vida sexual, y los datos biométricos.
DATOS INDISPENSABLES: Se entienden como aquellos datos personales de los
titulares imprescindibles para llevar a cabo la actividad de educación superior en
docencia, investigación y extensión. Los datos de naturaleza indispensable deberán ser
proporcionados por los titulares de los mismos o los legitimados para el ejercicio de
estos derechos.
ENCARGADO DEL TRATAMIENTO: Persona natural o jurídica, pública o
privada que por sí misma o en asocio con otros, realice el Tratamiento de datos
personales por cuenta del Responsable del Tratamiento. LEY DE PROTECCIÓN DE
DATOS: es la Ley 1581 de 2012 y sus Decretos reglamentarios o las normas que los
modifiquen, complementen o sustituyan.
HABEAS DATA: Derecho de cualquier persona a conocer, actualizar y rectificar las
informaciones que se hayan recogido sobre ellas en el banco de datos y en archivos de
entidades públicas y privadas.
RESPONSABLE DEL TRATAMIENTO: Persona natural o jurídica, pública o
privada que por sí misma o en asocio con otros, decida sobre la base de datos y/o
Tratamiento de los datos.
TITULAR: Persona natural cuyos datos personales sean objeto de Tratamiento.
TRATAMIENTO: Cualquier operación o conjunto de operaciones sobre datos
personales, tales como la recolección, almacenamiento, uso, circulación o supresión.
TRANSFERENCIA: La transferencia de datos tiene lugar cuando el responsable y/o
encargado del tratamiento de datos personales, ubicado en Colombia, envía la
54
información o los datos personales a un receptor, que a su vez es responsable del
tratamiento y se encuentra dentro o fuera del país.
TRANSMISIÓN: Tratamiento de datos personales que implica la comunicación de
los mismos dentro o fuera del territorio de la República de Colombia cuando tenga por
objeto la realización de un tratamiento por el encargado por cuenta del responsable.
Después de haber dado a conocer las definiciones que involucra la ley 1581 de 2012 en el
sistema telemático, es importante mencionar unos principios que se encuentran regidos dentro
de esta ley, ya que es donde se reflejan normas complementarias, donde se da a conocer
cuáles son los principios por los cuales el sistema telemático está regido y su aplicabilidad.
Principios
En el desarrollo, interpretación y aplicación de la ley 1581 de 2012 por la cual se dictan
disposiciones generales para la protección de datos personales y las normas que la
complementan, modifican o adicionan, se aplicarán de manera armónica e integral los
siguientes principios rectores:
PRINCIPIO DE LA LEGALIDAD: El Tratamiento de datos es una actividad
reglada que debe sujetarse a lo estableció en la ley y las demás disposiciones que la
desarrollen.
PRINCIPIO DE FINALIDAD: El tratamiento debe obedecer a una finalidad
legítima de acuerdo con la Constitución y la Ley, la cual debe ser informada al titular.
En lo correspondiente a la recolección de datos personales, EL SISTEMA
TELEMATICO PARA LA INTEGRACION DE INFORMACIÓN VEHICULAR se
55
limitará a aquellos datos que sean pertinentes y adecuados para la finalidad con la cual
fueron recolectados o requeridos; Se deberá informar al titular el motivo por el cual se
solicita la información y el uso específico que se le dará a la misma.
PRINCIPIO DE LIBERTAD: El tratamiento solo puede ejercerse con el
consentimiento previo, expreso, e informado del titular. Los datos personales no
podrán ser obtenidos o divulgados sin previa autorización, o en ausencia de mandato
legal o judicial que releve el consentimiento.
PRINCIPIO DE VERACIDAD O CALIDAD: La información sujeta a tratamiento
debe ser veraz, completa, exacta, actualizada, comprobable y comprensible. Se
prohíbe el tratamiento de datos parciales, incompletos, fraccionados o que induzcan a
error.
PRINCIPIO DE TRANSPARENCIA: En el tratamiento debe garantizarse el
derecho del titular a obtener del responsable del tratamiento o del encargado del
tratamiento, en cualquier momento y sin restricciones, información acerca de la
existencia de datos que le conciernan.
PRINCIPIO DE SEGURIDAD: la información sujeta a tratamiento por el
SISTEMA TELEMATICO PARA LA INTEGRACION DE INFORMACIÓN
VEHICULAR, se deberá manejar con las medidas técnicas, humanas y administrativas
que sean necesarias para otorgar seguridad a los registros evitando su adulteración,
pérdida, consulta, uso o acceso no autorizado o fraudulento.
PRINCIPIO DE CONFIDENCIALIDAD: El SISTEMA TELEMATICO PARA LA
INTEGRACION DE INFORMACIÓN VEHICULAR está obligada a garantizar la
reserva de la información, inclusive después de finalizada su relación con alguna de
las labores que comprende el tratamiento, pudiendo sólo realizar suministro o
56
comunicación de datos personales cuando ello corresponda al desarrollo de las
actividades autorizadas en la ley.
Debido a que el sistema telemático interactúa con usuarios finales, es necesario dar a
conocer cuáles son los derechos que tienen como usuarios finales frente a la gestión de la
información, es por ello que a continuación se mencionan los derechos que el asisten al titular
de la información dentro del sistema telemático.
DERECHOS QUE LE ASISTEN AL TITULAR DE LA INFORMACIÓN
El titular de los datos personales tendrá los siguientes derechos:
Conocer, actualizar y rectificar sus datos personales frente al SISTEMA
TELEMATICO PARA LA INTEGRACION DE INFORMACIÓN VEHICULAR en
su condición de responsable del tratamiento. Este derecho se podrá ejercer, entre otros,
frente a datos parciales, inexactos, incompletos, fraccionados, que induzcan a error, o
aquellos cuyo tratamiento esté expresamente prohibido o no haya sido autorizado.
Acceder en forma gratuita a sus datos personales que hayan sido objeto de tratamiento.
Lo anterior tiene como finalidad el régimen legislativo y normativo dentro del alcance del
proyecto para garantizar de una u otra manera que la información gestionada dentro del
sistema telemático está regida por normativas de tratamiento y seguridad de la información,
también dar a conocer cuál es el alcance de tratamiento de información y los derechos de los
usuarios respecto a dicho tratamiento.
57
1.13.7 Cronograma de trabajo
Figura 6. Cronograma
58
2 Desarrollo
La metodología para el desarrollo de la aplicación cuenta con 5 fases por las cuales pasa el
producto a realizarse, la línea de producción empieza con la fase de exploración, después pasa
a la fase de Iniciación, luego pasa a la fase de producto posteriormente a la fase de
estabilización y la fase de pruebas. (Agile, 2008).
15Figura 7. Diagrama fases Mobile-D
2.1 Fase de Exploración.
Se centra la atención a la planificación y a los conceptos básicos del proyecto. Se realizan
los alcances del proyecto y su establecimiento con las funcionalidades donde se va a llegar.
15 Carreno, Y. (2013). Mobile D. [Figura 3]. Recuperado de http://www.yaircarreno.com/2013/09/metodologia-
para-desarrollo-de.html
59
Tipo de patrón: Patrón de fase El propósito de esta fase es la planificación y establecimiento
de una buena planificación “A well planned is half done”, esta fase es muy importante para
establecer las bases para una implementación bien controlada de software, la arquitectura del
producto, el proceso de desarrollo y la selección del medio ambiente. (Agile, 2008)
2.2 Documento De requisitos Iniciales
Documentación de requisitos
Nombre de Proyecto Aicar (All info about my car)
Descripción de proyecto Sistema telemático para la integración de
información vehicular
ID Requisito
R1 Determinar la estructura de la información que maneja el RUNT
R2 Determinar la estructura de la información que maneja el SIMIT
R3 Determinar la estructura de la información que maneja el SIM
R4 Abstracción, normalización y creación de la base de datos local
(Mobil)
R5 Abstracción, normalización y creación de la base de datos del RUNT
R6 Abstracción, normalización y creación de la base de datos del SIMIT
R7 Abstracción, normalización y creación de la base de datos del SIM
R8 Se requiere un servicio web que permita la consulta de información
desde la base de datos del RUNT por placa o número de cedula y placa
R9 Se requiere un servicio web que permita la consulta de información
desde la base de datos del SIMT por placa o número de cedula y placa
R10 Se requiere un servicio web que permita la consulta de información
60
desde la base de datos del SIM por placa o número de cedula y placa
R11 La aplicación debe tener una interfaz básica e intuitiva
R12 La aplicación debe tener un servicio de autenticación (Usuario y clave)
R13 La aplicación debe tener un módulo de registro de usuarios
R14 La aplicación debe tener un módulo de edición de perfil
R15 La aplicación debe tener un módulo para agregar vehículos al usuario
registrado
R16 La aplicación debe tener un módulo donde muestre los servicios
consultados
R17 La aplicación debe permitir ver los detalles de cada servicio y la
información obtenida basa en los parámetros de consulta (placa y/
cedula)
R18 La aplicación debe tener una opción de búsqueda por placa, para
obtener información básica
R19 La aplicación debe tener la opción de escanear una placa y realizar
búsqueda de información
R20 La aplicación debe permitir consultar el histórico de búsquedas
realizadas
R21 La aplicación debe tener un módulo de configuración de la app
(almacenamiento, frecuencia de sincronización)
Tabla 2. Documento de requisitos iniciales
61
2.3 Plan del proyecto
2.3.1 Flujo de procesos por servicios
Registro de usuario
Figura 8. Proceso Registro de usuario
Registro de vehículos en la app
Figura 9. Proceso Registro de vehículo
62
Consulta de datos básicos (RUNT)
Figura 10. Proceso Consulta datos básicos RUNT
Consulta de multas e infracciones (SIMIT)
Figura 11. Proceso Consulta de multas e infracciones
63
Consulta de estado de tramites (SIM)
Figura 12. Proceso Consulta de estado de trámites
Consulta rápida
Figura 13. Proceso Consulta rápida
64
Edición de información
Figura 14. Proceso Edición de información
2.3.2 Funcionamiento y enlace de los servicios
Registro de usuario
El registro de usuario tiene como finalidad la obtención de información básica de los
usuarios para que puedan tener acceso a la aplicación de consulta de información vehicular.
Esta información se detalla como alias de usuario, contraseña, nombre del usuario,
apellidos del usuario, número de identificación del usuario, fecha de nacimiento y un correo
personal.
Este servicio de registro de usuario es importante dentro del sistema telemático, ya que con
esta información se lograra hacer enlace con la información de los vehículos que se puedan
consultar y se lograra una mayor efectividad a la hora de conocer si usuario es propietario o
no del vehículo a consultar.
65
Registro de vehículos en la app
Al asociar vehículos a un usuario registrado, permite discriminar la información de cada
uno de los vehículos ya que por lo general las consultas requieren el número de identificación
del propietario y el número de placa del vehículo a consultar de esta forma el usuario tendrá
fácil acceso a la información de cada uno de los vehículos que posea.
Consulta de datos básicos (RUNT)
El servicio de consulta de datos básicos (RUNT) tiene como finalidad la obtención de la
información asociada a conductores que tengan licencia de conducción, en el cual se puede
obtener información detallada de nombres completos, estado del conductor (Activo o
Inactivo), Fecha de inscripción al RUNT, el detalle de las licencias de conducción que posee,
las multas e infracciones que se encuentran reportadas en el RUNT, Si tiene certificados
médicos vigentes o no.
Este servicio se encuentra enlazado con el servicio de registro de usuario donde con la
información que se obtiene en el primer servicio es posible obtener la información de esta
consulta sin requerir el ingreso de datos al sistema telemático.
Consulta de multas e infracciones (SIMIT)
El servicio de consulta de multas e infracciones (SIMIT) tiene como finalidad la obtención
de la información asociada a conductores que tengan comparendos que adeudan ante el estado
nacional, esta información es obtenida con un detalle del número de comparendo, la secretaria
distrital de donde fue puesto el comparendo, la fecha en que se realizó el comparendo, fecha
66
de notificación, nombre del infractor, el estado del comparendo, infracción, valor de la multa
y el valor a pagar.
En este servicio saldrá el detalle de los comparendos que el conductor tenga como
pendientes de pago y estará enlazado con los dos primeros servicios por la información
personal que el usuario maneja dentro del sistema telemático.
Consulta de estado de tramites (SIM)
El servicio de consulta de estado de tramites (SIM) tiene como finalidad la obtención de la
información asociada a los trámites pertinentes que el conductor o vehículo tengan en
proceso ante el ministerio de transporte.
Consulta rápida
El servicio de consulta rápida tiene como finalidad la obtención de la información asociada
a los vehículos, donde se determina un estado sencillo del vehículo. Esta información tendrá
lugar a un manejo de histórico con el fin de guardar las consultas realizadas por el usuario y
donde se podrá ingresar el número de placa de forma manual con el número de identificación
del propietario del vehículo.
Edición de información personal (Perfil)
El servicio de edición de la información personal del usuario tiene como finalidad la
edición de información básica como el nombre, apellido, número de identificación o placa del
vehículo asociado a la sesión del usuario. Esta funcionalidad permite al usuario cambiar la
67
información de manera autónoma, también el usuario podrá cambiar su contraseña de ingreso
a la aplicación.
2.3.3 Tiempo de ejecución del desarrollo de cada servicio
El tiempo de ejecución por servicio se tomará en horas y estará basado en el cronograma
del proyecto, en donde se establecerán las etapas y procesos del proyecto de manera general.
Dentro del planteamiento y ejecución del proyecto, el tiempo del desarrollo se establece en
diferentes etapas y son las siguientes:
Identificación de los servicios – 20 Horas
Identificación de los componentes que intervienen en los servicios y en el sistema
telemático – 40 Horas
Diseño de los servicios (Diagramas) – 20 Horas
Diseño de los componentes que intervienen en el sistema telemático - 25 Horas
Desarrollo de los servicios mencionados (Componentes de los servicios) – 80 Horas
2.3.4 Descripción base del proceso
La metodología contempla la realización de siete pasos:
Planeación.
Estudio del marco normativo e indagación de necesidades de información en
instancias de toma de decisiones.
Diseño preliminar de la estructura y el contenido de la línea base.
Análisis y verificación de la información.
Selección de indicadores y documentación.
Desarrollo de la herramienta informática
68
Implementación.
2.3.5 Arquitectura
2.3.5.1 Análisis de protocolos de comunicaciones
Protocolo SSL (Capa de conexión segura)
Cuando algún usuario visita un sitio web seguro, el Certificado SSL proporciona
información de identificación del servidor web y establece una conexión cifrada. Este proceso
ocurre, instantáneamente, en fracciones de segundo. Mientras tanto, entre el navegador y el
servidor web se da la siguiente secuencia:
El navegador intenta conectarse a un sitio web con SSL y solicita la identificación del
servidor.
El servidor envía al navegador una copia de su certificado SSL.
El navegador comprueba si es posible confiar en el Certificado SSL y una vez
confirmado envía un mensaje al servidor.
El servidor emite un mensaje de recibido, firmado digitalmente, para iniciar una sesión
SSL cifrada.
16Figura 15. Funcionamiento Protocolo SSL
16 Gutiérrez, D. (2015). Ssl funcionamiento. [Figura 14]. Recuperado de
http://seguridadidga.blogspot.com.co/2015/11/ssl-y-tsl.html
69
De esta forma, los datos encriptados se comparten entre navegador y servidor.
El protocolo SSL garantiza la integridad de las comunicaciones en las redes mediante
certificados digitales que implican procesos de encriptación, autenticación y verificación. Es
decir, proporciona autenticación de las partes que participan en las transacciones en línea y
encripta las sesiones de comunicación.
Como ventajas de utilización de este protocolo se tiene lo siguiente:
1. Autenticación: En un sitio web de confianza, la "autenticación" es la manera de
asegurar que los usuarios son quién ellos dicen ser. Es decir, que el usuario que intenta
realizar funciones en un sistema, es de hecho que el usuario tiene la autorización para
hacerlas.
2. Seguridad: SSL posee una variedad de medidas de seguridad para comprobar la
integridad del mensaje, que garantiza la calidad de los datos transmitidos.
3. Privacidad: Durante la primera fase, el destinatario y el emisor negocian qué
algoritmos criptográficos se van a usar. Esto asegura que el contenido de la información
no puede ser leídos por un tercero.
Protocolo Https (Protocolo Seguro de Transferencia Hipertext)
Es protocolo de aplicación que se basa en el protocolo http, que está destinado a la
transferencia segura de datos de hipertexto. O sea es la versión segura de http. Este protocolo
lo utilizan entidades bancarias, tiendas en línea y cualquier servicio que solicite el envío de
datos personales o contraseñas a través de la web.
Este protocolo utiliza un cifrado basado en SSL/TLS con el fin de crear un canal cifrado
entre el cliente y el servidor. SSL (Secure Sockets Layer) y TLS (Transmission Layer
Security) son dos protocolos utilizados para enviar paquetes cifrados a través de Internet. Se
pueden utilizar para más de un protocolo, no sólo con HTTP. HTTP + SSL/TLS = HTTPS.
70
17Figura 16. Funcionamiento Protocolo Https
HTTP funciona en la capa de aplicación (séptima capa) del Modelo OSI, que es la capa
más alta. Sin embargo, el cifrado que da lugar a HTTPS, se realiza en una capa más baja,
mediante SSL/TLS. HTTPS se basa en el sistema de clave pública y clave privada.
La seguridad de las transacciones se basa en el intercambio de claves entre un cliente y un
servidor. Las claves pública y privada están relacionadas de tal forma que no podemos usar
una sin la otra. Para enviar un mensaje cifrado a un servidor, se realiza el cifrado con su clave
pública para que él pueda descifrarlo con su clave privada. Sólo quien tenga la privada podrá
descifrarlo.
Tras haber concretado los detalles técnicos que se utilizarán en la transferencia, como por
ejemplo la versión del protocolo o los algoritmos de cifrado, el navegador procede a cifrar una
clave generada en ese mismo momento con la clave pública del servidor al que se está
conectando y se la envía. Al final el cliente y el servidor tienen la misma clave, que se
utilizará para cifrar y descifrar los datos de la comunicación.
17 Seguridad, A. (2012). Funcionamiento protocolo https. [Figura 15]. Recuperado de
http://www.expresionbinaria.com/certificados-de-seguridad-ssl-funcionamiento-tipos-y-caracteristicas/
71
Protocolo TCP (Protocolo de Control de Transmisión)
El protocolo TCP es un conjunto de reglas o normas que determinan cómo se realiza el
intercambio de datos entre dos ordenadores. Es quien se encarga de que los equipos puedan
“hablar” en un lenguaje común, independientemente del tipo que sea o del sistema operativo
que utilice (Windows xp, 7, 8, o 10, DOS, OS/2, Unix, etc.). El protocolo que se usa en
Internet desde sus propios orígenes es el TCP/IP (Tranmission Control Protocol/Internet
Protocol).
Este protocolo, funciona de la siguiente forma, cuando se transfiere información de un
ordenador a otro, por ejemplo un fichero, un mensaje de correo electrónico o cualquier otro
tipo de datos, ésta no es transmitida de una sola vez, sino que se divide en paquetes pequeños.
18Figura 17. Funcionamiento Protocolo TCP
18 Barroso, J. (2013). Protocolo TCP/IP. [Figura 16]. Recuperado de
http://tecnologiaedu.us.es/cursos/29/html/cursos/tema7/cont_2.2.htm
72
El protocolo TCP se encarga de dividir las informaciones en paquetes de tamaño adecuado,
numerar estos paquetes para que puedan volver a unirse en el lugar correcto y añadir cierta
información para la transmisión y posterior decodificación del paquete y detectar posibles
errores en la transmisión.
Protocolo IP (Protocolo Internet)
Es la base fundamental de la Internet. Porta datagramas de la fuente al destino. El nivel de
transporte parte el flujo de datos en datagramas. Durante su transmisión se puede partir un
datagrama en fragmentos que se montan de nuevo en el destino. Las principales
características de este protocolo son:
1. Protocolo orientado a no conexión.
2. Fragmenta paquetes si es necesario.
3. Direccionamiento mediante direcciones lógicas IP de 32 bits.
4. Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito.
5. Realiza el "mejor esfuerzo" para la distribución de paquetes.
6. Tamaño máximo del paquete de 65635 bytes.
7. Sólo ser realiza verificación por suma al encabezado del paquete, no a los datos éste que
contiene.
El Protocolo Internet proporciona un servicio de distribución de paquetes de información
orientado a no conexión de manera no fiable. La orientación a no conexión significa que los
paquetes de información, que será emitido a la red, son tratados independientemente,
pudiendo viajar por diferentes trayectorias para llegar a su destino. El término no fiable
significa más que nada que no se garantiza la recepción del paquete.
73
19Figura 18. Independencia de medios Protocolo IP
IP es un protocolo adaptativo, es decir, en todo momento se realiza una comprobación de
la mejor ruta a seguir para el siguiente salto comprobando la tabla de encaminamiento del
nodo actual, las entradas de la tabla de encaminamiento pueden cambiar en cualquier
momento dependiendo de las condiciones de la red.
Por ejemplo si un enlace deja de funcionar se enviaran los datagramas por una ruta
diferente, si es que existe. Un cambio en la topología de la red puede hacer que los
datagramas se reencaminen automáticamente. El encaminamiento adaptativo es la base de la
flexibilidad y la robustez de IP.
IP utiliza también, técnicas de fragmentación y re ensamblado más temporizadores de
datagramas que permiten encaminar los datagramas a través de Routers congestionados o
pasar de redes con grandes prestaciones a redes pequeñas y de baja calidad de tráfico. Esto
hace posible que un datagrama de IP atraviese el continente pasando por una gran variedad de
19 Dituyi. (2014). Protocolo IP/ medios independientes. [Figura 17]. Recuperado de http://www.dituyi.net/capa-
de-red/
74
tecnologías de comunicación que van desde las redes de telefonía básica hasta los enlaces
dedicados por satélite o fibra óptica y viceversa.
2.3.5.2 Conclusiones Protocolos
Los protocolos son una herramienta importante en el diseño de los sistemas telemáticos ya
que nos dan las reglas y/o normas para sacarle el mejor provecho a un sistema de
comunicación distribuida.
Cada una está destinada para algo en especial o para hacer las cosas de una manera
característica, es por eso que tiene tanta importancia para el futuro en los sistemas remotos de
comunicación, los ingenieros de telemáticos y la computación de su conocimiento.
Es por esto que se debe remitir al modelo OSI, ya que representa un importante desarrollo
en la manera de construir sistemas telemáticos con protocolos de comunicación y transportar
datos a través de ellas, ya que cada protocolo de comunicación utiliza las siguientes capas del
modelo OSI.
Capa de aplicación. Es el nivel último de las capas del sistema OSI, el que aloja el
programa de red interactúa con el usuario.
Capa de presentación. Maneja los datos de la aplicación, los acomoda en un formato
que pueda ser transmitido en una red.
Capa de sesión. Establece conexiones lógicas entre puntos de la red.
Capa de transporte. Maneja la entrega entre un punto y otro de la red, de los mensajes
de una sesión.
Capa de red. Maneja destinos, rutas, congestión de rutas, alternativas de rutas.
75
Capa de enlace de datos. Entrega los datos entre un nodo y otro en un enlace de red.
Capa física. Define la conexión física de la red.
En este modelo, solo las capas que tengan otra capa equivalente en el nodo remoto podrán
comunicarse, esto es, solo las capas que son iguales entre si se comunican entre sí.
El protocolo de capa solo se interesa por la información de su capa y no por la de los
demás.
La información se pasa a las capas de abajo hasta que la información llega a la red. En el
nodo remoto, la información es entonces pasada hacia arriba hasta que llega a la aplicación
correspondiente. Cada capa confía en que las demás harán su trabajo, y lo único que le
interesa es la forma en como los datos serán pasados hacia arriba o hacia abajo
2.3.5.3 Diseño General del Sistema Telemático
El diseño general del sistema telemático (AICAR) se compone de la integración de
aplicaciones de consulta que obtienen la información relacionada al vehículo, (AICAR)
obtiene la información de las aplicaciones como el RUNT, SIMIT y SIM, haciendo la
integración de esta información para visualizarse como una sola información por medio de
una aplicación móvil, es por esto que en el siguiente diseño se da a conocer los componentes,
aplicaciones y flujo de comunicación que contiene al sistema telemático (AICAR).
76
Figura 19. Diseño General del sistema telemático
2.3.5.4 Componentes o entidades del sistema telemático
Cliente o usuario final
Aplicación móvil (Aicar)
Capa de conexión segura (Protocolos de seguridad en transmisión de información)
Servicios Web (Servidor de aplicaciones GlassFish)
77
2.3.5.5 Herramientas a utilizar
1. Construcción de los servicios Web
Glassfish 4.1 Servidor de aplicaciones donde se desplegarán los tres diferentes
webservices
SSL: como protocolo de transmisión de información
Netbeans 8.1, entorno de desarrollo para el desarrollo de los webservices
JAVA como lenguaje de programación principal
JPA para la abstracción de modelo de la base de datos
EJB para la lógica, consulta y reglas de negocio de los sistemas
Se utiliza service pattern y facade pattern como patrones de desarrollo
JAX-RS brinda el soporte para ofrecer los servicios web basados en RESTFULL
2. Construcción de la aplicación
ANDROID 5+: como único sistema operativo en donde desarrollar la aplicación
JAVA: lenguaje para desarrollar la aplicación en Android
ANDROID STUDIO: IDE de desarrollo de la aplicación móvil
Retrofit Framework, como librería de comunicación HTTP para Android
Bases de datos (SqlLite)
2.3.6 Fase de Iniciación
2.3.6.1 Primera Versión del Diseño de software
Esta primera versión comprende más que todo la primera capa de la arquitectura del
sistema que comprende el desarrollo de los webservices basado en la estructura de las bases
de datos de cada servicio, definición del logo y diseño de las pantallas UI.
78
2.3.6.2 Funcionalidad Implementada y desarrollo sistema telemático
Dentro del planeamiento que se propone dentro del proyecto para llevar acabo el desarrollo
de cada uno de los servicios y componentes, se establece un orden de trabajo y prioridad para
el desarrollo de estos componentes o servicios.
Por lo anterior el desarrollo del sistema telemático comprende las prioridades de servicios
y componentes se describen a continuación:
2.3.6.3 Base de datos
Esquema de base de datos local (Móvil)
Figura 20. Registro único nacional de tránsito (RUNT - WS 1)
79
Figura 21. Información del conductor
Figura 22. Información del vehículo
80
Figura 23. Sistema integrado de información sobre multas y sanciones por infracciones de
tránsito (SIMIT – WS 2)
Figura 24. Servicios integrales para la movilidad (SIM – WS 3)
81
2.3.6.4 Notas e interfaz de usuario
Logo
Colores
Familia de fuentes
Login
Se pueden utilizar redes sociales
(facebook,google,twitter)
Registro
Todos los campos necesarios
para registro de usuario
Inicio
Detalle Servicio
82
Editar Perfil
Configuración
Tabla 3. Notas interfaz usuario
2.3.7 Fase de Producto
2.3.7.1 Funcionalidad Implementada
A continuación, se detallan las funcionalidades que se desarrollaron en esta fase:
Especificación y diseño
En cuanto al diseño, existen algunos patrones de diseño ampliamente conocidos en el
desarrollo de aplicaciones, que suelen ser implementados en las aplicaciones para dispositivos
móviles, para este proyecto móvil se escogió MVC: (Model-View-Controller (MVC). Se
utiliza para poder separar al máximo la lógica de la visualización e interacción, y así poder dar
soporte a más escenarios, como puede ser el caso de una aplicación para Smartphone y la
misma para Tablet PC.)
Registro de usuario
83
Inicio de sesión
Edición de perfil
Página inicial y configuración de servicios
Consulta y visualización RUNT
Consulta y visualización SIMIT
Consulta y visualización SIM
Historial de consulta
Configuración de la aplicación
2.3.8 Fase de Estabilización
2.3.8.1 Documentación del producto Webservice Runt
Paquete (co.com.runt.local.application Description)
Provee las clases necesarias para la configuración del servicio web y manejo de base de
datos.
El framework del webservice incluye dos tecnologías: JPA y JAX-RS. Java Persistence
API (JPA) es un conjunto de clases y métodos que persistentemente almacenar la gran
cantidad de datos a una base de datos (ver la documentación javax.persistence). JAX-RS: Java
API for RESTful Web Services es una API del lenguaje de programación Java que
proporciona soporte en la creación de servicios web de acuerdo con el estilo arquitectónico
Representational State Transfer (REST).1 JAX-RS usa anotaciones, introducidas en Java SE
5, para simplificar el desarrollo y despliegue de los clientes y puntos finales de los servicios
web.
84
Since:
Class Summary
Class Descripción
AbstractFacade<T> Esta clase provee los métodos genéricos necesarios básicos para la
interacción con la base de datos
ApplicationConfig Clase que provee la configuración del servicio web JAX-RS se configuran
los ejb que van a hacer expuestos con sus respectivos métodos
Tabla 4. Descripción paquete WS Aplicación Runt local
Package co.com.runt.local.domain Description
Provee las clases que representan a cada una de las tablas en la base de datos.
Para poder almacenar objetos de punto en la base de datos con JPA necesitamos definir
una clase de entidad. Una clase de entidad JPA es una clase POJO (Plain Old Java Object), es
decir, una clase Java común que está marcada (anotada) como que tiene la capacidad de
representar objetos en la base de datos. Conceptualmente esto es similar a las clases
serializables, que están marcadas como teniendo la capacidad de ser serializado.
Since:
Class Summary
Class
Blindaje
CertificacionDijin
CertificadoDesintegracion
CompromisoPoliza
DatoTecnico
DetalleLicencia
LicenciaRunt
Persona
Póliza
Rtms
85
Solicitud
TarjetaOperacion
Vehículo
Tabla 5. Descripción paquete WS Dominio Runt local
Package co.com.runt.local.domain.service Description
Provee las clases EJB que actúan como servicios web.
Las Enterprise JavaBeans (también conocidas por sus siglas EJB) son una de las interfaces
de programación de aplicaciones (API) que forman parte del estándar de construcción de
aplicaciones empresariales J2EE (ahora JEE) de Oracle Corporation (inicialmente
desarrollado por Sun Microsystems). Su especificación detalla cómo los servidores de
aplicaciones proveen objetos desde el lado del servidor, que son precisamente los EJB:
Comunicación remota utilizando CORBA. Transacciones. Control de la concurrencia.
Eventos utilizando JMS (Java Messaging Service). Servicios de nombres y de directorio.
Seguridad. Ubicación de componentes en un servidor de aplicaciones. La especificación de
EJB define los papeles jugados por el contenedor de EJB y los EJB, además de disponer los
EJB en un contenedor. EJB 3.0 proporciona la opción de exponer ejb de sesión como un
servicio web. La anotación @WebService se utiliza para marcar una clase como un punto
final de servicio web y @WebMethod se utiliza para exponer un método como método web al
cliente.
86
Since:
Class Summary
Class Descripción
PersonaFacadeREST Servicio web EJB que expone los métodos necesarios para la consulta
de información al sistema RUNT.
Tabla 6. Descripción paquete WS Servicio Dominio Runt local
Package co.com.runt.local.domain.service.valueObjects Description
Provee un conjunto de clases para representar objetos como valores y hacer más sencilla la
comunicación entre dispositivos
Since:
Class Summary
Class Descripción
RuntVO Esta clase solo integra las dos Entitiy clases de Persona y Vehículo para
facilitar la respuesta del webservice
Tabla 7. Descripción paquete WS Objetos Dominio Runt local
2.3.8.2 Documentación del producto Webservice Simit
Package co.com.simit.local.application Description
Provee las clases necesarias para la configuración del servicio web y manejo de base de
datos.
El framework del webservice incluye dos tecnologias: JPA y JAX-RS. Java Persistence
API (JPA) es un conjunto de clases y métodos que persistentemente almacenar la gran
cantidad de datos a una base de datos (ver la documentación javax.persistence). JAX-RS: Java
API for RESTful Web Services es una API del lenguaje de programación Java que
proporciona soporte en la creación de servicios web de acuerdo con el estilo arquitectónico
87
Representational State Transfer (REST).1 JAX-RS usa anotaciones, introducidas en Java SE
5, para simplificar el desarrollo y despliegue de los clientes y puntos finales de los servicios
web.
Since:
Class Summary
Class Descripción
AbstractFacade<T> Esta clase provee los métodos genéricos necesarios básicos para la
interacción con la base de datos
ApplicationConfig Clase que provee la configuración del servicio web JAX-RS se
configuran los ejb que van a hacer expuestos con sus respectivos métodos
Tabla 8. Descripción paquete WS Aplicación Simit local
Package co.com.simit.local.domain Description
Provee las clases que representan a cada una de las tablas en la base de datos.
Para poder almacenar objetos de punto en la base de datos con JPA necesitamos definir
una clase de entidad. Una clase de entidad JPA es una clase POJO (Plain Old Java Object), es
decir, una clase Java común que está marcada (anotada) como que tiene la capacidad de
representar objetos en la base de datos. Conceptualmente esto es similar a las clases
serializables, que están marcadas como teniendo la capacidad de ser serializado.
Since:
Class Summary
Class
Comparendo
Conductor
Infracción
88
LicenciaSimit
Vehículo
Tabla 9. Descripción paquete WS Dominio Simit local
Package co.com.simit.local.service Description
Provee las clases EJB que actuan como servicios web.
Las Enterprise JavaBeans (también conocidas por sus siglas EJB) son una de las interfaces
de programación de aplicaciones (API) que forman parte del estándar de construcción de
aplicaciones empresariales J2EE (ahora JEE) de Oracle Corporation (inicialmente
desarrollado por Sun Microsystems). Su especificación detalla cómo los servidores de
aplicaciones proveen objetos desde el lado del servidor, que son precisamente los EJB:
Comunicación remota utilizando CORBA. Transacciones. Control de la concurrencia.
Eventos utilizando JMS (Java Messaging Service). Servicios de nombres y de directorio.
Seguridad. Ubicación de componentes en un servidor de aplicaciones. La especificación de
EJB define los papeles jugados por el contenedor de EJB y los EJB, además de disponer los
EJB en un contenedor. EJB 3.0 proporciona la opción de exponer ejb de sesión como un
servicio web. La anotación @WebService se utiliza para marcar una clase como un punto
final de servicio web y @WebMethod se utiliza para exponer un método como método web al
cliente.
Since:
Class Summary
Class Descripción
ConductorFacadeREST Servicio web EJB que expone los métodos necesarios para la
consulta de información al sistema SIMIT.
Tabla 10. Descripción paquete WS Servicio Simit local
89
2.3.8.3 Documentación del producto Webservice Sim
Package co.com.sim.local.application Description
Provee las clases necesarias para la configuración del servicio web y manejo de base de
datos.
El framework del webservice incluye dos tecnologias: JPA y JAX-RS. Java Persistence
API (JPA) es un conjunto de clases y métodos que persistentemente almacenar la gran
cantidad de datos a una base de datos (ver la documentación javax.persistence). JAX-RS: Java
API for RESTful Web Services es una API del lenguaje de programación Java que
proporciona soporte en la creación de servicios web de acuerdo con el estilo arquitectónico
Representational State Transfer (REST).1 JAX-RS usa anotaciones, introducidas en Java SE
5, para simplificar el desarrollo y despliegue de los clientes y puntos finales de los servicios
web.
Since:
Class Summary
Class Descripción
AbstractFacade<T> Esta clase provee los métodos genéricos necesarios básicos para la
interacción con la base de datos
ApplicationConfig Clase que provee la configuración del servicio web JAX-RS se
configuran los ejb que van a hacer expuestos con sus respectivos métodos
Tabla 11. Descripción paquete WS Aplicación Sim local
90
Package co.com.sim.local.domain Description
Provee las clases que representan a cada una de las tablas en la base de datos.
Para poder almacenar objetos de punto en la base de datos con JPA necesitamos definir
una clase de entidad. Una clase de entidad JPA es una clase POJO (Plain Old Java Object), es
decir, una clase Java común que está marcada (anotada) como que tiene la capacidad de
representar objetos en la base de datos. Conceptualmente esto es similar a las clases
serializables, que están marcadas como teniendo la capacidad de ser serializado.
Since:
Class sumary
Class
Conductor
Tramite
Vehículo
Tabla 12. Descripción paquete WS Dominio Sim local
Package co.com.sim.local.service Description
Provee las clases EJB que actúan como servicios web.
Las Enterprise JavaBeans (también conocidas por sus siglas EJB) son una de las interfaces
de programación de aplicaciones (API) que forman parte del estándar de construcción de
aplicaciones empresariales J2EE (ahora JEE) de Oracle Corporation (inicialmente
desarrollado por Sun Microsystems). Su especificación detalla cómo los servidores de
aplicaciones proveen objetos desde el lado del servidor, que son precisamente los EJB:
Comunicación remota utilizando CORBA. Transacciones. Control de la concurrencia.
Eventos utilizando JMS (Java Messaging Service). Servicios de nombres y de directorio.
91
Seguridad. Ubicación de componentes en un servidor de aplicaciones. La especificación de
EJB define los papeles jugados por el contenedor de EJB y los EJB, además de disponer los
EJB en un contenedor. EJB 3.0 proporciona la opción de exponer ejb de sesión como un
servicio web. La anotación @WebService se utiliza para marcar una clase como un punto
final de servicio web y @WebMethod se utiliza para exponer un método como método web al
cliente.
Since:
Class Summary
Class Descripción
ConductorFacadeREST Servicio web EJB que expone los métodos necesarios para la
consulta de información al sistema SIM.
Tabla 13. Descripción paquete WS Servicio Sim local
Package co.com.sim.local.service.ValueObjects Description
Provee un conjunto de clases para representar objetos como valores y hacer más sencilla la
comunicación entre dispositivos.
Since:
Class Summary
Class Descripción
SimVO Esta clase solo integra las dos Entitiy clases de Conductor y Vehículo para facilitar la
respuesta del webservice
Tabla 14. Descripción paquete WS Objetos Dominio Sim local
92
2.3.8.4 Documentación del producto Aplicación Android
Package io.gothcorp.aicar.adapters Description
Provee las clases necesarias para los adaptadores de las diferentes tablas y listas dentro de
la aplicación.
Un objeto Adapter actúa como un puente entre el AdapterView y los datos de una vista. El
Adapter proporciona acceso a cada ítem. El adaptador también es responsable de hacer una
vista para cada producto en el conjunto de datos.
Tenemos varios elementos aquí:
Colección de datos: Datos que se desean mostrar; generalmente están almacenados en un
List, ArrayList o array. Vista: Definición de como lucirá un elemento de la lista mediante un
layout XML. Adapter: Finalmente definimos el puente entre los datos y la vista; el Adapter se
encarga de tomar la vista y repetirla para cada colección de datos además de interactuar con
los elementos que componen la vista.
Since:
Class Summay
Class Descripción
DetalleLicenciaRuntTableAdapter Adaptador para la tabla de los detalles de cada licencia
del servicio RUNT.
LicenciaRuntTableAdapter Adaptador para la tabla de las licencia del servicio
RUNT.
RVhistoryAdapter Adaptador para la lista que muestra la historia de
vehículos consultados, configura la vista de la placa,
foto y fecha de captura
ServiceAdapter Adaptador para la configuración y visualización de los
servicios que ofrece la aplicación.
93
SolicitudRuntTableAdapter Adaptador para la tabla de las solicitudes de cada
licencia del servicio RUNT.
Tabla 15. Descripción Adaptadores de la aplicación Android
Package io.gothcorp.aicar.adapters.simFragmentAdapters Description
Adaptadores del servicio SIM
Since:
Class Summary
Class Descripción
TramiteSimTableAdapter Adaptador para la tabla de los trámites del servicio SIM.
VehiculosSimTableAdapter Adaptador para la tabla de los vehículos del servicio SIM.
Tabla 16. Descripción Adaptadores servicio Sim
Package io.gothcorp.aicar.adapters.simitFragmentAdapters Description
Adaptadores del servicio SIMIT
Since:
Class Summary
Class Descripción
ComparendoSimitTableAdapter Adaptador para la tabla de los comparendos del servicio
SIMIT.
InfracionSimitTableAdapter Adaptador para la tabla de las infracciones del servicio
SIMIT.
LicenciaSimitTableAdapter Adaptador para la tabla de las licencias del servicio
SIMIT.
VehiculosSimitTableAdapter Adaptador para la tabla de los vehículos del servicio
SIMIT.
Tabla 17. Descripción Adaptadores servicio Simit
94
Package io.gothcorp.aicar.interfaces Description
Provee las interfaces necesarias para la comunicación con los servicios web.
Dentro del api que se utiliza como FrameWork retrofit. Retrofit es un cliente REST para
Android y Java, desarrollada por Square, muy simple y fácil de aprender.
Permite hacer peticiones GET; POST, PUT, PATCH, DELETE y HEAD, gestionar
diferentes tipos de parámetros y parsear automáticamente la respuesta a un POJO.
Since:
Interface Summary
Interface Descripción
RuntService Interfaz que define la forma en la cual se consulta el servicio web que
ofrece RUNT.
SimitService Interfaz que define la forma en la cual se consulta el servicio web que
ofrece SIMIT.
SimService Interfaz que define la forma en la cual se consulta el servicio web que
ofrece SIM.
Tabla 18. Descripción Adaptadores servicio Runt
Package io.gothcorp.aicar.model Description
Provee las clases necesarias para representar la estructura tanto de la base de datos local
como de la respuesta de cada uno de los servicios.
Dentro del api que se utiliza como framework realm.
Realm es una base de datos móvil que se ejecuta directamente en teléfonos, tabletas o
portátiles.
95
Since:
Class Summary
Class
Historia
Servicio
Usuario
Tabla 19. Modelo descripción framework realm
Package io.gothcorp.aicar.model.runt Description
Provee el conjunto de clases para gestionar la respuesta desde el servicio web de RUNT
Since:
Class Summary
Class
Blindaje
CertificacionDijin
CertificadoDesintegracion
CompromisoPoliza
DatoTecnico
DetalleLicencia
LicenciaRunt
Persona
Poliza
96
Rtms
RuntVO
Solicitud
TarjetaOperacion
Vehiculo
Tabla 20. Modelo descripción framework realm - Runt
Package io.gothcorp.aicar.model.sim Description
Provee el conjunto de clases para gestionar la respuesta desde el servicio web de SIM
Since:
Class Summary
Class
Conductor
SimVO
Tramite
Vehículo
Tabla 21. Modelo descripción framework realm - Sim
Package io.gothcorp.aicar.model.simit Description
Provee el conjunto de clases para gestionar la respuesta desde el servicio web de SIMIT
Since:
Class Summary
Class
97
Comparendo
Conductor
Infracción
LicenciaSimit
Vehículo
Tabla 22. Modelo descripción framework realm - Simit
Package io.gothcorp.aicar.ui.activities Description
Provee las clases para la gestión del comportamiento de cada una de las pantallas dentro de
la aplicación (Activities).
Since:
Class Summary
Class Descripción
ActivitySocialSignUp Clase encargada de gestionar la pantalla
de registro a través de redes sociales,
consume las APIs públicas de facebook
, twitter y google obteniendo la
información necesaria para registrar un
usuario en esta aplicación
AppCompatPreferenceActivity A PreferenceActivity which implements
and proxies the necessary calls to be
used with AppCompat.
EditarPerfil Clase encargada de gestionar la pantalla
de edición del perfil, permite además de
actualizar la información, cargar y
recortar una foto y seleccionarla de
perfil
HistoriaActivity Actividad encargada de consultar y
mostrar el historial de consultas rápidas
que se ha realizado con la aplicación
usando, detección automática de placas
Home Actividad principal de la aplicación, se
encarga de gestionar el consumo de los
98
diferentes webservices Gestiona la
navegación entre las diferentes
pantallas.
LoginActivity A login screen that offers login via
email/password.
RegistroActivity Esta clase controla el registro de
usuarios dentro de la aplicaciòn,
realiza las validaciones necesarias y
registra el usuario en la base de datos
local
ServiceDetailActivity Clase encargada de mostrar el
fragmento con los detalles de cada
servicio que ha sido seleccionado por el
usuario
SettingsActivity A PreferenceActivity that presents a set
of application settings.
SettingsActivity.DataSyncPreferenceFragment This fragment shows data and sync
preferences only.
SettingsActivity.GeneralPreferenceFragment This fragment shows general
preferences only.
SettingsActivity.NotificationPreferenceFragment This fragment shows notification
preferences only.
Tabla 23. Descripción de actividades aplicación
Package io.gothcorp.aicar.ui.fragments Description
Provee las clases para la gestión del comportamiento de cada uno los fragmentos dentro de
la aplicación (Fragments). Para propósitos de esta aplicación va relacionado a cada uno de los
servicios que consume.
99
Since:
Interface Summary
Interface Description
SimFragment.OnSimFragmentInteraction This interface must be implemented by
activities that contain this fragment to
allow an interaction in this fragment to
be communicated to the activity and
potentially other fragments contained in
that activity.
SimitFragment.OnFragmentInteractionListener This interface must be implemented by
activities that contain this fragment to
allow an interaction in this fragment to
be communicated to the activity and
potentially other fragments contained in
that activity.
Tabla 24. Descripción fragmentos de aplicación
Class Summary
Class Description
ServiceDetailActivityFragment A placeholder fragment containing a simple view.
SimFragment A simple Fragment subclass.
SimitFragment A simple Fragment subclass.
Tabla 25. Descripción fragmentos de aplicación por servicio
Package io.gothcorp.aicar.Utils Description
Provee una serie de clases que proporcionan funciones útiles usadas dentro de la aplicación
para una experiencia más intuitiva del usuario.
Since:
Class Summary
Class Description
GalleryUtil Esta clase ayuda con la gestión de lectura y recorte de fotos
ObjectSerializer Esta clase ayuda con la serialización de las clases para poder
100
transportarlas, a archivos, entre objetos, internet etc...
StorageUtil ayuda con la detección de almacenamiento para los dispositivos
móviles
StringUtils Esta clase ayuda con las validaciones de texto, email, contraseña,
números, placa valida entre otros.
TinyDB Esta clase ayuda con la gestión de la base de datos interna (SqlLite),
nos ayuda con el almacenamiento y lectura de objetos
Tabla 26. Descripción funciones útiles aplicación
3 Evaluación
Periódicamente se comparan los avances, las tendencias y los resultados obtenidos con
relación a lo proyectado y especificado en la fase de planear del proyecto.
Según el plan estratégico realizado las siguientes pruebas ayudan a identificar de la mejor
manera el flujo de procesos por servicio.
3.1 Pruebas de aceptación de cada requisito
ESTRUCTURA RUNT CP1
Descripción:
Se debe confirmar que la estructura creada en la base de datos coincida
con la información que devuelve el RUNT en su página web
Prerrequisitos
-base de datos Mysql
Pasos:
Realizar un query filtrado por número de cedula
Realizar un query filtrado por número de placa
Resultado esperado:
Debe devolver los datos que devuelve el RUNT en la página web bien
101
sea por cedula o placa
Resultado obtenido:
Los datos coinciden con la información que normalmente devuelve la
página web del RUNT
Tabla 27. Caso de prueba Estructura Runt
ESTRUCTURA SIMIT CP2
Descripción:
Se debe confirmar que la estructura creada en la base de datos coincida
con la información que devuelve el SIMIT en su página web
Prerrequisitos
-base de datos Mysql
Pasos:
Realizar un query filtrado por número de cedula
Realizar un query filtrado por número de placa
Resultado esperado:
Debe devolver los datos que devuelve el SIMIT en la página web bien
sea por cedula o placa
Resultado obtenido:
Los datos coinciden con la información que normalmente devuelve la
página web del SIMIT
102
Tabla 28. Caso de prueba Estructura Simit
ESTRUCTURA SIM CP3
Descripción:
Se debe confirmar que la estructura creada en la base de datos coincida
con la información que devuelve el SIM en su página web
Prerrequisitos
-base de datos Mysql
Pasos:
Realizar un query filtrado por número de cedula
Realizar un query filtrado por número de placa
Resultado esperado:
Debe devolver los datos que devuelve el SIM en la página web bien sea
por cedula o placa
Resultado obtenido:
Los datos coinciden con la información que normalmente devuelve la
página web del SIM
Tabla 29. Caso de prueba Estructura Sim
WEBSERVICE RUNT CP4
Descripción:
Este caso de prueba debe permitir verificar que el webservice devuelve
los datos correctos de acuerdo a los parámetros que recibe.
Prerrequisitos
-base de datos Mysql
103
-Base de datos RUNT
-Webservice RUNT desplegado en un servidor de aplicaciones
Pasos:
Realizar una solicitud a través de la barra de direcciones del navegador
enviándole como parámetros un numero de cedula que exista en la base
de datos y un número de placa que exista en la base de datos:
http://localhost:8080/WS-RUNT-
war/runt/co.com.runt.local.domain.persona/1024487499/RUT123
Resultado esperado:
Respuesta tipo JSON o XML con los datos de la persona consultada
Resultado obtenido:
Respuesta tipo JSON o XML con los datos de la persona consultada
Tabla 30. Caso de prueba WebService Runt
WEBSERVICE SIMIT CP5
Descripción:
Este caso de prueba debe permitir verificar que el webservice devuelve
los datos correctos de acuerdo a los parámetros que recibe.
Prerrequisitos
-base de datos Mysql
-Base de datos SIMIT
-Webservice SIMIT desplegado en un servidor de aplicaciones
Pasos:
Realizar una solicitud a través de la barra de direcciones del navegador
enviándole como parámetros un numero de cedula que exista en la base
de datos
http://localhost:8080/WS-SIMIT-
war/simit/co.com.simit.local.domain.conductor/1024487499
Resultado esperado:
Respuesta tipo JSON o XML con los datos de la persona consultada
104
Resultado obtenido:
Respuesta tipo JSON o XML con los datos de la persona consultada
Tabla 31. Caso de prueba WebService Simit
WEBSERVICE SIM CP6
Descripción:
Este caso de prueba debe permitir verificar que el webservice devuelve
los datos correctos de acuerdo a los parámetros que recibe.
Prerrequisitos
-base de datos Mysql
-Base de datos SIM
-Webservice SIM desplegado en un servidor de aplicaciones
Pasos:
Realizar una solicitud a través de la barra de direcciones del navegador
enviándole como parámetros un numero de cedula que exista en la base
de datos
http://192.168.0.2:8080/WS-SIM-
war/sim/co.com.sim.local.domain.conductor/1024487499/RUT123
Resultado esperado:
Respuesta tipo JSON o XML con los datos de la persona consultada
Resultado obtenido:
Respuesta tipo JSON o XML con los datos de la persona consultada
Tabla 32. Caso de prueba WebService Sim
Registro de usuario CP7
Descripción:
Con esta prueba se debe confirmar que el usuario puede registrar sus
datos de forma manual o con la ayuda de sus redes sociales
Prerrequisitos
-Base de datos Local en el dispositivo
-Conexión con las redes sociales (Facebook,Twitter,Google).
Pasos:
Ingresar a la pantalla de registro
105
Ingresar la información solicitada por la pantalla (campos requeridos)
Registrar el usuario
Resultado esperado:
Antes de abrir la pantalla de registro si oprimió cualquiera de los botones
de redes sociales debe cargar la información obtenida en los campos
correspondientes para realizar el registro.
Se debe registrar el usuario en el sistema y mostrar un mensaje.
Resultado obtenido:
El sistema registra el usuario de forma correcta bien sea de forma manual
y utilizando los botones de las redes sociales excepto Facebook ya que
genera un error de hashkey
Tabla 33. Caso de prueba Registro Usuario
Inicio de sesión CP8
Descripción:
Con esta prueba se debe confirmar que el usuario puede iniciar sesión
con sus credenciales de forma manual o con la ayuda de sus redes
sociales
Prerrequisitos
-Base de datos Local en el dispositivo
-Usuario registrado
-Conexión con las redes sociales (Facebook,Twitter,Google).
Pasos:
Ingresar a la pantalla de inicio de sesión
Ingresar el nombre de usuario y clave o utilizar los botones de las redes
sociales
Resultado esperado:
Luego de ingresar las credenciales debe iniciar sesión e ingresar a la
pantalla inicial de la aplicación.
Resultado obtenido:
El sistema inicia sesión y muestra la pantalla inicial.
Tabla 34. Caso de prueba Inicio Sesión
106
Editar perfil CP9
Descripción:
Con esta prueba se debe confirmar que el usuario puede actualizar los
datos que tiene registrados en la aplicación
Prerrequisitos
-Base de datos Local en el dispositivo
-Usuario registrado
Pasos:
Ingresar a la pantalla de editar perfil
Modificar los datos y guardar
Resultado esperado:
Luego de modificar los datos asociados al usuario se debe actualizar la
información del usuario
Resultado obtenido:
Se actualiza la información del usuario.
Tabla 35. Caso de prueba Editar Perfil
Consultar Servicios CP10
Descripción:
Con esta prueba se debe confirmar que el usuario puede consultar la
información correspondiente a su número de documento y al número de
placa que tiene asociado
Prerrequisitos
-Base de datos Local en el dispositivo
-webservice RUNT
-webservice SIM
-webservice SIMIT
-Usuario registrado
Pasos:
Ingresar a la pantalla inicial de la aplicación
Seleccionar un servicio y consultar los detalles de su información
Resultado esperado:
Al seleccionar a cada servicio se debe mostrar la información relacionada
107
a dicho servicio
Resultado obtenido:
El sistema muestra la información correcta.
Tabla 36. Caso de prueba Consulta de información
Detección de placa CP11
Descripción:
Con esta prueba se debe confirmar que la utilidad de reconocimiento de
placa, reconoce la placa y consulta la información
Prerrequisitos
-Base de datos Local en el dispositivo
-webservice RUNT
-webservice SIM
-webservice SIMIT
-Usuario registrado
Pasos:
Ingresar a la pantalla inicial de la aplicación
Seleccionar “Detección de placa”
Tomar la foto
Esperar el resultado
Resultado esperado:
AL tomar la foto la aplicación reconoce la placa y consulta la
información correspondiente.
Resultado obtenido:
La aplicación no siempre reconoce la placa, pero cuando lo hace consulta
de forma correcta la información asociada
Tabla 37. Caso de prueba detección de placa
Consulta de historial CP12
Descripción:
Con esta prueba se debe confirmar que el usuario puede consultar el
historial de consultas que ha realizado últimamente con la aplicación
Prerrequisitos
-Base de datos Local en el dispositivo
-Usuario registrado
Pasos:
Ingresar a la pantalla inicial de la aplicación
108
Ingresar en el menú a la opción de historial
Resultado esperado:
Un listado que muestra el número de placa detectado y consultado por la
aplicación además de la fotografía tomada.
Resultado obtenido:
Un listado que muestra el número de placa detectado y consultado por la
aplicación además de la fotografía tomada.
Tabla 38. Caso de prueba consulta de historial
4 Mejoramiento
En esta fase se hace la ejecución de la toma de decisiones relacionadas con el estado de los
servicios, el cual es determinado en la fase de verificación del proyecto y por ende se deben
ejecutar unas acciones de corrección basadas en los procesos y alcance del proyecto.
Objetivo Acción
Disponibilidad del sistema telemático De manera periódica se debe verificar la
comunicación e información que es
consultada por medio de los servicios Web.
Información Consistente En caso de que la información no sea
consistente, de debe realizar una búsqueda en
las bases de datos consultadas por los
servicios web para verificar su consistencia.
Seguridad al usuario La información obtenida por medio de los
servicios la debe conocer únicamente el
usuario que hace uso de los servicios del
sistema telemático, es por esto que se debe
realizar auditorías periódicas a la base de
datos para saber la consulta de la
información.
Errores del sistema En caso de presentar fallos como demoras en
109
tiempo de ejecución entre otros, se debe
hacer su debido mantenimiento sin que la
funcionalidad principal por servicio se vea
afectada.
Mantenimiento Preventivo El sistema telemático tendrá mantenimientos
periódicos debido a las actualizaciones de las
plataformas y herramientas de desarrollo
utilizadas, además el sistema telemático es
escalable y debe mantener mejorar periódicas
en cuanto a protocolos de comunicación y
mejoras en los procesos se refiera.
El sistema telemático podrá tener nuevas
funcionalidades futuras si es requerido.
Tabla 39. Procedimientos Correctivos Sistema Telemático
110
5 Conclusiones
La automatización de actividades o procesos manuales en tareas del software y luego
agrupadas en módulos de trabajo brinda eficiencia, facilidad en el manejo y seguridad en el
acceso a la información a sólo personas autorizadas.
La fase de planeación permitió identificar que al realizar el diseño de los procesos que
intervienen en el sistema telemático se llega a tener un mejor entendimiento de cómo debe ser
flujo de procesos y el flujo de información.
Por medio de la fase de evaluación se lograron identificar cuales procesos del sistema
telemático debían tener un mejoramiento continuo, debido a esta identificación el sistema
telemático para la integración de información vehicular es escalable y abierto a nuevas
funcionalidades futuras.
En la fase de desarrollo se ha conseguido el objetivo propuesto: se han diseñado
componentes Java reutilizables que pueden ser interconectados para facilitar el desarrollo de
aplicaciones distribuidas, dependiendo de los requisitos particulares del cliente, de una
manera automática o semiautomática.
En cuanto al sistema, los usuarios en general encuentran el beneficio que se obtiene al
usarlo y que justifica el esfuerzo necesario para su uso (Aprendizaje, atención, tiempo…),
resaltando la simplicidad, percepción visual e información que comunica.
111
5.1 Trabajos futuros
La primera línea de continuación de esta tesis es el desarrollo de una versión “eficiente'' de
los componentes propuestos. Durante todo el desarrollo de esta tesis nuestros objetivos han
sido aspectos de diseño de componentes reutilizables, su funcionalidad y su interconexión. La
eficiencia ha sido un aspecto secundario, y queda ahora como una primera línea de
continuación de esta tesis.
Durante el desarrollo de esta tesis se ha presupuesto siempre la correcta integración de los
servicios vehiculares principalmente los ofrecidos por el gobierno. Sin embargo, en la práctica
no necesariamente nos debemos limitar a servicios públicos, existen servicios privados que
pueden brindar información más al detalle sobre un vehículo en particular. Por esta razón se
considera apropiado incorporar servicios adicionales adaptados a los componentes
desarrollados dentro de los servicios web que alimentan el sistema que faciliten el acceso a
información vehicular que solo el usuario puede tener de forma privada.
112
6 Referencias Bibliográficas
Ricardo E. (2012). HISTORIA APPS MÓVILES. Septiembre 23, 2015, de N/A Recuperado
de:http://aplicacionesmovilescolombia.blogspot.com.co/2012/10/desarrollo-y-evolucion-de-
las.html
«Electronics -AGILE - Agile Software Technologies», 21-nov-2012. [En línea]. Disponible
en: http://virtual.vtt.fi/virtual/agile/mobiled.html. [Accedido: 26- sep-2015].
P. Abrahamsson, A. Hanhineva, H. Hulkko, T. Ihme, J. Jäälinoja, M. Korkala, J. Koskela, P.
Kyllönen, y O. Salo, «Mobile-D: an agile approach for mobile application development», en
Companion to the 19th annual ACM SIGPLAN conference on Objectoriented programming
systems, languages, and applications, 2004.
M. Satyanarayanan, «Fundamental Challenges in Mobile Computing,», oct. 1998.
Tony O’Brien of Siemens Building Technologies,ANPR Article Risk Magazine THE
BENEFITS OF RECOGNITION 23rd October 2007
LanceTalent - Talento freelance para tus proyectos online. Los 3 tipos de aplicaciones
móviles: ventajas e inconvenientes. Actualizada: 20 feb 2015 . [Fecha de consulta: 07
septiembre 2015]. Disponible en: http://www.lancetalent.com/blog/tipos-de-aplicaciones-
moviles-ventajas-inconvenientes/
Turmero Pablo (2015). Funcionamiento de los servicios web. [Figura]. Recuperado de
http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volu
men12_numero2/12Articulo_Rev-Tec-Num-2.pdf
Amaya Balaguera, Yohn Daniel (2013). Ciclo de desarrollo Mobile-D [Figura]. Recuperado
de http://www.monografias.com/trabajos107/servicios-web-ii/servicios-web-ii.shtml
113
Faibisoff, Sylvia G.; Ely, Donald P.. (1976). Information and Information Needs.. Columbia
Univ., New York, NY. Teachers College.: n/a.
BORKO, H. Information Science: What is it? American Documentation, v.19, n.1, p.3-5, Jan.
1968.
Chaim Zins. (17 JAN 2007). Knowledge Map of Information Science. Journal of the
American Society for Information Science and Technology: Wiley Periodicals.
Michael Buckland. (1991). INFORMATION AS THING. University of California: Berkeley.
P.351
INEED21. LA DISPERSIÓN INFORMACIONAL: UN PROBLEMA DE LA EMPRESA
ACTUAL. Actualizada: jun 26, 2012 . [Fecha de consulta: 07 septiembre 2015]. Disponible
en: http://ined21.com/la-dispersion-informacional-un-problema-de-la-empresa-actual/
top related