Arquitectura de aplicaciones distribuidas

Resumen

En la actualidad el uso de aplicaciones móviles se ha extendido en gran medida, llegando a ser implementadas también por instituciones educativas, tal es el caso de instituciones de educación superior como la Universidad Técnica de Ambato, Universidad de Guayaquil, Escuela Superior Politécnica del Litoral. Es por ello que se ha propuesto desarrollar una aplicación de este tipo para la Universidad Técnica Estatal de Quevedo, la información presentada en su web oficial será la misma que los usuarios visualizarán en los dispositivos móviles con plataforma Android. La aplicación desarrollada está enfocada en un ambiente distribuido, específicamente de tipo Cliente/Servidor.


Palabras clave: aplicación móvil, aplicación distribuida, interfaz de usuario, manejo de datos, procesamiento de datos

Abstract

Nowadays, the use of mobile applications has been extended to a great extent, even being implemented by educational institutions, such as higher education institutions such as Universidad Técnica de Ambato, Universidad de Guayaquil, Escuela Superior Politécnica del Litoral. That is why it has been proposed to develop an application of this type for Quevedo State Technical University, the information presented on its official website will be the same that users will see on mobile devices with Android platform. The application developed is focused on a distributed environment, specifically Client/Server type.


Keywords: mobile application, distributed application, user interface, data management, data processing

INTRODUCCIÓN

Para el desarrollo de la aplicación móvil informativa para la Universidad Técnica Estatal de Quevedo (UTEQ) se ha tomado como referencia el desarrollo de varias aplicaciones de este tipo en instituciones educativas de nivel superior como la Universidad de Guayaquil (UG) que en el 2013 desarrollaron una aplicación móvil para la matriculación en la Facultad de Ciencias Administrativas [1]. La Universidad Técnica de Ambato (UTA), que en el 2015 desarrollaron una aplicación móvil para el control de notas [2], y en el 2017 la Escuela Superior Politécnica del Litoral (ESPOL) que desarrollaron una aplicación móvil para el seguimiento académico [3].

El desarrollo de la “Aplicación móvil que proporcione información a la comunidad universitaria de las actividades más relevantes que se realizan en la Universidad Técnica Estatal de Quevedo (UTEQ)” está enfocado en un ambiente distribuido, específicamente de tipo cliente/servidor. En donde la aplicación se encuentra en los dispositivos móviles de los usuarios, en cuanto al procesamiento y almacenamiento de los datos en un servidor alojado en Instituto de Informática de la UTEQ.

DESARROLLO

A. CAPA DE INTERFAZ DE USUARIO

La capa de usuario consiste en el mecanismo de interacción entre el usuario y el sistema, comunicando y capturando la información de usuario en un mínimo proceso.  Esta capa es la responsable de obtener datos de la capa siguiente, mostrarlos, validar entradas de datos, enviarlas a la siguiente capa donde pueden dividirse en: presentación, código de interfaz de usuario [4] [5].

En el desarrollo de la “Aplicación móvil que proporcione información a la comunidad universitaria de las actividades más relevantes que se realizan en la Universidad Técnica Estatal de Quevedo” se escogió el IDE Android Studio, debido a que permite la construcción de aplicaciones nativas para la plataforma Android. La interfaz de usuario en este software está definida por una seria de controles basados en el lenguaje de marcado XML (Lenguaje de Marcado Extensible) [6], que al igual que HTML permite estructurar información entre diferentes aplicaciones.

 

Figura 1 Ejemplo de código XML en Android Studio (interfaz de usuario)

 

 

Figura 2 Menú principal de aplicación móvil UTEQ

 

B. CAPA DE MANEJO DE DATOS

También conocida como capa de negocios, en donde residen los programas que se ejecutan, se reciben peticiones del usuario y se envían las respuestas después del proceso [7]. Esta capa se comunica con la capa de presentación o interfaz de usuario y con la capa de datos, por lo cual es la capa intermedia entre las antes mencionadas.

A pesar de que se suele utilizar el nombre de capa de negocios para referirse a todos los componentes que componen esta capa, por lo general ésta suele dividirse en dos tipos de elementos [5]:

 

Figura 3 Ejemplo de carga de imagen de una noticia

 

 

Figura 4 Conexión a web service para la obtención de las noticias (formato JSON)

 

C. CAPA DE PROCESAMIENTO DE DATOS

Esta capa es donde residen los datos y es la encargada de acceder a los mismos. Puede estar formada por uno o más gestores de base de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de manejo de datos [5].

Para el caso de la aplicación móvil de la UTEQ se implementó el gestor de base de datos MySQL, el cual está alojado en un servidor de la Universidad.

Cuando la capa de manejo de datos realice una petición a la capa de procesamiento de datos esta devolverá una estructura con todo lo solicitado (dependiendo de la consulta), y la capa de manejo de datos almacenará esos datos en un objeto JSON para el posterior procesamiento y presentación al usuario.

D. DISTRIBUCIÓN DE ELEMENTOS DE UNA APLICACIÓN.

Una aplicación distribuida es una aplicación con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red [4].

La distribución habla de que las partes o componentes se encuentran en entornos separados, entonces para realizar la separación física, primero se debe de tener clara la separación lógica de las partes de una aplicación [5].

En la construcción de software por partes a cada componente o elemento se asigna un conjunto específico de responsabilidades dentro de un sistema. También se refiere a la necesidad de distribuir los elementos de un sistema dependiendo de las características y necesidades del lugar [4] [5].

En el desarrollo de la “aplicación móvil para la comunidad universitaria de la UTEQ” se implementó la arquitectura Cliente/Servidor, de tal forma que los elementos fueron distribuidos de la siguiente manera:

SERVICIOS DE LA ARQUITECTURA

Es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Las aplicaciones de software que han sido desarrolladas en diferentes lenguajes de programación y que se ejecutan sobre cualquier plataforma pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como internet. Protocolos utilizados [5]:

Como se mencionó en el apartado C. Capa de procesamiento de datos, la aplicación móvil de la UTEQ utiliza servicios web para la obtención de datos, los cuales son devueltos en formato JSON y procesados por la Capa de manejo de datos para su respectiva visualización.

Al conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso se conoce como base de datos. Un servidor de base de datos es un programa que provee servicios de base de datos a otros programas u otras computadoras, como es definido por el modelo cliente-servidor [5].

La aplicación móvil desarrollada para la UTEQ utiliza el gestor de base de datos MySQL, alojado en un servidor de la Universidad. Cabe recalcar que la base de datos ya había sido creada con anterioridad, la cual es utilizada para presentar información relevante en el sitio web de la UTEQ.

Es el programa o software informático que permiten a un usuario utilizar una computadora o dispositivo con un fin específico. Suelen ejecutarse sobre el sistema operativo [5].

El modelo de negocios Proveedor de Servicios de Aplicación o más conocido en inglés como ASP (Application Service Provider) permite a una organización utilizar un software de aplicación bajo el concepto de servicio, sin la necesidad de comprar licencias, equipos y otros activos, pagando sólo una cuota mensual [5].

Las   ventajas del modelo son muchas, entre las cuales podemos destacar:

CONCLUSIONES

Una aplicación móvil con fines informativos para el estudiante, correctamente estructurado, con una interfaz de usuario amigable y un buen manejo de datos puede resultar muy útil para la vida seglar de los docentes y los estudiantes miembros de una institución educativa, más aun si hablamos de una Universidad. Los ámbitos laborales son extensos y no podemos llegar a saber todo lo que está pasando en la Universidad solo por rumores, por lo tanto, es indiscutible la utilidad que puede llegar a tener una aplicación en nuestro dispositivo móvil con un rápido acceso a los puntos de nuestro interés que ofrezca la aplicación. Es cierto que no podemos conformarnos solo con información. En un establecimiento universitario se requiere solucionar muchos problemas, como por ejemplo: matricularse desde la aplicación, realizar informes de las prácticas pre profesionales, control de asistencia a través del sensor biométrico de nuestro dispositivo móvil, tutorías, entre muchísimas otras aplicaciones que se podrían realizar para facilitar la vida seglar de los miembros de una institución. Para cada problema y solución que surja dentro del desarrollo de un software móvil se debe tener en cuenta las tres capas analizadas en este documento para poder lograr un trabajo que vaya de acuerdo a ciertos estándares establecidos por los desarrolladores con el objetivo de satisfacer las necesidades de cada usuarios final de nuestra aplicación.

REFERENCIAS

[1]B. S. Rodríguez Morales y W. A. Vera González, «Desarrollo de una aplicacion movil para matriculacion en la Facultad de Ciencias Administrativas de la Universidad de Guayaquil,» Universidad de Guayaquil, Guayaquil, 2017.

[2]D. L. Gamboa Safla, «Aplicación móvil para el control de notas de los estudiantes de la Universidad Técnica de Ambato utilizando la plataforma Android,» Universidad de Ambato, Ambato, 2015.

[3]Á. J. Sarmiento Campoverde y R. F. Pico Mejía, «Aplicación móvil de seguimiento académico,» ESPOL, Guayaquil, 2017.

[4]M. J. Galarza Chacón y P. S. Tapia Cevallos, «Desarrollo de aplicaciones distribuidas utilizando patrones de diseño modelo/ vista / controlador (MVC) bajo J2EE,» ESPEL, Latacunga, 2005.

[5]E. Suárez, «Arquitectura de Aplicaciones Distribuidas,» 23 Febrero 2013. [En línea]. Available: http://arquitecturaaplicacionesdistribuidas.blogspot.com/. [Último acceso: 05 Julio 2017].

[6«W3Schools,» Refsnes Data, [En línea]. Available: https://www.w3schools.com/xml/xml_whatis.asp. [Último acceso: 2017].

[7]J. Estrado Rosalio, Comparativo de herramientas middleware para el desarrollo de aplicaciones distribuidas bajo el paradigma de la programación orientada a componentes, México D. F., 2008.

 


[a] Estudiante, Facultad de Ciencias de la Ingeniería, Universidad Técnica Estatal de Quevedo