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



Documentos relacionados
Enterprise JavaBeans

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

Sistema de Mensajería Empresarial para generación Masiva de DTE

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Desarrollo de Software con

Módulo 2. Inicio con Java

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Descripción de Arquitectura Repositorio de metadatos de componentes de software

APLICACIONES WEB GOOGLE ANAYLITICS

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Capítulo II. Arquitectura del Software

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

7.1 Java vs.net, la lucha se acrecienta

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

Curso de Spring Framework

Arquitectura Cliente/Servidor

Java Básico. Introducción a Java. Copyright

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Generador GeneXus JAVA

Desarrollo de Software con

MANTENIMIENTO Y SOPORTE

Documento de Arquitectura de Software. KunaySoft. Autores: Juan Camilo González Vargas. Javier Leonardo Parra Laguna

Introducción al curso CONTENIDOS Y REGLAS

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE

Capítulo 1. Introducción

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Consolidación inteligente de servidores con System Center

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N /UIE-PATPAL - FBB

Publicación del sitio web en internet. Equipo 6

Sistema de Información KOALA - SIK

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA)

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

PRIMER INFORME DE AVANCE DEL PROYECTO MEDIATECA VIRTUAL DE RECURSOS ACADEMICOS

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

CAPITULO I EL PROBLEMA. Debido al crecimiento de clientes y en vía de mejorar la calidad de

Taller 2. Universidad: Ana G. Méndez COIS 202. Herramientas para la integración de tecnología. Presentado por: María de los A.

Figura 4.1 Clasificación de los lenguajes de bases de datos

El presente documento describe la importancia que está tomando el cómputo distribuido en

INTRODUCCIÓN A LAS REDES INFORMÁTICAS

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Consejo Económico y Social

Análisis de esquemas XML [1]

Tema 1. Introducción a Java EE

Monitorización de Equipos y Redes [NAGIOS ] VIRTUALITY

Concepto de sistema operativo

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Actualización de versión a Bizagi 10.x

Alcatel-Lucent VitalQIP Appliance Manager

IFCD05 Desarrollo de Aplicaciones Móviles Java ME

Mundo Azul.

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

BrowserSQL 4 versión 2 - TUTORIAL

Getting Started. 1. Introducción. 2. Requerimientos de software

Curso: Arquitectura Empresarial basado en TOGAF

REQUERIMIENTOS NO FUNCIONALES

PROBLEMAS Y SOLUCIONES EN EL DESARROLLO DE LA IDE EXTREMADURA

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Análisis de costos proyectado de la plataforma SAP HANA

El módulo consta de una serie de unidades en las que se especifican los objetivos, contenidos y actividades.

OpenProdoc. ECM Open Source

Características. Las características que tiene nuestro software son las siguientes:

Qué es lo que su empresa necesita? Productividad? Organización? Eficiencia? Ahorro? Control? Seguridad?

Modelos y Bases de Datos

Capítulo 1 INTRODUCCIÓN. Introducción

EDITOR E INTÉRPRETE DE ALGORITMOS REPRESENTADOS EN DIAGRAMAS DE FLUJO 1 RESUMEN

Diseño y desarrollo de una aplicación informática para la gestión de laboratorios

1-9 August 2003, Berlin

Wiip Surveillance. Sistema de gestión de rondas de vigilancia. Wiip Systems C.B. S.L

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Historia de revisiones

Capítulo 4. Prueba de Adaptabilidad

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

Servicio de groupware

1.2 Qué es un Sistemas de Información Geográfica?

4 ARQUITECTURA DE COMUNICACIONES

Unidad V: Programación del lado del servidor

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

UF0320: Aplicaciones informáticas de tratamiento de textos

Transcripción:

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 Glass sh 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 Glass sh 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 Glass sh 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 Glass sh 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 especi cació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 Glass sh 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 su cientes 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 de nidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especi cació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 simpli ca 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 (especi cación estándar). EJB 3.0 como componente o como framework forma parte de la especi cació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 identi cá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 Glass sh 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 Glass sh 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, Glass sh 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 Glass sh y EJB3, proporcionando la integración de este último con el servidor de aplicaciones Glass sh,, 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% a rman que control de notas es malo sin el sistema y el 76,92% a rma 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 certi cados y el 69,23% dicen que es Muy Bueno con el sistema. d) Se observó que, el 53,85% a rma 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 Glass sh y EJB, ayuda a mejorar el manejo de la información. CONCLUSIONES Se han tratado temas como la de nición de la tecnología GWT, así como su arquitectura. Se conoció también en qué consiste el servidor de aplicaciones Glass sh 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 a rmar que la investigación alcanzó el objetivo de realizar una propuesta de integración de GWT con Glass sh y EJB para aplicaciones de empresas tanto de pequeño como principalmente las de gran tamaño. <14>