APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN...
Transcript of APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN...
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 1
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1. Introducción
1.1. Motivación y Objetivos
En el presente proyecto se aborda el diseño de una aplicación para una
plataforma móvil, que permita el acceso a un software alojado en un servidor
externo con el propósito de introducir o recibir información. Esta información
en origen se encuentra en una base de datos que es gestionada por un servidor
externo, y como destino tiene ser utilizada con fines comerciales. Este
paradigma se conoce como computación en la nube: un usuario accede a un
servidor remoto (base de datos, servidor de aplicaciones, almacenamiento,
etc…) sin tener contacto físico, a través de una conexión a internet.
Estos servicios web generalmente son conocidos como SaaS (Software-
as-a-Service) y su crecimiento en los últimos años esta incentivando a muchas
compañías a pasar sus sistemas a este paradigma que, entre otras ventajas,
ahorra costes. Cabe destacar, que todo el procesamiento de información se
realiza en el servidor remoto mientras que la presentación de esta se realiza en
el terminal móvil.
La aplicación móvil que se pretende realizar, hace una petición al servidor
a través de internet, este la solicita a su vez a la base de datos y la transforma o
la manipula según la petición realizada devolviéndola posteriormente al móvil.
Conseguir crear una herramienta de trabajo flexible que permita acceder a la
información deseada desde cualquier punto a través de internet es la
motivación del proyecto. El desarrollo se realizará para la plataforma Android.
En la siguiente figura se puede ver gráficamente el funcionamiento
teórico.
El desarrollo de esta aplicación, que surge como complemento de una
solución específica, se realiza utilizando como servidor externo un software
CRM (Customer Relationship Management). CRM es un modelo de negocio
Figura 1: Diagrama funcionamiento
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 2
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
basado en el cliente que es muy utilizado por muchas empresas para mantener
y fidelizar a sus clientes.
El objetivo del proyecto es diseñar y programar una aplicación para la
plataforma Android para el acceso a una solución CRM en la nube.
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 3
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.2. Material Y Métodos
El lenguaje de programación usado es Java y su uso es libre y gratuito. El
SDK (Software development Kit) de Android que permite usar las APIs
(Application Programming Interface) propias de Google también es de libre
acceso, por tanto el coste del desarrollo es mínimo.
Para la instalación del sistema CRM es necesario un servidor que para
evitar costes innecesarios, se instalará en un ordenador personal. A
continuación se detallan las herramientas usadas:
1.2.1. Hardware
Principalmente se ha utilizado para el desarrollo, diseño, programación y
depuración de la aplicación un ordenador portátil. Todo el software necesario
así como el servidor han sido instalados en un portátil ASUS modelo N53SV, con
procesador Intel(R) i3-2310M y dotado de 4GB de memoria RAM.
Para realizar pruebas reales se ha utilizado un Smartphone Samsung
modelo Galaxy S.
1.2.2. Software necesario para desarrollar en Android
El equipo portátil funciona bajo Windows 7 Home Edition con Service
Pack 1 instalado. El sistema operativo del Smartphone es la última versión de
Android, 4.1 conocida por el sobrenombre de Jelly Bean.
A continuación se detallan los programas utilizados:
1.2.2.1. Java Development Kit (JDK)
Para desarrollar cualquier aplicación en Android es necesario descargar e
instalar el Java Development Kit. La última versión disponible es la 7u7
disponible en la siguiente página:
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 4
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-
downloads-1836413.html
1.2.2.2. Android Software Development Kit (SDK)
Al igual que es necesario el JDK, el SDK de Android también es necesario
ya que incluye todas las librerías necesarias para usar las API de Google. Cada
versión de Android tiene su propia API, siendo compatibles las más modernas
con las anteriores. Desde el SDK Manager se pueden descargar las versione
anteriores para desarrollar para una versión antigua de Android en caso de
necesidad.
La última versión disponible es la 20.0.3, descargada en el siguiente
enlace:
http://dl.google.com/android/installer_r20.0.3-windows.exe
1.2.2.3. Eclipse
El entorno de desarrollo para desarrollar en Android es Eclipse,
desarrollado íntegramente en Java. Realmente es un entorno de código abierto
multiplataforma que es usado principalmente por los programadores en Java o
C/C++ aunque existen versiones para diferentes plataformas. La Eclipse
Foundation se encarga su desarrollo sin ánimo de lucro e incluso soporta el sitio
Eclipse Projects, sitio de enlace entre usuarios, desarrolladores y miembros del
equipo Eclipse. Es necesario el pack
Es necesario instalar el plugin Android Development Tools (ADT),
necesario para conectar el SDK al entorno de trabajo y poder testear en el
emulador integrado la aplicación desarrollada.
Se necesita el pack Eclipse IDE for Java Developers, cuya última versión es
la 4.2:
http://www.eclipse.org/downloads/
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 5
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.2.2.4. Android Development Tools (ADT) para Eclipse
Para la interconexión de Eclipse y el SDK de Android es necesario el
plugin ADT, se trata de un IDE (Integrated Development Enviroment) que
extiende las capacidades de Eclipse para construir proyectos Android. Añade
funcionalidades como editor XML o un debugger específico basado en el
emulador que proporciona el SDK.
La última versión es la 20.0.3 y puede ser descargada aquí:
http://developer.android.com/tools/sdk/eclipse-adt.html
1.2.3. Software necesario para el Servidor
1.2.3.1. WampServer
El servidor necesita tener instalado el paquete que se conoce por LAMP
(Linux, Apache, MySQL y PHP) o WAMP (Windows, Apache, MySQL y PHP) según
la plataforma del equipo. En cualquier caso, las aplicaciones pueden ser
instaladas por separado o utilizar un paquete como WampServer. La última
versión disponible incluye lo siguiente:
Apache 2.2.22
Mysql 5.5.24
PHP 5.3.13
XDebug 2.1.2
XDC 1.5
PhpMyadmin 3.4.10.1
SQLBuddy 1.3.3
webGrind 1.0
Se instala sobre el equipo portátil, nombrado en la sección de Hardware,
que utiliza como S.O. Windows 7.
http://www.wampserver.com/en/
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 6
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.2.4. Otro Software
1.2.4.1. GanttProject
Es una herramienta de código abierto para hacer diagramas de Gant
como el que aparece en esta memoria. Puede descargarse de la siguiente
dirección:
http://ganttproject.sourceforge.net/
1.2.4.2. Suite Ofimática Microsoft Office 2010
Este documento así como su correspondiente presentación ha sido
desarrollado con la suite ofimática de Microsoft en su versión 2010. En especial,
se han utilizado los programas Word 2010 y PowerPoint 2010.
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 7
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.3. Etapas de desarrollo y tiempos
En este punto se detallan las distintas fases por las que ha pasado este
proyecto. Con ayuda del siguiente diagrama de Gantt, se pretende exponer la
extensión en el tiempo de estas fases.
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 8
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
Figura 2: Diagrama Gant
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 9
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.3.1. Estudio del Servicio Web CRM
La búsqueda del servicio web CRM se realizó durante aproximadamente
15 días en los cuales el objetivo fundamental fue recopilar información acerca
de todos los portales basados en CRM así como información teórica acerca del
CRM. Una vez con toda la información se tomó la elección de que solución
utilizar basándose en su coste.
1.3.2. Estudio del entorno de trabajo
Una vez elegido la solución CRM se procedió a elegir la plataforma móvil
y a estudiar de qué manera se podía realizar el proyecto. La solución requirió
encontrar un entorno de trabajo que fuese acorde: eclipse y el SDK Android.
Configuración y creación de este entorno de trabajo duró aproximadamente 10
días.
1.3.3. Aprendizaje de uso de las herramientas de trabajo
El aprendizaje no fue muy extenso debido a los conocimientos adquiridos
durante la carrera aunque no fue nulo. Al mismo tiempo que se creaba el
entorno, se aprendió a utilizarlo y a sacarle el mayor provecho con las
herramientas que proporciona (emulador, debugger, asistentes gráficos, etc.)
1.3.4. Desarrollo de la aplicación
La etapa más larga del proyecto fue el propio diseño de la aplicación. En
aproximadamente 3 meses fue desarrollada al completo aunque por motivos
académicos se alargó hasta 5 meses.
Esta etapa puede dividirse en varias subetapas:
Análisis y diseño de la aplicación.
Creación primer prototipo
Revisión errores
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 10
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
Prototipo final
Depuración
1.3.5. Redacción de la memoria
Comprende la redacción del presente documento. Fue la última etapa en
empezar una vez la aplicación estuvo casi completa y se desarrolló en
aproximadamente 2 meses.
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 11
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
1.4. Estructura del documento
Este documento esta estructurado en 7 capítulos y 2 anexos. En este
punto se describe la temática de cada capítulo y anexo así como el nombre de
cada uno de estos.
1) Introducción. Se explican las motivaciones y objetivos de este proyecto,
además de detallar el material empleado y las fases de desarrollo.
2) Customer Relationship Management. El segundo capítulo describe
ampliamente el concepto CRM, sus fundamentos y repercusiones, así
como sus funcionalidades, ventajas y riesgos. También se hace un repaso
al nacimiento y desarrollo de este tipo de aplicaciones. Para cerrar el
capítulo, se dedica el último punto a describir los tipos de computación
en la nube.
3) Estado del Arte. En el tercer capítulo se expone el estado del arte de
aquello que es relevante para este proyecto. Los puntos tratados son las
distintas soluciones CRM que existen en el mercado (gratuitas y de pago),
los servicios web y la plataforma Android.
4) Implementación. Aborda el diseño de la aplicación, desarrollando un
esquema y describiendo los principales objetivos y detalles. La interfaz de
usuario se mostrará mediante un diagrama de navegación simple
identificando los procesos involucrados.
5) Validación de la aplicación. Comprobación del funcionamiento de la
aplicación, con capturas de pantalla.
6) Conclusiones y líneas futuras. Por último, se exponen una serie de
conclusiones y las líneas de actuación futuras (ampliaciones) que
completen y mejoren la aplicación desarrollada. El hecho de que se haya
elegido una solución específica limita la expansión a otros proyectos
como se verá en la presente memoria.
7) Bibliografía. Se detallan los medios y recursos utilizados para la creación
de este proyecto.
PROYECTO FIN DE CARRERA GUILLERMO GUERRERO GONZÁLEZ 12
APLICACIÓN ANDROID PARA ACCESO A SOLUCIÓN CRM
8) Anexo A. Instalación, configuración y preparación del entorno de trabajo
con el cual se ha desarrollado íntegramente este proyecto.
9) Anexo B. En este anexo se puede encontrar el código fuente de la
aplicación desarrollada, separada por paquetes y por tipo (XML y Java).