Grails joe dayz

  • View
    1.088

  • Download
    3

Embed Size (px)

Transcript

  1. 1. GrailsJos Daz Daz y colaboradores.
  2. 2. Primera Edicin, Julio de 2011www.joedayz.peEl libro se ha publicado bajo la Licencia Creative Commons 2
  3. 3. ndice general ndice general Prlogo Agradecimientos Autores del Libro Cul es el objetivo de este libro? CAPITULO I: INTRODUCCION CAPITULO II: EL PROYECTO CAPITULO III: FUNDAMENTOS DE LA WEB TEKDAYZ
  4. 4. A Dios por la paciencia que tiene conmigo y porque me ha proveido todo lo que micorazn necesita.A la memoria de Paco, mi Padre y mejor amigo, a quien admiro y recuerdo todos losdas de mi vida.A Catalina mi gran Madre que me enseo a ganarme la vida desde muy nio y siempre me ha apoyado en lo personal y profesional.A Miryan mi linda esposa, quien salva mi vida da a da. Me ha dado cuatro hijosmaravillosos: Elas, Felipe, Liam y Deborah.A la Iglesia y el Camino Neocatecumenal quienes me hacen ver mis miserias y me transmiten la fe que quiero compartir con mis hijos.
  5. 5. Prlogo
  6. 6. Agradecimientos
  7. 7. Autores del LibroJos Amadeo Martin Daz Daz Nac en la ciudad de Huacho en Lima- Per el 6 de Noviembre de 1974. Mis padres fueron Jos Francisco Daz La Rosa y Catalina Daz Baca. De ah que mis apellidos sean Daz al cuadrado. Mi infancia transcurri en el distrito de Ventanilla de la provincia Constitucional del Callao. Mis padres y yo llegamos a dicho distrito en el ao 1980. Estudie toda mi primaria en el Colegio Nacional Victor Andres Belaunde N 5053 y toda mi secundaria en el Colegio Nuestra Seora de Beln. Termine mis estudios secundarios en el ao 1990.Tras cuatro aos de trabajar para pagarme mis estudios superiores ingrese a laPontificia Universidad Catlica del Per en el ao 1994. Claro esta, dichos ahorrosslo alcanzaran para el primer y segundo ciclo. Bueno ese era mi plan A, no habaplan B porque no tena la menor idea de lo que pasara cuando se acaben misahorros.En el tercer ciclo paso lo que nunca me espere. Tuve que dejar de estudiar un ciclo porla muerte de mi padre (Cancer). La Universidad informada por mi padre antes de morirque mi situacin se complicara, me facilito un prstamo integral que me exiga solomuy buenas notas y en su lugar me daba estudios, asistencia medica y una mdicaasignacin mensual para subsistir. A mis 19 aos no tena ms que elegir, as quedecid aceptar y continuar con mis estudios. Es un acontecimiento que de todo coraznhubiese querido no pasar, pero, la historia de uno se compone de momentos que no
  8. 8. podemos controlar.Finalmente, tras cinco aos de carrera, logre terminar en quinto superior como Bachillerde Ingeniera Informtica en el ao 2000, para posteriormente titularme como Ingenieropor Tesis en el ao 2002.Luego desarrollara siete aos de experiencia laboral en el periodo comprendido del2000 al 2007. En Agosto del 2007 decido independizarme fundando JOEDAYZ.COM miconsultora de desarrollo y entrenamiento de software. Desde esa fecha marca mi iniciocomo emprendedor independiente apoyado de un gran grupo humano que ha permitidoque en el 2011 hallamos desarrollado proyectos a nivel nacional y sudamericano conun xito rotundo en cada uno de ellos.Desde el ao 2010 tambin inicie mi labor acadmica como docente en la carrera deIngeniera de Sistemas de la Universidad Peruana de Ciencias Aplicadas gracias a larecomendacin e invitacin de mi amigo Lennon Shimokawa.Bueno eso es lo que en lo profesional me ha dado muchas satisfacciones. En lopersonal mi vida inicia con uno de los mejores das de mi vida. El casamiento con mipreciosa esposa Miryan Ramirez Ortega en el ao 2005 quien me ha dado cuatro hijosmaravillosos: Elas, Felipe, Liam (en el cielo) y Deborah a los cuales dedico todas lasacciones, servicios, productos que desarrollo en mi vida.Esto ltimo de repente a nadie le puede sonar importante, pero, para mi si ha sidoimportante ser parte del Camino Neocatecumenal desde el ao 2003. Gracias al apoyode mi comunidad y de mis Catequistas mi vida personal y profesional ha dado un girode 360. Siempre en busca de la verdad por delante y con una vocacin de serviciopara la comunidad y clientes.Espero en verdad que este primer libro le sea de gran utilidad a quien lo lea y esperono sea el ltimo tambin que escriba. Sean constructivos y levantenme la moral para elsegundo libro.Se que muchos profesionales como yo no tienen tiempo, as que intentare hacerlo muydidactico para que pueda despertar el lado cognitivo del lector y el aprendizaje seapermanente.Su colaborador Jos Daz.
  9. 9. Cul es el objetivo de este libro?El objetivo de este libro es proporcionar informacin tecnolgica en nuestro idioma natal ya quela mayora de los libros recientes estn en ingles. As que no hay excusa para leerlo.Brindar a la comunidad informacin disponible de forma gratuita para que lo pueda aplicar ensu mbito profesional y generar oportunidades para ellos.Como Docente y Profesional tengo a mi alcance mucha informacin que cuando estudiaba oegresaba me era casi imposible de tener. Incluso en las empresas en las que he trabajado noexiste una biblioteca, y si la empresa decide pagar un curso (raro en verdad), son pocos losinvitados a dicho curso.Siendo ms directos este libro es para todos aquellos que ante la excusa de que no haypresupuesto, esta en otro idioma, estoy en otro pas y comprar el fsico me resulta muy caro, noleen o se quedan con lo que ven en el da a da. En una carrera como la informtica o sistemaseso es suicidio.Pues aqu esta este libro digital totalmente disponible para todos los interesados en desarrollaraplicaciones web para la plataforma JEE de una manera gil y productiva.
  10. 10. CAPITULO I: INTRODUCCION
  11. 11. CAPITULO II: EL PROYECTODesarrollaremos una aplicacin real en varias iteraciones. Lo que si garantizo que luego dever como se desarrolla esta aplicacin de cero e incluyendo temas avanzados podras tomar tusegundo proyecto sin problemas.2.1 Introduccin a TekDayz.peEn Lima-Per se estan realizando en estos ltimos tiempos muchas confererenciastecnolgicas, open spaces y vamos a aprovechar la coyuntura para desarrollar una aplicacinweb que le permita a la comunidad anunciar, planear, y promover localmente conferencias,open spaces. Entonces la aplicacin nos ayudara a organizar un evento: hacer una lista decosas por haer, el dashboard de un organizador (voluntarios, sponsors, potenciales asistentes),un foro de discusin y una pagina del evento totalmente personalizada para ayudar con lapromocin. Veremos que con Grails esto sera posible de una manera sencilla y rapida.2.2 Requerimientos de la AplicacinLa lista de funcionalidades a realizar en nuestra aplicacin: Crear nuevos eventos Mostrar detalles del evento Editar detalles del evento Crear usuarios / organizadores Permitir a usuarios voluntarios ayudar Aadir usuarios a eventos Permitir usuarios anonimos registrar su interes Crear sponsors Aadir sponsors a eventos Tener una lista por defecto de tareas Aadir/remover tareas
  12. 12. Asignar tareas a usuarios Post a un Foro Responder un mensaje en el foro Mostrar hilos de mensajes en el foro Personalizar pagina de eventos Permitir acceso a la pagina del evento con un simple URL2.3 Iteracin CeroEn esta iteracin configuraremos nuestro entorno de desarrollador grails.Instalando Grails 1. En primer lugar hay que ir a la pagina http://grails.org/Download y bajar el .zip o .tar.gzsegun corresponda. 2. Descomprimio el .zip en una carpeta G:Toolsgrails-1.3.7, por ejemplo 3. Aado la variable de entorno GRAILS_HOME apuntando al directorio del punto 2.Luego aado al path %GRAILS_HOME%bin. 4. Me aseguro que una versin de JDK 5+ este instalada y que exista su variable deentorno JAVA_HOME.Para testear nuestra aplicacin tipeamos:
  13. 13. Scripts de GrailsGrails viene con scripts predefinidos los cuales se ejecutan con el comando grails. Tenemosscripts para crear aplicaciones, ejecutar tests o ejecutar la aplicacin.Tipeemos por ejemplo:Nota: Nosotros tambien podemos construir nuestros propios scripts.Configurando nuestro espacio de trabajo$grails create-app TekDayz
  14. 14. Grails entonces crea una estructura de directorios y archivos.Entramos a la aplicacin y la ejecutamos as:$cd TekDayz$grails run-appNota: Si tu puerto 8080 esta ocupado. Puedes cambiar de puerto con esta sentenciagrails -Dserver.port 28080 run-appOJO: El comando lo tienes que llamar desde el directorio TekDayz
  15. 15. Grails nos avisa que esta en un entorno de desarrollo, ver las lineas:Environment set to developmentDesarrollar en el modo de desarrollo nos permite hacer autoreload, hacer cambios y verlosinmediatemente sin necesidad de bajar el contenedor. Asimismo, nos permite trabajar con unabase de datos en memoria.
  16. 16. Con otros frameworks necesitaria aadir librerias para obtener estos servicios, crear paginaspor defecto, crear y modificar xmls. Con Grails esto ya se ha obtenido con un simple comando.Anatoma de un proyecto en GrailsCon el comando create-app se han creado varios directorios y archivos. Estos siguen elprincipio de grails convencion sobre configuracion, as que cada directorio tiene una razon deser.A continuacin una breve descripcin de cada directorio: grails-app: Es el directorio principal de la aplicacion. Contiene los siguientes directorios conf: contiene los archivos de configuracion para Hibernate y Spring si se desea usar. controllers: aqui tenemos las clases controller, que son los puntos de entrada a nuestra aplicacion grails domain: tiene las clases de dominio, representa la persistencia de datos i18n: guarda los archivos properties para la internacionalizacion services: aqui estaran las clases de servicio, las cuales son beans manejados por spring taglib: aqui tenemos tag libraries personalizados para groovy server pages (GSP) utils: para clases utilitarias, codigo reutilizable views: para guardar las vistas GSP lib: aqui estaran los jars externos que por alguna razon necesitamos (como los drivers jdbc) scripts: puede contener scripts gro