Professional Documents
Culture Documents
VEHCULOS
PROYECTO
TECNLOGO INFORMTICO
AUTORES
Aquino, Nicols
Becco, Diego
Eguia, Leonardo
Laporta, Emanuel
Sabalsagaray, Matas
TUTOR
Lpez, Montserrat
CONTENIDO
AGRADECIMIENTOS....................................................................................................................... 4
RESUMEN ...................................................................................................................................... 5
PALABRAS CLAVES ..................................................................................................................... 5
1. INTRODUCCIN ..................................................................................................................... 6
2. OBJETIVOS PLANTEADOS Y RESULTADOS ESPERADOS ......................................................... 8
3. ESTADO DEL ARTE ................................................................................................................. 9
3.1. MARCO TERICO ........................................................................................................... 9
3.1.1. EL PRODUCTO O SERVICIO ........................................................................................ 9
3.1.2. EL MERCADO ............................................................................................................. 9
3.1.3. LOS CLIENTES ........................................................................................................... 10
3.1.4. LA COMPETENCIA .................................................................................................... 10
3.2. MARCO LEGAL ............................................................................................................. 11
3.3. TECNOLOGAS.............................................................................................................. 11
3.3.1. WEB ............................................................................................................................... 11
3.3.1.1. WEBSOCKETS ................................................................................................... 12
3.3.2. ARQUITECTURAS ..................................................................................................... 12
3.3.2.1. MODELO CLIENTE SERVIDOR ........................................................................ 13
3.3.2.2. ARQUITECTURA EN CAPAS .............................................................................. 13
3.3.3. JAVA EE .................................................................................................................... 14
3.3.4. RESTFUL ................................................................................................................... 14
3.3.5. MOBILE .................................................................................................................... 14
3.3.5.1. APLICACIONES NATIVAS .................................................................................. 15
3.3.5.2. APLICACIONES WEB ......................................................................................... 15
3.3.5.3. APLICACIONES WEB NATIVAS .......................................................................... 15
3.3.6. PLATAFORMAS MOBILE........................................................................................... 16
3.3.6.1. ANDROID ......................................................................................................... 16
3.3.6.2. IOS ................................................................................................................... 16
3.3.6.3. WINDOWS MOBILE.......................................................................................... 17
3.4. HERRAMIENTAS RELACIONADAS ................................................................................ 18
3.4.1. IZAMERICA (NACIONAL) .......................................................................................... 18
3.4.1.1. DISEO WEB .................................................................................................... 18
3.4.1.2. LA SOLUCIN PLANTEADA............................................................................... 19
3.4.1.3. APLICACIN MOBILE ....................................................................................... 20
3.4.2. MULTICAR (NACIONAL) ........................................................................................... 20
3.4.2.1. DISEO WEB .................................................................................................... 21
3.4.2.2. LA SOLUCION PLANTEADA............................................................................... 25
3.4.2.3. APLICACIN MOBILE ....................................................................................... 25
3.4.3. BOOKINGCAR (INTERNACIONAL) ............................................................................ 26
3.4.3.1. DISEO WEB .................................................................................................... 26
3.4.3.2. LA SOLUCIN PLANTEADA............................................................................... 27
3.4.3.3. APLICACIN MOBILE ....................................................................................... 28
3.4.4. IBEXRENTACAR (SOFTWARE)................................................................................... 28
3.4.4.1. IBEXRENTACAR BASE ....................................................................................... 29
3.4.4.2. EXTENSIN CONTABILIDAD ............................................................................. 30
3.4.4.3. EXTENSIN PAGINA WEB / WIDGET INTEGRABLE .......................................... 30
3.4.4.4. EXTENSIN CONTRATOS ................................................................................. 31
3.4.4.5. APLICACIN MOBILE ....................................................................................... 31
3.4.4.6. IMGENES DEL PANEL DE ADMINISTRACIN ................................................. 32
3.4.4.7. IMGENES PAGINA WEB ................................................................................. 34
3.4.4.8. IMGENES APLICACIN MOBILE ..................................................................... 35
3.5. CONCLUSIONES ........................................................................................................... 36
4. ANLISIS DEL PROBLEMA .................................................................................................... 38
4.1. REQUERIMIENTOS DEL SISTEMA ................................................................................. 38
4.2. VISTA DEL MODELO DE CASOS DE USO....................................................................... 39
4.2.1. CASOS DE USO RELEVANTES A LA ARQUITECTURA................................................. 40
4.2.1.1. BUSCAR VEHCULO .......................................................................................... 40
4.2.1.2. AGENDAR RESERVA ......................................................................................... 40
4.2.1.3. ALQUILER DE VEHCULO .................................................................................. 40
4.3. DOMINIO DEL PROBLEMA ........................................................................................... 41
4.4. ARQUITECTURA DEL SISTEMA ..................................................................................... 42
4.4.1. TRAZABILIDAD DESDE EL MODELO DE CASOS DE USO AL MODELO DE DISEO .... 42
4.5. VISTA DEL MODELO DE DISEO .................................................................................. 43
4.5.1. DESCOMPOSICIN EN SUBSISTEMAS...................................................................... 43
4.5.2. WEB ......................................................................................................................... 43
4.5.3. APLICACIN ANDROID (APP ANDROID) .................................................................. 44
4.5.4. SERVICIOS ................................................................................................................ 44
4.5.5. PERSISTENCIA .......................................................................................................... 44
4.6. TRAZABILIDAD DESDE EL MODELO DE DISEO AL MODELO DE IMPLEMENTACIN . 45
4.6.1. VISTA DEL MODELO DE DISTRIBUCIN ................................................................... 45
4.6.2. VISTA DEL MODELO DE IMPLEMENTACIN ............................................................ 45
5. IMPLEMENTACIN .............................................................................................................. 46
5.1. METODOLOGAS DE TRABAJO ..................................................................................... 46
5.2. ENTORNO DE DESARROLLO......................................................................................... 47
5.3. ENTORNO DE EJECUCIN ............................................................................................ 48
5.4. TECNOLOGAS APLICADAS........................................................................................... 48
5.4.1. CAPA DE PERSISTENCIA ........................................................................................... 50
5.4.2. CAPA DE NEGOCIO .................................................................................................. 50
5.4.3. CAPA DE PRESENTACIN ......................................................................................... 51
5.4.3.1. WEB ................................................................................................................. 52
5.4.3.2. ANDROID ......................................................................................................... 54
5.5. PROBLEMAS ENCONTRADOS ...................................................................................... 54
5.6. HORAS DEDICADAS...................................................................................................... 55
5.7. LA HERRAMIENTA DESARROLLADA ............................................................................. 56
6. CONCLUSIONES ................................................................................................................... 60
6.1. TRABAJOS A FUTURO .................................................................................................. 60
7. REFERENCIAS ....................................................................................................................... 62
AGRADECIMIENTOS
Tambin queremos mostrar total gratitud a nuestra tutora, Montserrat Lpez, quien a
travs de su conocimiento y experiencia nos ha guiado desde el inicio, nos ha evacuado
nuestras dudas y nos ha brindado su apoyo, el cul ha sido clave para que pudisemos
culminar en tiempo y forma este proyecto.
4
RESUMEN
Uruguay se caracteriza por ser un pas con alto impacto en el sector turstico. Para
apoyar el desarrollo y crecimiento de dicho sector se busca ofrecer un servicio que
brinde a los turistas ciertas comodidades que an no estn lo suficientemente
explotadas a nivel local.
Adems, se desarrollar una aplicacin mvil para dispositivos Android, que permitir a
los clientes el acceso a la bsqueda de vehculos segn los criterios de necesidad,
permitindoles realizar pagos en el momento.
PALABRAS CLAVES
5
1. INTRODUCCIN
Una forma de atraer mayor cantidad de turistas es brindar servicios que generen confort
y satisfaccin para ellos, y sin duda los servicios ms codiciados son aquellos que brindan
movilidad e independencia para recorrer las reservas naturales y zonas de inters que
tiene el pas. Un servicio que provee de estas condiciones es aquel que brindan las
empresas de alquiler de vehculos.
Por otra parte, una forma de brindar un servicio redituable y que a su vez genere confort
y satisfaccin en un potencial consumidor, es permitirle hacer uso de dicho servicio en
el momento que lo desea y desde el lugar en donde se encuentre. Muchos actan de
forma impulsiva, y cuanto ms tiempo transcurra desde que surge la necesidad, mayor
es la posibilidad de que su inters decaiga. Es por este motivo que las empresas apoyan
sus estrategias de ventas en los avances tecnolgicos, como lo son las aplicaciones
mviles, las aplicaciones web y los sistemas de pago electrnico que permiten
aprovechar el impulso del cliente para satisfacer su necesidad de forma casi instantnea.
6
El siguiente captulo, titulado Objetivos Planteados y Resultados Esperados, hace
referencia a las necesidades planteadas por el cliente y los resultados que se esperan al
final del proyecto. En el captulo Estado del Arte, se presenta un marco conceptual que
servir de base terica para comprender los captulos posteriores. En el siguiente
captulo, Anlisis del Problema, se detalla la solucin referente a las aplicaciones
planteadas. Luego en el captulo Implementacin, se detalla el proceso de desarrollo,
los problemas encontrados y la evolucin del proyecto. Por ltimo, en el captulo
Conclusiones, se analizan los resultados obtenidos, el trabajo realizado y se plantean
eventuales mejoras que se pueden implementar e incorporar al sistema como trabajos
a futuro.
7
2. OBJETIVOS PLANTEADOS Y RESULTADOS ESPERADOS
El objetivo del proyecto consiste en analizar y desarrollar un sistema que brinde soporte
y oficie de plataforma de gestin para empresas dedicadas al alquiler de vehculos sin
conductor. Como parte del anlisis se espera estudiar las tecnologas JavaEE1 y
AngularJS2 para el desarrollo de una plataforma web y Android SDK3 para el desarrollo
de una plataforma para dispositivos mviles.
Se espera la realizacin de una aplicacin mvil disponible en Android que brinde a los
clientes de la compaa la posibilidad de buscar y reservar vehculos, permitiendo el
pago en lnea de dicha reserva.
Como solucin final se espera una aplicacin funcionando como resultado al problema
planteado.
8
3. ESTADO DEL ARTE
Esta seccin formaliza e intenta expresar de forma clara la investigacin realizada sobre
las aplicaciones web y mviles, as como tecnologas aplicadas para cada desarrollo en
lo que refiere a sistemas para administracin y gestin de empresas de alquiler de
vehculos.
El servicio brindado por las empresas de alquiler de vehculos sin conductor es opcin
clara para aquellos que buscan comodidad, confort, independencia y facilidad en el
traslado, ya que brindan la posibilidad de adquirir un medio de transporte por un lapso
de tiempo que puede variar segn las necesidades del cliente.
3.1.2. EL MERCADO
9
3.1.3. LOS CLIENTES
Turistas nacionales
Son aquellos que no cuentan con vehculo propio y desean recorrer el
territorio nacional sin necesidad de depender de horarios.
Turistas extranjeros
Son aquellos turistas que arriban al pas y requieren de un medio de
transporte para recorrer el territorio nacional. Este tipo de cliente es el ms
frecuente.
Empresas
Las empresas muchas veces cuentan con la necesidad de trasladar a sus
funcionarios a otro punto del pas, por lo que muchas veces se deciden por
contratar este tipo de servicios para no depender de los horarios definidos
por otro tipo de empresas de transporte.
Eventos
Este tipo de cliente hace referencia a aquellos que desean rentar un vehculo
para eventos especficos, como casamientos, fiestas de 15, graduaciones,
etc.
Clientes puntuales
Esta ltima categorizacin refiere a aquellos clientes no habituales, los cuales
no utilizan recurrentemente este tipo de servicios, un claro ejemplo es una
persona que cuenta con vehculo propio en donde el mismo podra estar en
mantenimiento y requiere hacer uso del servicio de alquiler.
3.1.4. LA COMPETENCIA
10
3.2. MARCO LEGAL
El artculo 14 dictamina que las unidades afectadas a la empresa no pueden tener una
antigedad mayor a cuatro aos, salvo en caso de vehculos de coleccin, entindase
por los de coleccin, vehculos con ms de 35 aos de antigedad que posean
caractersticas singulares propias o derivadas de escasez manifiesta y que acrediten
estar habilitados para circular.
El artculo 17 establece que anualmente se debe enviar una declaracin jurada segn
formulario expedido por el RPST.
3.3. TECNOLOGAS
3.3.1. WEB
11
La Internet, tambin conocida como World Wide Web (WWW), se puede entender como
una red mundial de computadoras que permite el acceso a diferentes tipos de
informacin, as como tambin, el intercambio de diferentes tipos de archivos a travs
de sitios y pginas web, publicadas por servidores web, accedidas por navegadores web.
Todos los conceptos descritos anteriormente, son abarcados por lo que se denomina
Tecnologas Web, siendo estas las herramientas que faciliten el desarrollo de sitios web.
Estas permiten lograr mejores y ms rpidos resultados, principalmente tiles a la hora
de escalar las soluciones alcanzadas.
3.3.1.1. WEBSOCKETS
3.3.2. ARQUITECTURAS
12
3.3.2.1. MODELO CLIENTE SERVIDOR
En las aplicaciones web, generalmente el usuario final, o en este caso cliente, inicia una
comunicacin cuando desea acceder o interactuar con el servicio. El cliente en este caso
entra en contacto con el servidor, quien le brinda la informacin deseada, o
eventualmente reacciona ante la peticin del cliente. En este modelo el cliente no es
tanto el usuario, sino el programa o dispositivo que entra en contacto con el servidor
remoto a efectos de lograr la interaccin deseada.
La arquitectura en capas propone separar la lgica del negocio del diseo de la interfaz
de usuario. De esta forma se facilita el mantenimiento del sistema, y el desarrollo inicial
del mismo, permitiendo abstraerse de la solucin y concentrarse en una capa puntual.
Capa de presentacin
Es la cara visible de la aplicacin, la que permite al usuario hacerse de la
informacin solicitada, o interactuar con el servicio ofrecido. En ella el usuario
ingresa datos que posteriormente son enviados a la siguiente capa, a la vez que
recibe los resultados obtenidos de la misma, la capa de negocio.
Capa de negocio
Cada negocio o escenario plantea y define sus propias reglas, a las cuales se les
denomina reglas de negocio. Estas reglas son el ncleo de la aplicacin o sistema
y son las que definen las funcionalidades que se ofrecen en el mismo. De ah el
nombre de esta capa. Para sustentar estas reglas, es aqu donde el sistema
ejecuta, procesa y resuelve las peticiones de cada cliente, devolviendo datos en
caso de ser necesario. Para poder realizar estas acciones, es necesario
interactuar con la siguiente capa de la arquitectura, la capa de datos.
Capa de datos
La capa de acceso a datos, o simplemente capa de datos, es la encargada de
procesar las peticiones de datos, y devolverlas a la capa anterior, as como
actualizar o agregar informacin al juego de datos. Por este motivo es la
encargada de comunicarse con los datos mismos, los que se suelen persistir, ya
sea en sistemas de archivos, base de datos, o algn otro modo de
almacenamiento.
13
3.3.3. JAVA EE
3.3.4. RESTFUL
Estos servicios son livianos, escalables y fciles de mantener, por ello son considerados
el estilo de arquitectura ms adecuado para el desarrollo de aplicaciones web. Tambin
existen otros servicios, tales como SOAP9 (Simple Object Access Protocol) que estn
basados en lenguaje XML, permiten la interaccin entre varios dispositivos y tienen la
capacidad de transmitir informacin compleja.
3.3.5. MOBILE
Aunque el telfono mvil una vez fue considerado como un lujo para ejecutivos de
negocios y los ricos, se ha convertido en una necesidad para la mayora de la gente en
el mundo de hoy. Los telfonos celulares han tenido un impacto en casi todas las reas
de la cultura, y van a seguir cambiando la forma de interactuar con otras personas.
(Arthur, s.f.)
14
El trmino Mobile10 hoy en da no solo aplica a telfonos mviles en s mismos, sino que
tambin abarca otros dispositivos, como Tablets, Smartphones, Smart TV entre otros,
que permiten acceder a aplicaciones en cualquier momento y desde casi cualquier
ubicacin. Este avance tecnolgico ha conllevado a un incremento exponencial de las
aplicaciones que soportan estos dispositivos, por lo que el mercado de dichas
aplicaciones mviles o Apps no ha parado de crecer.
Se pueden encontrar 3 tipos de aplicaciones mviles11, las cuales se pueden adaptar
mejor unas que otras segn las circunstancias. Estas se describen a continuacin.
Este tipo de aplicacin se desarrolla sobre Software Development Kit o SDK, que es un
conjunto de herramientas que ayudan a programar la aplicacin para un entorno
tecnolgico especfico. Al existir distintas plataformas, como Android, iOS o Windows
Mobile, y cada una de ellas contar con un sistema totalmente diferente, si se desea tener
un sistema en todas las plataformas, es necesario crear varias Apps con el lenguaje del
sistema operativo correspondiente.
Una aplicacin web o web App es aquella que se ejecuta dentro del propio navegador
web del dispositivo a travs de una URL. Tiene la ventaja de no requerir instalacin en
el dispositivo, lo que, a su vez, facilita a nivel de desarrollo, ya que permite programar
una nica App independientemente del sistema operativo en el que se vaya a ejecutar.
Las aplicaciones web nativas, tambin conocidas como aplicaciones hbridas, son
aquellas que comparten caractersticas de las aplicaciones web y las aplicaciones
nativas. Se podra decir que es un tipo de App que recoge lo mejor de los dos tipos de
aplicaciones mencionados anteriormente, ya que se desarrollan para ser ejecutadas a
15
travs de un navegador al igual que la web App, pero a su vez permiten cierta integracin
con el dispositivo, permitiendo acceder a algunas de sus caractersticas de hardware.
3.3.6.1. ANDROID
Ventajas
Desventajas
3.3.6.2. IOS
16
operativo basado en el mismo sistema), pero a diferencia de este ltimo, iOS y OS X son
sistemas operativos propietarios de Apple y estn cerrados para el uso especfico de sus
dispositivos, mientras que Linux es de cdigo abierto y puede ser utilizado en una
infinidad de dispositivos.
Ventajas
Un buen punto a favor de iOS es que aun siendo un sistema operativo pura y
exclusivamente para dispositivos de la marca Apple, sta libera su kit de
desarrollo para que pueda ser mejorado por otros desarrolladores, haciendo
que, de esta forma, la App Store sea considerada la tienda con mayor cantidad
de aplicaciones disponibles.
Tiempo de respuesta de aplicaciones es muy bueno.
Interfaz intuitiva.
Desventajas
Ventajas
17
Desventajas
IZAmerica Rent a Car16 es una empresa nacional creada en abril de 2010 en base a un
proyecto familiar. Tiene como objetivo principal satisfacer la demanda de vehculos para
pblico general, ofreciendo atencin personalizada las 24 horas.
18
Imagen I Pgina principal de izamerica.com.uy.
19
Adems de IZAmerica se evaluaron otras compaas nacionales como, por ejemplo, Plus
Rent a Car, obteniendo del anlisis resultados similares.
Fortalezas:
Debilidades:
20
3.4.2.1. DISEO WEB
21
Imagen IV Parte inferior de la pgina de inicio de Multicar.
22
Imagen VI Primer paso para la reserva de vehculo (Seleccin de fechas y lugares de
recogida y devolucin, as como tambin estimacin de kilometraje a recorrer).
Imagen VII Segundo paso para la reserva de vehculo (Seleccin de coche segn
necesidades ya sea por rango de precio o categoras).
23
Imagen VIII Tercer paso en la reserva de vehculo (Seleccin de adicionales).
24
3.4.2.2. LA SOLUCION PLANTEADA
A nivel informativo destaca datos de la flota disponible por la compaa, una vista de
mapa con los locales y los puntos de auxilio mecnico de la compaa, una seccin de
preguntas frecuentes y un chat para atencin personalizada.
Fortalezas:
Debilidades:
25
3.4.3. BOOKINGCAR (INTERNACIONAL)
26
Imagen XI Seleccin de vehculo.
27
pagos en lnea, como un sistema de cancelacin de las mismas, adems permite realizar
bsquedas en distintos pases seleccionando a su vez punto de recogida como punto de
devolucin en diferentes localidades.
Si bien es un sistema orientado a el usuario, este en algunos casos es poco amigable
debido a la cantidad de pasos a seguir en el proceso de reserva, donde algunos de ellos
son bastantes complejos y poco intuitivos.
Fortalezas:
Debilidades:
28
software como servicio (Software as a Service o SaaS). Es una solucin 100% en la nube,
por esto cuenta con acceso online desde cualquier dispositivo y plataforma que cuente
con conexin a internet.
Esta solucin est dividida en un software base y luego extensiones las cuales incluyen
mdulos adicionales para mejorar las prestaciones que brinda el software. Ibexestudio
tambin provee una aplicacin nativa para Android con las mismas prestaciones que
brinda la pgina web para el cliente.
A su vez cuenta con un gestor de tarifas que permite programar descuentos al realizar
reservas por lapso de varios das, calculando automticamente el costo total del alquiler,
aun cuando se incluyen extras.
29
3.4.4.2. EXTENSIN CONTABILIDAD
Facturacin y proveedores
Informe facturacin
Esta extensin cuenta con una pgina web bajo plantilla con configuracin de logotipo
y color corporativo, la cual cuenta con un motor de reserva, stock de vehculos
sincronizado con el panel de gestin y con sistema de pago a travs de PayPal, TPV
(Terminal Punto de Venta) online, TPV manual o por transferencia bancaria. Adems,
cuenta con un widget integrable para permitir contar de forma sencilla con todas las
funcionalidades del sistema de reservas online en un sitio web ya existente.
Sin dudas este es un mdulo indispensable, no solo a la hora de quitar los limitantes
geogrficos, sino tambin para brindar disponibilidad las 24 horas del da y poder agilizar
las operaciones.
30
3.4.4.4. EXTENSIN CONTRATOS
El mdulo contratos tiene como objetivo optimizar las gestiones administrativas, ya que
permite tener organizada la informacin relacionada a los alquileres. Genera, guarda e
imprime los contratos de las reservas generadas y registra los movimientos financieros
en cada una de ellas, para tener controlados los ingresos y devoluciones.
Finanzas
Contratos
Ibexrentacar cuenta con una aplicacin Mobile nativa para Android en la que permite a
los usuarios ver el booking de vehculos para alquilar, realizar reservas, ver ubicaciones
de las oficinas y contactar con personal de la empresa de alquiler. A su vez cuenta con
una seccin exclusiva, asistencia en carretera, que permite a los usuarios que han
alquilado vehculos obtener ayuda inmediata y personalizada en casos de experimentar
problemas con el vehculo alquilado.
Ventajas:
31
Desventajas:
Dashboard
En la imagen XIII se puede ver el dashboard del panel de administracin del sistema,
desde donde se puede acceder a todas las secciones del backoffice, y a su vez se muestra
informacin de utilidad como, por ejemplo, las reservas e ingresos de un rango de
fechas, las ultimas reservas creadas y la agenda de entrada/salida de vehculos para el
da.
32
Gestor de reservas
En la imagen XIV se muestra informacin sobre las reservas, ranking de reservas por
grupo de vehculos, cantidad de das promedio por reserva, cantidad de reservas por
modelo, importe promedio por reservas, etc. Tambin permite generar una reserva
manual por personal de la compaa.
Gestin de flota
33
Imagen XV Gestin de flota.
En la imagen XVII se puede ver la pgina web a la cual acceden los clientes, en este caso
se presenta la opcin de reserva para un modelo de coche en particular. En el momento
de gestionar la reserva se puede ver la informacin relacionada al vehculo y sus
prestaciones.
34
Imagen XVII Pgina web para clientes al momento de reservar un vehculo en
particular.
35
Imagen XVIII. Imagen XIX. Imagen XX.
3.5. CONCLUSIONES
Por otra parte, en la bsqueda de software para gestin de una compaa de alquiler de
coches, se detect que en su mayora se brindan de forma de software como servicio,
es decir, que estn alojados en la nube sin brindar la posibilidad al cliente de instalar el
sistema en sus propios servidores.
36
la posibilidad de que el cliente escoja entre un software como servicio, es decir a travs
de la nube, o un sistema instalado en sus instalaciones bajo sus propios protocolos y
medidas de seguridad. Como complemento a la experiencia del usuario se brindar un
mdulo extra que ser una aplicacin Mobile nativa para dispositivos Android.
37
4. ANLISIS DEL PROBLEMA
Esta seccin tiene el propsito de oficiar como medio de comunicacin entre el cliente
y los desarrolladores, sirviendo como base contractual en la que se especificarn los
requerimientos funcionales y no funcionales a implementar.
Tambin se implementar una aplicacin para dispositivos mviles que permitir a los
clientes realizar el proceso de bsqueda y reserva desde dispositivos con sistema
operativo Android.
38
4.2. VISTA DEL MODELO DE CASOS DE USO
39
4.2.1. CASOS DE USO RELEVANTES A LA ARQUITECTURA
Los casos de uso que se expondrn en esta seccin se consideran relevantes dado que
afectan a la mayor cantidad de capas de la aplicacin. Estos casos fueron los primeros
en ser modelados e implementados.
Permite tanto desde la web como desde la aplicacin mvil realizar la bsqueda de un
vehculo segn ciertos parmetros, como ser fecha y sucursal de recogida y devolucin,
rango de precios, tipo de transmisin, tipo de combustible y cantidad de pasajeros.
Para visualizar la descripcin de todos los casos de uso, ver el Anexo II (Modelo de Casos
de Uso).
40
4.3. DOMINIO DEL PROBLEMA
41
4.4. ARQUITECTURA DEL SISTEMA
La Vista Lgica se utiliza para marcar la trazabilidad entre el Modelo de Casos de Uso y
el Modelo de Diseo, identificando los objetos y subsistemas de diseo que intervienen
en el caso de uso y sus relaciones.
42
4.5. VISTA DEL MODELO DE DISEO
4.5.2. WEB
Este subsistema de presentacin permite a los diferentes tipos de usuarios del sistema
(roles), el acceso a los distintos mdulos del sistema.
Dependiendo del rol del usuario que accede al sistema sern las herramientas ofrecidas.
Entre los roles disponibles se encuentran los empleados (cuyo rol es EMPLEADO)
quienes podrn gestionar y validar los datos de los clientes, realizar la entrega (alquiler)
de vehculos, registrar la devolucin de los mismos, modificar las tarifas, gestionar los
cdigos promocionales, enviar los coches a mantenimiento y dar de alta nuevos
accesorios extra. Tambin se encuentran los clientes (cuyo rol es CLIENTE) quienes
pueden realizar bsquedas de vehculos, reservarlos, abonar reservas y comunicarse con
los empleados mediante el sistema de chat.
43
4.5.3. APLICACIN ANDROID (APP ANDROID)
Este subsistema corresponde a la App de los clientes, permite que los usuarios con rol
CLIENTE inicien sesin en el sistema, realicen bsquedas de vehculos, generen y abonen
la reserva y puedan ver un historial de los alquileres realizados.
4.5.4. SERVICIOS
Este subsistema provee las funcionalidades del sistema como servicios, tanto remotos
como locales, para que los subsistemas de presentacin puedan operar con estas
funcionalidades.
4.5.5. PERSISTENCIA
Este subsistema se encarga del acceso a datos persistentes necesarios para que la
aplicacin mantenga su informacin en el tiempo. Ofrece interfaces al subsistema de
Servicios (los datos son consumidos por la Lgica de Negocio).
44
4.6. TRAZABILIDAD DESDE EL MODELO DE DISEO AL MODELO
DE IMPLEMENTACIN
45
5. IMPLEMENTACIN
Para el desarrollo del proyecto se definieron roles desde el inicio del mismo en base a
los conocimientos terico-prcticos previos de los integrantes del equipo. Una vez
definidos los roles, se estableci una planificacin de trabajo, mediante la herramienta
Microsoft Project23, donde se definieron y asignaron las tareas divididas en cuatro fases
o sprints24 (Estado del arte y pruebas de concepto, Anlisis, diseo e implementacin
de casos de uso crticos, Implementacin, Testing y documentacin final) y se
realiz una estimacin de esfuerzo por tarea. Luego se pautaron reuniones semanales
con los miembros del equipo para evaluar los avances obtenidos, comparar los tiempos
reales con los estimados y de ser necesario modificar el cronograma inicial. Tambin se
definieron reuniones quincenales con la tutora del equipo para realizar relevamientos
de los avances obtenidos.
Backend Developer: quien tuviese este rol, sera el encargado de estudiar las
posibles tecnologas aplicables en la capa de persistencia y negocio de la
aplicacin, definir los protocolos adecuados para la seguridad, y generar los
46
servicios que luego seran consumidos por la capa de presentacin. Debido a la
complejidad de las responsabilidades, se decidi que este rol sea asumido por
dos integrantes del equipo.
Cliente: Si bien ste no sera un rol definido en la planificacin, fue asumido por
la tutora del equipo, quien realiz devoluciones en base a los avances que se
presentaban en cada reunin de monitoreo.
Si bien los roles estaban definidos desde el inicio, en algunas ocasiones algn miembro
del equipo podra brindar apoyo a otro que se encontrase bloqueado con sus tareas.
Se cre en primera instancia una mquina virtual (VM), utilizando la herramienta Virtual
Box25 de la empresa Oracle26, para configurar el entorno de desarrollo y luego replicarlo
a todos los miembros del equipo. Se utiliz como sistema operativo base para el
desarrollo de la aplicacin Debian GNU/Linux27.
El IDE empleado para desarrollar el backend y el frontend web fue Eclipse Neon. A este
IDE se le agreg el pluggin para trabajar con el framework Spring. A su vez para el
desarrollo del frontend web se le agreg al IDE el pluggin de AngularJS para facilitar el
desarrollo del mismo.
Para la base SQL29 se utiliz PostgreSQL 9.230 y como gestor de base de datos se emple
pgAdmin III31. Para la base NoSQL32 se utiliz MongoDB 3.033 y como gestor de base de
datos se utiliz Robomongo34.
47
Como servidor de aplicaciones se utiliz Wildfly 1035.
Para ejecutar la aplicacin para dispositivos mviles se requiere contar con un equipo
cuyo sistema operativo sea Android en su versin 5.0 o superior.
Esta seccin brinda detalles de las tecnologas aplicadas para resolver las distintas
funcionalidades de la aplicacin. Se utiliz una implementacin por capas, con una
arquitectura cliente servidor.
48
el proyecto an no contaba con la certificacin para Java EE 7. La segunda opcin, la
elegida para este proyecto, fue Wildfly 10 (anteriormente conocido como JBoss), debido
a que contaba con la certificacin mencionada anteriormente.
Para este proyecto se utiliz Spring40, que es un framework de aplicaciones Java/J2EE
desarrollado usando licencia de OpenSource. Spring se basa en una configuracin de
base de JavaBeans41 bastante simple. Tiene plantillas que permiten un uso ms sencillo
de Hibernate42, JDBC43 (Java Database Connectivity) entre otros. Ofrece un ligero
contenedor de bean para los objetos de la capa de negocio, DAOs, repositorio de
Datasources JDBC y sesiones Hibernate.
La meta de Spring es separar los accesos a datos y los aspectos relacionados con las
transacciones, para permitir objetos de la capa de negocio reutilizables que no
dependan de ninguna estrategia de acceso a datos o transacciones.
Spring proporciona:
Integracin con Hibernate, JDO45 (Java Data Object) e iBatis SQL Maps46 en
trminos de soporte a implementaciones DAO y estrategias con transacciones.
Especial soporte a Hibernate y solucionando muchos de los problemas comunes
de integracin.
49
que una capa modelo realizada con Spring pueda ser fcilmente utilizada con una
capa web basada en cualquier otro framework MVC.
Para persistir los datos de opt por utilizar dos bases de datos, una SQL para la cual se
eligi PostgreSQL, y una NoSQL, en este caso se utiliz MongoDB.
Para disear la capa de negocio se utiliz el JDK 1.8 con el framework de Spring MVC en
su versin 4.2.1, con Maven55 como repositorio y manejador de dependencias.
Esta capa cuenta con el acceso a la capa de persistencia utilizando las libreras de
Hibernate para el mapeo de las bases relacionales y Spring Data MongoDB56 para la no
50
relacional. Asimismo, cuenta con procesos programados diariamente para el envo de
correos a los clientes y empleados, utilizando el gestor de tareas de Spring y la librera
de correos tambin brindad por Spring.
A su vez esta capa expone servicios REST para la aplicacin Mobile y controladores para
la parte web todos provistos y manejados por el framework de Spring, utilizando las
libreras de Jackson57 para el mapeo de los objetos que interactan entre esta capa y la
de presentacin, convirtindolos de objetos JSON a objetos declarados en Java.
Cabe destacar que para la comunicacin con los clientes de la aplicacin se utiliza
conexin cifrada mediante el protocolo de seguridad SSL58.
Esta capa cuenta con dos aplicaciones, una web realizada utilizando AngularJS y una para
dispositivos mviles desarrollada para Android.
51
5.4.3.1. WEB
La comunicacin de la capa web con la lgica se realiza mediante los servicios REST
utilizando el mdulo ngResource66 brindado por Angular que provee el soporte de
interaccin con los servicios RESTful y se presenta como alternativa al servicio $http67.
El sistema de pagos en lnea se realiza a travs de la API de PayPal la cual permite realizar
una transaccin segura mediante tokens, protegiendo los datos del cliente dado que
stos son operados exclusivamente por PayPal, a continuacin, en la imagen XXVII se
muestra el flujo de la API.
52
Imagen XXVII Flujo del proceso de pago mediante la API de PayPal68.
La aplicacin web est provista con un sistema de chat, para facilitar la comunicacin
entre clientes y empleados, as como tambin entre los propios empleados. Para brindar
este servicio se utilizaron las libreras de CometD69, utilizando la funcionalidad de envo
de mensajes de tipo peer-to-peer o P2P70, en donde los mensajes son enviados por un
emisor a un receptor especfico.
53
Algunos de los sitios que utilizan comet son:
Gmail72
Facebook73
5.4.3.2. ANDROID
La librera Volley tambin cuenta con un soporte incorporado para la carga de imgenes.
Este se empaqueta con un cargador de una vista personalizada llamada
NetworkImageView76 que est especialmente diseada para descargar y mostrar
imgenes guardndolas en la memoria cach.
Para realizar pagos desde la aplicacin mvil se utiliz la SDK de PayPal77 que permite
realizar compras in-app brindando la posibilidad de pagar a travs de la cuenta de
PayPal o tomando una fotografa de la tarjeta de crdito.
Uno de los problemas que ms afect al equipo tuvo que ver con el entorno de
desarrollo. Al estar trabajando en un equipo virtual con un sistema operativo de 64-bits,
con el pasar del tiempo y al utilizar cada vez ms herramientas y alguna de ellas con gran
consumo de memoria, se generaron problemas en los equipos (sobre todo los portables)
que contaban con menos de 8GB de memoria RAM.
54
Ante esta problemtica se procedi a quitar pluggins innecesarios de Eclipse, maximizar
la capacidad de memoria RAM de la virtual, dejando el mnimo necesario para que el
sistema operativo nativo opere. Y en algn equipo se procedi a clonar el equipo
virtual a una particin fsica.
Otro gran problema encontrado, fue en la fase de desarrollo del mdulo de reserva, al
momento de implementar el pago va PayPal. Este ao PayPal realiz cambios
importantes y desarroll nuevas APIs ms potentes, usando tecnologas REST y nuevos
SDK para las aplicaciones mviles. Esto gener que los tutoriales de SandBox80 que se
utilizaban anteriormente ya no fueran vlidos y que se tuviese que invertir ms tiempo
en una investigacin ms a fondo sobre estas nuevas APIs.
55
El tiempo real de trabajo en el proyecto tuvo una desviacin del 20% en base a lo
estimado. En total se trabajaron 1920 horas, dando como promedio 384 horas por
recuso, es decir, una carga de 24 horas semanales. A continuacin, en la Tabla I se
presentan las horas previstas y reales dividas segn las etapas del proyecto.
La aplicacin lograda, bajo el nombre de Rent-UY, est compuesta por una plataforma
web, la cual gestiona y almacena la informacin referente a la empresa. En dicha
aplicacin se puede encontrar un backoffice orientado a administradores y empleados
de la empresa y un frontoffice destinado a los clientes.
La aplicacin nativa para dispositivos Android permite a los clientes tener una
experiencia de obtener el servicio en el momento de ser requerido, ya que se les permite
realizar las bsquedas y las reservas desde sus dispositivos en el momento que lo desean
y en el lugar en donde se encuentren.
A continuacin, se presentan algunas capturas de pantalla de la solucin final. En las
imgenes XXVIII, XXIX, XXX, XXXI y XXXII se muestra la plataforma web.
56
Imagen XXVIII. Pgina de inicio de la plataforma web Rent-UY.
57
Imagen XXXI. Opcin para cancelar la reserva o confirmarla para proceder con el
pago.
58
En las imgenes XXXIII y XXXIV se visualiza la plataforma para dispositivos Android.
Imagen XXXIV. Confirmacin de reserva con seleccin de extras, login para proceder al
pago y opciones de pago mediante PayPal.
59
6. CONCLUSIONES
Para poder llevar a cabo este proyecto se tuvo que estudiar la esencia de las empresas
de alquiler de vehculos, el mercado en el que operan, y los posibles clientes a captar. Al
realizar dicha investigacin se analiz el enfoque y las prestaciones de empresas
nacionales e internacionales y se detect que en Uruguay la gran mayora de las
empresas de este rubro tienen un debe en cuanto a los medios por los cuales ofrecen
sus servicios.
En Uruguay, al da de hoy no existe una empresa nacional del rubro alquiler de vehculos
que permita a sus clientes realizar el pago de una reserva desde su plataforma web, y
menos an desde una aplicacin para dispositivos mviles.
Para poder llevar a cabo un desarrollo que cumpliese con las necesidades requeridas, se
plantearon 25 casos de uso para la plataforma web y de los cuales 5 tambin estaran
disponibles en la aplicacin para dispositivos mviles. El 100% de los casos fueron
abordados y completados con xito.
En base a las opciones brindadas a nivel local, se considera que se ha obtenido una
plataforma eficaz, amigable y competente dentro del plano mencionado. Asimismo,
debido a los tiempos acotados, se decidi por cubrir solamente los requerimientos
solicitados por el cliente dejando de lado algunas ideas que surgan durante el desarrollo
del proyecto, es por ello que se considera que la aplicacin an tiene mucho margen de
crecimiento si se la compara con alguna otra existente dentro del plano internacional. A
continuacin, se presenta el apartado trabajos a futuro donde se plantean posibles
mejoras que ayudaran a esta aplicacin a competir y ser una excelente opcin en el
plano internacional.
60
Realizando un deploy en la nube de la aplicacin multi-tenant sta se podra
comercializar como servicio (SaaS, Software as a Service). Pensando en la escalabilidad
que se le podra dar a la aplicacin fue que se decidi por incluir una base de datos no
relacional.
Permitir otros medios de pago. Al da de hoy existen mltiples plataformas para realizar
pagos en lnea, algunas nacionales como por ejemplo Paganza82 y otras internacionales
como es el caso de Google Wallet83.
Otra alternativa sera permitir el pago directo con tarjeta de crdito, tanto a travs de la
web como presencial en la sucursal mediante un sistema de mquinas POS84
(denominacin que proviene de la abreviatura que se le atribuye en ingls: point of sale,
que traducido al espaol significa punto de venta). Esta ltima opcin se manej durante
el proyecto, incluso el equipo lleg a comunicarse con una empresa proveedora de
mquinas POS para investigar el funcionamiento e intentar adquirir algn dispositivo
para realizar pruebas. Esto no se pudo realizar debido a que dichos dispositivos eran
alquilados por un lapso de tiempo corto a un costo elevado.
61
7. REFERENCIAS
1
JavaEE. Oracle Corporation. Recuperado el 06 de diciembre de 2016, de
http://www.oracle.com/technetwork/java/javaee/overview/index.html
2
AngularJS. Google, Inc. Recuperado el 06 de diciembre de 2016, de https://angularjs.org/
3
Android SDK. Google, Inc. Recuperado el 06 de diciembre de 2016, de
https://developer.android.com/studio/index.html
4
Empresa e Iniciativa Emprendedora. (24 de febrero de 2012). Recuperado el 25 de agosto de
2016, de http://www.empresaeiniciativaemprendedora.com/?Montar-una-Empresa-de-
Alquiler-de
5
Merino, M., & Prez Porto, J. (2013). Definicion.de, 2. Recuperado el 17 de agosto de 2016,
de Definicin de Web: http://definicion.de/web/
6
Cervantes, H. (abril de 2010). SG Buzz. (SG) Recuperado el 25 de 08 de 2016, de
http://sg.com.mx/revista/27/arquitectura-software#.V8HSOph96Uk
7
Alicante, U. d. Especialista Universitario en Java Enterprise. Recuperado el 17 de agosto de
2016, de Entra en el mundo de Java Enterprise: http://www.jtech.ua.es/j2ee/2006-
2007/jee.html
8
RESTful. Oracle Corporation. Recuperado el 26 de setiembre de 2016, de
http://docs.oracle.com/javaee/6/tutorial/doc/gijqy.html
9
W3C. Recuperado el 26 de Setiembre de 2016, de
http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
10
Arthur, L. eHow en espaol. (L. G. Cejas, Editor) Recuperado el 29 de agosto de 2016, de
http://www.ehowenespanol.com/impactos-culturales-del-telefono-celular-info_293242/
11
LanceTalent. (20 de febrero de 2014). LanceTalent. Recuperado el 29 de agosto de 2016, de
https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-inconvenientes/
12
Android. Google, Inc. Recuperado el 02 de Setiembre de 2016, de
https://www.android.com/
13
iOS. Apple, Inc. Recuperado el 02 de Setiembre de 2016, de
http://www.apple.com/ios/ios-10/
14
Apple. Apple, Inc. Recuperado el 02 de Setiembre de 2016, de http://www.apple.com/
15
Window. Microsoft Corporation. Recuperado el 02 de Setiembre de 2016, de
https://www.microsoft.com/es-xl/windows
62
16
IZAmerica. (2011). IZAmerica Rent a Car. Recuperado el 10 de Setiembre de 2016, de
http://izamerica.com.uy/
17
Multicar. (2016). Multicar Rent a Car. Recuperado el 17 de Setiembre de 2016, de
http://www.multicar.com.uy/
18
CarTrawler. BookingCar. Recuperado el 11 de Setiembre de 2016, de
https://www.bookingcar.com
19
Ibexstudio. (2016). Ibexrentacar. Recuperado el 14 de Setiembre de 2016, de
http://www.ibexrentacar.com/es
20
Ibexestudio. Recuperado el 14 de setiembre de2016, de http://www.ibexestudio.com/es
21
PayPal. Paypal, Inc. Recuperado el 06 de diciembre de 2016, de
https://www.paypal.com/us/webapps/mpp/about
22
Phillippe Kruchten. Recuperado el 06 de diciembre de 2016, de
https://philippe.kruchten.com/about/
23
Microsoft Project. Microsoft Corporation. Recuperado el 06 de diciembre de 2016, de
https://products.office.com/es/project/project-and-portfolio-management-software
24
SCRUM. (2012). VASS Digital. Recuperado el 08 de diciembre de 2016, de SCRUM, desarrollo
gil por excelencia: http://www.vassdigital.com/scrum-la-metodologia-de-desarrollo-agil-por-
excelencia/
25
Virtual Box. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
https://www.virtualbox.org
26
Oracle. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
https://www.oracle.com/es/corporate/index.html
27
Debian GNU/Linux. Recuperado el 08 de diciembre de 2016, de
https://www.debian.org/intro/about
28
GitHub. GitHub, Inc. Recuperado el 08 de diciembre de 2016, de https://github.com/about
29
SQL. Recuperado el 08 de diciembre de 2016, de
http://searchsqlserver.techtarget.com/definition/SQL
30
PostgreSQL. PostgreSQL, Inc. Recuperado el 08 de diciembre de 2016, de
http://www.postgresql.org.es/sobre_postgresql
31
pgAdmin. pgAdmin PostgreSQL Tools. Recuperado el 08 de diciembre de 2016, de
https://www.pgadmin.org/
32
NoSQL. Recuperado el 08 de diciembre de 2016, de
http://searchdatamanagement.techtarget.com/definition/NoSQL-Not-Only-SQL
63
33
MongoDB. MongoDB, Inc. Recuperado el 08 de diciembre de 2016, de
https://www.mongodb.com/es
34
Robomongo. Recuperado el 08 de diciembre de 2016, de https://robomongo.org/
35
WildFly. Red Hat, Inc. Recuperado el 08 de Diciembre de 2016, de http://wildfly.org/about/
36
JRE. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
http://www.oracle.com/technetwork/java/javase/overview/index.html
37
JSR. Recuperado el 08 de diciembre de 2016, de https://www.jcp.org/en/jsr/overview
38
JCP. Recuperado el 08 de diciembre de 2016, de https://www.jcp.org/en/home/index
39
OpenEJB. OpenEJB Apache TomEE. Recuperado el 08 de diciembre de 2016, de
http://openejb.apache.org/
40
Spring. Recuperado el 08 de diciembre de 2016, de https://spring.io/
41
JavaBeans. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
https://docs.oracle.com/javase/tutorial/javabeans/
42
Hibernate. Red Hat, Inc. Recuperado el 08 de diciembre de 2016, de http://hibernate.org/
43
JDBC. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
http://www.oracle.com/technetwork/java/javase/jdbc/index.html
44
Inversion of Control (IoC). Recuperado el 08 de diciembre de 2016, de
https://geekytheory.com/introduccion-al-inversion-of-control-container-ioc
45
JDO. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
http://www.oracle.com/technetwork/java/index-jsp-135919.html
46
iBatis SQL Maps. Apache Software Foundation. Recuperado el 08 de diciembre de 2016, de
https://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2_en.pdf
47
AOP. Recuperado el 08 de diciembre de 2016, de
http://docs.jboss.org/aop/1.0/aspect-framework/userguide/en/html/what.html
48
MVC. Recuperado el 08 de diciembre de 2016, de
http://whatis.techtarget.com/definition/model-view-controller-MVC
49
JSP. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
http://www.oracle.com/technetwork/java/javaee/jsp/index.html
50
Velocity. Apache Software Foundation. Recuperado el 08 de diciembre de 2016, de
http://velocity.apache.org/
51
iText. Recuperado el 08 de diciembre de 2016, de http://itextpdf.com/
64
52
POI. Apache Software Foundation. Recuperado el 08 de diciembre de 2016, de
https://poi.apache.org/
53
Spring Security. Recuperado el 08 de diciembre de 2016, de
https://projects.spring.io/spring-security/
54
JSON. Recuperado el 08 de diciembre de 2016, de http://www.json.org/
55
Maven. Apache Software Foundation. Recuperado el 08 de diciembre de 2016, de
https://maven.apache.org/
56
Spring Data MongoDB. Recuperado el 08 de diciembre de 2016, de
http://projects.spring.io/spring-data-mongodb/
57
Jackson. Recuperado el 08 de diciembre de 2016, de
http://wiki.fasterxml.com/JacksonHome
58
SSL. DigiCert, Inc. Recuperado el 08 de diciembre de 2016, de
https://www.digicert.com/es/ssl.htm
59
HTTP BASIC. Recuperado el 08 de diciembre de 2016, de https://tools.ietf.org/html/rfc2617
60
HTTP Digest. Recuperado el 08 de diciembre de 2016, de https://tools.ietf.org/html/rfc2617
61
LDAP. Recuperado el 08 de diciembre de 2016, de
http://es.ccm.net/contents/269-protocolo-ldap
62
OpenID. OpenID Foundation. Recuperado el 08 de diciembre de 2016, de http://openid.net/
63
JAAS. Oracle Corporation. Recuperado el 08 de diciembre de 2016, de
https://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/tutorials/GeneralAcnO
nly.html
64
Javascript. Recuperado el 08 de diciembre de 2016, de https://www.javascript.com/
65
SPA. Recuperado el 08 de diciembre de 2016, de http://singlepageappbook.com/goal.html
66
ngResource. Angular JS. Google, Inc. Recuperado el 08 de diciembre de 2016, de
https://docs.angularjs.org/api/ngResource
67
$http. Angular JS. Google, Inc. Recuperado el 08 de Diciembre de 2016, de
https://docs.angularjs.org/api/ng/service/$http
68
PayPal Checkout API. PayPal, Inc. Recuperado el 08 de diciembre de 2016, de
https://developer.paypal.com/docs/classic/express-checkout/ht_ec-singleItemPayment-curl-
etc/
69
CometD. Recuperado el 08 de diciembre de 2016, de CometD Highly Scalable Clustered Web
Messaging: https://cometd.org/
70
P2P. Recuperado el 08 de diciembre de 2016, de http://quees.la/p2p/
65
71
Russell, A (3 de marzo de 206). Infrequently Noted. Recuperado el 11 de diciembre de 2016,
de https://infrequently.org/2006/03/comet-low-latency-data-for-the-browser/
72
Gmail. Google, Inc. Recuperado el 11 de diciembre de 2016, de
https://www.google.com/intl/es-419/mail/help/about.html
73
Facebook. Facebook, Inc. Recuperado el 11 de diciembre de 2016, de
https://www.facebook.com/pg/facebook/about/
74
Material Design. Google, Inc. Recuperado el 11 de diciembre de 2016, de
https://material.google.com/
75
Volley. Android Developers. Recuperado el 11 de diciembre de 2016 de
https://developer.android.com/training/volley/index.html
76
NetworkImageView. Android Developers. Recuperado el 11 de diciembre de 2016, de
https://developer.android.com/training/volley/request.html l
77
PayPal Mobile SDK. PayPal, Inc. Recuperado el 11 de Diciembre de 2016, de
https://developer.paypal.com/docs/integration/mobile/mobile-sdk-overview/
78
OAuth2. Recuperado el 10 de diciembre de 2016, de https://oauth.net/about/
79
Spring Boot. Recuperado el 10 de diciembre de 2016, de
https://projects.spring.io/spring-boot/
80
SandBox. Recuperado el 10 de diciembre de 2016, de
http://searchsecurity.techtarget.com/definition/sandbox
81
Multi-tenant. IBM Corp. Recuperado el 10 de diciembre de 2016, de
http://www.ibm.com/developerworks/library/j-multitenant-java/
82
Paganza. Recuperado el 10 de diciembre de 2016, de https://www.paganza.com/QueEs/
83
Google Wallet. Google, Inc. Recuperado el 10 de diciembre de 2016, de
https://www.google.com/wallet/
84
POS. Recuperado el 10 de diciembre de 2016, de
http://www.definicionabc.com/negocios/maquina-pos.php
85
PhoneGap. Adobe, Inc. Recuperado el 11 de diciembre de 2016, de http://phonegap.com/
86
Cordova. Apache Software Foundation. Recuperado el 11 de diciembre de 2016, de
https://cordova.apache.org/
87
GPS. Recuperado el 11 de diciembre de 2016, de
http://www.radiofrecuencia.com/tema.php?ID=QUE_SIGNIFICA_GPS
66