|
|
ARQUITECTURA PARA EL DESARROLLO DE APLICACIONES EMPRESARIALES DE MOVILIDADEscrito por Narciso Hernández Viernes, 13 de Febrero de 2009 14:59
Las tecnologías de la información y de las comunicaciones (TIC) son un término que se utiliza actualmente para hacer referencia a una gama amplia de servicios, aplicaciones, y tecnologías, que utilizan diversos tipos de equipos y de programas informáticos, y que a menudo se transmiten a través de las redes de telecomunicaciones (Comisión de las Comunidades Europeas 1991). En este sentido, la movilidad se refiere a la tecnología empleada para acceder a la información y a los servicios desde dispositivos móviles. Por tanto, la localización geográfica y el instante de tiempo no deben ser un inconveniente a la hora de establecer la comunicación.
Cada día aparecen en el mercado nuevos dispositivos y tecnologías que permiten un mayor grado de movilidad a los usuarios, pero incompatibles con los anteriores. Esto provoca que las empresas tengan que realizar un gran esfuerzo económico para migrar a estas nuevas plataformas. En la actualidad está en auge la construcción de aplicaciones de movilidad, aunque las soluciones se orientan, generalmente, a una plataforma específica o bien suelen ser soluciones que proporcionan una funcionalidad reducida y orientada a mercados concretos. Además, los fabricantes intentan imponer sus tecnologías para adquirir una posición dominante en el mercado, por lo que no hay un entorno de desarrollo común independiente de la plataforma. En consecuencia, desarrollar una aplicación que soporte varios dispositivos normalmente requiere tener distintas ramas de código fuente. El desarrollo guiado por modelos (Model-Driven Development, MDD) es una manera de enfrentar la ingeniería de software, en la cual a partir de modelos y herramientas de modelación es posible aumentar el nivel de abstracción que se utiliza en el desarrollo de aplicaciones (Brown, Conallen & Tropeano 2005). En el año 2001 se propuso por el Object Management Group (OMG) la Arquitectura guiada por modelos (Model Driven Architecture, MDA), que es una realización particular de MDD y establece una distinción entre grupos de modelos que tienen en consideración información de la plataforma software y hardware y los que no utilizan esa información, que se denominan Modelos Independientes de Plataforma (Platform Independent Models, PIM) (OMG 2003). Estas estrategias de MDD han sido claves en el diseño de la arquitectura que se presenta en este trabajo, teniendo en cuenta que uno de sus principales objetivos es el de realizar un diseño de la aplicación que sea independiente de la plataforma en la que ésta se desplegará posteriormente. ![]() 1. ARQUITECTURA PARA EL DESARROLLO DE APLICACIONES EMPRESARIALES MÓVILES Desde hace unos años, los cambios tecnológicos han provocado que muchas empresas hayan modificado la forma de hacer negocios, tratando de ofrecer niveles de servicio cada vez más altos. Para conseguir este objetivo, se hace necesario poder establecer una comunicación desde cualquier ubicación geográfica y en cualquier instante de tiempo. Lógicamente, las soluciones con estas características, ofrecen múltiples ventajas relacionadas con la movilidad de los empleados, aumentando la productividad, disminuyendo los costes, optimizando los procesos de negocio y mejorando la satisfacción del cliente final. La gran mayoría de las empresas de cualquier sector empresarial buscan diferenciarse de la competencia para tener la ventaja competitiva que proporciona la información de gestión en tiempo real como sistema de apoyo a la toma de decisiones. Actualmente, las plataformas empresariales de movilidad están proporcionando esta ventaja a las empresas que lo están implantando. Sin embargo, los fabricantes de estos dispositivos y tecnologías no han encontrado un punto común que permita unificar el desarrollo de aplicaciones sobre estas plataformas. Esta situación provoca que actualmente las empresas dependan de la plataforma que hayan elegido inicialmente por el alto coste que supone migrar a otra distinta. En este trabajo se ha diseñado y construido una arquitectura para el desarrollo de aplicaciones empresariales móviles para distintos dispositivos y plataformas, que permita el desarrollo de este tipo de soluciones independientes de la plataforma y el dispositivo móvil. 1.1 Características principales La arquitectura de movilidad presentada en este trabajo participa en todo el ciclo de vida de una aplicación, desde el desarrollo hasta la puesta en producción. Entre sus características principales se pueden mencionar las siguientes:
1.2 Servidor de aplicaciones El servidor de aplicaciones de la arquitectura ofrece las siguientes funcionalidades:
1.3 Servicios de datos Cabe precisar de esta Arquitectura que la capa de servicios de datos está basada en la especificación Service Data Objects (OSOA Collaboration Group 2006) para proporcionar soporte a operaciones desconectadas y desde diferentes orígenes de datos, que son cuestiones imprescindibles en las modernas arquitecturas de software. Existe también la posibilidad de desarrollar servicios de acceso a datos personalizado (en caso de ser necesario) y que se puede integrar con el resto de la aplicación. Mediante este enfoque se cubre una importante cantidad de los sistemas de gestión de bases de datos disponibles en el mercado y constituye un importante medio de integración de aplicaciones. 1.4 Presentación y adaptación de interfaz de usuario Un componente vital de toda aplicación es el interfaz de usuario y puede ser el condicionante de la aceptación de uso o no de una aplicación. En este sentido se ha tenido especial cuidado en el diseño de un interfaz de usuario único independiente del dispositivo que se utilice. Existen múltiples enfoques para la representación de interfaces de usuarios para múltiples dispositivos mediante un único formato de código fuente (Luyten et al, 2004). Lo común de todos ellos es la necesidad de una solución de adaptación en el camino que permita traducir esa única definición de la interfaz de usuario en un formato específico del dispositivo antes de su presentación al usuario. Para ello, en este trabajo se ha desarrollado el Lenguaje de Descripción de Interfaz de Usuario Funcional (FUIDL), basado en XML y que permite describir de forma abstracta una interfaz de usuario, a partir de sus aspectos funcionales e independientemente de su representación concreta, mediante máquinas de estados para especificar los flujos de navegación de una aplicación y también para las diferentes páginas que contienen los controles de la interfaz 1.5 Escalabilidad Esta solución está basada en una arquitectura de computación en GRID (Foster & Kesselman 1999; Foster & Kesselman 2004) y tiene como objetivos mejorar el rendimiento y la escalabilidad del sistema, mientras que mantiene intacta su disponibilidad (Figura 5). Se puede implementar directamente sobre la infraestructura de servicios existente. El wrapper del servicio se genera automáticamente a partir del WSDL del servicio y tiene la responsabilidad de publicar en la cola de tareas la solicitud para ejecutar una operación. El Agente de GRID es un contenedor de activadores. Un Activador es un software que constantemente está observando la cola de tareas hasta que aparezca una solicitud de operación que pueda ser ejecutada por el componente que él manipula. En ese momento realiza una solicitud para ejecutar la operación y en caso de que se la concedan, invoca al servicio para ejecutar la operación indicada. El resultado de la ejecución de la operación se envía directamente al wrapper del servicio. El Componente de Gestión del GRID mantiene un registro de todos los agentes, activadores y sus niveles de actividad. 1.6 Ciclo de vida del desarrollo de una aplicación El desarrollo de una aplicación sobre la arquitectura propuesta se resume en las siguientes etapas:
La arquitectura para el desarrollo de aplicaciones empresariales de movilidad que se ha presentado en este trabajo aporta las siguientes ventajas:
3. VIDEO DEMOSTRATIVO Este video demostrativo nos guia paso a paso en la creacion de una aplicacion de gestion de pedidos, demostrando la rapidez y la facilidad de uso de la plataforma REF. Parte 1 de 3 Parte 2 de 3 Parte 3 de 3 |





