elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Consulta sobre posibles alternativas a Java Web Start
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta sobre posibles alternativas a Java Web Start  (Leído 3,961 veces)
AlbertoGLR

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Consulta sobre posibles alternativas a Java Web Start
« en: 7 Febrero 2015, 20:37 pm »

Hola a todos,
¿Alguien me sabría indicar si existe alguna alternativa al uso de JWS?
El objetivo es crear en java una aplicación web clásica de gestión.
Llevo algún tiempo probando con este sistema pero me gustaría saber si existe otro 'mejor' antes de ponerme de lleno.
Gracias.



En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #1 en: 8 Febrero 2015, 01:21 am »

Si vas a desarrollar una aplicaciòn web pues usa el API de Java para Web. Estudia sobre Servlets, JSP o en su lugar Thymeleaf, Estudia sobre requests y responses, cookies y sessions, javascript y CSS. Con lo anterior seras capaz de construir aplicaciones web medianamente complejas. Luego que estes mas avanzado comienza a estudiar Frameworks como Spring MVC o JSF.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
AlbertoGLR

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #2 en: 8 Febrero 2015, 18:59 pm »

Al menos en lo de los Servlets he acertado, ya que llevo un tiempo probando su funcionamiento, aunque al principio tenia dudas sobre si usar estos o web services, rmi, sockets...
Por otra parte entiendo que el lado del cliente se debería desarrollar en jsp en lugar del java que estaba utilizando hasta ahora, pero ¿ podría mantenerlo si el cliente mantiene sus jar's correspondientes instalados en su pc? (es por evitar que la curva de aprendizaje suba demasiado)

En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #3 en: 8 Febrero 2015, 19:17 pm »

JSP no es una tecnología del lado cliente, es del lado servidor, de ahí su nombre Java Server Pages. Sí, acertaste en aprender cómo funcionan los servlets y como puedes interactuar con la lógica de negocio.

Respecto a esto:

Citar
¿ podría mantenerlo si el cliente mantiene sus jar's correspondientes instalados en su pc? (es por evitar que la curva de aprendizaje suba demasiado)

No entiendo. ¿JARs en el cliente? ¿Para qué? Se supone que que si haces una aplicación web es para que el cliente se limite a usarla. En todo caso, ¿Para qué deseas JARs en el cliente?

Citar
Servidor -> Servlets, JSPs, Java.
Cliente -> CSS, javascript, HTML.

El cliente (browser) lo único que renderiza es la "página" web, HTML y CSS, además de ejecutar el código javascript. El resto lo hace el lado servidor.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
AlbertoGLR

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #4 en: 8 Febrero 2015, 19:28 pm »

Tienes razón Gus, no lo he explicado bien.
Una de las opciones es, como tú bien dices, Servlets JSP's y java del lado del servidor y javascript, .... del lado del cliente. Y la otra opción que intentaba explicar es, sin ser una aplicación web aunque si accediendo a los datos del servidor via internet, colocar Servlets en el servidor y el resto de jar's en el cliente, evitando el JWS pero trabajando prácticamente igual.
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #5 en: 8 Febrero 2015, 19:50 pm »

En primer lugar, esa tarea se complica porque un Servlet accede al contextPath de la aplicación, osea, la raíz (/), pero ésta está en el servidor.



Tomando como referencia la imagen de arriba, ¿Cómo vas a acceder al directorio del cliente y ejecutar los JARs que están en los clientes?

La opción más cercana es usar RMI. Realmente no sé si te funcionará, nunca me he planteado algo así. Si lo intentas comenta para saber cómo te fue  :)
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
AlbertoGLR

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #6 en: 11 Febrero 2015, 17:45 pm »

Los jar's ya estarían descargados/instalados en el cliente, y serían estos los que harían las llamadas a los servlets para recuperar los datos de la bd del servidor.
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Consulta sobre posibles alternativas a Java Web Start
« Respuesta #7 en: 11 Febrero 2015, 18:19 pm »

¿Quieres obtener los datos del servidor en el cliente?

Lo puedes hacer con un WebService REST.

Creamos un EJB que hace el CRUD:

Código
  1. @LocalBean
  2. @Singleton
  3. public class ProductManager {
  4. @PersistenceContext(unitName="NOMBRE_DE_PERSISTENCIA-EN_PERSISTENCE.XML")
  5. private EntityManager em;
  6.  
  7. public List<Product> findAll() {
  8. List<Product> products;
  9.  
  10. try {
  11. TypedQuery<Product> query = em.createQuery("SELECT p FROM Products p");
  12. products = query.getResultList();
  13. } catch(Exception ex) {
  14. ex.printStackTrace();
  15. }
  16. return products;
  17. }
  18.  
  19. public Product find(int id) {
  20. return em.find(Product.class, id);
  21. }
  22. }

Luego, en nuestro RESTful, usamos el EJB para obtener los datos de la BBDD:

Código
  1. @Path("/products")
  2. public class ProductsService {
  3.  
  4. @Inject private ProductManager manager;
  5.  
  6. @GET
  7. @Path("/products/all")
  8. @Procudes("application/json")
  9. public List<Product> findAll() {
  10. return manager.findAll();
  11. }
  12.  
  13. @POST
  14. @Path("/products/edit/{i}")
  15. public String edit(@PathParam("i") int id) {
  16. Product product = (Product) manager.find(id);
  17. // crear un formulario que tenga los datos del producto y lo devolvemos
  18. String editProduct = ...
  19. return editProduct;
  20. }
  21.  
  22. @GET
  23. @Path("/products/{i}")
  24. @Produces("application/json")
  25. public Product find(@PathParam("i") int id) {
  26. return manager.find(id);
  27. }
  28.  
  29. }

@Path de la clase indica la ruta base del servicio y los @Path de los métodos las rutas siguientes al de la clase.

@Produces("application/json"), indica que la llamada a dicho método devolverá la lista de productos en formato JSON.

@GET, @POST, son los tipos de peticiones.

Cuando un @Path tiene un parámeto, se debe colocar entre llaves:  {i} y para acceder a él desde el método usamos la anotación @PathParams("i"), que indica que dicho parámetro del método es el parámetro enviado en la URL.

Por ejemplo, para obtener el producto con índice 5, haríamos:

Código:
http://tudominio:puerto/productos/5

Para obtener todos los productos:

Código:
http://tudominio:puerto/products


Esa es la manera más sencilla de obtener datos del servidor. Los clientes solo en su aplicación acceden al producto deseado e internamente debe llamar a dicha URL, obtener los datos en JSON y mostrarlos por ejemplo en una tabla.

En el ejemplo he usado tecnologías como RESTful (Jersey), EJB y JPA. Aunque al principio te parezca complicado, si logras enterderlo, vas a poder simplificar mucho trabajo.

Un saludo.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Diferencias entre rmi y Java web start?
Java
cyberserver 3 3,596 Último mensaje 24 Agosto 2010, 00:22 am
por Debci
Proteger mi .jar de la Descarga en Java Web Start
Java
cyberserver 4 5,492 Último mensaje 12 Diciembre 2010, 21:43 pm
por Debci
Consulta sobre los map JAVA
Java
Pablo Videla 4 3,538 Último mensaje 19 Enero 2012, 15:57 pm
por Pablo Videla
[Consulta] Posibles rastros al trabajar en pendrive
Dudas Generales
sebastiantk 4 2,868 Último mensaje 19 Enero 2014, 17:10 pm
por sebastiantk
consulta sobre pendrive o discos usb. posibles fallos.
GNU/Linux
murdokeing 3 2,695 Último mensaje 25 Noviembre 2017, 13:29 pm
por Slava_TZD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines