Access Keys:
Skip to content (Access Key - 0)

AppFuse QuickStart - Español

Labels

quickstart quickstart Delete
eclipse eclipse Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Para comenzar a desarrollar aplicaciones Java EE con AppFuse 2.x, siga las instrucciones detalladas a continuación:

Contenidos

  1. Crear un proyecto nuevo.
  2. Ejecutarlo.
  3. A divertirse.

Crear un proyecto nuevo

  1. Configurar el Entorno de desarrollo - o continuar con el paso siguiente si ya tiene experiencia.
    1. Descargar Sun JDK 5+ e instalar el paquete (asegurar que la variable de entorno JAVA_HOME hace referencia a la JDK, y no al JRE).
    2. Descargar MySQL 5.x e instalarlo.
    3. Configurar un servidor SMTP o modificar el fichero mail.properties (en src/main/resources) para usar un nombre de host distinto - por defecto es "localhost".
    4. Descargar Maven 2.0.x e instalarlo.
  2. Desde una interfaz de comandos, cambiar al directorio "Source" (c:\Source en Windows, ~/dev en Unix) y ejecutar uno de los comandos mvn archetype:create de la siguiente tabla.
Seleccionar pila
AppFuse consta de distintos sabores. Para optimizar y simplificar la experiencia de usuario, hemos creado un número de distintos archetypes (a.k.a. modelos de proyecto). Existen en la actualidad dos tipos de Archetypes en AppFuse: basic y modular. El archetype basic es ideal para crear proyectos que funcionarán como aplicaciones web. El archetype modular incluye los módulos "core" y "web" y es ideal para iniciar proyectos que constan de una lógica de negocio reutilizable. La lista de comandos necesarios para generar estos proyectos se describen a continuación. Debería modificarse el groupId para adaptarlo a la nomenclatura de paquetes deseada así como el artifactId al nombre del proyecto en cuestión.
Los mensajes de aviso (warnings) que se ven al crear el proyecto suelen ser normales. Si al final sale el mensaje BUILD SUCCESSFUL, el proyecto se habrá creado satisfactoriamente.
Archetype Comando
JSF Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Spring MVC Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Struts 2 Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Tapestry Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-tapestry -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

JSF Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-jsf -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Spring MVC Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Struts 2 Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-struts -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Tapestry Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-tapestry -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Core
(backend only)
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-core -DremoteRepositories= http://static.appfuse.org/releases

-DarchetypeVersion=2.0.2 -DgroupId=com.miempresa.app -DartifactId=miproyecto

Debería ser posible ejecutar AppFuse inmediatamente si tiene una base de datos MySQL 5.x instalada y se encuentra accesible al usuario root sin contraseña. También es posible utilizar bases de datos embebidas como las recientemente añadidas para H2, HSQLDB, etc: Database Profiles.

Riesgo de seguridad en MySQL
Ejecutar MySQL utilizando el usuario root sin contraseña no es la opción más segura. Una vez creada la base de datos, se puede modificar la contraseña de root con el siguiente comando:
mysql --user=root --pass='' mysql -e "update user set password=password('newpw') where user='root'; flush privileges;"

AppFuse usa el nombre de usuario "root" sin contraseña por defecto. Para cambiar estos valores habría que modificar las propiedades <jdbc.username> y <jdbc.password> en el fichero pom.xml (abajo del todo).

Ejecutar la aplicación

La ejecución de AppFuse es bastante sencilla. Una vez que el archetype del proyecto se ha creado, Maven creará y poblará la base de datos utilizando los plugins de hibernate3 y dbunit, respectivamente. Lo único que habría que hacer ahora es decirle a Maven que ejecute el contenedor Jetty para poder usar la aplicación.

  1. Gestione el nuevo proyecto con un control de versiones, a no ser que tenga una buena razón para no hacerlo. Google Code suministra gratuitamente Subversion, entre otros.
  2. Desde una interfaz de comandos, cd en el directorio del proyecto y ejecute mvn para descargar los JARs, Tomcat y ejecutar las pruebas de integración del proyecto. Ahora es un buen momento para ir a tomarse un café o una cervecilla - la descarga de todas las dependencias y la ejecución de las pruebas puede tomar unos 5-10 minutos.
  3. Para desplegar la aplicación basta con ejecutar mvn jetty:run-war en el directorio del proyecto (en un proyecto modular, será necesario ejecutar mvn jetty:run-war dentro del directorio web del proyecto ). Maven iniciará Jetty y será posible visualizar la aplicación mediante un navegador en http://localhost:8080.
    El nombre y contraseña por defecto para el usuario administrador es admin/admin. Para un usuario normal: user/user.
  4. Para gestionar los ficheros de AppFuse, ejecute mvn war:inplace. Esto extraerá los paquetes WARs en src/main/webapp, donde se podrá modificar ficheros directamente en el corazón de la aplicación. Cuando se tiene expandido el war en el directorio de fuentes, es posible ejecutar mvn jetty:run. De esta manera se permitirá realizar modificaciones al vuelo, recargándolas Jetty cuando sea necesario. El único problema de trabajar de esta forma es que en el proyecto se encuentra una instancia de "AppFuse explosionado", lo que acabará dando problemas con las actualizaciones. Se recomienda mantener el proyecto en un control de versiones antes de ejecutar mvn war:inplace. De este modo, será más fácil para tí decidir que debería incluirse en el repositorio (sobrescribir) y qué podría eliminarse.

Si se obtienen errores del tipo OutOfMemory al utilizar mvn jetty:run, más información en este hilo de la lista de correos.

Es posible modificar el modo de ejecución de AppFuse de "embebido" a todo-el-código al ejecutar mvn appfuse:full-source desde el directorio del proyecto.

Bug con Ant 1.7.0
En plataformas Windows, los repositorios locales y proyectos no deberían incluirse en directorios cuyo nombre incluya espacios en blanco. Ver hilo en la lista de correos
Entorno de desarrollo
Ver entorno de desarrollo para instrucciones detalladas sobre las configuraciones necesarias para desarrollar aplicaciones basadas en Appfuse.
Modificar opciones de base de datos
Para cambiar los parámetros de configuración de MySQL, basta con modificar las propiedades <jdbc.*> al final del fichero pom.xml. Ver Perfiles de base de datos para utilizar otra base de datos distinta de MySQL.

Desarrollar la aplicación

Es posible desarrollar la aplicación usando Eclipse, IDEA o NetBeans. Para Eclipse, basta ejecutar mvn install eclipse:eclipse para generar los ficheros del proyecto. Para IDEA, use mvn idea:idea. Otras instrucciones se pueden obtener en la Guía de referencia de IDE.

El Tutorial debería ayudar a iniciar el desarrollo de una aplicación.

Desarrollo Offline
Si prefiere que la aplicación basada en AppFuse no utilice una conexión a internet, debería descargarse sus dependencias y descomprimirlas en el directorio ~/.m2/repository.

La documentación de este wiki también se encuentra disponible como PDF.

Adaptavist Theme Builder (4.0.0-M8) Powered by Atlassian Confluence 3.1, the Enterprise Wiki.