SlideShare a Scribd company logo
1 of 27
Frameworks para desarrollo de aplicaciones Web

                                      Esteban Saavedra L´pez, Ph.D.
                                                        o

                                     CEO Opentelematics Internacional Bolivia
                                         jesaavedra@opentelematics.org
                                      http://jesaavedra.opentelematics.org
                                        http://esteban.profesionales.org




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   1 / 27
Tabla de Contenidos

   1    Introducci´n a los Frameworks
                  o

   2    Patron MVC

   3    Grails

   4    Caracter´
                ısticas de un Proyecto Grails

   5    Creaci´n de un proyecto
              o

   6    Demostraci´n
                  o

   7    Conclusiones

   8    Referencias


Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   2 / 27
Introducci´n a los Frameworks
                                           o


  Que es un Framework?



           Es una estructura de soporte definida en la cual otro proyecto de
           software puede ser organizado y desarrollado.
           Se han convertido en la piedra angular de la moderna ingenier´
                                                                        ıa
           del software
           Es una estructura software compuesta de componentes
           personalizables e intercambiables para el desarrollo de una aplicaci´n.
                                                                               o
           En otras palabras, es una aplicaci´n gen´rica incompleta y
                                             o       e
           configurable a la que podemos aadirle las ultimas piezas para
                                                      ´
           construir una aplicaci´n concreta.
                                  o




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   3 / 27
Introducci´n a los Frameworks
                                           o


  Cual el objetivo de un framework?


           Desarrollo r´pido
                       a
           Desarrollo estructurado
           Reutilizaci´n de c´digo
                      o      o
           Disminuir el esfuerzo en el desarrollo
           Aprovechamos las funcionalidades ya implementadas.
           No debemos reinventar la rueda
           Nos concetramos directamente en la soluci´n del problema
                                                    o
           Tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
                                            ıas               ıles
           AD)




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   4 / 27
Patron MVC


  Patr´n MVC
      o




             Modelo
             Controlador
             Vista




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   5 / 27
Grails


  Que es Grails




           Es un framework para el desarrollo de aplicaciones web
           Es la respuesta de java para Ruby on Rails
           Permite el desarrollo de aplicaciones web de forma r´pida
                                                               a




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   6 / 27
Grails


  Filosof´ de Grails
         ıa




           Reutilizaci´n de c´digo
                      o      o
           Desarrollar aplicaciones web de forma r´pida, sencilla y divertida
                                                  a
           Utilizar los mejores componentes actualmente disponibles
           Combinar todo en un paquete f´cil de usar
                                        a
           Grails provee el pegamento, de tal forma que uds no haga el suyo.




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   7 / 27
Grails


  Por que Grails


           Se basa en el patr´n MVC
                             o
           Tiene todo lo necesario para desarrollar aplicaciones Web
           Soporta Ajax
           Posee buena documentaci´n
                                  o
           Es multiplataforma
           Posee una numerosa comunidad de desarrolladores y usuarios
           Inspirado en Ruby on Rails (Padrino de la mayor´ de los
                                                          ıa
           Frameworks)
           Est´ en constante desarrollo
              a




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   8 / 27
Grails


  Componentes de Grails




           Lenguaje Groovy
           Maquina Virtual de Java




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   9 / 27
Grails


  Instalaci´n de Grails
           o




   Utilizando los fuentes
   Obtener: http://dist.codehaus.org/grails/grails-bin-1.0-RC1.tar.gz
   Basta con descomprimir y permitir su acceso




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   10 / 27
Caracter´
                                   ısticas de un Proyecto Grails


  Estructura de un proyecto de Grails




   Grails proporciona una estructura jer´rquica:
                                        a
           Proyecto
           Aplicaci´n
                   o
           M´dulo
            o
           Acci´n
               o
           Vista




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   11 / 27
Caracter´
                                   ısticas de un Proyecto Grails


  Creaci´n de un proyecto
        o




   Instrucci´n
            o
    grails create-app myapp




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   12 / 27
Caracter´
                                   ısticas de un Proyecto Grails


  Que gener´ esto?
           o
   Una estructura jer´rquica de directorios
                     a




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   13 / 27
Creaci´n de un proyecto
                                             o


  Pasos para crear un proyecto




       1   Crear el proyecto
       2   Crear los dominios del proyecto
       3   Generar los CRUDs
       4   Adecuar los templates (CSS y/o JavaScript)
       5   Publicar la Aplicaci´n
                               o




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   14 / 27
Creaci´n de un proyecto
                                             o


    1. Creaci´n de un proyecto
             o
   Instrucci´n
            o
    grails create-app evento




   Detalles del proyecto
   Welcome to Grails 1.0-RC1 - http://grails.org/
   Licensed under Apache Standard License 2.0
   Grails home is set to: /home/jesaavedra/grails

   Base Directory: /home/jesaavedra/aplic_web/grails
   Environment set to development
   Note: No plugin scripts found
   Running script /home/jesaavedra/grails/scripts/CreateApp.groovy
   Overriding previous definition of reference to groovyJarSet
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/java
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/groovy
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/controllers
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/services
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/domain
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/taglib
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/utils
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/views




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web       Nov. 2008   15 / 27
Creaci´n de un proyecto
                                             o


    2. Crear el Dominio




   Un dominio por cada clase
   grails create-domain-class Seminario
   grails create-domain-class Registro




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   16 / 27
Creaci´n de un proyecto
                                             o


    3. Crear el c´digo del modelo de datos
                 o


   myapp/grails-app/domain/Seminario.groovy
   class Seminario {
               String titulo
               Date fechainicio
               String ciudad
               Float costo
               Boolean refrigerio
               static hasMany = [registros:Registro]
               }




   myapp/grails-app/domain/Registro.groovy
   class Registro {
               String nombre
               Date nacimiento
               String genero
               Seminario seminario
               }




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   17 / 27
Creaci´n de un proyecto
                                             o


  4. Generando los CRUDs

   Instrucci´n
            o
   grails generate-all Seminario
   grails generate-all Registro




   Sal´
      ıda
   Welcome to Grails 1.0-RC1 - http://grails.org/
   Licensed under Apache Standard License 2.0
   Grails home is set to: /home/jesaavedra/grails

   Base Directory: /home/jesaavedra/aplic_web/grails/evento
   Environment set to development
   Note: No plugin scripts found
   Running script /home/jesaavedra/grails/scripts/GenerateAll.groovy
   Compiling 6 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/grails-app/i18n
   [native2ascii] Converting 9 files from /home/jesaavedra/aplic_web/grails/evento/grails-app/i18n to /home/jesaav
        [copy] Copying 1 file to /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/spring
        [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
        [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
        [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento
   Generating views for domain class Seminario ...
   Generating controller for domain class Seminario ...
   Finished generation for domain class Seminario



Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web     Nov. 2008    18 / 27
Creaci´n de un proyecto
                                             o


  Ejecutar la Aplicaci´n
                      o

   Instrucci´n
            o
    grails run-app




   Sal´
      ıda
   Welcome to Grails 1.0-RC1 - http://grails.org/
   Licensed under Apache Standard License 2.0
   Grails home is set to: /home/jesaavedra/grails

   Base Directory: /home/jesaavedra/aplic_web/grails/evento
   Environment set to development
   Note: No plugin scripts found
   Running script /home/jesaavedra/grails/scripts/RunApp.groovy
       [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/lib
   Compiling 1 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
   Running Grails application..
   2007-11-26 19:28:48.569::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
   2007-11-26 19:28:48.649::INFO: jetty-6.1.4
   2007-11-26 19:28:50.348:/evento:INFO: Set web app root system property: ’evento’ = [/home/jesaavedra/aplic_web
   2007-11-26 19:28:50.348:/evento:INFO: Initializing Log4J from [/home/jesaavedra/aplic_web/grails/evento/web-ap
   2007-11-26 19:28:50.355:/evento:INFO: Initializing Spring root WebApplicationContext
   [5731] commons.GrailsConfigUtils [GrailsContextLoader] Grails application loaded.
   2007-11-26 19:29:00.717:/evento:INFO: Initializing Spring FrameworkServlet ’grails’
   2007-11-26 19:29:00.934::INFO: Started SelectChannelConnector@0.0.0.0:8080
   Server running. Browse to http://localhost:8080/evento


Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web    Nov. 2008    19 / 27
Creaci´n de un proyecto
                                             o


  Acceso al proyecto

   Instrucci´n
            o
    http://localhost:8080/evento




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   20 / 27
Creaci´n de un proyecto
                                             o


  Adecuaciones



   Una vez generada gran parte del proyecto (forma muy general), se puede
   proceder a realizar adecuaciones en:
           Controlador (actions)
           Vistas (templates)
           Formas de acceso en las URL (routing )
           Validacion de formularios
           Efectos especiales




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   21 / 27
Creaci´n de un proyecto
                                             o


  Proyecto desplegado




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   22 / 27
Demostraci´n
                                                          o


  Ejemplo de aplicacion desarrollada




                                                   Demostraci´n
                                                             o




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   23 / 27
Conclusiones


  Conclusiones


   Grails:
           Tiene todo lo necesario para desarrollar aplicaciones Web
           Soporta Ajax
           Posee buena documentaci´n
                                  o
           Es multiplataforma
           Esta en constante desarrollo (muchas funcionalidades en base plugins)
           Al tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
                                                 ıas                   ıles
           AD), se convierte en un fuerte candidatos para desarrollo de
           aplicaciones web.




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   24 / 27
Referencias


  Referencias




           http://www.grails.org/




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   25 / 27
Referencias


  Preguntas




   Preguntas
   Preguntas, dudas, consultas, ...




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   26 / 27
Referencias


  Agradecimientos




                                                       Gracias...




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   27 / 27

More Related Content

What's hot

Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Motor De Bases De Datos Oracle
Motor De Bases De Datos OracleMotor De Bases De Datos Oracle
Motor De Bases De Datos Oracletriana25
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque ookarlanm07
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Programas y proyectos de la Industria nacional del hardware
Programas y proyectos de la Industria nacional del hardwareProgramas y proyectos de la Industria nacional del hardware
Programas y proyectos de la Industria nacional del hardwareloretotrina
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas webGeraldyn De Sousa
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosunrated999
 
Diseño de Arquitectura ACDM
Diseño de Arquitectura ACDMDiseño de Arquitectura ACDM
Diseño de Arquitectura ACDMErnesto Maya
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones DistribuidasSorey García
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controladorcom2merwil
 

What's hot (20)

Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Motor De Bases De Datos Oracle
Motor De Bases De Datos OracleMotor De Bases De Datos Oracle
Motor De Bases De Datos Oracle
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Metodologias rup
Metodologias rupMetodologias rup
Metodologias rup
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Rational rose
Rational roseRational rose
Rational rose
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
MOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modeladoMOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modelado
 
Programas y proyectos de la Industria nacional del hardware
Programas y proyectos de la Industria nacional del hardwareProgramas y proyectos de la Industria nacional del hardware
Programas y proyectos de la Industria nacional del hardware
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas web
 
DB1 Unidad 4: SQL
DB1 Unidad 4: SQLDB1 Unidad 4: SQL
DB1 Unidad 4: SQL
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientos
 
Diseño de Arquitectura ACDM
Diseño de Arquitectura ACDMDiseño de Arquitectura ACDM
Diseño de Arquitectura ACDM
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 

Viewers also liked

RIA Rich Internet Application
RIA Rich Internet ApplicationRIA Rich Internet Application
RIA Rich Internet ApplicationEsteban Saavedra
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Erick Cerna
 
Energies renovables pptsencer
Energies renovables pptsencerEnergies renovables pptsencer
Energies renovables pptsencerMartí Casares
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolNicolas Robinson-Garcia
 
Empaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEmpaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEsteban Saavedra
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebUniversity St. Gallen
 
Maeuse Strategie
Maeuse StrategieMaeuse Strategie
Maeuse Strategie12kai
 
1.9.4 Usuario Alumno
1.9.4 Usuario Alumno1.9.4 Usuario Alumno
1.9.4 Usuario AlumnoVicente Ruiz
 
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0University St. Gallen
 
Mas Fotos De La Prom Xiv
Mas Fotos De La Prom XivMas Fotos De La Prom Xiv
Mas Fotos De La Prom Xivrxavier
 
Materia Viviente
Materia VivienteMateria Viviente
Materia VivienteHerald
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysMichael Lange
 
Chocolates Febrero 2008
Chocolates Febrero 2008Chocolates Febrero 2008
Chocolates Febrero 2008guest1dc00b
 
3 b2013 educacion para la salud
3 b2013 educacion para la salud3 b2013 educacion para la salud
3 b2013 educacion para la saludPrepa Cihuatlan
 

Viewers also liked (20)

RIA Rich Internet Application
RIA Rich Internet ApplicationRIA Rich Internet Application
RIA Rich Internet Application
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"
 
Energies renovables pptsencer
Energies renovables pptsencerEnergies renovables pptsencer
Energies renovables pptsencer
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine Español
 
Empaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEmpaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlas
 
Informationsbeschaffung Design P P97neu
Informationsbeschaffung  Design  P P97neuInformationsbeschaffung  Design  P P97neu
Informationsbeschaffung Design P P97neu
 
Curso de Fundamentos en Gestión de la Calidad
Curso de Fundamentos en Gestión de la CalidadCurso de Fundamentos en Gestión de la Calidad
Curso de Fundamentos en Gestión de la Calidad
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen Web
 
Maeuse Strategie
Maeuse StrategieMaeuse Strategie
Maeuse Strategie
 
1.9.4 Usuario Alumno
1.9.4 Usuario Alumno1.9.4 Usuario Alumno
1.9.4 Usuario Alumno
 
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
 
Politik Web2 0
Politik Web2 0Politik Web2 0
Politik Web2 0
 
Mas Fotos De La Prom Xiv
Mas Fotos De La Prom XivMas Fotos De La Prom Xiv
Mas Fotos De La Prom Xiv
 
Debian GNU
Debian GNUDebian GNU
Debian GNU
 
Materia Viviente
Materia VivienteMateria Viviente
Materia Viviente
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von Handys
 
Elektronisches Publizieren an der Fachhochschule Hannover
Elektronisches Publizieren an der Fachhochschule HannoverElektronisches Publizieren an der Fachhochschule Hannover
Elektronisches Publizieren an der Fachhochschule Hannover
 
Chocolates Febrero 2008
Chocolates Febrero 2008Chocolates Febrero 2008
Chocolates Febrero 2008
 
3 b2013 educacion para la salud
3 b2013 educacion para la salud3 b2013 educacion para la salud
3 b2013 educacion para la salud
 
La Gomera 2014
La Gomera 2014La Gomera 2014
La Gomera 2014
 

Similar to Frameworks para desarrollo de aplicaciones Web

Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebEsteban Saavedra
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Esteban Saavedra
 
Symfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webSymfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webEsteban Saavedra
 
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Esteban Saavedra
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slidesmundojava
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebMiguel Angel Macias
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORJOSELINE
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 

Similar to Frameworks para desarrollo de aplicaciones Web (20)

Grails
GrailsGrails
Grails
 
Turbogears
TurbogearsTurbogears
Turbogears
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones Web
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1
 
Gestion Proyectos
Gestion ProyectosGestion Proyectos
Gestion Proyectos
 
Symfony
SymfonySymfony
Symfony
 
LARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptxLARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptx
 
Symfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webSymfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones web
 
Atix20
Atix20Atix20
Atix20
 
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Expressjs.pptx
Expressjs.pptxExpressjs.pptx
Expressjs.pptx
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADOR
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Frameworks Java
Frameworks JavaFrameworks Java
Frameworks Java
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 

More from Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 
E technologies
E technologiesE technologies
E technologies
 

Frameworks para desarrollo de aplicaciones Web

  • 1. Frameworks para desarrollo de aplicaciones Web Esteban Saavedra L´pez, Ph.D. o CEO Opentelematics Internacional Bolivia jesaavedra@opentelematics.org http://jesaavedra.opentelematics.org http://esteban.profesionales.org Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 1 / 27
  • 2. Tabla de Contenidos 1 Introducci´n a los Frameworks o 2 Patron MVC 3 Grails 4 Caracter´ ısticas de un Proyecto Grails 5 Creaci´n de un proyecto o 6 Demostraci´n o 7 Conclusiones 8 Referencias Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 2 / 27
  • 3. Introducci´n a los Frameworks o Que es un Framework? Es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Se han convertido en la piedra angular de la moderna ingenier´ ıa del software Es una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicaci´n. o En otras palabras, es una aplicaci´n gen´rica incompleta y o e configurable a la que podemos aadirle las ultimas piezas para ´ construir una aplicaci´n concreta. o Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 3 / 27
  • 4. Introducci´n a los Frameworks o Cual el objetivo de un framework? Desarrollo r´pido a Desarrollo estructurado Reutilizaci´n de c´digo o o Disminuir el esfuerzo en el desarrollo Aprovechamos las funcionalidades ya implementadas. No debemos reinventar la rueda Nos concetramos directamente en la soluci´n del problema o Tener como aliado a las metodolog´ de desarrollo Ag´ (XP, ıas ıles AD) Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 4 / 27
  • 5. Patron MVC Patr´n MVC o Modelo Controlador Vista Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 5 / 27
  • 6. Grails Que es Grails Es un framework para el desarrollo de aplicaciones web Es la respuesta de java para Ruby on Rails Permite el desarrollo de aplicaciones web de forma r´pida a Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 6 / 27
  • 7. Grails Filosof´ de Grails ıa Reutilizaci´n de c´digo o o Desarrollar aplicaciones web de forma r´pida, sencilla y divertida a Utilizar los mejores componentes actualmente disponibles Combinar todo en un paquete f´cil de usar a Grails provee el pegamento, de tal forma que uds no haga el suyo. Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 7 / 27
  • 8. Grails Por que Grails Se basa en el patr´n MVC o Tiene todo lo necesario para desarrollar aplicaciones Web Soporta Ajax Posee buena documentaci´n o Es multiplataforma Posee una numerosa comunidad de desarrolladores y usuarios Inspirado en Ruby on Rails (Padrino de la mayor´ de los ıa Frameworks) Est´ en constante desarrollo a Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 8 / 27
  • 9. Grails Componentes de Grails Lenguaje Groovy Maquina Virtual de Java Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 9 / 27
  • 10. Grails Instalaci´n de Grails o Utilizando los fuentes Obtener: http://dist.codehaus.org/grails/grails-bin-1.0-RC1.tar.gz Basta con descomprimir y permitir su acceso Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 10 / 27
  • 11. Caracter´ ısticas de un Proyecto Grails Estructura de un proyecto de Grails Grails proporciona una estructura jer´rquica: a Proyecto Aplicaci´n o M´dulo o Acci´n o Vista Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 11 / 27
  • 12. Caracter´ ısticas de un Proyecto Grails Creaci´n de un proyecto o Instrucci´n o grails create-app myapp Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 12 / 27
  • 13. Caracter´ ısticas de un Proyecto Grails Que gener´ esto? o Una estructura jer´rquica de directorios a Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 13 / 27
  • 14. Creaci´n de un proyecto o Pasos para crear un proyecto 1 Crear el proyecto 2 Crear los dominios del proyecto 3 Generar los CRUDs 4 Adecuar los templates (CSS y/o JavaScript) 5 Publicar la Aplicaci´n o Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 14 / 27
  • 15. Creaci´n de un proyecto o 1. Creaci´n de un proyecto o Instrucci´n o grails create-app evento Detalles del proyecto Welcome to Grails 1.0-RC1 - http://grails.org/ Licensed under Apache Standard License 2.0 Grails home is set to: /home/jesaavedra/grails Base Directory: /home/jesaavedra/aplic_web/grails Environment set to development Note: No plugin scripts found Running script /home/jesaavedra/grails/scripts/CreateApp.groovy Overriding previous definition of reference to groovyJarSet [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/java [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/groovy [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/controllers [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/services [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/domain [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/taglib [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/utils [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/views Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 15 / 27
  • 16. Creaci´n de un proyecto o 2. Crear el Dominio Un dominio por cada clase grails create-domain-class Seminario grails create-domain-class Registro Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 16 / 27
  • 17. Creaci´n de un proyecto o 3. Crear el c´digo del modelo de datos o myapp/grails-app/domain/Seminario.groovy class Seminario { String titulo Date fechainicio String ciudad Float costo Boolean refrigerio static hasMany = [registros:Registro] } myapp/grails-app/domain/Registro.groovy class Registro { String nombre Date nacimiento String genero Seminario seminario } Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 17 / 27
  • 18. Creaci´n de un proyecto o 4. Generando los CRUDs Instrucci´n o grails generate-all Seminario grails generate-all Registro Sal´ ıda Welcome to Grails 1.0-RC1 - http://grails.org/ Licensed under Apache Standard License 2.0 Grails home is set to: /home/jesaavedra/grails Base Directory: /home/jesaavedra/aplic_web/grails/evento Environment set to development Note: No plugin scripts found Running script /home/jesaavedra/grails/scripts/GenerateAll.groovy Compiling 6 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/grails-app/i18n [native2ascii] Converting 9 files from /home/jesaavedra/aplic_web/grails/evento/grails-app/i18n to /home/jesaav [copy] Copying 1 file to /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/spring [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes [copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento Generating views for domain class Seminario ... Generating controller for domain class Seminario ... Finished generation for domain class Seminario Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 18 / 27
  • 19. Creaci´n de un proyecto o Ejecutar la Aplicaci´n o Instrucci´n o grails run-app Sal´ ıda Welcome to Grails 1.0-RC1 - http://grails.org/ Licensed under Apache Standard License 2.0 Grails home is set to: /home/jesaavedra/grails Base Directory: /home/jesaavedra/aplic_web/grails/evento Environment set to development Note: No plugin scripts found Running script /home/jesaavedra/grails/scripts/RunApp.groovy [mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/lib Compiling 1 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes Running Grails application.. 2007-11-26 19:28:48.569::INFO: Logging to STDERR via org.mortbay.log.StdErrLog 2007-11-26 19:28:48.649::INFO: jetty-6.1.4 2007-11-26 19:28:50.348:/evento:INFO: Set web app root system property: ’evento’ = [/home/jesaavedra/aplic_web 2007-11-26 19:28:50.348:/evento:INFO: Initializing Log4J from [/home/jesaavedra/aplic_web/grails/evento/web-ap 2007-11-26 19:28:50.355:/evento:INFO: Initializing Spring root WebApplicationContext [5731] commons.GrailsConfigUtils [GrailsContextLoader] Grails application loaded. 2007-11-26 19:29:00.717:/evento:INFO: Initializing Spring FrameworkServlet ’grails’ 2007-11-26 19:29:00.934::INFO: Started SelectChannelConnector@0.0.0.0:8080 Server running. Browse to http://localhost:8080/evento Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 19 / 27
  • 20. Creaci´n de un proyecto o Acceso al proyecto Instrucci´n o http://localhost:8080/evento Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 20 / 27
  • 21. Creaci´n de un proyecto o Adecuaciones Una vez generada gran parte del proyecto (forma muy general), se puede proceder a realizar adecuaciones en: Controlador (actions) Vistas (templates) Formas de acceso en las URL (routing ) Validacion de formularios Efectos especiales Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 21 / 27
  • 22. Creaci´n de un proyecto o Proyecto desplegado Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 22 / 27
  • 23. Demostraci´n o Ejemplo de aplicacion desarrollada Demostraci´n o Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 23 / 27
  • 24. Conclusiones Conclusiones Grails: Tiene todo lo necesario para desarrollar aplicaciones Web Soporta Ajax Posee buena documentaci´n o Es multiplataforma Esta en constante desarrollo (muchas funcionalidades en base plugins) Al tener como aliado a las metodolog´ de desarrollo Ag´ (XP, ıas ıles AD), se convierte en un fuerte candidatos para desarrollo de aplicaciones web. Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 24 / 27
  • 25. Referencias Referencias http://www.grails.org/ Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 25 / 27
  • 26. Referencias Preguntas Preguntas Preguntas, dudas, consultas, ... Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 26 / 27
  • 27. Referencias Agradecimientos Gracias... Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 27 / 27