Download Revista EPIS.cdr - Universidad Nacional del Altiplano
Document related concepts
no text concepts found
Transcript
“PROPUESTA DE INTEGRACIÓN DE GOOGLE WEB TOOLKIT CON GLASSFISH Y ENTERPRISE JAVA BEAN PARA DESARROLLAR UN SISTEMA WEB Y LA ADMINISTRACIÓN DE INFORMACION” Angel Jogues Calsina Ponce Ramiro Cazorla Choque Universidad Nacional del Altiplano RESUMEN En el presente artículo se presenta una propuesta de integración de algunas de las tecnologías más sobresalientes en el mundo de la informática, esto como resultado del desarrollo de un sistema web sobre la plataforma de Google Web Toolkit, obteniendo la integración de Google Web Toolkit con Glasssh y Enterprise Java Bean, para que sirva como guía básica para aquellas equipos de desarrollo de software que se inician en el uso de la tecnología Google Web Toolkit. Además se presenta los resultados del desarrollo de un sistema para administrar información haciendo uso de GWT(Google Web Toolkit) con Glasssh y Enterprise Java Bean, según el plan de pruebas que comparo los resultados obtenidos al implantar el sistema web (plan basado en pre-test y post-test , administración de información sin y con el sistema web). ABSTRACT A proposal for integration of some of the most outstanding technologies in the world of computing is presented in this article, this as a result of developing a web system on the platform of Google Web Toolkit, getting the Google Web Toolkit integration with Glasssh and Enterprise Java Bean, to serve as a basic guide for those software development teams who start using the Google web Toolkit technology. In addition the results of the development of a system for managing information is presented using GWT (Google Web Toolkit) with Glasssh and Enterprise Java Bean, according to the test plan to compare the results obtained by implementing the web system (based on preplan test and post-test, no management information system and the web). INTRODUCCIÓN Actualmente, la creación de aplicaciones web resulta un proceso pesado y propenso a errores. Los desarrolladores pueden pasar el 90% de su tiempo estudiando las peculiaridades de los navegadores. La reutilización y el mantenimiento de una gran cantidad de componentes AJAX y bases de código JavaScript pueden ser tareas complejas y delicadas. Cada vez más son las compañías que hacen uso de Java para el desarrollo de sus aplicaciones, La plataforma Java 2 Enterprise Edition (J2EE) brinda grandes oportunidades para el desarrollo de sistemas distribuidos, utilizándose en un gran número de aplicaciones de empresas y donde la tecnología Enterprise Java Beans es una parte muy importante de la misma. La arquitectura de una aplicación J2EE en reiteradas ocasiones contiene varias capas separadas, donde “su objetivo principal es separar la capa de presentación con la capa de negocio y con la capa de datos. <9> La capa servidor posee típicamente componentes de servidor con lógica de negocio, los cuales son manejados por un contenedor EJB, de acuerdo con la implementación de la especicación del mismo. Dicho contenedor, que además “controla cada aspecto del beans enterprise en tiempo de ejecución incluyendo accesos remotos al bean, concurrencia y accesos a un almacén de recursos, es parte del servidor de aplicaciones donde tanto uno como el otro no pueden ser separados, siendo al mismo tiempo proporcionados por el m i s m o p r o v e e d o r. S i e n d o e l servidor de aplicaciones Glasssh el que provee los servicios de seguridad y manejos de transacciones, así como el ciclo de vida de los componentes. Por otro lado Google Web Toolkit (GWT), es un conjunto de herramientas de desarrollo para crear y optimizar aplicaciones basadas en navegador complejos. Su objetivo es permitir el desarrollo productivo de las aplicaciones web de alto rendimiento sin que el desarrollador tiene que ser un experto en peculiaridades del navegador, XMLHttpRequest y JavaScript. GWT es utilizado por muchos productos en Google, incluidos AdWords, AdSense, hostales, buscadores, Blog. Es de código abierto, completamente gratis, y utilizado por miles de desarrolladores de todo el mundo. DEFINICIÓN DEL PROBLEMA Una vez que se ha abordado brevemente sobre temas como el lenguaje de programación Java, la plataforma J2EE, arquitectura 3 capas, tecnología EJB y servidor de aplicaciones, surge la problemática que se encuentra presente en innumerables instituciones y empresas, en cuanto al desarrollo de software, donde una de las principales afectaciones a las que se enfrentan los equipos multidisciplinarios que forman parte de un proyecto, es a la hora de elegir dentro de una gran variedad de tecnologías y lenguajes de programación los más indicados para dar solución a determinada situación, ya que muchos de ellos tienen entre otras desventajas una curva de aprendizaje excesivamente lenta, lo que trae consigo una pérdida de tiempo muy grande, entonces surge el caso de un proyecto empresarial de tamaño considerable que requiere utilizar una arquitectura tres capas y no se conoce cuáles framework pueden ser utilizados ni cómo se pudieran integrar, además de presentarse la particularidad de que existe la necesidad de que se posea un plan de mantenimiento de aplicaciones basadas en EJB, que constituya un compromiso a largo plazo y donde se persigue también que las nuevas versiones de una aplicación sean por completo compatibles con sus predecesoras. Entonces, ¿Cómo podríamos resolver la situación que anteriormente mencionada?. <10> DEFINIENDO GOOGLE WEB TOOLKIT. Google Web Toolkit (GWT) es un framework de código abierto desarrollado por Google y lanzado en mayo del 2006 bajo la licencia Apache 2.0. con el objetivo de facilitar el desarrollo de RIAs, que permite escapar de la “matriz” de tecnologías usadas actualmente para escribir aplicaciones AJAX, las cuales son difíciles de manejar y propensas a errores. El corazón de GWT es un compilador que compila código JavaScript a partir de código Java. El compilador es capaz de generar código multibrowser, aliviando la tarea del desarrollador de escribirlo por sí mismo. GWT genera código interpretable por los browser más importantes del mercado (Mozilla Firefox, Safari, Opera e Internet Explorer). CARACTERÍSTICAS DE GWT. El compilador GWT es justamente un mecanismo para entregar enteramente una aplicación arquitectura cliente/servidor. Las características incluyen: Ÿ Componentes de la interfaz de usuario dinámicos y reutilizables (widgets). Ÿ RPC realmente fácil. Ÿ Depuración en tiempo real (mientras lo estás desarrollando este corre sobre una Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ máquina virtual de Java). Compatibilidad con los navegadores Integración con JUnit Internacionalización. Interoperabilidad y control. (Si las librerías de clases de GWT no son sucientes para lo que se necesita, se puede mezclar JavaScript en el código de la aplicación usando la interfaz nativa de scripts de Java (JavaScript Native Interface, JSNI)). GWT es un proyecto de código abierto. (Disponible bajo la licencia Apache 2.0 6.) Soporte para las API´s de Google. Se puede usar los entornos de desarrollos integrados (IDE) de siempre. Comunicación entre el cliente y servidor usando objetos de java. Los desarrolladores pueden diseñar y desarrollar sus aplicaciones orientadas a objetos. Ÿ El código Javascript generado puede ser ofuscado para optimizar el rendimiento. Ÿ Existe un numeroso conjunto de bibliotecas desarrolladas por Google y terceros que amplían las funcionalidades de GWT. ARQUITECTURA GWT GWT tiene cuatro componentes principales: un compilador Java-a-JavaScript, un navegador web "hosted", y dos librerías de clases. A continuación presentaremos estos componentes en tres diferentes guras, para de esta manera alcanzar un mejor entendimiento. <11> Componentes: Ÿ GWT Java-to-JavaScript Compiler (Compilador GWT Java-a-JavaScript): El Compilador GWT Java-a-JavaScript traduce del lenguaje de programación Java a JavaScript. Ÿ Hosted Web Browser (Navegador web “Hosted” de GWT): El Navegador web “Hosted” de GWT permite correr y ejecutar aplicaciones GWT en modo hosted, donde lo que se está corriendo son bytecodes de Java sobre una máquina virtual sin compilarlos a JavaScript. Para lograr esto, el navegador GWT incrusta un controlador de browser especial (un control del Internet Explorer sobre Windows o un control de Gecko/Mozilla sobre Linux) con hooks dentro de la máquina virtual de Java. Ÿ JRE Emulation Library (Emulación de librerías JRE): Google Web Toolkit soporta solamente una pequeña parte de las librerías de clases disponibles en Java 2 Standard Edition y Enterprise Edition, esto sucede ya que éstas librerías son bastantemente grandes y usan funcionalidades que no están disponibles en navegadores web. Ÿ GWT Web UI Class Library (Librería de clases de interfaz de usuario de GWT): Las librerías de clases de interfaz de usuario de GWT son un conjunto de interfaces y clases personalizadas que permiten crear "widgets" para el navegador, como botones, cajas de texto, imágenes, etc. Éste es el núcleo de las librerías de interfaz de usuario para crear aplicaciones GWT. GLASSFISH SERVER GlassFish es un servidor de aplicaciones desarrollado por Sun Microsystems que implementa las tecnologías denidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especicación. La versión comercial es denominada Sun GlassFish Enterprise Server. Es gratuito y de código libre, se distribuye bajo un licenciamiento dual a través de la licencia CDDL y la GNU GPL.. GlassFish está basado en el código fuente donado por Sun y Oracle Corporation, éste último proporcionó el módulo de persistencia TopLink. GlassFish tiene como base al servidor Sun Java System Application Server de Sun Microsystems, un derivado de Apache Tomcat, y que usa un componente adicional llamado Grizzly que usa Java NIO para escalabilidad y velocidad. ARQUITECTURA DE GLASSFISH. Está basada en una estructura de clústeres exibles, además brinda el soporte para la gestión remota multi-máquina y multi-dominio segura, lo cual pretende mejorar el grado de disponibilidad y la escalabilidad en el rendimiento del servidor de aplicaciones para sistemas de alto volumen y servicios web. ENTERPRISE JAVABEANS 3. Enterprise JavaBeans (EJB) es una arquitectura de componentes de servidor que simplica el proceso de construcción de aplicaciones de componentes empresariales distribuidos en Java. Dado que son componentes, permiten desarrollar aplicaciones <12> portables entre distintas plataformas (son Java) y servidores de aplicaciones (especicación estándar). EJB 3.0 como componente o como framework forma parte de la especicación JEE que permite el desarrollo de aplicaciones empresariales de manera rápida y sencilla haciendo uso de un nuevo modelo de programación que incluye conceptos como: desarrollo de componentes empresariales empleando POJOS (acrónimo de Plain Old Java Objects), inyección de dependencias, desarrollo orientado a servicios, anotaciones, entre otros” (Reyes, 2009). Entre los distintos tipos de EJB se encuentran: Stateless Representación de alto nivel del funcionamiento de los enterprise beans. Session Bean, Stateful Session Bean, Entity Bean y Message Driven Bean, pero con el que se trabajará en el presente artículo es con el primero de ellos. Entonces identicándose brevemente qué se entiende por un bean de sesión sin estado (Stateless Session Bean), se puede decir que es aquel “que no dispone de variables de instancia en las cuales se guarden datos que puedan ser compartidos entre los distintos métodos del bean. Es decir, se trata de un bean que por lo general contará con una serie de métodos que realizarán un trabajo determinado e independiente y que el resultado de las operaciones realizadas dentro de cada uno de los métodos no dependerá de ningún estado relativo a la comunicación que mantiene el cliente con el bean (Monteagudo, 2006)”. METODOLOGIA MATERIALES Y METODOS. Siendo necesario analizar la relación entre variables: Sistema web aplicando tecnología GWT (juntamente con Glasssh y EJB) y la Administración de la información. Se tomó como población a las personas responsables del manejo de la información. Para determinar la muestra se empleó un muestreo no probabilístico de tipo intencional, es decir, en función de los propósitos de la investigación para validar el sistema fue necesario contar los responsables de los cursos de capacitación. Por lo tanto la muestra lo conforman 13 personas del personal administrativo. Para la recolección de datos se utilizó el método de la encuesta a través de cuestionarios (pre- test y pos test) en un formato abierto, realizando dos encuestas dirigidas a docentes y personal administrativo, con la nalidad de recoger información referente a la manejo, administración de información antes y después de la implantación del sistema de información. <13> A modo de prueba se desarrolló un sistema web aplicando tecnología GWT con Glasssh y EJB para administrar información. Y así poder observar los resultados de la aplicación del sistema web (aplicación de los pre-test y pos – test). Además, el modelo utilizado para el desarrollo del presente trabajo es el RUP, que utiliza el análisis, diseño, implementación y prueba del software, en forma progresiva y evolutiva. RESULTADOS A lo largo del artículo se ha abordado de manera general y resumida sobre la arquitectura 3 capas tan necesaria en cualquier aplicación, y por qué las capas no deben ni tienen por qué saber de cómo y con quién interactúan las otras capas”, como es el principal objetivo del presente trabajo hacer alcance de una propuesta de la integración de GWT, Glasssh y EJB. Para trabajar en la primera capa se emplea GWT (indudablemente por las características que posee constituye una excelente opción para formar parte del objetivo que se persigue en la investigación) y para la segunda Glasssh y EJB3, proporcionando la integración de este último con el servidor de aplicaciones Glasssh,, evitando la compleja tarea de integrar diferentes frameworks para cada capa distinta de la aplicación. Resultados de la aplicación del sistema web desarrollado: a) Se observó que, el 61,54% arman que control de notas es malo sin el sistema y el 76,92% arma que es Muy Bueno con el sistema. b) Se observó que, el 61,54% indica que es malo el control de entrega de materiales; en la segunda encuesta el 76,92% dicen q es Muy Bueno. c) Se observó que, el 69,23% indica que es Malo el control de entrega de certicados y el 69,23% dicen que es Muy Bueno con el sistema. d) Se observó que, el 53,85% arma que es Malo la forma como se lleva el control de la asistencia y el 61,54% considera que es muy Bueno con el sistema. Por lo que la aplicación del sistema web desarrollado a modo de prueba de integración de las tecnologías Google Web Toolkit con Glasssh y EJB, ayuda a mejorar el manejo de la información. CONCLUSIONES Se han tratado temas como la denición de la tecnología GWT, así como su arquitectura. Se conoció también en qué consiste el servidor de aplicaciones Glasssh y los Enterprises Java Beans. Además se abordó brevemente la arquitectura 3 capas, viéndose en cuál de las partes que componen a la misma jugaban un papel protagónico los términos en los cuales se centra el trabajo en cuestión, pudiéndose describir que ellos constituyen una buena elección para dar solución a problemáticas como la planteada al inicio del presente artículo. Por último se ha tenido en cuenta una serie de pasos a seguir que dieron como resultado un ejemplo abarcador y sencillo de la integración. Luego del análisis anterior, se puede armar que la investigación alcanzó el objetivo de realizar una propuesta de integración de GWT con Glasssh y EJB para aplicaciones de empresas tanto de pequeño como principalmente las de gran tamaño. <14>