viernes, 14 de febrero de 2014

App I: Spring Roo (gvNIX) + Tomcat

0. Índice de Contenido

  1. Entorno
  2. Introducción
  3. Instalando el JDK
  4. Instalando el STS
  5. Instalando el gvNIX
  6. Instalando el Tomcat7
  7. Creando el proyecto SpringRoo
1. Entorno

Este tutorial fue creado con el siguiente entorno:

  • Hardware: Portatil Lenovo Z480
    • Procesador: Intel Core i5 2.50 GHz
    • Ram: 4 GB
    • Sistema: 64 bits
  • Sistema Operativo: Windowx 7 Home Basic 64 Bits  SP1
  • JDK 1.7.0_45 de 64 bits
  • STS 3.4.0.RELEASE

2. Introducción

Dentro del mundo del desarrollo de software siempre nos encontramos con variedad de lenguajes, tecnologías, herramientas, etc, pero siempre (al menos en mi caso) tenemos problemas con la productividad del equipo de trabajo al momento de entregar a tiempo los sistemas (el dolor de cabeza de todo gerente de proyectos).

En la tarea de buscar en Internet como mejorar dicha productividad (si no se puede en el desarrollo de los proyecto ya andando, al menos tener una opción para nuevos proyectos) encontré gvNIX que se basa en Spring Roo y soporta varios entornos de despliegue y en el cual nos vamos a basar hoy es Tomcat. 

Este tutorial es el resultado de mi estudio esta propuesta de hacer software (que según varios artículos de Internet, aumenta la productividad del desarrollador sin invadirlo, dejando que se dedique a lo que realmente es importante, la lógica del negocio), por tal motivo se irá actualizando a medida que avanzo, pero quiero ir compartiendo con la comunidad mi avance.

El enfoque de este tutorial es asumiendo que el lector esta iniciando en el mundo del desarrollo, por lo tanto doy mis disculpas si para algunos le parece muy básico. Espero tener el tiempo para ir creando tutoriales más avanzadas a medida que dominamos este entorno de trabajo.

Entonces manos a la obra........

No olviden dejar sus comentarios...

3. Instalando el JDK

Si no se visualiza correctamente, dar click sobre youtube para verlo mejor.




4. Instalando el STS

Si no se visualiza correctamente, dar click sobre youtube para verlo mejor.





5. Instalando el gvNIX

Si no se visualiza correctamente, dar click sobre youtube para verlo mejor.



6. Instalando el Tomcat 7

Para el tutorial utilizaremos como servidor de publicación el Tomcat 7 y a continuación dejo un vídeo de como lo hice.




7. Creando el proyecto SpringRoo

La aplicación que vamos a realizar es pizzashop que se encuentra en la documentación de gvNIX.


Para conocer más profundamente cada uno de los comandos que se pueden usar en Roo Shell, favor remitirse a la documentación de gvNIX que se encuentra en \docs\gvNIX\index.html.

Una de las ventajas que me parece genial al momento de crear sistemas con SpringRoo es que si ya poseo un script (archivo de texto plano con los comandos a ejecutar en el RooShell) con las instrucciones deseadas, solo es llamar al archivo y en minuticos ya podemos tener una base para nuestro sistema y funcional.

El contenido del archivo que utilizo en le vídeo para la creación del sistema es el siguiente:

// Setup JPA persistence using EclipseLink and H2
jpa setup --provider ECLIPSELINK --database H2_IN_MEMORY

// Create domain entities
entity jpa --class ~.domain.Base --activeRecord false --testAutomatically
field string --fieldName name --sizeMin 2 --notNull

entity jpa --class ~.domain.Topping --activeRecord false --testAutomatically
field string --fieldName name --sizeMin 2 --notNull

entity jpa --class ~.domain.Pizza --activeRecord false --testAutomatically
field string --fieldName name --notNull --sizeMin 2
field number --fieldName price --type java.math.BigDecimal
field set --fieldName toppings --type ~.domain.Topping
field reference --fieldName base --type ~.domain.Base

entity jpa --class ~.domain.PizzaOrder --testAutomatically --activeRecord false --identifierType ~.domain.PizzaOrderPk
field string --fieldName name --notNull --sizeMin 2
field string --fieldName address --sizeMax 30
field number --fieldName total --type java.math.BigDecimal
field date --fieldName deliveryDate --type java.util.Date
field set --fieldName pizzas --type ~.domain.Pizza

field string --fieldName shopCountry --class ~.domain.PizzaOrderPk
field string --fieldName shopCity
field string --fieldName shopName

// Define a repository layer for persistence
repository jpa --interface ~.repository.ToppingRepository --entity ~.domain.Topping
repository jpa --interface ~.repository.BaseRepository --entity ~.domain.Base
repository jpa --interface ~.repository.PizzaRepository --entity ~.domain.Pizza
repository jpa --interface ~.repository.PizzaOrderRepository --entity ~.domain.PizzaOrder

// Define a service/facade layer
service type --interface ~.service.ToppingService --entity ~.domain.Topping
service type --interface ~.service.BaseService --entity ~.domain.Base
service type --interface ~.service.PizzaService --entity ~.domain.Pizza
service type --interface ~.service.PizzaOrderService --entity ~.domain.PizzaOrder

// Offer JSON remoting for all domain types through Spring MVC
json all --deepSerialize
web mvc json setup
web mvc json all --package ~.web

web mvc setup

web mvc all --package ~.web

A continuación un vídeo de mi proceso de creación del sistema paso a paso

Si no se visualiza correctamente, dar click sobre youtube para verlo mejor.







Y eso es todo, ya tenemos nuestro sistema creado y funcionando en unos cuantos minutos.

Espero le sea de utilidad y en próximos tutoriales realizaremos app más elaborados.

No olvides calificar el tutorial y dejar sus comentarios....
                                                           !!!! GRACIAS !!!!



No hay comentarios.:

Publicar un comentario