Consumir RESTful WebService CRUD en aplicación JavaFX
Éste es un demo de cómo interactuar con una BBDD remota mediante un WebService, en concreto un servicio RESTful. Las tecnologías usadas son:
- JAXB
- JAX-RS (implementación corre por servidor)
- Jersey client (para el cliente REST)
- JPA 2.1 (persistencia de datos)
- Hibernate 4.x (implementación de JPA 2.1)
- PostgreSQL 9.4.1 como SGBD
- WildFly 8.2.0
NOTA: Si van a utilizar GlassFish 4.x, necesitan usar Hibernate 4.3.5 en lugar de 4.3.8, ya que se conocen conflictos entre ambos.
En el pom.xml, reemplazar:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.5.Final</version>
</dependency>
La aplicación consta de 2 partes: La aplicación web, donde esté levantado el servicio REST y el cliente que lo consume, construido con JavaFX.
La aplicación consta básicamente de un CRUD de clientes, que será llevada a cabo por el REST utilizando para ésto EJB's como servicios de acceso a la BBDD mediante JPA.
De ésta manera, varios clientes pueden consumir el REST y hacer un CRUD sin necesidad de tener instalada una BBDD (como ocurre generalmente con los sistemas de escritorio normales).
Imágenes
(http://i.imgur.com/YqrFgtx.png)
(http://i.imgur.com/wIws0bY.png)
(http://i.imgur.com/NWZsrwx.png)
(http://i.imgur.com/Lcudpup.png)
(http://i.imgur.com/HjdzrUJ.png)
(http://i.imgur.com/ySaRs76.png)
(http://i.imgur.com/hPl9uqK.png)
Código fuente
Todo el código así como los WAR y JAR están en mi cuenta de Github: REST-FX-CustomersApp (https://github.com/GusGarsaky/REST-FX-CustomersApp). Saludos.
By Gus.
Muy pero muy bueno!!!!
Está excelente!!! Justamente estaba trabajando en un proyecto similar y me viene de primera!
Te dejo +1
Saludos y muchisimas gracias!
ANTRAX
Muchas gracias por tu comentario, ANTRAX.
¡Gracias por el aporte, LordGus! Me lo voy a guardar para tener una referencia ahora que comience a jugar con JavaFX y JavaEE. ¡Un saludo :D!
De nada Andreus, espero te sea de utilidad.
Excelente aporte....estoy modificando para que funcione con Glassfish...todo bien!
Muchas gracias por compartir conocimientos. Genial!