Herramientas de desarrollo de ejb's

Bien, mi problema es que para un proyecto que voy a empezar ahora, para internet y por supuesto,
Con la tecnología Java, me estoy iniciando en todo el tema de EJB's, que hasta ahora era el único
Punto que todavía no había tocado.
Buscando, he conseguido saber toda la teoría relativa a los mismos. Es decir, su funcionamiento,
Posibilidades, etc.
Además, también he evaluado distintas herramientas que fecilitan la creación de estos EJB's. Estas
Son:
--> IBM Visual Age for Java v4.0
--> IBM WS Application Developper v4.0.3
--> Oracle JDeveloper 9i
Todas ellas te permiten, una vez tengas el esquema de la base de datos diseñado y creado,
Desarrollar de forma automática todos los EJB's que se necesitan para mapearla.
El proyecto va a ir desarrollándose poco a poco y por partes, con lo que la BBDD sufrirá cambios
Constantes, por tanto necesito generar los EJB's de la parte de la BBDD que desarrolle, y añadir o
Actualizar los EJB's a medida que el esquema de mi BBDD cambie.
Y este es el problema de todas estas herramientas. Una vez has generado los EJB's para la BBDD, no
Te permiten actualizar los EJB's existentes con la nueva estructura, y ni si quiera generar los
Nuevos EJB's para las tablas que se hayan añadido (bueno, y no te digo lo que hacen con las
Relaciones de tablas, un desastre), de forma automática (o por lo menos no he sido capaz de
Descubrir cómo lo hacen).
Bien, pues mi pregunta es esta:
¿Qué herramientas utilizas normalmente para el desarrollo de EJB's?
¿Son capaces de generar los EJB's a partir del esquema de la BBDD?
¿Y si cambias el esquema de la misma, puedes actualizar la estructura de los EJB's de forma
¿Automática?
¿Te generan los 'xml' de despliegue de los ejb's (tanto el del '.jar' como el propio del contenedor
(¿Para CMP's)?
¿Has utilizado las herramientas que te señalo? ¿Qué opinas de ellas?
Si no tienes ninguna herramienta que te haga todo este proceso de forma automática, me gustaría que
Me contases la estrategia que sigues para llevarla a cabo.
De paso, algo más. Como contenedor de EJB's, utilizo 'JOnAS'. No se si habrás oído hablar de él,
Pero es libre y tiene mogollón de documentación. Empecé con JBoss, pero debido a la escasa
Documentación que tiene, no conseguí arrancarlo. Aun así, parece ser que éste último es el que más
Se utiliza.
¿Qué contenedor utilizas normalmente?
¿Qué te parece JOnAS? ¿Lo has utilizado?
¿Has conseguido poner en marcha JBoss?
En fin, creo que me estoy pasando ya de preguntar.

1 respuesta

Respuesta
1
Bueno vayamos por partes:
Yo para desarrollo de Java, no uso ninguna de las herramientas que nombra, o bien uso el JBuilder o bien uso el NetBeans. El VisualAge lo he probado alguna vez pero me parece un infierno, no es muy intuitivo pero vamos esto es una opinión personal, si tienes tiempo prueba el netbeans es muy completo y es libre pero no trae herramientas para hacer deploy.
De todas formas yo para hacer deploys uso el deploytool que viene con el j2ee es bastante completa y es cómoda de trabajar, y dependiendo del servidor que se use en el proyecto uso su herramienta de deploy p.e. el Weblogic es bastante completo en ese sentido y te permite deploys en caliente (también vale una pasta la licencia) ;-)
Sobre el tema de la BBDD y los EJB's yo te recomendaría hacer un análisis muy profundo de como quieres la BBDD puesto que añadir un campo en una tabla no suele ser un problema para tocar los EJB's, pero si tienes que añadir tablas en mitad del desarrollo puede llegar un momento en que la BBDD sea un infierno y no haya manera de meterle mano.
Para la generación de todos los objetos del sistema prefiero usar el together que es una herramienta especifica para análisis y te obliga a tener una idea clara del sistema antes de empezar a picar, y esta misma herramienta una vez terminado el análisis te genera los scripts de la BBDD y los objetos del sistema, bien sean EJB's, Beans, clases...
Esta herramienta cuando cambias el diseño te vuelve a generar todo, pero de java lo que realmente te genera es el esqueleto de la clase correspondiente, yo solamente he podido trabajar con ella en un proyecto en el que al analista le gustaba mucho esta herramienta, pero estoy seguro de que el camino para realizar proyectos complejos debe estar por allí.
Con respecto a contenedores yo he trabajado más con servidores de aplicaciones como weblogic y orion, el JOnAS leí algo de hace poco en www.theserverside.com y lo ponían muy bien pero no he tenido oportunidad de probarlo.
El JBoss lo instale una vez con la version que hay con el tomcat pero como no tenia apenas documentación lo deje por imposible ya que no conseguí hacer apenas nada y ademas tenia cantidad de curre para entretenerme en ver como se usaba.
Finalmente te recomendaría mirar algún libro de patrones como el Thinking in Patterns que esta disponble en PDF por internet puesto que los EJB's son suficientemente complejos, y lo mejor es tener una estructura clara que haya que modificar mínimamente antes de empezar el desarrollo, porque si no el proyecto podría convertirse rápidamente un infierno si tienes que tocar a menudo la estructura de EJB's
Bien, he investigado un poquito más tomando como referencia tu respuesta y estas son mis conclusiones:
- JBuilder: parece que el desarrollo de EJB's lo tiene bastante bien pensado. Me guio por la documentación, ya que me lo he instalado (la versión enterprise), pero no lo he probado, porque no es posible el desarrollo utilizando un contenedor distinto de la lista de los que soporta. Este aspecto me tira para atrás, ya que prefiero un servidor libre.
- NetBeans: Tiene buena pinta, pero no he encontrado ninguna zona de desarrollo de EJb's (corrígeme si me equivoco).
- Para el deploy, prefiero utilizar App Developper, ya que todo el proceso que hay que hacer de forma manual en el deploytool, se hace de forma automática.
- Together: esta si que me ha gustado mucho, pero evidentemente no está al alcance de cualquiera, ya que no es algo libre. Me he bajado la versión de evaluación, y seguramente tenga que conformarme con ella (hasta que caduque). No la conocía, y me ha sorprendido, aunque puede que sea difícil llevar el mantenimiento de la aplicación, ya que cuando se implementen todas las clases, volver a generar todo el proyecto supone el situar el código desarrollado en su sitio, actualizando los cambios (por lo que he visto).
- En cuanto a los patrones de EJB's, si que le estoy dedicando bastante tiempo, ya que realmente es importante. No sólo para EJB's, sino también para programar en Java simple.
Bueno, por mi parte nada más.
Si quieres hacerme alguna puntualización, hazla.
Gracias por contarme tus experiencias.
Un saludo.
No tengo mucho más que añadir, solo que el JBuilder tal vez se pueda integrar con un container libre mientras cumpla las especificaciones estándar pero no estoy seguro, habría que investigarlo.
Con respecto al NetBeans, tienes razón, no tiene desarrollo de EJB's para eso necesitas la version de pago que es el forte de Sun, este debería de ser más sencillo integrarlo con cualquier servidor puesto que cumple las especificaciones de la propia Sun pero como no he probado la versión de pago no te lo puedo decir seguro.
Supongo que cuando avance el desarrollo del netbeans añadirán esas funcionalidades, pero cuanto menos hasta la 3.4 seguro que no esta disponible :-(
Con respecto a algún equivalente libre del Together la verdad es que he buscado cosas y solo he visto una que se llama DÍA del proyecto Gnome pero no se acerca ni de lejos a la funcionalidad y facilidad de uso del Together. De vez en cuando miro como va su desarrollo pero le falta todavía algo para sea cómodo de usar y desde luego le falta bastante para alcanzar en funcionalidad al together.
Bueno, sin nada más que contarte y esperando que te haya sido de ayuda me despido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas