Appfuse 1.9.x to Appfuse 2.x

Matt Raible debe estar orgulloso aunque repleto de trabajo. Su QuickStart de portales, Appfuse, se ha hecho un lavado de cara (de bueno a mejor). Hace relativamente poco tiempo a abierto la versión 2.x y planea una release para este Febrero de 2007. Muchas son las nuevas features(http://www.appfuse.org/display/APF/Home), aunque destaco jdk 5.0, maven 2, annotations, jsp 2.0, servlet 3.4 y todo lo que esto conlleva... mejora en la gestión de librerías, mantenimiento simplificado, mejora en la adaptación a nuevas versiones, etc.
Bueno he sacado 15 minutos para probarlo ya que todas las listas de distribución están que arden con appfuse 2 y siguiendo los siempre buenos manuales y la quickstart de su Web... estos son mis pasos y mis resultados:
Pasos:
1) Leo http://www.appfuse.org/display/APF/AppFuse+QuickStart. 2) Tengo preparado una consola con la JDK 5 en el path. 3) No tengo instaldo MySQL 5.x (suelo trabajar con oracle..... pero esta vez vamos a tirar con MySql. Lo tengo bajado de la Web. Sigo los pasos de instalación. Si cambias password de root, encoding, etc.. tendrás que modificar posteriormente las properties del pom.xml . 4) SMTP server no instalo de momento. Puedo usar el de ISS de Windows o me bajo un server que indica en el quickstart (Facilisimo de instalar) 5) Tengo en la consola en el path también Maven 2.0.4. 6) El quickstart dice que "AppFuse comes in a number of different flavors". Esto es me bajo una distribución según la framework que busque en este caso Struts 2.0 e Hibernate 3 (simples, sencillas y potentísimas).
Por lo tanto, llamo a maven de las siguiente forma: mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=1.0-m2 -DgroupId=com.dk-DartifactId=myProjectDK
Va todo bien, que bueno!!!
8) Pruebo a ver si mysql está accesible. Abro la consola. Me autentifico (root/). Como no se bien la sintaxis de mysql (Busco un link que me guía: http://www.badopi.org/node/738)
show databases; (mysql tira, están las bases de datos iniciales)
9) mvn jetty:run war
Ouch!! Algo falla!!!! DBUnit no puede hacer el Clean_intert. Es algo relacionado con la base de datos que no puede hacer insert de las rows de prueba. Entro en MySql
show databases; (está appfuse) connect appfuse; show tables; (Ouch mensaje "Empty set"--- vamos que no hay tablas creadas)
Las tablas las crea appfuse automaticamente.... mmmm ¿será un bug?. Miro las issues de appfuse ------------------------------------------------------------------------------------------ There is an issue in M2 where the dbunit plugin fires before the hibernate3 plugin sometimes:
http://issues.appfuse.org/browse/APF-606
The fix is to change the <phase> of the hbm2ddl goal to execute in the "process-test-resources" phase (instead of test-compile). ------------------------------------------------------------------------------------------ Por lo visto a veces da este fallo al estar conectado por algún proxy (mi caso). No se han completado las fases de maven
10) Modifico el pom.xml como las issue indica
11) Modifico si es el caso alguna property del pom.xml si cambié algo de la configuración de mysql.
12) mvn jetty:run war
procesando procesando......... [MqH] DEBUG [btpool0-3] UserAction.edit(100) checking for remember me login...
Habro firefox y http://localhost:8080/.
Maravilloso el plugin de jetty que me ha cargado un tomcat con la aplicación y con el explorador veo el portal básico de appfuse.
¡¡¡Perfecto prueba completada!!!!
Resultados:
1) En 15 minutos (tenía preparado JDK, Maven y MySql bajado) está corriendo Appfuse. 2) El bug ya está corregido en la M3... aun no estoy seguro si es un bug o un fallo mio o del proxy o de lared... el caso es que surgio el error y está contemplado. 3) Un gran trabajo de nuevo de Matt Raible y su comunidad Appfuse. 4) Parece mejor el modo de trabajo de la 2.x que la 1.9.x (ant, ....)
Mis conclusiones son simples porque queda probar a ampliar la funcionad de la aplicación generada con el quickStart y ver de verdad que aporta y que mejora esta nueva versión a su antecesora. Esto para otro día., aunque por mi experiencia con AppFuse estoy seguro de que serán buenas noticias. Appfuse 1.9.x aporta muchísimas ventajas en el desarrollo de portales basados en tecnología J2ee .

No hay comentarios: