Download Propuesta de trabajo de grado
Document related concepts
no text concepts found
Transcript
PROPUESTA DE TRABAJO DE GRADO Acoplar en la plataforma Java EE 6 el Framework JavaFX 2 como tecnología de interfaz gráfica Presentado por: Andrés Eduardo Sánchez Mendieta a.sanchezm@javeriana.edu.co Director de Trabajo de Grado: María Consuelo Franky lfranky@javeriana.edu.co Proyecto de aplicación práctica Pontificia Universidad Javeriana 28 de noviembre de 2012 Bogotá D.C. - Colombia Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Tabla de contenido 1 Propósito ......................................................................................................................... 4 2 Alcance ............................................................................................................................ 4 3 Problemática ................................................................................................................... 4 4 5 6 3.1 Pregunta generadora ............................................................................................... 4 3.2 Problemática ............................................................................................................ 4 3.3 Justificación .............................................................................................................. 5 Objetivos ......................................................................................................................... 6 4.1 Objetivo general....................................................................................................... 6 4.2 Objetivos específicos ............................................................................................... 6 Fases metodológicas ....................................................................................................... 6 5.1 Fase de documentación ........................................................................................... 6 5.2 Fase de unión ........................................................................................................... 7 5.3 Fase de diseño ......................................................................................................... 8 5.4 Fase de programación.............................................................................................. 8 5.5 Fase de evaluación ................................................................................................... 9 5.6 Fase de elaboración de guías ................................................................................... 9 Marco teórico/contextual ............................................................................................. 10 6.1 Área de aplicación .................................................................................................. 10 6.2 Nuevas tecnologías para Aplicaciones Web .......................................................... 10 6.2.1 Java EE 6 ................................................................................................................................. 10 6.2.2 JavaFX 2 .................................................................................................................................. 12 6.2.3 JPA .......................................................................................................................................... 13 6.2.4 EJB .......................................................................................................................................... 13 6.2.5 Acople de interfaces JavaFX 2 a los componentes de negocio EJB de Java EE 6 .................... 13 7 Cronograma ................................................................................................................... 13 8 Estimación del costo del Proyecto (Presupuesto)......................................................... 14 9 Bibliografía .................................................................................................................... 15 Grupo de investigación Istar 2 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Grupo de investigación Istar 3 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica 1 Propósito El propósito del presente trabajo de grado es la construcción de un prototipo en el cual se demuestre que se logro combinar la plataforma Java EE 6 [1] con el framework JavaFX 2 [7]. En paralelo a lo anterior, se busca elaborar unas guías en donde se exponga como fue el proceso de acoplamiento de estas tecnologías y también como desarrollar software con las mismas. De igual forma, se busca que el prototipo desarrollado solucione un vacío presente en la Pontificia Universidad Javeriana con respecto al seguimiento de los trabajos de grado estudiantiles a través de un sistema de información disponible tanto para profesores como para estudiantes. 2 Alcance El alcance de este trabajo de grado será lograr acoplar la plataforma Java EE 6 [1] con el framework JavaFX 2 [6]. Luego de logrado ese acoplamiento se busca construir un prototipo usando las anteriores tecnologías. También se busca realizar dos guías las cuales son las siguientes: Una guía del acoplamiento entre Java EE 6 [1] y JavaFX 2 [7]. Una guía de cómo desarrollar una aplicación web usando Java EE 6 [1] y JavaFX 2 [7]. El alcance de este proyecto también esta dado por los requerimientos básicos a suplir en el software de seguimiento trabajos de grado en la Pontificia Universidad Javeriana. 3 Problemática 3.1 Pregunta generadora Con el presente trabajo de grado se busca resolver la siguiente pregunta: ¿Cuáles son las fortalezas y debilidades de usar el framework JavaFX 2 [7] como tecnología de interfaz gráfica en aplicaciones web Java EE 6 [1]? 3.2 Problemática Hoy en día hay problemas con las aplicaciones web Java EE 6 [1] que tienen una interfaz gráfica basada en HTML (por ejemplo JavaServer Faces) los cuales son los siguientes: El desarrollo de estas páginas web es muy lento. La integridad de las páginas web puede ser modificada en tiempo de ejecución. Grupo de investigación Istar 4 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Hay poca agilidad en la interacción con el usuario. Al ser JavaServer Faces el framework oficial para el desarrollo de la interfaz gráfica en las aplicaciones empresariales Java, la mayoría del software desarrollado tiene los problemas anteriormente listados. Con el presente proyecto se busca darle solución a esos inconvenientes, remplazando la tecnología JSF por JavaFX 2 [7]. 3.3 Justificación Este trabajo de grado es interesante de realizar porque se lograría un acople de tecnologías no muy común hoy en día, concretamente el framework de vista JavaFX 2 [7] sobre la plataforma Java EE 6 [1]. En otras palabras, se desea hacer un acoplamiento ordenado de interfaces gráficas JavaFX 2 [7] con la capa de negocio (EJB) de la plataforma Java EE 6 [1], documentando tal acoplamiento. En estos momentos no hay mucha información disponible sobre una integración así, pues son versiones de tecnologías relativamente recientes. Pero ¿qué se aportaría al realizar este enganche de tecnologías?, la respuesta es que al usar JavaFX 2 [7] cómo framework gráfico se solucionarían varios problemas presentes en las aplicaciones Java EE 6 [1], entre ellos los siguientes: Modificación en tiempo de ejecución de las páginas web: Con una interfaz gráfica basada en HTML como JSF una persona mal intencionada podría alterar el contenido de una página web. Con JavaFX 2 [7] se enmendaría este problema. Lentitud en el desarrollo: Realizar una interfaz gráfica basada en HTML hace que sea lento el desarrollo de la capa de presentación de una aplicación web. Pobre interacción con el usuario: Las interfaces gráficas basadas en HTML a veces son muy planas y poco interesantes para los usuarios. También es atrayente realizar el proyecto porque se aumentará el conocimiento en todas las tecnologías alrededor del mismo, como lo son: Java EE 6 [1], JavaFX 2 [7], EJB [4], JPA [3], GlassFish [3], etc. Herramientas que no son del total dominio del autor del presente trabajo de grado y que son muy poderosas hoy en día en el ámbito empresarial. Otra razón por la que es justificable este proyecto es que se solucionará una necesidad presente en la Pontificia Universidad Javeriana, que consiste en desarrollar una herramienta que permita realizar un seguimiento a los trabajo de grado de los estudiantes. Grupo de investigación Istar 5 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica 4 Objetivos 4.1 Objetivo general Desarrollar un prototipo en donde se use la tecnología de interfaz gráfica JavaFX 2 [7] sobre la capa de negocio (EJB) de la plataforma Java EE 6 [1]. Después de este desarrollo elaborar una guía del acople de estas tecnologías y otra guía de como desarrollar software web en este ambiente combinado. 4.2 Objetivos específicos En la siguiente tabla se presentan los objetivos específicos. ID 1 2 3 4 5 6 7 Objetivos específicos Investigar, estudiar y comprender las herramientas tecnológicas alrededor del desarrollo del trabajo de grado: Java EE 6 [1], JavaFX 2 [7], EJB [4], JPA [3], GlassFish [3], entre otras. Entender los beneficios ofrecidos por ellas. Apropiarse de los conocimientos obtenidos de las tecnologías alrededor del proyecto, realizando pruebas con pequeños prototipos. Se debe lograr la integración de todas las tecnologías. Realizar un análisis sobre las reglas de negocio presentes en el proceso de seguimiento en los trabajos de grado en la Pontificia Universidad Javeriana. Refinar que es lo que desea realmente el cliente en el software final. Diseñar y modelar las reglas de negocio implícitas en el software de seguimiento de trabajo de grado de los estudiantes para la Pontificia Universidad Javeriana. Es decir generar los artefactos UML que modelen dicho problema. Realizar el desarrollo del prototipo cubriendo todos los requerimientos funcionales y no funcionales establecidos en la fase de diseño. Antes de considerar un prototipo como versión final se realizarán retroalimentaciones previas con el cliente. Realizar la evaluación del prototipo a entregar usando metodologías como las pruebas de aceptación, pruebas alfa y pruebas beta. [11] Elaborar unas guías en donde explícitamente se diga como se realizo la integración de las tecnologías y como desarrollar software en ese ambiente integrado. 5 Fases metodológicas 5.1 Fase de documentación Las etapas para lograr los objetivos asociados a la fase de documentación del presente proyecto son las siguientes: Grupo de investigación Istar 6 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Etapa Búsqueda y obtención de bibliografía Filtro de información Estudio de información Redacción en documento Descripción En esta etapa se busca información sobre todas las herramientas que envuelven el proyecto. Esta información puede ser representada en forma de libros físicos, electrónicos, páginas web e incluso personas con conocimientos del tema. En esta etapa se selecciona solo la información más relevante de la obtenida por medio de la etapa de búsqueda. En esta etapa se realiza una lectura más profunda y un estudio de toda la información relevante obtenida. A la hora de realizar la redacción del trabajo de grado, se escribe toda la información y conocimiento de forma concreta. Objetivo específico 1 1 1 1 Entregable: En esta fase se espera generar información relevante acerca de todas las herramientas tecnológicas que giran alrededor del proyecto. Esta información se escribirá en el capítulo de marco teórico de la memoria del trabajo de grado. 5.2 Fase de unión Las etapas para lograr los objetivos asociados a la fase de unión del presente proyecto son las siguientes: Etapa Integración de tecnologías Prototipos de prueba Análisis de prototipos Grupo de investigación Istar Descripción En esta etapa se busca hacer el acoplamiento de todas las tecnologías que envuelven el proyecto. En esta etapa se realizan pequeños prototipos en donde de manera practica se logre la integración de tecnologías. En esta etapa se realiza un Objetivo específico 2 2 2 7 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica análisis sobre los prototipos, viendo si realmente se logro la integración de tecnologías o no. Entregable: En esta fase se espera generar prototipos en donde a pequeña escala se demuestre la integración de tecnologías. Estos prototipos de pruebas de acople constituirán un anexo del trabajo de grado. 5.3 Fase de diseño Las etapas para lograr los objetivos asociados a la fase de diseño del presente proyecto son las siguientes: Etapa Descripción En esta etapa se realiza un estudio de las reglas del Análisis del modelo de negocio del prototipo. negocio del prototipo. Logrando entender el problema en su totalidad. En esta etapa se realiza un análisis de las reglas del Diseño del modelo de negocio del prototipo. Se negocio del prototipo. busca generar los casos de uso y el levantamiento de requerimientos. Objetivo específico 3 4 Entregable: En esta fase se espera generar diagramas y documentación estándar UML sobre el prototipo a desarrollar. Estos artefactos harán parte del capítulo de desarrollo de la memoria del trabajo de grado. 5.4 Fase de programación Las etapas para lograr los objetivos asociados a la fase de programación del presente proyecto son las siguientes: Etapa Desarrollo del prototipo Retroalimentación Grupo de investigación Istar con Descripción En esta etapa se construye el prototipo, buscando cubrir todos los requerimientos necesarios. el En esta etapa con el cliente Objetivo específico 5 6 8 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica cliente se evalúa el funcionamiento prototipo. correcto del Entregable: En esta fase se espera generar un prototipo en el cual se cubran por lo menos en 70% de los requerimientos de software. 5.5 Fase de evaluación Las etapas para lograr los objetivos asociados a la fase de evaluación del presente proyecto son las siguientes: Etapa Pruebas Pruebas con el cliente Descripción En esta etapa el programador realiza en el prototipo pruebas de caja negra y de aceptación de requerimientos. En esta etapa con el cliente se realiza pruebas alfa y beta, asegurando el correcto funcionamiento del prototipo. Objetivo específico 6 6 Entregable: En esta fase se espera generar un prototipo en el cual se cubran todos los requerimientos del cliente. 5.6 Fase de elaboración de guías Las etapas para lograr los objetivos asociados a la fase de elaboración de guías del presente proyecto son las siguientes: Etapa Redacción de las guías Evaluación de las guías Grupo de investigación Istar Descripción En esta etapa se redactarán las guías de acople y desarrollo, buscando describir como es el proceso paso a paso. En esta etapa se evaluara si las guías son precisas, concretas y correctas. Objetivo específico 7 7 9 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Entregable: En esta fase se generarán unas guías de como lograr el acoplamiento y desarrollo en Java EE 6 [1] y JavaFX 2 [7]. 6 Marco teórico/contextual En el desarrollo del prototipo se hace uso de diversas tecnologías las cuales finalmente serán integradas para dar como resultados un artefacto de software final. En este artefacto, que será un aplicativo web Java EE 6 [1], se debe demostrar la correcta integración de todas las tecnologías propuestas. Las tecnologías a utilizar en el prototipo serán: Java EE 6 [1], JavaFX 2 [7], EJB [4], JPA [3], GlassFish [13], entre otros. 6.1 Área de aplicación El prototipo se desarrollará buscando resolver un problema no resuelto en la Pontificia Universidad Javeriana. Uno de los problemas encontrados es el seguimiento a los trabajos de grado de los estudiantes, es decir, que un sistema de información permita conocer rápidamente el estado en que un estudiante está con respecto a su trabajo de grado: propuesta, en prórroga, repitiendo, finalizado, nota, director, jurados y mención de honor. 6.2 Nuevas tecnologías para Aplicaciones Web Para el desarrollo del prototipo se identificaron ciertas tecnologías que funcionaran bajo un ambiente web. Dichas tecnologías son principalmente Java EE 6 [1], JavaFX 2 [7], JPA [3], EJB [4], GlassFish [3], entre otras. El prototipo se construirá usando la plataforma de desarrollo Java EE 6 [1] generando una Página Web. Dicha página web empleará una interfaz gráfica hecha con el framework JavaFX 2 [7]. Con esa tecnología gráfica se piensa lograr una capa de presentación más atractiva para los usuarios. A continuación se realizará una descripción más detallada de las tecnologías que envuelven el presente trabajo de grado: 6.2.1 Java EE 6 El objetivo más importante de la plataforma Java EE 6 es simplificar el desarrollo proporcionando una base común para los varios tipos de componentes de la plataforma Java EE. Los desarrolladores se beneficiarán de mejoras en su productividad con más anotaciones y menos configuración XML, más Plain Old Java Objects (POJOs) y empaquetado simplificado. La plataforma Java EE 6 incluye las siguientes características nuevas: [1] Grupo de investigación Istar 10 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Perfiles: configuración de la plataforma Java EE con miras a distintos tipos de aplicación. Específicamente, la plataforma Java EE 6 introduce un Web Profile ligero para las aplicaciones web de la siguiente generación, a la vez que un Full Profile que contiene todas las tecnologías Java EE y proporciona toda la potencia de Java EE 6 para las aplicaciones empresariales. Nuevas tecnologías, incluyendo las siguientes: [10] API Java para servicios web RESTful (JAX-RS) [10] Gestión de Beans Contextos e inyección de dependencias para la plataforma Java EE (JSR 299), conocido informalmente como CDI [10] Inyección de dependencias para Java (JSR 330) Validación de Beans (JSR 303) [10] Interfaz de servicio proveedor de autenticación Java para contenedores (JASPIC) Nuevas funcionalidades para componentes Enterprise JavaBeans (EJB). [10] Nuevas funcionalidades para servlets. Nuevas funcionalidades para componentes JavaServer Faces. Ventajas: El modelo de aplicación Java EE define una arquitectura para implementar servicios como aplicaciones multicapa que proporcionan la escalabilidad, accesibilidad y manejabilidad requeridas por parte de las aplicaciones empresariales. Este modelo particiona el trabajo requerido para implementar un servicio multicapa en las siguientes partes: La lógica de negocio y presentación que debe de ser implementada por el desarrollador. Los servicios del sistema estándar proporcionados por la plataforma Java EE. El desarrollador puede confiar en la plataforma para que le proporcione las soluciones a los problemas difíciles a nivel de sistema que aparecen al desarrollar un servicio multicapa. Grupo de investigación Istar 11 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica Ilustración 1: Distribución multi-capas de la plataforma Java EE 6 [1] 6.2.2 JavaFX 2 JavaFX amplía la potencia de Java permitiendo a los desarrolladores utilizar cualquier biblioteca de Java en aplicaciones JavaFX. De esta forma, los desarrolladores pueden ampliar sus capacidades en Java y utilizar la revolucionaria tecnología de presentación que JavaFX proporciona para crear atractivo visual. [10] Características de JavaFX: Permite a los usuarios ver aplicaciones de JavaFX en un explorador o dividir dicho explorador arrastrando y soltando la misma aplicación en el Escritorio. Permite mantener un eficaz flujo de trabajo entre diseñador y desarrolladores. El que los diseñadores pueden trabajar en las herramientas que deseen y colaborar con los desarrolladores que utilizan alguna IDE que soporte JavaFX. Amplía la tecnología Java permitiendo el uso de cualquier biblioteca de Java en una aplicación JavaFX. Permite a los desarrolladores integrar gráficos vectoriales, animación, sonido y activos web de vídeo en una aplicación interactiva, completa y atractiva. Grupo de investigación Istar 12 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica 6.2.3 JPA JPA 1.0 fue creado con Java EE 5 para resolver problemas de persistencia de datos. Proporciona un modelo de persistencia para mapear bases de datos relacionales. [5] En java EE 6, JPA 2.0 sigue el mismo camino de simplicidad y robustez y agrega nuevas funcionalidades. Se puede utilizar para acceder y manipular datos relacionales de Enterprise Java Beans (EJBs), componentes web y aplicaciones Java SE. JPA es una abstracción que está por encima de JDBC lo que permite ser independiente de SQL. Todas las clases y anotaciones de esta API se encuentran en el paquete javax.persistence. [5] 6.2.4 EJB Los JavaBeans empresariales (Enterprise JavaBeans EJB) están diseñados para desarrollo y despliegue de aplicaciones (distribuidas) de negocio basadas en componentes del lado del servidor. [5] Con esta tecnología es posible desarrollar aplicaciones empresariales sin tener que crear de nuevo los servicios de transacción, seguridad, persistencia, concurrencia y lo que se pueda necesitar en el proceso de creación de una aplicación; permitiendo a los desarrolladores enfocarse en la implementación de la lógica de negocio. [5] 6.2.5 Acople de interfaces JavaFX 2 a los componentes de negocio EJB de Java EE 6 Muy probablemente una de las etapas más criticas del presente trabajo de grado sea la integración entre el Framework JavaFX 2 [7] y la plataforma Java EE 6 [1]. Para lograr esa unificación de tecnologías hay algunas opciones identificadas las cuales son: Haciendo uso de servicios web en Java EE 6 con el protocolo REST o SOAP. Los servicios REST de la API pueden ser expuestos como un conjunto de propiedades unibles para JavaFX 2. [16] [20] [22] [24] Usando intermediarios cómo websockets, backing-beans. 7 Cronograma Puede observar el cronograma propuesto con su respectivo diagrama de Gantt en el siguiente archivo de Microsoft Project 2010: JavaFXJavaEECalendar.mpp Grupo de investigación Istar 13 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica 8 Estimación del costo del Proyecto (Presupuesto) Dado que la mano de obra se dará por parte de un estudiante de Ingeniería de Sistemas de la Pontifica Universidad Javeriana, el presupuesto que se debe generar para el pago debe ser acorde al pago que recibe un estudiante en práctica profesional. Por lo cual se concluye que el pago por estudiante deberá ser de $ 20000 por Hora. A continuación se muestra la tabla donde se realiza el cálculo de los costos del personal. Hora Estudiante Hora Director Estudiante 1 Director Total Costo Personal $ $ 20.000,00 100.000,00 Costo Total de horas $ 9.200.000,00 $ 10.200.000,00 $ 19.400.000,00 También se generan otros costos que son derivados, cómo los gastos generados por el costo del semestre (transporte, alimentación, servicios) y otros gastos diversos. A continuación se muestra la tabla donde se realiza el cálculo de los costos derivados. Computador propio Semestre (valor semestre, alimentación, transporte, servicios) Otros gastos (Fotocopias, papel, tinta) Total Gastos Derivados: $ $ Costo Total 3.000.000,00 6.000.000,00 $ 100.000,00 $ 9.100.000,00 Teniendo en cuenta todos los gastos se llega a que la estimación del costo del proyecto es: Total Costo Proyecto = Total Costo Personal + Total Gastos Derivados Total Costo Proyecto = $ 19.400.000,00 + $ 9.100.000,00 = $ 28.500.000,00 Grupo de investigación Istar 14 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica 9 Bibliografía [1] Bodoff, Stephanie (2012). The Java EE 6 Tutorial. Boston: Addison-Wesley. [2] Goncalves. Beginning Java EE 6 Platform with GlassFish 3, Apress, 2 ed. (2010) [3] M. Keith and M. Schincariol. Pro JPA 2 Mastering the Java Persistence API. Apress, (2009) [4] Lee Rubinger E Bill Burke. Enterprise JavaBeans 3.1. Safari, 6 Ed.(2010) [5] Fernando Pech-May1, Mario A. Gomez-Rodriguez1, Salvador U. Lara-Jeronimo1, Luis A. de la Cruz-Diaz, Hacia el desarrollo de Aplicaciones Web con tecnologías JPA, EJB, JSF y PrimeFaces. Instituto Tecnológico Superior de los Ríos. 2012 [6] Dea, Carl. JavaFX 2.0: Introduction by Example. 2011. [7] Weaver, Weiqi Gao, Stephen Chin, Pro JavaFX 2: A Definitive Guide to Rich Clients with Java Technology.2012. [8] Heffelfinger, David. Java EE 6 Development with NetBeans 7. 2011. [9] Andrew Lee Rubinger, Bill Burke. Enterprise JavaBeans. 2010. [10] http://www.java.com/es/about/ [11] Sommerville I. Ingeniería del Software. 7ma edición. Madrid: Pearson Educación; 2005. [12] Heiko, Böck. The Definitive Guide to NetBeans Platform 7. Apress 2011. [13] Heffelfinger, David. Java EE 6 with GlassFish 3 Application Server. 2010. [14] Heinrichs, Michael. JavaOne 2012. JavaFX for Business Application Developers. https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=543 4 [15] Bien, Adam. JavaOne 2012. Building Serious JavaFX 2 Applications. https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=390 8 [16] http://www.oracle.com/technetwork/articles/java/enterprisefx-1651840.html [17] http://www.oracle.com/technetwork/articles/java/enterprisefxpt21676394.html Grupo de investigación Istar 15 Acoplar en la plataforma Java EE 6 el Framework Java FX 2 como tecnología de interfaz gráfica – Aplicación Práctica [18] http://www.oracle.com/technetwork/articles/java/enterprisefxpt31735081.html [19] http://www.kai-waehner.de/blog/2012/04/18/when-to-use-javafx-2-instead-ofhtml5-for-a-rich-internet-application-ria/ [20] http://www.oracle.com/technetwork/articles/java/zonski-1508195.html [21] http://stackoverflow.com/questions/7407143/jsf-vs-javafx-pros-cons [22] http://www.oracle.com/technetwork/articles/java/fxbest-1583679.html [23] http://www.oracle.com/technetwork/articles/java/javafxbest2-1634274.html [24] http://www.mastertheboss.com/resteasy/rest-services-using-javafx-tutorial Grupo de investigación Istar 16