Desarrollo de una aplicación android para el control de un dispositivo móvil usando arquitectura cliente servidor
Texto completo
(2) EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. DESARROLLO DE UNA APLICACIÓN ANDROID PARA EL CONTROL DE UN DISPOSITIVO MÓVIL USANDO. BI. BL. IO T. ARQUITECTURA CLIENTE-SERVIDOR. I. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(3) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. PEDRO LUIS NOVOA RUIZ. CA S. DESARROLLO DE UNA APLICACIÓN ANDROID PARA. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. EL CONTROL DE UN DISPOSITIVO MÓVIL USANDO ARQUITECTURA CLIENTE-SERVIDOR. Tesis presentada a la Escuela Académico Profesional de Informática en la Facultad de Ciencias Físicas y Matemáticas de la Universidad Nacional de Trujillo, como requisito parcial para la obtención del Título profesional de Ing. Informático. BI. BL. IO T. ASESOR: EDWIN R. MENDOZA TORRES. Trujillo - La Libertad 2017 II. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(4) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. HOJA DE APROBACIÓN. Desarrollo de una Aplicación Android para el Control de un. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Pedro Luis Novoa Ruiz. CA S. Dispositivo Móvil usando Arquitectura Cliente-Servidor. Tesis defendida y aprobada por el jurado examinador:. Prof. Edwin R. Mendoza Torres - Asesor Departamento de Informática - UNT. Prof. José L. Peralta Luján Departamento de Informática - UNT. BI. BL. IO T. Prof. José A. Díaz Pulido Departamento de Informática - UNT. Trujillo, 25 de octubre del 2017 III. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(5) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Dedico esta tesis a :. Mis padres, por el apoyo en los buenos y adversos momentos del desarrollo de este proyecto. Por estar presentes, por la confianza y estimulación a la superación. CA S. en lo personal y profesional cada día.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Mis hermanos, por ser la motivación durante el inicio y culminación de mis. BI. BL. IO T. estudios, y ahora para la realización de este trabajo de investigación.. IV. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(6) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Agradecimientos. A mi asesor Ing. Edwin R. Mendoza Torres, por aceptar este proyecto de tesis,. CA S. por su apoyo y la ayuda otorgada durante el proceso de desarrollo del mismo.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. A los profesores de la carrera, que durante el proceso de mi formación me otorgaron los conocimientos y consejos necesarios para la elaboración de este estudio.. A mis familiares y amigos, por la perseverancia de sus consejos que fueron bien. BI. BL. IO T. recibidos y por su apoyo para con este proyecto.. V. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(7) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Resumen El trabajo de investigación percibe el objetivo de control de un dispositivo móvil en un entorno de trabajo, mediante el desarrollo de una aplicación Android con. CA S. el soporte de un Servidor y una Base de Datos de almacenamiento. El control se planteó con registro de datos y ejecución de acciones remotas en el dispositivo.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. En cuanto a los datos se puede mencionar información del hardware, software y otras características. También a su vez tener funciones activas automatizadas que respondan a eventos de cambios e interacción desde el Servidor.. Para la comunicación se hizo uso de la arquitectura cliente-servidor basada en RMI (Remote Method Invocation) y en una implementación de Java RMI. Además se empleó una comunicación secundaria con FCM (Firebase Cloud Messaging). La fase de desarrollo y pruebas de la aplicación Android se fundamentó en los cambios de versiones de Android y en las funciones de compatibilidad de versiones 4 en adelante, haciendo posible su ejecución dirigida a dispositivos de tipo teléfo-. IO T. nos y tabletas; logrando así mismo buenos resultados en las acciones y eventos de. BL. control establecidos.. BI. Palabras claves: control, cliente-servidor, RMI, dispositivo móvil, aplicación An-. droid. VI. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(8) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Abstract. The research work has the objective of control of a mobile device in a working. CA S. environment, through the development of an Android application with the support of a server and a storage database. The control is carried out with data logging. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. and remote execution of actions on the device. With regard to the data include information on the hardware, software, and other features. Also, at the same time run active and automated functions that respond to events of changes and interaction from the server, performing an exchange of data, such as messages, inventories or reports in general.. For communication use was made of the client-server architecture based on RMI (Remote Method Invocation) and an implementation of Java RMI. In addition to the use of FCM (Firebase Cloud Messaging) as a secondary communication. The stage of development and testing of the mobile application, was based on. IO T. the changes of Android versions and in the functions of support for versions 4 onwards, making possible its implementation directed to devices of type phones. BI. BL. and tablets; thus, obtaining good results in the actions and events set for the control. Keywords: control, client-server, RMI, mobile device, Android application. VII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(9) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Glosario de términos. TCP: Protocolo Control de Transmisión. Protocolo orientado a conexión.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. reglas para la comunicación en una red.. CA S. TCP/IP: Protocolo Control de Transmisión/Protocolo de Internet. Define un conjunto de. API: Interfaz de programación de aplicaciones. Framework: Marco de trabajo.. SDK: Kit de herramientas de Desarrollo de Software.. IDE: Entorno de Desarrollo Integrado. Para el desarrollo de aplicaciones. JVM: Máquina Virtual de Java.. APK: Fichero resultante de la compilación de una aplicación Android.. IO T. APP: Acrónimo de Aplicación, referente en este proyecto a una aplicación móvil. XML: Formato de transferencia de información basado en etiquetas, atributos y valores.. BI. BL. JSON: Formato de transferencia de información basada en tipos de datos de lenguajes de programación como objetos, arreglos y tipos básicos.. VIII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(10) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CA S. Índice de figuras. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 1.1. Cuota de mercado de Android del 2016. . . . . . . . . . . . . . . . . . . . . . . .. 3 17. 2.2. Arquitectura de comunicación de LipeRMI. . . . . . . . . . . . . . . . . . . . . .. 20. 2.3. Arquitectura del Sistema Android. . . . . . . . . . . . . . . . . . . . . . . . . . .. 26. 2.4. Ciclo de Vida de una Actividad. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. 2.5. Ciclo de Vida de un Servicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 2.6. Arquitectura de FCM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 41. 2.7. Fases y etapas de la metodología ágil Mobile-D. . . . . . . . . . . . . . . . . . . .. 43. 3.1. Arquitectura general del proyecto. . . . . . . . . . . . . . . . . . . . . . . . . . .. 52. 3.2. Arquitectura de la comunicación del proyecto. . . . . . . . . . . . . . . . . . . . .. 53. IO T. 2.1. Arquitectura de comunicación de Java RMI. . . . . . . . . . . . . . . . . . . . . .. 58. 3.4. Implementación del Cliente RMI de Servidor RMI Principal en la aplicación Android.. 60. BL. 3.3. Modelo de datos E-R de la comunicación del proyecto. . . . . . . . . . . . . . . . .. 61. BI. 3.5. Implementación del Servidor RMI en la aplicación Android. . . . . . . . . . . . . .. IX. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(11) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 3.6. Diagrama de flujo de recepción de mensajes de FCM en la aplicación Android. . . . .. 62. 3.7. Servicio de recepción de mensajes de FCM en la aplicación Android. . . . . . . . . .. 62. 3.8. Registro de políticas de Administración de Dispositivos de la aplicación Android. . . .. 63. 3.9. Registro del BrodcastReceiver de la API Administración de Dispositivos de la aplica-. CA S. ción Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 64 64. 3.11. Estructura de mensaje de las acciones remotas. . . . . . . . . . . . . . . . . . . . .. 65. 3.12. Diagrama de flujo del procesador de acciones remotas de la aplicación Android. . . . .. 66. 3.13. Procesador de acciones remotas de la aplicación Android. . . . . . . . . . . . . . .. 67. 3.14. Implementación del Servidor RMI Principal. . . . . . . . . . . . . . . . . . . . . .. 69. 3.15. Implementación del Cliente de Servidor RMI Android. . . . . . . . . . . . . . . . .. 70. 3.16. Cliente Web de FCM para envío de mensajes. . . . . . . . . . . . . . . . . . . . .. 71. 3.17. Diagrama de flujo de envío de acciones remotas al dispositivo Android. . . . . . . . .. 72. 3.18. Envío de acciones remotas al dispositivo Android. . . . . . . . . . . . . . . . . . .. 73. 3.19. Diagrama de flujo de registro y actualización de datos de dispositivos. . . . . . . . .. 74. 3.20. Métodos principales de operaciones sobre la base de datos con Hibernate. . . . . . . .. 75. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 3.10. Obtener datos de localización usando el GPS o la Red en la aplicación Android. . . . .. X. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(12) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CA S. Índice de tablas. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.1. Comparación de JAVA RMI y LipeRMI . . . . . . . . . . . . . . . . . . . . .. 47 48. 2.3. Comparación de la máquina virtual Dalvik y ART de Android. . . . . . . . . .. 49. 2.4. Comparación de la metodología Mobile-D y RUP. . . . . . . . . . . . . . . . .. 50. 3.1. Fallos y correcciones de pruebas de comunicación del proyecto. . . . . . . . .. 76. 3.2. Pruebas de módulos y componentes de la comunicación del proyecto. . . . . .. 77. 3.3. Fallos y correcciones de pruebas de compatibilidad. . . . . . . . . . . . . . . .. 78. 3.4. Fallos y correcciones de pruebas en tipos de dispositivos con Android. . . . . .. 79. 3.5. Fallos y correcciones de pruebas de funcionalidad de la aplicación Android. . .. 80. 3.6. Fallos y correcciones de pruebas de funcionalidad del servidor de control. . . .. 82. BI. BL. IO T. 2.2. Comparación de Sistemas Operativos Móviles. . . . . . . . . . . . . . . . . .. XI. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(13) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CA S. Índice general. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Dedicatoria Agradecimientos Resumen Abstract. Glosario de términos. IV. V. VI. VII. VIII. X. Índice de Tablas. XI. 1. Introducción. 1. IO T. Índice de Figuras. BL. 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. BI. 1.2. Formulación del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. XII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(14) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 4. 1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.4.1. Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.4.2. Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.5. Contribución de la investigación . . . . . . . . . . . . . . . . . . . . . . . . .. 6. CA S. 1.3. Importancia de la investigación . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 1.7. Estructura de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 1.6. Metodología de la investigación . . . . . . . . . . . . . . . . . . . . . . . . .. 2. Marco teórico. 11 11. 2.2. Arquitectura cliente-servidor . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.2.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.2.2. Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 2.3. Java RMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 2.3.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 2.3.2. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 2.4. Lipe RMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 2.4.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. BL. IO T. 2.1. Trabajos previos de la investigación . . . . . . . . . . . . . . . . . . . . . . .. 18. 2.5. Dispositivos Móviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. BI. 2.4.2. Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. XIII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(15) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 21. 2.5.2. Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 2.6. Sistemas Operativos Móviles . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 2.6.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 2.6.2. Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. CA S. 2.5.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.7.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.7.2. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.7. Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.7.2.1.. Kernel Linux . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 2.7.2.2.. Abstracción de hardware (HAL) . . . . . . . . . . . . . . .. 27. 2.7.2.3.. Entorno de ejecución . . . . . . . . . . . . . . . . . . . . .. 27. 2.7.2.4.. Librerías nativas C/C++ . . . . . . . . . . . . . . . . . . . .. 28. 2.7.2.5.. Framework de la API de Java . . . . . . . . . . . . . . . . .. 28. 2.7.2.6.. Aplicaciones del sistema . . . . . . . . . . . . . . . . . . .. 29. 2.7.3. Máquinas Virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. Davilk . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.7.4. Sotfware Development Kit (SDK) . . . . . . . . . . . . . . . . . . . .. 30. 2.8. Aplicaciones Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. IO T. 2.7.3.1.. BI. BL. 2.7.3.2.. XIV. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(16) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.8.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 2.8.2. Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 2.8.3. Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. Actividades . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 2.8.3.2.. Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. 2.8.3.3.. Proveedores de Contenidos . . . . . . . . . . . . . . . . . .. 36. 2.8.3.4.. Receptores de Transmisión . . . . . . . . . . . . . . . . . .. 37. 2.8.3.5.. Intents . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 37. 2.8.4. Sistema de Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 2.8.5. Opciones de almacenamiento . . . . . . . . . . . . . . . . . . . . . .. 38. 2.8.6. Administración de dispositivos . . . . . . . . . . . . . . . . . . . . . .. 40. 2.8.7. Firebase Cloud Messaging (FCM) . . . . . . . . . . . . . . . . . . . .. 40. 2.9. Metodología Mobile-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 2.9.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 2.9.2. Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. 2.8.3.1.. Exploración . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 2.9.2.2.. Inicialización . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 2.9.2.3.. Producción . . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 2.9.2.4.. Estabilización . . . . . . . . . . . . . . . . . . . . . . . . .. 45. BI. BL. IO T. 2.9.2.1.. XV. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(17) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 2.10. Comparativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 46. 2.10.1. Comparativa de Java RMI y Lipe RMI . . . . . . . . . . . . . . . . . .. 46. 2.10.2. Comparativa de Sistemas Operativos Móviles . . . . . . . . . . . . . .. 48. 2.10.3. Comparativa de Máquinas Virtuales de Android . . . . . . . . . . . . .. 49. CA S. 2.9.2.5.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.10.4. Comparativa de Mobile-D y RUP (Rational Unified Process) . . . . . . 3. Propuesta o tema central de la tesis. 50 51 51. 3.2. Arquitectura de la comunicación . . . . . . . . . . . . . . . . . . . . . . . . .. 53. 3.2.1. Interfaces de Métodos Remotos . . . . . . . . . . . . . . . . . . . . .. 54. 3.2.2. Componentes del Servidor de Control . . . . . . . . . . . . . . . . . .. 55. 3.2.3. Componentes del Cliente en Android . . . . . . . . . . . . . . . . . .. 56. 3.3. Modelo de datos de la comunicación . . . . . . . . . . . . . . . . . . . . . . .. 57. 3.4. Desarrollo de la aplicación Android . . . . . . . . . . . . . . . . . . . . . . .. 59. 3.4.1. Módulo de Cliente RMI de Servidor RMI Principal . . . . . . . . . . .. 59. 3.4.2. Módulo de Servidor RMI Android . . . . . . . . . . . . . . . . . . . .. 60. 3.4.3. Módulo de Firebase Cloud Messaging . . . . . . . . . . . . . . . . . .. 61. BI. BL. IO T. 3.1. Arquitectura General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.4.4. Módulo de Administración de dispositivos . . . . . . . . . . . . . . .. 63. 3.4.5. Módulo de Geolocalización . . . . . . . . . . . . . . . . . . . . . . .. 64. XVI. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(18) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 65. 3.4.7. Otros Módulos agregados . . . . . . . . . . . . . . . . . . . . . . . .. 67. 3.5. Desarrollo del Servidor de Control . . . . . . . . . . . . . . . . . . . . . . . .. 68. 3.5.1. Módulo de Servidor RMI principal . . . . . . . . . . . . . . . . . . . .. 68. 3.5.2. Módulo de Cliente RMI de Servidor RMI de Android . . . . . . . . . .. 69. CA S. 3.4.6. Módulo de Acciones Remotas . . . . . . . . . . . . . . . . . . . . . .. 70. 3.5.4. Módulo de envío de Acciones Remotas . . . . . . . . . . . . . . . . .. 71. 3.5.5. Módulo de Base de Datos . . . . . . . . . . . . . . . . . . . . . . . .. 73. 3.6. Ejecución de pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 75. 3.6.1. Pruebas de comunicación . . . . . . . . . . . . . . . . . . . . . . . . .. 76. 3.6.2. Pruebas de compatibilidad . . . . . . . . . . . . . . . . . . . . . . . .. 78. 3.6.3. Pruebas de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . .. 79. 3.6.4. Pruebas de funcionalidad . . . . . . . . . . . . . . . . . . . . . . . . .. 80. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 3.5.3. Módulo de Cliente Web de FCM . . . . . . . . . . . . . . . . . . . . .. 83. 5. Consideraciones finales. 88. IO T. 4. Resultados de la tesis. 88. 5.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 89. BL. 5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 91. BI. Bibliografía XVII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(19) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 96. A. Interfaces y funcionalidades de la aplicación Android. 96. B. Interfaces y funcionalidades del Servidor de Control. 104. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Anexos. XVIII. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(20) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Capítulo 1. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Introducción. En los últimos años se ha visto un gran uso masivo de los teléfonos inteligentes, tabletas y otros dispositivos móviles de funcionalidades específicas, que son de buen agrado de los usuarios, especialmente con el modelo de negocio y el agregado de aplicaciones móviles que se instalan en los equipos ofreciendo nuevas funcionalidades, que van desde situaciones de uso personal, de manera académica y siguiendo hasta el nivel profesional en un lugar de trabajo. La integración de hardware dedicado y sensores, ha hecho posible la convergencia de datos con otros equipos como ordenadores y la posibilidad de consumo de datos a través de diversas redes e internet. Estos dispositivos están en constante cambio en hardware y software, lo que apertura. IO T. un marco de posibilidades en campos de investigación y desarrollo de soluciones informáticas. Muchas empresas a nivel global dedicadas al rubro de hardware de móviles, han presentado. BL. al mercado una gama de dispositivos con características diferentes, generando el problema de. BI. que no todos los equipos estén al alcance de cualquier usuario y sumarle a esto también que 1. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(21) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. necesitan de un sistema operativo móvil para realizar sus funciones. En cuanto al costo, es posible obtener equipos a un bajo precio con Android como sistema. El sistema Android actualmente posee una elevada cuota de mercado frente a los dos principales sistemas para dispositivos móviles, que son el Sistema IOS de Apple y Windows Phone. CA S. de Microsoft. El desarrollo de aplicaciones para esta plataforma cada vez va en aumento, así. 1.1.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. como las herramientas de desarrolladores.. Motivación. La gran acogida del sistema operativo Android en dispositivos móviles, ha dado lugar a que en una empresa por ejemplo, se considere la adquisición de estos equipos como herramienta de trabajo para sus empleados, siendo estos utilizados en la misma empresa o fuera como operativos en la toma de datos en campo. Entonces de acuerdo a lo anterior mencionado, es de alta prioridad en un lugar de trabajo llevar un registro de estos dispositivos.. Otro punto a tratar, es que cada periodo de tiempo se requiere la elaboración de inventarios o. IO T. reportes, los cuales se hacen muchas veces a destiempo y de forma manual, lo que conlleva a una pérdida de datos y un elevado tiempo de trabajo. Además no se tiene muchas veces un control. BI. BL. automatizado por parte de algún administrativo, que sirva para dar soporte a los dispositivos.. 2. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(22) EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Figura 1.1: Cuota de mercado de Android del 2016. Fuente: Recuperado de https://www.strategyanalytics.com. 1.2.. Formulación del problema. En este trabajo, se propone crear una aplicación móvil basado en el sistema Android, para responder a la siguiente pregunta:. BI. BL. IO T. ¿Cómo controlar un dispositivo móvil, usando la arquitectura cliente-servidor?. 3. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(23) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 1.3.. Importancia de la investigación. Con la adquisición y la utilización de dispositivos móviles con Android en un entorno de trabajo, el volumen de información que poseen y que generan conlleva a que en algún momento. CA S. se requiera una comunicación sincronizada, es decir el envío y recepción de datos frente a un servidor. Además de una estructura de almacenamiento y recuperación de dichos datos cuando. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. se requiera.. El seguimiento de los dispositivos móviles se convierte en un factor prioritario, durante el ciclo de uso por los usuarios, donde el desarrollo de aplicaciones automatizadas que se encarguen de estas tareas repetitivas resulta de mucha utilidad, en cuanto a ahorro de trabajo y tiempo se refiere.. El tener una comunicación directa y ejercer algún tipo de control programado sobre los dispositivos mientras estos están en uso, sirve de soporte e interacción a las actividades o tareas que se va a desempeñar con estos dispositivos.. El estudio de los dispositivos móviles con Android y el soporte de opciones de control en. IO T. la realización de este proyecto, son un inicio para el aprendizaje y crecimiento profesional en. BI. BL. estos campos de investigación.. 4. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(24) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 1.4.. Objetivos. 1.4.1.. Generales. La investigación tiene como objetivo el desarrollo de una aplicación Android para el control. Específicos. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 1.4.2.. CA S. de un dispositivo móvil usando arquitectura cliente-servidor.. a) Recopilación y análisis de la información relacionada con la arquitectura cliente-servidor basada en RMI, sistema operativo Android y desarrollo de aplicaciones Android. b) Elaboración de un modelado base de la comunicación cliente-servidor basada en RMI para aplicaciones Java y Android.. c) Diseño y codificación de los algoritmos de comunicación basado en RMI para el cliente y servidor, realizando luego pruebas de intercambio de datos.. d) Implementación de las interfaces de la aplicación, así como funciones específicas de envío. IO T. y recepción de datos para el control del dispositivo.. BI. BL. e) Ejecución de pruebas sobre el Servidor y la aplicación Android desarrollada.. 5. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(25) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 1.5.. Contribución de la investigación. Luego de la culminación de la investigación, los aportes que se logra son: Se formaliza una arquitectura cliente-servidor base y expandible de comunicación para el. CA S. control de dispositivos con Android, que utiliza como principal componente RMI y una nueva implementación de esta tecnología denominada Lipe RMI, con mejoras significativas frente a. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Java RMI. Además de tecnologías de nivel secundario en la comunicación como FCM, que aprovecha la conexión a internet en los dispositivos móviles y que en este proyecto nos ayuda a enviar acciones de control cuando la comunicación base no es alcanzable.. Se define una estructura base de almacenamiento, formado por una base de datos relacional y tablas para registrar datos de los dispositivos, que permite la comunicación de la arquitectura cliente-servidor y el control deseado.. Una estructura de acciones remotas de control, que se envían desde el Servidor de Control y se ejecutan en el dispositivo móvil. Estas también son extensibles, permitiendo agregar nuevas opciones de control que se requieran.. IO T. Una aplicación cliente en Android para dispositivos móviles que envía información al Ser-. BL. vidor de Control y posee tareas automatizadas de control del dispositivo móvil.. BI. Una aplicación de escritorio que actúa como Servidor de Control centralizado, con soporte. 6. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(26) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. de una base de datos y apoyado en la aplicación cliente en Android, para ejercer un control de los dispositivos móviles registrados. Una alternativa de solución de control de dispositivos con Android, que mediante el estudio. Metodología de la investigación. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 1.6.. CA S. realizado, puede abrir nuevas posibilidades de investigación a futuros proyectos.. Para llegar a los objetivos propuestos, el desarrollo de la investigación se baso en la metodología ágil Mobile-D y en sus fases:. 1) Exploración: Recopilación de información para elaboración del Marco Teórico. Análisis de la información acerca de RMI.. Análisis de la información sobre el sistema operativo Android y dispositivos móviles.. Revisión de información acerca de RMI en Java y Android.. IO T. Estudio de información referente al tema de base de datos.. Modelamiento de una arquitectura gráfica para la comunicación.. BI. BL. 2) Inicialización: Diseño de la comunicación Cliente-Servidor.. 7. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(27) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Identificación del nivel de comunicación y tecnologías. Definición del modelo de datos para la comunicación. 3) Producción: Implementación del modelo cliente-servidor.. CA S. Implementación de las interfaces comunes de métodos remotos. Implementación de los componentes de comunicación definidos en la arquitectura. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. cliente-servidor.. Definición de una base de datos de almacenamiento en el Servidor de Control. Tests de comunicación entre los componentes de la aplicación Android y Servidor de Control.. 4) Estabilización: Creación de las interfaces de la aplicación y eventos de control del dispositivo.. Diseño y codificación de las interfaces para el proyecto.. Implementación de eventos de control automatizados en el dispositivo y envío de. IO T. información.. cesadas en el dispositivo.. BI. BL. Implementación de acciones remotas enviadas desde el Servidor de Control y pro-. 5) Pruebas: Ejecución de pruebas generales. 8. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(28) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Ejecución de pruebas de comunicación, en el intercambio de datos de control entre cliente y servidor. Evaluación de las interfaces y funcionalidades de la aplicación.. Estructura de la tesis. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 1.7.. CA S. Evaluación del desempeño, almacenamiento de datos y control del dispositivo.. El presente trabajo está dividido en seis capítulos. El primer capítulo presenta los aspectos generales del tema tratado: la formulación del problema, importancia de la investigación, los objetivos, la contribución, además de la metodología de la investigación y la estructura de la tesis.. En el capítulo dos se presenta el referencial teórico, soporte del tema, describiendo los trabajo previos para esta investigación y contemplando los conceptos de la arquitectura clienteservidor, los conceptos de Java RMI y Lipe RMI. Luego se hace mención de los temas de dispositivos móviles, sistemas operativos móviles y el estudio de Android, sus componentes y. IO T. herramientas de desarrollo de aplicaciones. Finalmente se culmina este capítulo con una investigación de la metodología ágil para el desarrollo de aplicaciones móviles, denominada Mobile-D. BL. y se realiza una comparativa de algunos de los principales conceptos investigados, a tener en. BI. cuenta en la fase de diseño y desarrollo del proyecto. 9. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(29) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. El tercer capítulo trata del tema central de la tesis, que inicia con el modelado de la arquitectura del proyecto, haciendo una descripción de los componentes y tecnologías de cada parte, tanto para el cliente como para el servidor, que permitirán la comunicación y el control a implementar. La siguiente fase se realiza la construcción de los módulos de la aplicación Android. CA S. y del Servidor de Control, culminado con las pruebas en dispositivos móviles.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. En el cuarto capítulo se presentan los resultados obtenidos en la investigación. En el capítulo cinco se presentan las consideraciones finales obtenidas en esta tesis. Inicialmente se presentan las conclusiones, seguida de las recomendaciones para futuras investigaciones relacionadas al tema en cuestión.. Finalmente las referencias bibliográficas usadas para la investigación de esta tesis y los anexos donde se presentan las aplicaciones elaborados, es decir las funcionalidades principales. BI. BL. IO T. e interfaces de la aplicación Android y del Servidor de Control.. 10. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(30) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Capítulo 2 Marco teórico. En el capítulo se detallan los antecedentes y la información investigada con relación a los temas considerados y seleccionados para el desarrollo de este proyecto.. 2.1.. Trabajos previos de la investigación. Luego de realizar la investigación en diversas fuentes de información, se presenta los traba-. IO T. jos previos de interés para esta tesis:. 1) Saavedra (2014), plantean la creación de una aplicación móvil para el control de equipos. BI. BL. en general, el punto de partida en el cual se basa este trabajo es el problema de generación de reportes de los equipos, que son hechos en un su gran mayoría en papel dentro de un. 11. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(31) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. entorno empresarial.. Teniendo en cuenta las desventajas de tener reportes documentados en papel, por pérdidas o deterioro por ejemplo, la alternativa de solución dada se resume en la utilización. CA S. de códigos de barras como identificadores únicos de los equipos, para lo cual se utiliza algoritmos de procesamiento digital de imágenes e interfaz de video del dispositivo para. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. la captura de la imagen.. La información de código de barras y datos de reportes de los equipos son almacenados en el dispositivo, para luego poder ser enviados cuando se requiera, a través de una interfaz con comunicación cliente-servidor.. 2) Garcia (2014), propone un sistema de control, respetando las reglas y secuencias de un cronograma a seguir, con la finalidad de mejorar el ámbito de desarrollo laboral e intelectual, proporcionando el control de las tareas realizadas por el empleado en el área de campo, basado en el flujo de ventas. Se define una interfaz gráfica amigable para el usuario, permitiendo obtener reportes de las actividades en el servidor, las cuales consisten en. IO T. realizar el levantamiento de información de pedidos, mediante el dispositivo móvil.. BL. 3) Pacheco (2011), desarrolló una solución con visión de cliente, para el control de inven-. BI. tarios digitales de equipos u objetos dentro de un ambiente de trabajo, para organizar y agilizar el proceso de control de reportes, usando una base de datos en un servidor para 12. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(32) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. almacenamiento y recuperación de los datos. 4) Godoy (2015), presenta el desarrollo de una aplicación móvil para Android de captura de datos de tráfico, dados por los usuarios, que a su vez estos datos son almacenados en el dispositivo y enviados de manera automatizada a un servidor usando la arquitectura. CA S. cliente-servidor, que posee un mecanismos de registro y autentificación previos. Los datos. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. se guardan en una Base de datos para su posterior uso en la toma de decisiones.. 5) Borja (2015), realiza una investigación sobre herramientas para el control de dispositivos Android y desarrolla un aplicativo para manipulación de los datos almacenados en los equipos de los usuarios y ejecución de algunos eventos de control remoto mediante una interfaz web del lado del servidor. La comunicación establecida se da mediante el paso de mensajes de textos que se traducen en acciones de control en el dispositivo del usuario.. Arquitectura cliente-servidor. 2.2.1.. Definición. IO T. 2.2.. Según Roman (2006), la arquitectura cliente/servidor es un modelo para el desarrollo de. BL. sistemas de información, en el que las transacciones se dividen en procesos independientes que. BI. cooperan entre sí para intercambiar información, servicios o recursos.. 13. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(33) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Para Arteaga (2006), un cliente es definido como aquel que solicita un servicio y un servidor es definido como el proveedor de servicios. Cada vez que se ejecuta una aplicación cliente, esta contacta con el servidor, le envía una solicitud de servicio y espera la respuesta o resultados del servicio. El proceso cliente es el encargado de llevar a cabo la interacción con el usuario y de. Componentes. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.2.2.. CA S. mostrar los resultados de las peticiones de servicio.. Los principales componentes del esquema cliente-servidor son los clientes, los servidores y la infraestructura de comunicaciones: a) Servidor. De acuerdo a Espinel (2005), el servidor está continuamente esperando peticiones de servicio. Cuando se produce una petición, el servidor despierta y atiende al cliente. Cuando el servicio concluye, el servidor vuelve al estado de espera. De acuerdo con la forma de prestar el servicio, podemos considerar dos tipos que son los interactivos y concurrentes.. IO T. b) Cliente. Según Espinel (2005), el cliente es la entidad activa en el establecimiento de una cone-. BI. BL. xión, puesto que es el que toma la iniciativa de la demanda de conexión a un servidor.. c) Infraestructura 14. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(34) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Se refiere a los elementos hardware y software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red, permitiendo la comunicación. Java RMI. 2.3.1.. Definición. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.3.. CA S. y su gestión, entre los clientes y los servidores.. Conforme con Martinez (2005), Java RMI es una extensión del modelo de objetos Java para proveer soporte para la comunicación distribuida mediante el uso de Remote Method Invocation. Es importante no confundir RMI y Java RMI, siendo el primero de ellos un modelo de comunicación y el otro la implementación que se ha realizado en Java de este modelo. En Java RMI un objeto que realiza una llamada a un objeto remoto es consciente de que está trabajando con un objeto remoto ya que tiene que manejar la excepción RemoteException; y el que implementa el objeto remoto es consciente de esto puesto que debe implementar el interfaz Remote. Aunque este modelo de objetos es integrado en Java la semántica del paso de. BI. BL. IO T. parámetros de uno a otro difiere puesto que el invocador y el fuente son remotos uno del otro.. 15. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(35) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.3.2.. Arquitectura. La arquitectura RMI está construida por tres capas abstractas que son (Jabba, 2003): la capa stub/skeleton la capa de referencia remota y la capa de transporte.. CA S. a) La capa stub/skeleton Se encuentra ubicada debajo de la vista del desarrollador. Esta capa intercepta las llama-. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. das a métodos hechas por el cliente a la variable de referencia de la interfaz y redirecciona estas llamadas a un servicio RMI remoto.. El punto de contacto de la aplicación cliente con el objeto remoto se hace por medio del stub (delegado) local. Los stubs actúan corno mediadores en la comunicación y son los responsables de traducir los objetos a una representación apropiada para entonces realizar la llamada al método remoto. Para todos los efectos, el stub es la representación local del objeto remoto.. Del lado del servidor, el skeleton (esqueleto) es el equivalente al stub en el cliente. Se. IO T. encarga de traducir las invocaciones que provienen de la capa de referencia remota, así corno de gestionar las respuestas.. BI. BL. b) La capa de referencia remota La capa de referencia remota descansa debajo de la capa stub/skeleton. Está formada por 16. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(36) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. dos entidades distintas, el cliente y el servidor, que se comunican a través de la capa de transporte. c) La capa de transporte. CA S. La capa de transporte es responsable del establecimiento y mantenimiento de la conexión, la cual proporciona una canal de comunicación fiable entre las capas de referencia remota. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. del cliente y del servidor.. Esta capa se basa en conexiones TCP/IP entre nodos de una red. Provee conectividad básica, así como también estrategias de penetración (firewall). La capa de transporte de. IO T. RMI, en la realidad, está implementada por medio de sockets.. Figura 2.1: Arquitectura de comunicación de Java RMI.. BI. BL. Fuente: Recuperado de https://github.com/harry1357931/Remote_Method_Invocation-RMI. 17. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(37) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.4.. Lipe RMI. 2.4.1.. Definición. LipeRMI es una nueva aplicación RMI para reemplazar a la nativa de Java RMI. Es to-. CA S. talmente independiente del nativo Java RMI y utiliza un enfoque optimizado para la capa de. cional.. 2.4.2.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. comunicación de Internet. Utiliza también únicamente un socket por cliente de manera unidire-. Características. El desarrollo de LipeRMI tiene algunos puntos clave que son:. Proporcionar una comunicación abstracta entre objetos que residen en diferentes máquinas virtuales.. Proporcionar una API con una arquitectura clara y extensible. Ser muy ligero y no requiere importaciones externas.. IO T. Ser seguro.. BI. BL. Proporcionar un API RMI como la creada por SUN (RMI Nativo en Java). Optimizar el uso del ancho de banda. 18. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(38) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Optimizar la forma de comunicación con los clientes, por parte del servidor (reutilización de un mismo socket y mantenerlo activo). Comunicación transparente en los clientes, de tal modo que estos puedan estar detrás de. CA S. una red local, enrutador o cortafuegos. Proporcionar mecanismos para obtener información de la ejecución de eventos orientados. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. a conexión.. Proporcionar una manera de conocer, en cualquier momento y sobre cualquier método, sobre que socket se hizo esa llamada (saber si se trata de una llamada remota). Requerir pocos ajustes cuando se quiere hacer una migración de una aplicación desarrollada usando RMI hacia LipeRMI.. BI. BL. IO T. Ser un proyecto de código abierto y libre para cualquiera que lo use.. 19. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(39) EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. BI. BL. IO T. Figura 2.2: Arquitectura de comunicación de LipeRMI. Fuente: Recuperado de http://lipermi.sourceforge.net/documentation.php. 20. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(40) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.5.. Dispositivos Móviles. 2.5.1.. Definición. Para Loayza (2014), un dispositivo móvil es un aparato de tamaño pequeño también cono-. CA S. cido como handheld. Son pequeñas computadoras de mano que poseen capacidades de proce-. 2.5.2.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. samiento, tienen memoria limitada y que se caracterizan por su facilidad de uso.. Tipos. En cuanto a los tipos de dispositivos móviles podemos mencionar los siguientes:. a) Teléfonos Inteligentes (SmartPhones). Según Borja (2015), es un equipo celular que hace funciones más avanzadas que las de teléfonos corrientes. El término se utilizó cuando salieron terminales con correo electrónico ya preinstalado, configurado y listo para utilizar. b) Tabletas (Tablets). IO T. Conforme con Molina (2012), una tableta (del inglés: tablet o Tablet computer) es un tipo. BL. de computadora portátil, de mayor tamaño que un smartphone o una PDA, integrado en. BI. una pantalla táctil (sencilla o multitáctil) con la que se interactúa primariamente con los dedos o una pluma stylus (pasiva o activa), sin necesidad de teclado físico ni ratón. Estos 21. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(41) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. últimos se ven remplazados por un teclado virtual y, en determinados modelos, por una mini-trackball integrada en uno de los bordes de la pantalla. c) Otros dispositivos. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Relojes Inteligentes (SmartWatchs), etc.. CA S. PDA (Personal Digital Assistant).. 2.6.. Sistemas Operativos Móviles. 2.6.1.. Definición. Según Santana (2009), partiendo de la definición de sistema operativo, capa compleja entre el hardware y el usuario, concebible también como una máquina virtual, que facilita al usuario o al programador las herramientas e interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los complicados procesos necesarios para llevarlas a cabo. Se deduce por tanto, que el uso de uno u otro determinarán las capacidades de los dispositivos y su forma de. BI. BL. IO T. interactuar con el usuario.. 22. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(42) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.6.2.. Tipos. Existen actualmente 3 versiones distinguidas de los sistemas operativos para móviles, de mayor uso en el marcado (Lozano, 2012) y estos son:. CA S. a) Android Android está basado en una versión modificada del kernel de Linux. Su propietario es la. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. empresa Google. Es de código abierto, lo que quiere decir que cualquier desarrollador puede crear y desarrollar aplicaciones para este sistema. Su entorno de ejecución está basado en Java. Está instalado en dispositivos de una gran variedad de marcas. Esto hace que según las características del terminal, podremos instalar una versión u otra del sistema y, por lo tanto, no se podrán ejecutar ni las mismas aplicaciones ni con las mismas prestaciones en todos ellos. b) iOS. iOS es el sistema operativo que se incluye en los dispositivos Apple (iPhone, iPod y iPad). Está basado en la arquitectura de MAC OS X. En el nivel más alto, iOs actúa como un. IO T. intermediario entre el hardware y las aplicaciones que aparecen en pantalla. Su arquitec-. BL. tura está basada en capas, las capas más bajas contienen los servicios fundamentales y las. BI. tecnologías en las que se apoyan todas las aplicaciones y las capas más altas contienen servicios y tecnologías más sofisticados. 23. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(43) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. c) Windows Phone Windows Phone anteriormente llamado Windows Mobile, es un sistema operativo desarrollado por Microsoft. Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Es un. CA S. sistema multitarea y con capacidades multimedia. Se encuentra en dispositivos de varias. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. marcas.. Además cabe mencionar otros sistemas operativos móviles, que tuvieron muha influencia y uso en los dispositivos móviles, por un periodo de tiempo y que algunos autores los mencionan: Symbian OS (Cordero, 2012), BlackBerry OS (Lozano, 2012), etc.. 2.7.. Android. 2.7.1.. Definición. Conforme con Veloz (2013), Android es un sistema operativo (OS) para dispositivos mó-. IO T. viles (llámese también Sistema Operativo Móvil) no es más que la plataforma informática que establece la interfaz entre el usuario y el hardware del dispositivo móvil, y sobre la cual se pue-. BL. den instalar aplicaciones que agregan utilidad al dispositivo. Entre las funciones más comunes. BI. de un sistema operativo móvil están las de administración de memoria física y virtual, control. 24. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(44) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. de hardware (CPU, teclado, pantalla, altavoces, puertos, etc.), lectura y escritura de archivos, control de procesos multitarea, definición de la interfaz de usuario.. 2.7.2.. Arquitectura. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Android y kuego se hace un descripción de cada una.. CA S. En el siguiente diagrama se muestran los componentes o capas principales de la plataforma. 25. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(45) Figura 2.3: Arquitectura del Sistema Android. Fuente: Recuperado de https://developer.android.com/guide/platform/index.html. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 26. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(46) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.7.2.1.. Kernel Linux. Acorde con Cruz (2013), la base de la arquitectura Android está formada por el kernel de Linux 2.6 o su sucesor, de la cual hace uso de las funciones básicas del sistema operativo como la seguridad, la administración de memoria, gestión de procesos, implementación de conectividad. Abstracción de hardware (HAL). EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.7.2.2.. CA S. de red (network stack) e intérpretes para la comunicación entre dispositivos físicos.. La capa de abstracción de hardware (HAL) brinda interfaces estándares que exponen las capacidades de hardware del dispositivo al framework de la API de Java de nivel más alto. La HAL consiste en varios módulos de biblioteca y cada uno de estos implementa una interfaz para un tipo específico de componente de hardware, como el módulo de la cámara o de bluetooth. Cuando el framework de una API realiza una llamada para acceder a hardware del dispositivo, el sistema Android carga el módulo de la biblioteca para el componente de hardware en cuestión.. 2.7.2.3.. Entorno de ejecución. IO T. Para los dispositivos con Android 5.0 (nivel de API 21) o versiones posteriores, cada aplicación ejecuta sus propios procesos con sus propias instancias del tiempo de ejecución de Android. BI. BL. (ART).. Antes de Android 5.0 (nivel de API 21), Dalvik era la máquina virtual del sistema operativo. 27. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(47) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Si una aplicación se ejecuta correctamente en el ART, también debe funcionar en Dalvik, pero es posible que no suceda lo contrario. En Android también se incluye un conjunto de bibliotecas de tiempo de ejecución centrales que proporcionan la mayor parte de la funcionalidad del lenguaje de programación Java; se. Librerías nativas C/C++. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.7.2.4.. CA S. incluyen algunas funciones del lenguaje Java 8, que el framework de la API de Java usa.. Muchos componentes y servicios centrales del sistema Android, como el ART y la HAL, se basan en código nativo que requiere librerías nativas escritas en C y C++. La plataforma Android proporciona la API del framework de Java para exponer la funcionalidad de algunas de estas bibliotecas nativas a las aplicaciones.. 2.7.2.5.. Framework de la API de Java. Todo el conjunto de funciones del sistema operativo Android está disponible mediante API escritas en el lenguaje Java. Estas API son los cimientos que necesitas para crear aplicaciones. IO T. de Android simplificando la reutilización de componentes del sistema y servicios centrales y modulares. Algunos marcos que posee esta capa son: Activity Manager, Notification Manager,. BI. BL. Package Manager, Telephony Manager, Location Manager, etc.. 28. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(48) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.7.2.6.. Aplicaciones del sistema. En Android se incluye un conjunto de aplicaciones centrales para correo electrónico, mensajería SMS, calendarios, navegación en Internet, contactos, etc. Las aplicaciones del sistema. desarrolladores pueden acceder desde sus propias aplicaciones.. Máquinas Virtuales. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.7.3.. CA S. funcionan como aplicaciones para los usuarios y brindan capacidades claves a las cuales los. En Android los programas están escritos normalmente en Java y compilados a bytecode por la máquina virtual de Java. Luego es traducido a ficheros bytecode para la máquina virtual Dalvik o para ART(Android Runtime):. 2.7.3.1.. Davilk. Según Madero (2013), esta máquina virtual ha sido optimizada y adaptada a las peculiaridades propias de los dispositivos móviles (menor capacidad de proceso, baja memoria, alimentación por batería, etc.) y trabaja con ficheros de extensión .dex (Dalvik Executables).. IO T. Dalvik utiliza la compilación tipo JIT (Just-In-Time, Justo a tiempo) para compilar el by-. BL. tecode DEX y cachea el código de máquina resultante en el fichero ODEX (Optimized DEX,. BI. fichero DEX Optimizado), que en las posteriores ejecuciones de la misma aplicación se reutiliza. 29. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(49) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. el código ya cacheado.. 2.7.3.2.. ART. La máquina virtual ART realiza una compilación AOT (Ahead-Of-Time, Antes de tiempo). Formato. Ejecutable. y. Enlazable).. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. mat,. CA S. en el momento de la instalación para obtener el ejecutable ELF (Executable and Linkable For-. Para las nuevas versiones de Android, precisamente desde la versión 7, se utiliza de manera conjunta estos dos métodos de compilación que son, JIT de Dalvik y AOT de la máquina ART; aprovechando las ventajas de cada tipo de compilación para lograr un mejor rendimiento.. 2.7.4.. Sotfware Development Kit (SDK). El Android SDK es conjunto de herramientas de desarrollo para aplicaciones Android, contiene las fuentes y librerías necesarias que son utilizadas en la creación de proyectos. El SDK también incluye unos componentes adicionales para la creación y posterior fase de pruebas de. IO T. las aplicaciones, que los desarrolladores pueden hacer uso. Muchas de estas herramientas son incorporas a su vez con interfaces gráficas en los IDEs de desarrollo como Android Studio. A. BI. BL. continuación se hace mención de los principales componentes que incluye:. 1) SDK Manager, programa con interfaz gráfica que posibilita el acceso a los paquetes de 30. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(50) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. herramientas, librerías de versiones Android y algunas componentes extras, para el desarrollo con Android. 2) Android Emulator, herramienta de emulador de dispositivo móvil, que es un dispositivo móvil virtual que se ejecuta en el ordenador. El emulador permite desarrollar y probar. CA S. aplicaciones Android sin necesidad de utilizar un dispositivo físico.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 3) Adroid Virtual Device (AVD) Manager, herramienta para para definir las características de un teléfono Android, una tableta,un dispositivo Android Wear o Android TV, que se desea simular en Android Emulator.. 4) Android Device Monitor (ADM), herramienta independiente que proporciona una interfaz de usuario para varios otros programas de depuración y análisis de las aplicaciones Android. 5) Android Debug Bridge (ADB), herramienta de líneas de comandos versátil que permite. BI. BL. IO T. la comunicación con una instancia de un emulador o un dispositivo Android conectado.. 31. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(51) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.8.. Aplicaciones Android. 2.8.1.. Definición. Las aplicaciones móviles Android, son el resultado de un proceso de desarrollo que se mate-. CA S. rializa en un fichero empaquetado APK (Android Application Package), el cual se puede instalar en un dispositivo. Con las aplicaciones se logra dotar de nuevas funcionalidades y tener tareas. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. para ser usadas por los usuarios. Muchas de las aplicaciones Android son distribuidas en Google Play o fuentes externas mediante el fichero APK.. 2.8.2.. Tipos. Las aplicaciones se pueden clasificar por la forma en que sus procesos son llevados a cabo (Veloz, 2013):. a) Aplicaciones de primer plano: Son aplicaciones que son útiles mientras están en primer plano, y que se suspenden totalmente cuando no son visibles. Los juegos y navegadores. IO T. de mapas son un ejemplo de estas aplicaciones.. b) Aplicaciones de fondo: Son aplicaciones con limitada interacción, que a excepción de. BL. cuando son configuradas, pasan la mayor parte de su tiempo ejecutándose de forma oculta.. BI. c) Aplicaciones intermitentes: Son aplicaciones que esperan alguna interactividad, pero ha32. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(52) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. cen parte de su trabajo en segundo plano. En ocasiones estas aplicaciones se configuran y ejecutan silenciosamente, notificando a los usuarios cuando sea necesario. 2.8.3.. Componentes. CA S. Para Veloz (2013), los componentes de una aplicación Android son bloques de construcción esenciales para su funcionamiento; cada componente cumple con un rol específico y existe. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. como una propia entidad, aunque no son necesariamente entradas de interacción con el usuario. A continuación se hace mención de los componentes de mayor importancia:. 2.8.3.1.. Actividades. Según Borja (2015), las actividades son pantallas que se visualizarán en el aplicativo, parte con la que el usuario interactúa. Se compone de dos partes la parte lógica que se programa en java, y la parte gráfica que contiene todos los elementos que aparecen en la pantalla, se crea en. BI. BL. IO T. archivos XML.. 33. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(53) Figura 2.4: Ciclo de Vida de una Actividad.. Fuente: Recuperado de https://developer.android.com/guide/components/activities/activity-lifecycle.html. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 34. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
Documento similar
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. ii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comecial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons. Compartir bajo la misma licencia versión Internacional. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. Esta obra ha sido publicada bajo la
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. INDICE