Foros del Web » Programación para mayores de 30 ;) » Java »

Duda con beans de java

Estas en el tema de Duda con beans de java en el foro de Java en Foros del Web. Hola a todos. Os contaré mi problema a groso modo. 1º. Estoy aprendiendo java o sea, que sé poquit. 2º. Tengo un fichero XML con ...
  #1 (permalink)  
Antiguo 07/03/2007, 05:03
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 20 años, 10 meses
Puntos: 1
Pregunta Duda con beans de java

Hola a todos.

Os contaré mi problema a groso modo.

1º. Estoy aprendiendo java o sea, que sé poquit.
2º. Tengo un fichero XML con datos, lo leo con DOM y quiero almacenar los datos en un bean ó varios, por que he modelizado todo con clases y necesito varias.

El caso es que quería usar beans y no sé cual escoger, si un bean de sesión ó un bean de entidad. Parece que necesitaría uno de entidad, pero como no tengo una base de datos por detrás y al cliente le daré un XML después de procesar el de entrada. Usaría el bean de sesión como almacen de los datos del XML y poco más.

¿Qué os parece?

Un saludo.
  #2 (permalink)  
Antiguo 07/03/2007, 10:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda con beans de java

Si no tienes una base de datos detras... de hecho tampoco necesitarías usar Enterprise Java Beans (EJB), con clases normales de toda la vida vas listo.

Hay algunos "mapeadores" que, dado un Bean simple (no EJB sino Bean simple), son capaces de sacarte una version XML y de la versión XML crearte un bean.

No los he usado mucho y no se si te servirá, pero si te suena que te serviría busca por "Java Bean XML mapping" y seguro que algo sale.

S!
  #3 (permalink)  
Antiguo 07/03/2007, 11:18
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Duda con beans de java

Hola GreenEyed, gracias por responder.

El caso es que lo tengo hecho con una clase simplona de toda la vida, como bien dices, pero me han recomendado que use beans por los beneficios que tiene,...etc, etc. (Aún no sé muy bien por que, pero sí he leído que algunas propiedades de los beans, puede que me beneficien) Así que aquí estoy, intentandolo

Ya he pasado de las clases a beans de sesión, ahora me queda pulir un poco el código ya que no es todo igual al 100%.

Buscaré lo del mapaeador de xml a ver que es.

Un saludo y gracias
  #4 (permalink)  
Antiguo 07/03/2007, 14:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda con beans de java

Bueno, habría que ver si realmente necesitas los beneficios de usar "beans".... ojo, aqui conviente aclarar que los Java Beans con una cosa y los Enterprise Java Beans son una cosa completamente diferente, así que ojo a ver de que estamos hablando .

Los "beans de sesion" son EJB y normalmente son utiles si necesitas acceso remoto, seguridad integral a nivel de metodos gestionada por el contenedor de EJB, manejor de transacciones automático o soporte para "clusterización".

Si no necesitas nada de eso, meterte en EJB es complicarse la vida, usar un contenedor de EJBs, descriptores.... y si puedes evitarlo, mejor. Si necesitas algo de eso, pues "palante y al toro" .


Los EJB de entidad, si no usas base de datos por debajo no tienen sentido.

Suerte
  #5 (permalink)  
Antiguo 08/03/2007, 01:52
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Duda con beans de java y ejb´s

Hola, ummm, pues hay me has pillado

He leído algo de los java beans:

http://www.sc.ehu.es/sbweb/fisica/cu...fundamento.htm
http://es.wikipedia.org/wiki/JavaBeans

Aquí explican un poco, muy poco, las diferencias:
http://www.osmosislatina.com/java/ejb.htm

¿Los java beans se ejecutan en la parte del cliente?

A mi me gustaría que se ejecutase en la parte del servidor, tubiera una aplicación reescalable y sobre todo portable. No me ha quedado claro si con un java bean obtendré esto. La verdad es que el ejemplo parecido a lo que yo quiero sería un carrito de la compra ya que mostaré una serie de datos y el cliente me elegirá unas opciones y generaré un xml con lo elegido. Para esto último parece que lo más adecuado es un ejb de sesión. Pero vamos, que muy claro, muy claro no lo tengo.

Ayer ya pase mis clases a ejb de sesión, de momento he logrado que me compilen, que ya es mucho

Ahora me asalta la duda de como interactuar con ellos. En algún ejemplo he visto que se realiza mediante un servlet. No sé si con una simple página jsp podría hacerlo también. O si hacer una página jsp y luego un servlet que me haga de intermediario. La página que ve el cliente tiene que ser modificada según los datos que obtenga del ejb y creo que podría ser el servelt el que gestionase todo eso, ¿no?

Vaya lío

Un saludo, gracias y espero no líar mucho el post.
  #6 (permalink)  
Antiguo 08/03/2007, 05:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda con beans de java y ejb´s

Cita:
Iniciado por NeoKaisser Ver Mensaje
Hola, ummm, pues hay me has pillado

He leído algo de los java beans:

http://www.sc.ehu.es/sbweb/fisica/cu...fundamento.htm
http://es.wikipedia.org/wiki/JavaBeans
Exacto, eso son los "Java Beans", las cuales en realidad no son mas que clases simples que siguen una serie de convenciones que, en algunos casos, se usan para facilitar la programación.

Lo que ocurre es que como "mola más" decir que haces "Java Beans" que decir que haces clases Java "a secas", entonces es un termino del cual se ha abusado largo y tendido, en muchos casos simplemente para sonar mejor.

Cita:
Iniciado por NeoKaisser Ver Mensaje
Aquí explican un poco, muy poco, las diferencias:
http://www.osmosislatina.com/java/ejb.htm
Ni explican correctamente lo que es un Java Bean, ni demasiado correctamente lo que es un Enterprise Java Bean. Personalmente, no lo haría mucho caso.

Cita:
Iniciado por NeoKaisser Ver Mensaje
¿Los java beans se ejecutan en la parte del cliente?
No tienen por qué. Uno de los usos principales para los que se crearon los Java Bean era para crear componentes visuales que tu pudieras añadir en una paleta y usar en cualquier IDE Java. La forma de conseguirlo es que imponer una serie de reglas para que los IDE puedan "descubrir" automaticamente sus propiedades y puedan manipularlas de forma fácil. Hasta ahí bien. Esos Beans SI estan pensados para ser ejecutados en el cliente, ya que forman parte de la interfaz.

Sin embargo, la gente se dio cuenta muy pronto de que esas mismas conveciones que servian para los IDE, servían para otras cosas interesantes como para mapear clases Java a XML, clases Java a filas de tablas, manipular objetos a través de tags desde JSP etc. y entonces los "beans" empezaron a usarse por todo. Añádele a eso que "Componente Java Bean" suena mucho mejor que "clase Java" y entonces veras que en el 90% de los casos, la gente los usa, de forma incorrecta, como sinónimos.

Y de hecho, el caso de usarlos para el GUI es, actualmente, uno de los que menos se usa.

Cita:
Iniciado por NeoKaisser Ver Mensaje
A mi me gustaría que se ejecutase en la parte del servidor, tubiera una aplicación reescalable y sobre todo portable. No me ha quedado claro si con un java bean obtendré esto. La verdad es que el ejemplo parecido a lo que yo quiero sería un carrito de la compra ya que mostaré una serie de datos y el cliente me elegirá unas opciones y generaré un xml con lo elegido. Para esto último parece que lo más adecuado es un ejb de sesión. Pero vamos, que muy claro, muy claro no lo tengo.
Se puede hacer perfectamente en el servidor sin tener que usar EJBs de sesion, siendo portable y escalable. Los EJB solo son una de las multiples opciones para hacerlo, pero en muchos casos no son necesarios, y de hecho introducen una complejidad añadida que a veces empeora las cosas.


Cita:
Iniciado por NeoKaisser Ver Mensaje
Ayer ya pase mis clases a ejb de sesión, de momento he logrado que me compilen, que ya es mucho

Ahora me asalta la duda de como interactuar con ellos. En algún ejemplo he visto que se realiza mediante un servlet. No sé si con una simple página jsp podría hacerlo también. O si hacer una página jsp y luego un servlet que me haga de intermediario. La página que ve el cliente tiene que ser modificada según los datos que obtenga del ejb y creo que podría ser el servelt el que gestionase todo eso, ¿no?

Vaya lío

Un saludo, gracias y espero no líar mucho el post.
Mirate este artículo, por ejemplo,:
http://www.greeneyed.org/guide/stati.../JavaXMLXSL.do
para ver diferentes opciones de como desarrollar aplicaciones con Java en el servidor y al final, con XML. Como verás usar EJB es una de ellas, pero no la unica, y el modelo recomendado es separar el acceso a los datos (generar el XML) de la parte de generar la interfaz (mostrar los datos en forma de pagina HTML).

A ver si te puede aclarar algo más. De todas formas en este mundillo hay muchas opciones por lo que no hay que perder demasiado tiempo en perseguir "la más optima de todas", por que no la hay y depende de los casos, hay que encontrar la que solucione el problema, tenga contentos a los usuarios y no nos amargue la vida. El resto es palabrería .

S!
  #7 (permalink)  
Antiguo 08/03/2007, 11:55
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Duda con beans de java

Hola GreenEyed.

Pues creo que exactamente lo que me han mandado, por que es un proyecto, se asemeja y mucho al la arquitectura WebLEAF. Sobre todo por el caso de la aplicación con múltiples idomas.

Creo que crearé una web con JSP que me lea de un archivo XML. Tendré un servlet que recogerá los datos leídos del xml y los mandará guardar en EJB´s y además, obtendrá datos de los EJB´s y los enviará a la página JSP. Cuando me funcione esto, entraré en los XSLT. ¿Qué te parece?

También me voy a guiar por este ejemplo:
http://www-128.ibm.com/developerwork...dgr-lnxw13Ajax


Y si, tienes razón acerca de las "modas". Lo que voy a fardar diciendo que hago EJB´s, sin embargo, apenas sé algo de java. Cé la vie.

Voy a por el netbeans, seguiremos informando.

Muchisimas gracias.
  #8 (permalink)  
Antiguo 08/03/2007, 12:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda con beans de java

Hola,

Bueno, me alegra que te sirva de algo . Si de hecho lo que vas a hacer se parece bastante y te interesa, puedo mostrarte como funciona el WebLEAF y te ahorras parte del trabajo .

Lo de AJAX no es mala idea, aunque no es bueno abusar o depender de el por que algunos navegadores todavia tienen problemillas con segun que JavaScript o manipulaciones del DOM, pero aun así, para añadir algún efecto para darle "un toque fashion" va muy bien. Jejeje. De todas formas, para usar AJAX te recomiendo que busques alguna libreria que te facilite el trabajo, Dojo, YUI o DWR por ejemplo, ya que si no, programarlo a bajo nivel, como te explica el ejemplo, es muy duro y poco mantenible. Es decir, lo del articulo está muy bien pero es el bajo nivel, bueno para saber como va pero no para trabajar todos los días.

Yo he usado Dojo, algunos componentes funcionan muy bien y otro son terriblemente malos con documentacion pesima, he visto usar el YUI, que tenía muy buena pinta en cuanto a fiabilidad y documentación, y algun otro componente suelto.
Un ejemplo típico de autocompletar usando el bComplete:
http://swww.uib.es/uimir/FormularioRegistro.uimir
**Los campos "Província" y "Població"



Respecto a las modas... para ser sincero, ahora mismo usar EJBs esta casí hasta mal visto, ahora se les llena la boca con soluciones ligeras, AOP... blablabla. Pero con AJAX te marcas un tanto, seguro. .

¿Es un proyecto de fin de carrera?
  #9 (permalink)  
Antiguo 08/03/2007, 13:33
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Duda con beans de java

Hola de nuevo.

Si, la parte de Ajax la he tenido que aprender ahora y mejor verlo a bajo nivel. Debo aprender, saber
explicarlo todo, ... así que me toca hacerlo así. Casí lo prefiero, quiero tener el control. Y si, creo
que es un tanto Lo de los navegadores lo he leído y he encontrado algunos ejemplos que
verifican que navegador tienes para actuar de una manera u otra.

Vaya, ese ejemplo funciona realmente rápido :D

Si, es un TFC, por eso voy a usar cosas que "deslumbren" o esten de moda. Ya se ha pasado la moda
de los EJB ?? ops. Lo consultaré con mi tutor a ver que me cuenta.

Tengo tutor, pero consultar con él es algo complicado.

Ya me he hecho mi esquemita y creo que puede funcionar :D Seguro que me doy de bruces con muchas
cosas, como la sintaxis, la metodología, ... pero teniendo claro el esquema, el resto es pulir cositas y trabajar
duro. Cualquier ayuda ó consejo será bienvenida.

Un saludo y muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.