Arquitectura de Aplicaciones Empresariales

Anuncio
 Arquitectura Empresariales de Aplicaciones Trabajo de Investigación tutelado Autor: Miguel Jiménez Gañán Tutor: Dr. Francisco Javier Soriano Camino INTRODUCCIÓN Dentro del conjunto de aplicaciones empresariales que se manejan en las corporaciones, unos de los que requiere un especial cuidado en cuanto a su concepción, desarrollo y explotación, son los Sistemas de Información, y más concretamente aquellos que se dedican a ofrecer información acerca de la empresa, ya sea de forma interna en la intranet corporativa, o de forma externa para el público en general. Éstos sistemas están basados casi exclusivamente en sistemas Web, cuya integración con el resto de las aplicaciones empresariales se encuentra perfectamente resuelta en la actualidad. Sin embargo, la expansión en el mercado de dispositivos móviles con capacidades avanzadas de conectividad, así como las nuevas necesidades de movilidad de los usuarios en general y los empleados de las empresas han evidenciado una carencia en los sistemas de información existentes basados en Web y tecnologías HTML, como es la incapacidad de tratar con diferentes dispositivos, y adaptar su contenido para permitir el acceso desde plataformas distintas a aquellas para las que fueron diseñados, sistemas de escritorio tradicionales. La utilización de dispositivos móviles junto con los Sistemas de Información aporta valor de negocio a la empresa [1], por lo que está siendo tenido muy en cuenta en dicho entorno. Dado que los dispositivos móviles no tienen las mismas capacidades [2] que los sistemas de escritorio tradicionales, los contenidos Web ofrecidos por estos Sistemas de Información tienen que ser adaptados para poder permitir un acceso transparente desde un gran abanico de dispositivos, lo cual se ha convertido en un requisito indispensable para satisfacer la creciente demanda de servicios y contenidos Web ofrecidos en movilidad. Estas carencias detectadas motivaron esta investigación sobre las soluciones existentes para esta problemática, para determinar el grado de implicación que tendría su inclusión en un Sistema de Información de una empresa. La investigación derivó en un estudio posterior centrado en una de las soluciones encontradas, el MyMobileWeb de Morfeo, para la que surgieron diversas mejoras y aportaciones que serán explicadas más adelante, y que merecieron su publicación de seis artículos en congresos y revistas internacionales. TÉCNICAS DE TRANSCODING Actualmente la mayor parte de las páginas y los contenidos Web accesibles por Internet están pensadas y diseñadas para ser accedidas a través de un ordenador de escritorio con plenas capacidades (una pantalla grande con alta resolución, una interfaz rica con ratón y teclado, razonable capacidad de proceso y un potente navegador Web capaz de ofrecer todo tipo de contenidos al usuario). Sin embargo, dichos contenidos Web “ricos” no son accesibles directamente mediante los dispositivos que se utilizan en movilidad, como puedan ser teléfonos móviles, smartphones, PDAs, etc. Las limitaciones inherentes a dichos dispositivos hacen que la navegación con ellos por medio de páginas Web no diseñadas para ellos sea complicado, engorroso y en muchos casos imposibles. Las limitaciones presentes en estos dispositivos son de varios tipos, destacando entre otras: •
La pantalla. Las pantallas de los dispositivos móviles son muy reducidas, y a pesar de que están surgiendo dispositivos con un display de mayor tamaño, la inherente naturaleza de los dispositivos móviles les obliga a mantener un tamaño contenido, y con eso, una pantalla de reducidas dimensiones. Esto implica que el contenido que pueden mostrar se limita a unas pocas líneas de pocos caracteres, y quizá en un número limitado de colores, resultando ser el factor que más influye en la adaptación que ha de sufrir el contenido a presentar. •
La interfaz con el dispositivo. El tamaño contenido de los dispositivos también influye en la variedad de los dispositivos de entrada que se pueden utilizar, limitando el número de botones, pero también ofreciendo nuevas formas de interactuar con los dispositivos diferentes a los tradicionales teclado y ratón. •
La capacidad de proceso. Los dispositivos móviles están restringidos por el consumo de energía, y a pesar de las crecientes capacidades y el bajo consumo de los nuevos procesadores móviles, no se alcanza una capacidad comparable con la de un ordenador de sobremesa, dirigiendo la adaptación de contenidos y otro tipo de cómputo a un servidor o proxy en lugar de realizarlo en el propio dispositivo. •
El navegador presente en los dispositivos móviles es muy limitado, no siendo capaz de ofrecer los mismos contenidos, principalmente multimedia, que los navegadores de equipos de escritorio. Para tratar estas limitaciones surgieron diversos lenguajes de marcas específicos para dispositivos móviles, en función del tipo de dispositivo y la tecnología que emplea. Sin embargo, la proliferación de dispositivos implica un gran número de tecnologías y de lenguajes de marcas, lo que dificulta la tarea de crear contenidos Web específicos para dispositivos móviles, o adaptar los existentes para que sean compatibles con estos dispositivos. Como muestra, las diferentes tecnologías y lenguajes de marcas para los teléfonos móviles actuales, WAP, iMode, XHTML‐MP, soporte para Java, etc. La gran variedad de tecnologías, unida a la falta de uniformidad en las características de los dispositivos que las utilizan obliga realizar una adaptación de los contenidos específicamente diseñada para cada dispositivo que se desea pueda acceder a ellos. Tradicionalmente esta adaptación de contenidos (conocida como transcoding [3]) se basaba en interpretar el contenido de sintáctico de una página Web tradicional, y generar una versión lo más fiel posible compatible con el dispositivo o familia tecnológica deseado. En la actualidad existen diversas técnicas que permiten definir contenido específico para ser visualizado con dispositivos móviles, existiendo soluciones que integran alguna o varias de ellas: •
Lenguaje propio para definir los contenidos que serán accesibles en movilidad. Esta aproximación obliga a realizar una versión nueva de los contenidos Web tradicionales, ya que considera parte de una concepción radicalmente distinta entre los dispositivos móviles y de escritorio tradicionales. Pretende facilitar el desarrollo de nuevas soluciones al reducir a un solo lenguaje el diseño para múltiples dispositivos, pero no deja de incorporar un lenguaje nuevo al extenso conjunto de ellos que se utilizan para desarrollar en Web. Es la solución más flexible y una de las más adoptadas por los productos que hay en el mercado, ya sean comerciales o de código abierto. •
Uso de etiquetas que se convierten en diferentes lenguajes de marcas en función del dispositivo. Esta técnica se implementa comúnmente con etiquetas de la tecnología JSP y en conjunción con la anterior. •
Hojas de estilo XSLT, que permiten transformar contenidos para generar diferentes lenguajes de marcas, según la necesidad. Esta opción adolece de problemas de flexibilidad, es costoso de mantener y, principalmente, impide el uso de procedimientos automáticos para realizar paginación automática porque no mantiene estado. •
Uso de controles visuales como definición de los contenidos que se desea que aparezcan en los diferentes dispositivos. Estos controles visuales se convierten en uno o varios elementos de los diferentes lenguajes de marcas, son de mayor alto nivel y se permiten definir propiedades y comportamiento de una forma más rica, siendo el proceso de transcoding el encargado de generar dicho comportamiento en cada dispositivo con las tecnologías de que disponga. Hay diferentes herramientas que realizan adaptación de contenidos Web basándose en estas técnicas, se citan algunas como ejemplo comparativo que no pretende ser exhaustivo. Mobile Aware [4] tiene dos productos basados en controles visuales con etiquetas JSP que se convierten en bloques del lenguaje de marcado objetivo. Mobile Controls de Microsoft [5] también utiliza controles visuales, aunque el conjunto disponible no es muy extenso. Oracle iAs Wireless [6] define su propio lenguaje XML de definición de presentación, y genera el contenido final mediante hojas de estilo XSLT. WebSphere EveryPlace Access de IBM [7] basado en tecnología de WebSphere Transcoding Publisher [8] también se basa en hojas de estilo XSLT, pero en este caso parte de contenidos HTML ya publicados. Por último, MyMobileWeb [9] de la comunidad de Software Abierto Morfeo, que es el producto sobre el que se han planteado diversas mejoras y ampliaciones, se basa en un lenguaje único para definir las presentaciones compuesto de controles visuales. Esta última herramienta, MyMobileWeb, ha sido elegida para ser caso de estudio por su condición de ser de código abierto, así como por ser una de las más completas y tener mayores posibilidades de ampliación y mejora, y por ser una de las pocas que permiten integrarse de forma sencilla en los Sistemas de Información de una empresa, porque permite acceder a Sistemas de Gestión de Contenidos, compartiendo dichos contenidos con otros Gestores de Contenidos de la empresa. La herramienta se basa en un proceso de adaptación realizado en tiempo de compilación, que genera tantos servidores ligeros como tecnologías soporta, de forma que gran parte de la adaptación ya ha sido realizada, y en tiempo de ejecución sólo se realiza el acceso a los datos y la adaptación dependiente del tamaño de los mismos, como la paginación automática de menús, listas, tablas, etc. La siguiente imagen corresponde al resultado obtenido en distintas dispositivos mostrando un mismo contenido, en este caso correspondiente a una operación de búsqueda de una aplicación empresarial, lo que permite observar la transformación que se realiza para cada uno de ellos, y cómo las distintas características de los dispositivos influyen en la presentación que finalmente presentan al usuario. ADAPTACIÓN SEMÁNTICA DE CONTENIDOS Las herramientas descritas anteriormente, aunque utilizando diferentes técnicas, basan las transformaciones que realizan exclusivamente en la sintaxis de los contenidos, sin tener en cuenta otros factores que pueden ayudar en esta tarea como es la semántica de los propios datos que aparecen en dicho contenido Web. Según apuntó Ora Lassila en su charla introductoria en IASW 2005 [10] la computación ubícua y móvil mejorarán con la inclusión de marcado semántico en la información que se le envía al usuario mediante plataformas de movilidad, así como en el propio proceso de transcodificación. En la misma línea, M. Hori [11][12][13] ya proponía realizar anotaciones semánticas que ayudaran en el proceso de transcodificación. Siguiendo estas propuestas se ha trabajado en dos líneas complementarias que permitan llevar a cabo la idea de incorporar la semántica de los propios datos en el proceso de adaptación de contenidos: 1. Se ha evolucionado el lenguaje de definición de presentaciones de la herramienta MyMobileWeb de forma que permita incorporar información semántica acerca de dichas presentaciones, y el propio proceso de adaptación pueda adaptar el contenido a la tecnología deseada, incluyendo una serie de anotaciones semánticas que describan tanto los contenidos que se muestran como la propia interfaz y los elementos que la componen. 2. Se han realizado modelizaciones semánticas acerca del perfil del usuario y del contexto de la navegación que permitan explotar las anotaciones semánticas y utilizaras en el mismo proceso de adaptación de contenidos, a fin de obtener el mejor resultado posible, no sólo teniendo en cuenta las limitaciones del dispositivo, sino optimizándolo para dicho usuario en una situación concreta de utilización del dispositivo móvil. También se han definido algoritmos que permiten establecer prioridades y niveles de adecuación de los contenidos con los intereses del propio usuario. Ambos líneas de trabajo son complementarias, la primera es la que permite llevar a cabo la segunda, y ésta última es la que explota toda la información semántica que describe los datos. Descripción semántica de contenidos Como se ha comentado anteriormente, la herramienta MyMobileWeb define un lenguaje propio de definición de las presentaciones (RDL1), basado en XML, que permite especificar en alto nivel los elementos que compondrán las pantallas e interfaces, así como el contenido que se desea publicar en movilidad. Este lenguaje, por tanto, puede ser ampliado y enriquecido para dar soporte a una definición semántica de los elementos y contenidos Web de una forma declarativa. La ampliación del lenguaje RDL se ha realizado junto con Telefónica I+D. Se decidió por ampliar dicho lenguaje con diversas propiedades que especifiquen la clase, los atributos, el 1
Del inglés Rendering Definition Language, nombre utilizado por el autor en los artículos escritos sobre el tema identificador de instancia y el formato de los datos que pueblan cada uno de los controles visuales que conforman la interfaz. Asimismo los elementos de entrada de datos de la interfaz quedan también definidos, permitiendo conocer de forma automática los datos que deben ser introducidos en cada uno de ellos por el propio dispositivo, por ejemplo. Durante la propia extracción de los datos, cuyo acceso se realiza en tiempo de ejecución, se accede al repositorio de anotaciones semánticas para extraer la información semántica asociada a esos mismos datos, y se envían de forma externa al propio lenguaje de marcado, tal y como aconseja el W3C. Las anotaciones se envían en forma de tripletas RDF que describen los contenidos en función a unas ontologías anteriormente definidas, asimismo referenciando los elementos de la presentación mediante XPath [13], para permitir que el propio dispositivo realice las operaciones o mejora sobre la interfaz que considere. Lo explicado hasta aquí permite describir semánticamente la interfaz Web y sus contenidos, sin embargo este proceso no es útil por sí mismo si no se definen los métodos para aprovechar dicha semántica en el proceso de adaptación de contenidos. Para ello se ha optado por realizar modelizaciones semánticas de los elementos importantes que puedan mejorar la experiencia del usuario al acceder a los contenidos Web, que son el perfil del usuario y el contexto en el que se realiza la navegación. El perfil del usuario El perfil de usuario considerado está inspirado en ideas de [14] y [15], donde el perfil se define como un conjunto de predicados unarios para las características de la persona, y un conjunto de gustos o aficiones de la persona. El perfil de usuario contempla dichos elementos, pero los define de una forma más cercana a la Lógica Descriptiva, y lo amplía con nuevos conceptos, incorporando la idea de intereses a “largo” y “corto” plazo, para recoger aficiones y gustos del usuario por una parte, y deseos más urgentes por otro lado. Al disponer de información semántica acerca de las características del usuario se puede simplificar su interacción con el dispositivo móvil en cuanto a la introducción de datos en formularios, lo que resulta ser una tarea tediosa en dispositivos con interfaz reducida. Junto con el perfil del usuario se ha definido un algoritmo que permita categorizar los distintos contenidos en función del interés que puedan tener para el usuario. Éste algoritmo utiliza diferentes niveles de adecuación definidos en [16], adaptándose a la definición del perfil de usuario propuesta. El contexto de navegación El contexto de navegación puede verse como toda la información relativa al entorno que no forma parte de la propia navegación [16][17]. Puede verse su influencia en la mejora de la navegación con un ejemplo basado en una visita turística: •
La hora. Se puede cambiar el contenido que se cuenta o prioriza en función del momento del día, por ejemplo se puede mostrar el horario nocturno de autobuses a determinadas horas, y el diurno a otras. •
Localización. Se pueden mostrar mapas centrados en la posición del usuario. •
Estado de la red. Puede aconsejar mostrar imágenes de menor calidad si el ancho de banda es limitado.
En este sentido se han definido conceptos como atributos, parámetros de atributos, Grupo Relevante de Atributos para determinadas metas y su instanciación, de forma que el proceso de adaptación de contenidos pueda computar el valor de ciertos atributos pertenecientes al contexto de navegación que son importantes en un determinado momento, y pueda por tanto utilizarlos. CONCLUSION En la actualidad existen diferentes métodos y soluciones para poder realizar aplicaciones Web y portales multi‐dispositivo, que aíslan al programador de los detalles inherentes a la utilización de diferentes tecnologías, y permitiendo que la mayor parte de los dispositivos móviles accedan a la información deseada de una forma transparente, obteniendo unos resultados razonables con un coste en tiempo muy reducido. El problema existente en las aproximaciones tradicionales a la adaptación de contenidos en Movilidad es que utilizan únicamente la sintaxis de los contenidos que procesan, por lo cual comienzan a aparecer propuestas, como la aquí comentada, que pretenden hacer uso de información semántica de los contenidos para obtener mejores resultados. La motivación para tratar de mejorar los resultados ofrecidos con los sistemas tradicionales radica en la compleja interfaz de los dispositivos móviles, que dificulta realizar una navegación fluida, la introducción de datos, y la visualización de muchos elementos, por lo que se pretende ofrecer al usuario los contenidos más relevantes en el menor número de accesos posibles, de forma que se reduzca el número de pantallas que ha de recorrer para encontrar lo que desea. LOGROS Las investigaciones realizadas y las soluciones aportadas han sido enviadas y aceptadas para su publicación en diversos foros internacionales para ser contrastadas y obtener feedback de la comunidad internacional. El autor del presente trabajo, en colaboración con otros compañeros del grupo de investigación ha publicado los siguientes artículos dentro del tema que trata este trabajo: Contribuciones a Congresos •
Fernando Alonso, Sonia Frutos, Miguel Jiménez y Javier Soriano (en orden alfabético). Semantic Repurposing and Personalization of Web Contents in Ubiquitous and Mobile Computing Environments. 17th European Conference on Artificial Intelligence. Riva del Garda, Italia. 2006
•
Javier Soriano, Miguel Jimenez, Jose M. Cantera, Juan J. Hierro, "Delivering Mobile Enterprise Services on Morfeo’s MC Open Source Platform," mdm, p. 139, 7th International Conference on Mobile Data Management (MDM'06), 2006. •
Javier Soriano, Genoveva Lopez, Miguel Jimenez, Rafael Fernandez, Juan J. Hierro, "SemanticWeb Content Adaptation and Services Delivery on Morfeo’s Semantic Mobility Channel," mdm, p. 78, 7th International Conference on Mobile Data Management (MDM'06), 2006. Publicaciones en revistas •
Fernando Alonso, Sonia Frutos, Miguel Jiménez, Javier Soriano (en orden alfabético). Information Agents for Optimal Repurposing and Personalization of Web Contents in Semantics‐Aware Ubiquitous and Mobile Computing Environments. Lecture Notes in Artificial Intelligence (por aparecer). •
José M. Cantera, Miguel Jiménez, Genoveva López, y Javier Soriano (en orden alfabético). Using the Semantic Web in Ubiquitous and Mobile Computing. International Journal of Computer Science. ISSN 1306‐4428 . Volumen 1, pp 118‐
126. 2006. •
José M. Cantera, Miguel Jiménez, Genoveva López, y Javier Soriano (en orden alfabético). Morfeo's Semantic Mobility Channel: Ubiquitous and Mobile Computing Meets the Semantic Web. Transactions on Engineering, Computing and Technology. ISSN 1305‐5313. Volumen 11, pp 24‐30, Febrero 2006. REFERENCIAS [1] S. Chughtai and L. M. Patterson. Robust mobile‐computing products delivering business value to your enterprise. IBM Pervasive Computing, Whitepaper G224‐9130‐
00, 2004. [2] M. Hori, G. Kondoh, K. Ono, S. Hirose, and S. Singhal, “Annotation based Web Content Transcoding”, Proceedings of the 9th International World Wide Web Conference (WWW9), Amsterdam, 2000. Available: http://www9.org/. [3] K. H. Britton, et al., “Transcoding: Extending E‐Business to New Environments,” IBM Systems Journal, 40(1), pp. 153‐178, 2001. [4] MobileAyare, MobileAware Mobile Interaction Server. Available at http://www.mobileaware.com [5] Microsoft Corp. Microsoft Mobile controls. Available at http://msdn.microsoft.com/mobility/othertech/asp.netmc/. [6] P. Darringer. Oracle Application Server Wireless. Oracle Corporation, September 2005. Available at http://www.oracle.com/technology/products/ /iaswe/OracleAS Wireless Enterprises TWP 10gR2.pdf [7] IBM. WebSphere EveryPlace Access. Available: www.ibm.com/software/pervasive/ws everyplace access. [8] IBM. WebSphere Transcoding Publisher, 2001. Available: http://www.ibm.com/software/webservers/transcoding/. [9] Comunidad de Software Libre Morfeo. MyMobileWeb. Available at http://www.morfeo‐project.org/ [10] O. Lassila, “Using the Semantic Web in Ubiquitous and Mobile Computing,” Keynote, IASW05, Jyväskylä, Finland, 25‐27 Aug. 2005. [11] M. Hori, G. Kondoh, K. Ono, S. Hirose, and S. Singhal, “Annotation‐based Web Content Transcoding”, Proc of the 9th Int World Wide Web Conference (WWW9), Amsterdam, 2000. Available: http://www9.org/. [12] M. Hori, K.Ono, G. Kondoh, and S. Singhal, “Authoring Tool for Web Content Transcoding,” Markup Languages: Theory and practice, 2(1), pp. 81‐106, 2000. [13] M. Hori, “Semantic Annotation for Web content Adaptation. In D. Fensel, et al. Eds. Spinning the Semantic Web, The MIT Press, Cambridge, Massachusetts, pp. 403‐429, 2003. [14] A. Calì, D. Calvanese, S. Colucci, T. Di Noia, and F. M. Donini. “A description logic based approach for matching user profiles.” Proceedings of the 2004 Description Logic Workshop (DL 2004), 2004. [15] A. Hessling, T. Kleemann, and A. Sinner, “Semantic User Profiles and their Applications in a Mobile Environment.” AIMS workshop Ubicomp Conference 2004, Nottingham, England, September 2004. [16] L. Li and I. Horrocks. “A software framework for matchmaking based on semantic web technology”. Proceedings of the 12th International Conference on the World Wide Web, Budapest, Hungary, May 2003. [17] A. Dey et al. Towards a better understanding of context and context‐awareness. GVU Tech. Report GIT‐GVU‐00‐18, Georgia Institute of Technology, 1999. 
Descargar