SlideShare una empresa de Scribd logo
1 de 29
Framework V6
 Presentación
V ia f ir m a H a n u m a n




¿Qué es viafirma Hanuman?


 Viafirma Hanuman es una plataforma de desarrollo que permite la generación de código basado en la filosofía
desarrollo Dirigido por Modelo (MDA), permitiendo la generación de proyectos completamente funcionales en muy
poco tiempo desde un modelo previamente definido e independiente de la plataforma.




 Viafirma Hanuman es un nuevo generador de código que hereda las ideás del antiguo generador de código "El
Mono" usado en Viavansi desde el 2004, pero que supone a su vez una completa reimplementación haciendo uso de
las últimas tecnologías disponibles en la generación de código y modelado.
V ia f ir m a H a n u m a n




Principales Funciones


Model Driven Architecture. Viafirma Hanuman permite la definición del modelo, arquitectura y comportamiento
del proyecto desde un lenguaje de definición de dominio. Este lenguaje de dominio que define el modelo del
proyecto puede a su vez ser editado desde un diagrama UML simplificado e importado desde un modelo de datos
SQL ya existente o un proyecto en Enterprise Architect.


JaveEE6. Viafirma Hanuman permite la generación de proyectos JavaEE6 que hacen uso de (JPA2, JSF2, CDI,...),
siendo compatible con cualquier servidor JavaEE6 Web Profile ademas de con Tomcat 7.

Extensible. Viafirma Hanuman ofrece un mecanismo sencillo de extensión que permite la generación de diferentes
tipos de proyectos (en función del cliente, funcionalidades requeridas, etc..) y tambien en función de la
arquitectura deseada. En este sentido, ademas de soportar JavaEE6 (framework V6), también soporta framework
v1,v2,v3,v4 y a corto plazo generación de proyectos para iPhone, Android y Windows Phone.

Independencia. Viafirma Hanuman genera código totalmente independiente que puede ser editado y evolucionado
sin necesidad de hacer uso de Viafirma Hanuman.
V ia f ir m a H a n u m a n




Ficha de características Viafirma Hanuman



                              • Mmodel/mtmodel/mgmodel Son las extensiones de utiliza el lenguaje de definición de dominio

 Lenguajes de                 •SQL El sistema permite importar modelos sql ya existente para la generación de mmodels sobre los que
 definición                   posteriormente trabajar

                              •Enterprise Architect. El sistema permite la importación de .XMI con la definición UML del proyecto

                              •Eclipse Web Tools 3.7

 Requisitos                   •Java 6


                              • Generación de código en remoto, lo que permite una fácil actualización del comportamiento.

                              • Plugin Eclipse para la interactuación con el motor de generación.
 Arquitectura
                              • Mecanismo de extensión para incluir nuevos formatos de generación

                              • Uso de plantillas estándar para la generación
V ia f ir m a H a n u m a n



Un poco de historia de “El Mono” en Viavansi
                              Historia
   modelo

                               Conjunto de script para la generación de acceso a JDBC básico.
   Framework V1                Marco de trabajo: JSP, JDBC, Struts
   (2004-2006),                Proyectos mas representativos: Pluton, Antigua página web de la consejería de Comercio
                               turismo y deporte de la Junta de Andalucía, Camara de Cuentas

  Framework V2                 Desarrollo específico utilizado sólo en el proyecto Marisma 1 a solicitud de unos de nuestros
  (2006-2007)                  clientes y descartado como framework de trabajo general
                               Marco de trabajo:Java4, Tomcat5, iBatis, Myfaces JSF,svn


                               Herramienta de escritorio ejecutable desde JNLP para la generación de código.
                               Marco de trabajo: Myfaces JSF, JDBC, CVS
   Framework V3
                               Cambios principales: Supuso el abandono de Struts en favor de JSF.
   (2006-2008)                 Proyectos más representativos: Tramitón (nuestro primer producto para la tramitación
                               online), Viafirma v1, CRIHJA, Genista, Sancionador, Forestales...


  Framework V4(2009-2011)      Marco de trabajo: Jboss Seam 2, Sun JSF 1.1, Richfaces, Maven 2, Hudson
                               Proyectos mas representativos: Oficina Virtual, Viafirma Inbox, Augias

                               Fue abandonado antes de sar a ser utilizado. (EPIC FAIL!!)
   Framework V5
   (FAIL)

  Framework V6                 Marco de trabajo: Java6, Java EE6 Web profile
  (2011-*)                     Proyectos más representativos: Viafirma Ra, ViaTravelCloud
V ia f ir m a H a n u m a n                                                             Funcionamiento



Generación de código desde modelo




         Modelado                                  Funcionalidades

          Lenguaje propio                          Editor visual integrado en Eclipse

          UML simplificado                         Actualización automática

          Importación desde SQL                    Control de versionado de modelos

          Importación desde Enterprise Architect
V ia f ir m a H a n u m a n                                                       Lenguaje


Lenguaje Mmodel




 Permite definir
 •Entidades                               • Relaciones y sus nombres (1-N, N-M)
 •Atributos y sus tipos de dato           • Módulos
 •Label, comentarios, tamaños de campos
V ia f ir m a H a n u m a n           UML simplificado


Dispositivos Móviles

Permite:

•Definición de entidades
•Definición relaciones y sus nombres
    – 1-N
    – N-M
V ia f ir m a H a n u m a n                                                                                                              Importación


Importación desde Enterprise Architect




Importación desde SQL


   CREATE TABLE TIPOCONTRATO
   (
       ID_TIPOCONTRATO       NUMBER    NOT NULL,
       NOMBRE    VARCHAR2(255 BYTE)        NOT NULL,
       DESCRIPCION      VARCHAR2(255 BYTE)      NOT NULL,
       EMPLEADO      NUMBER         NOT NULL);
   }                                                                Importación SQL                         Importación SQL
   ALTER TABLE TIPOCONTRATO ADD (
     CONSTRAINT PK_TIPOCONTRATO PRIMARY KEY (ID_TIPOCONTRATO)                                          Table User → entity User{}
       USING INDEX                                                   Table → Emtity
       PCTFREE     10
       INITRANS    2                                                                         Columna name → name:String label:'Nombre del
       MAXTRANS    255                                              Colum → attribute                         usuario'
       STORAGE     (
                     INITIAL           64K                                                   ID_USER Primary Key → no aparece en el modelo,
                     MINEXTENTS        1                        PK (formato id_tabla) → id                  valor por defecto
                     MAXEXTENTS        2147483645                      por defecto
                     PCTINCREASE       0
                   ));                                                                         ID_UR Primary Key → idUr:PK seccuence:'...'
                                                                PK (cualquier formato) →
                                                                        id entity
V ia f ir m a H a n u m a n                                     Versionado SQL


  Generación automática de SQL de creación y upgrade




Funcionamiento del versionado:

•Cada modelo tiene un número de versión
•Se mantiene un histórico de la evolución de los modelos
•Generación automática de sentencias SQL DDL para cada versión
•Generación automática de script de migración entre versiones
V ia f ir m a H a n u m a n                Interfaz



  Plugin Viafirma Hanuman

Funcionamiento del versionado:

•Permite elegir la versión del generador a
utilizar
•Indicar el nombre y paquete del proyecto
•Seleccionar tipos de generación (en
función del cliente)
• Seleccionar opciones a incluir en el
proyecto (integración con WS, Viafirma,
REST,...)


 Instalación desde

  http://hanuman.viafirma.com/site
Framework V6
Capa Cliente e interfaz de usuario, JSF 2.0, Flaminwork, Primefaces, Pretyfaces
V ia f ir m a H a n u m a n




                              Objetivos y criterios


                               Evitar el uso de session

                              Calidad de código y Test Unitarios


                              Actualización de librerías y tecnologías


                              Reescritura completa de código obsoleto


                              Simpleza


                              Soporte para Internacionalización


                              Adaptación a dispositivos Móviles
V ia f ir m a H a n u m a n




                              Técnologías



                              Primefaces 3.X


                              Jquery UI: Theme-Roller




                              Java EE6 (JSF 2.x,CDI,...)




                              Prettyfaces
V ia f ir m a H a n u m a n




Tags Viavansi 2.0




              o      v:checkbox        o   v:inputSecret

              o      v:commandButton   o   v:inputText

              o      v:commandLink     o   v:inputTextarea

              o      v:form            o   v:link

              o      v:inputDate       o   v:radio

              o      v:inputImage      o   v:select

              o      v:inputNumber     o   v:selectItem
V ia f ir m a H a n u m a n




Ejemplos: /samples


         o sample-components    o ample-icons
         o sample-database      o sample-positioning
         o sample-html-blocks
V ia f ir m a H a n u m a n




Ejemplos: /samples


         o sample-components    o ample-icons
         o sample-database      o sample-positioning
         o sample-html-blocks
V ia f ir m a H a n u m a n




Theme aire


   •      Menú de navegación con desplegables
   •      Buscador general
   •      Pestañas interiores multinivel
   •      Menús de administración
V ia f ir m a H a n u m a n




Framework JS




              •      DataTable: Grupos de iconos
              •      DataTable: Mensajes de confirmación
              •      Bloques expandibles
              •      Formateo numérico
V ia f ir m a H a n u m a n



Flaminwork: CSS




                              •   Maquetaciones internas
                              •   Anchos
                              •   Márgenes, paddings
                              •   Iconos
Framework V6
JavaEE6, JPA, CDI, Arquitectura
V ia f ir m a H a n u m a n                                                                          Framework V6


Características generales

                                   Equivalenvias con V4                       Arquitectura
 Java EE6 Web Profile
                                   PersonaVO → Persona y PersonaEntity        Managed Bean en contexto de página
 JSF 2.x JSF 1.x Facelets
                                   PersonaBO → PersonaService                 @Page Controllers en Session

 CDI    Jboss Seam 2.x                                                        Reescritura completa del Framework
                                   Bridge/DAO → PersonaPersistenceService y
 Apache Tomcat 7 Apache Tomcat 5   PersistenceService                         Maven 3.x
 Apache Tomcat 6t
                                   PersonaContyroller → PersonaListPage,
 Glassfish 3.1.x Jboss 7.1.x       PersonaEditPage                            Jpa Entity VO

                                   Composites
                                                                              Glassfish 3.1.x Jboss 7.1.x
                                   CadenaUtils -->StringUtils
                                   FechaUtil → DateUtil ...
                                                                              Test Junit /Jboss Arquillian
   Capa Cliente

                                                                              Transacciones JTA
   JQuery


                                                                              Query Named
   Primefaces 3.0

                                                                              Log SLF4J
   Primefaces Richfaces Tomahawk
V ia f ir m a H a n u m a n                         Framework V6


 Arquitectura
Stack                           Entorno de trabajo




                               UML
V ia f ir m a H a n u m a n                        Framework V6




CDI

             Injección         @Inject

      Publicación de objetos   @named
              Scope            @SessionScope
                               @ApplicationScope
                               @Singleton
                               @HttpParam, @Page


        Eventos /auditoría     Fire y @Observer
V ia f ir m a H a n u m a n                                                                             Framework V6




 JPA
                               @NamedQuery(name = "Cliente.perteneceA.Municipio",
 Query Named                           query = "select e from Cliente as e where e.perteneceA=:perteneceA"),

Uso Named Query                public List<Cliente> findByNotPerteneceAMunicipio(Municipio municipio){
                                       return findByNamedQuery("Cliente.not.perteneceA.Municipio",
                                                      new QueryParam(Cliente_.perteneceA, municipio));
                               }

Static MetaModel               @javax.persistence.metamodel.StaticMetamodel(CaEntity.class)
                               public final class Ca_ {
                                    /**
                                 * This field corresponds to Ca.name.
                                 */
                                 public static volatile SingularAttribute<Ca, String> name;_
                               }
Transacciones                  doInTransaction(new PersistenceActionWithoutResult() {
                                    public void execute(EntityManager em) throws ManagerException {
                                          for (Cliente cliente : clientesList) {
                                                cliente.setPerteneceA(null);
                                                service.save(cliente);
                                          }
                                          for (Empleado empleado : empleadosList) {
                                                empleado.setVivenEn(null);
                                                service.save(empleado);
                                          }
                                          service.remove(entity);
                                    }
                               });
Framework V6
Herramientas, framework
V ia f ir m a H a n u m a n                                                           Framework V6




Tools
     Menú de administración simple y avanzado (tablas masters)
        Enlace a las entidades importantes      Listado de todas las tablas masters




 Panel de configuración y estado del sistema
V ia f ir m a H a n u m a n                                                                                     Framework V6




Cache Css/JavaScript
                Permite optimizar tanto el tamaño de los ficheros como el número de recursos a
                   descargar por el navegador
          <vh:head cache="false" version="4">



                                                                 <vh:head cache="true" version="4">




                                                                 4 veces más rápido.
                                                                 18 peticiones HTTP menos


    Tiempo: 2.75 seg                                         Tiempo: 0.7 seg
    Numero de recursos css/javascript descargados: 20        Numero de recursos css/javascript descargados: 2
Rev. 13-10-2010

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
 
7 y 8. interfaz grafica en java
7 y 8.  interfaz grafica en java7 y 8.  interfaz grafica en java
7 y 8. interfaz grafica en java
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.net
 
Introduccion Microsoft.net
Introduccion Microsoft.netIntroduccion Microsoft.net
Introduccion Microsoft.net
 
Charla
CharlaCharla
Charla
 
Sesion12-componentes Visuales java
Sesion12-componentes Visuales javaSesion12-componentes Visuales java
Sesion12-componentes Visuales java
 
PROGRAMACIÓN EN JAVA
PROGRAMACIÓN EN JAVAPROGRAMACIÓN EN JAVA
PROGRAMACIÓN EN JAVA
 
Javajulian
JavajulianJavajulian
Javajulian
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Elementos Swing
Elementos SwingElementos Swing
Elementos Swing
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanas
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Patrones Creacionales
Patrones CreacionalesPatrones Creacionales
Patrones Creacionales
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 
Sintaxis Java
Sintaxis JavaSintaxis Java
Sintaxis Java
 
Glosario Términos De JAVA
Glosario Términos De JAVAGlosario Términos De JAVA
Glosario Términos De JAVA
 
1 introduccion microsoft .net
1 introduccion microsoft .net1 introduccion microsoft .net
1 introduccion microsoft .net
 

Destacado

Guía de prevención: Riesgos domésticos entre las personas mayores
Guía de prevención: Riesgos domésticos entre las personas mayoresGuía de prevención: Riesgos domésticos entre las personas mayores
Guía de prevención: Riesgos domésticos entre las personas mayoresEduca tu Mundo
 
Prevención de caidas en el adulto mayor
Prevención de caidas en el adulto mayorPrevención de caidas en el adulto mayor
Prevención de caidas en el adulto mayorJAPECO69
 
Prevencion de caídas en personas de edad avanzada
Prevencion de caídas en personas de edad avanzadaPrevencion de caídas en personas de edad avanzada
Prevencion de caídas en personas de edad avanzadaCPR DE AVILES
 
Prevencion de las Caídas en el adulto mayor
Prevencion de las Caídas en el adulto mayorPrevencion de las Caídas en el adulto mayor
Prevencion de las Caídas en el adulto mayorMartin Quezada
 

Destacado (6)

Guía de prevención: Riesgos domésticos entre las personas mayores
Guía de prevención: Riesgos domésticos entre las personas mayoresGuía de prevención: Riesgos domésticos entre las personas mayores
Guía de prevención: Riesgos domésticos entre las personas mayores
 
Caidas en el adulto mayor
Caidas en el adulto mayorCaidas en el adulto mayor
Caidas en el adulto mayor
 
Prevención de caidas en el adulto mayor
Prevención de caidas en el adulto mayorPrevención de caidas en el adulto mayor
Prevención de caidas en el adulto mayor
 
Caidas En El Anciano
Caidas En El AncianoCaidas En El Anciano
Caidas En El Anciano
 
Prevencion de caídas en personas de edad avanzada
Prevencion de caídas en personas de edad avanzadaPrevencion de caídas en personas de edad avanzada
Prevencion de caídas en personas de edad avanzada
 
Prevencion de las Caídas en el adulto mayor
Prevencion de las Caídas en el adulto mayorPrevencion de las Caídas en el adulto mayor
Prevencion de las Caídas en el adulto mayor
 

Similar a Presentacion Hanuman

Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Jose Manuel García Valladolid
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005hvillarreal
 
Mc silverlight2 dia1
Mc silverlight2 dia1Mc silverlight2 dia1
Mc silverlight2 dia1YEK1702
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.guestdf1874
 
Java janner
Java   jannerJava   janner
Java jannersena
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxcarrilloja98
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
Arquitectura e-sijad
Arquitectura e-sijadArquitectura e-sijad
Arquitectura e-sijade-gim
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NETV Sanchez
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
Presentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers MadridPresentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers Madridemobc
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
Lenguajes de programas
Lenguajes de programasLenguajes de programas
Lenguajes de programasCarlos Osuna
 

Similar a Presentacion Hanuman (20)

Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...Generación de código sobre plataformas específicas de desarrollo de aplicacio...
Generación de código sobre plataformas específicas de desarrollo de aplicacio...
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005
 
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
 
Mc silverlight2 dia1
Mc silverlight2 dia1Mc silverlight2 dia1
Mc silverlight2 dia1
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.
 
Java janner
Java   jannerJava   janner
Java janner
 
Iphone
IphoneIphone
Iphone
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Arquitectura e-sijad
Arquitectura e-sijadArquitectura e-sijad
Arquitectura e-sijad
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NET
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Presentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers MadridPresentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers Madrid
 
Visual basic .NET
Visual basic .NETVisual basic .NET
Visual basic .NET
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
definicion de java
definicion de javadefinicion de java
definicion de java
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Lenguajes de programas
Lenguajes de programasLenguajes de programas
Lenguajes de programas
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Presentacion Hanuman

  • 2. V ia f ir m a H a n u m a n ¿Qué es viafirma Hanuman? Viafirma Hanuman es una plataforma de desarrollo que permite la generación de código basado en la filosofía desarrollo Dirigido por Modelo (MDA), permitiendo la generación de proyectos completamente funcionales en muy poco tiempo desde un modelo previamente definido e independiente de la plataforma. Viafirma Hanuman es un nuevo generador de código que hereda las ideás del antiguo generador de código "El Mono" usado en Viavansi desde el 2004, pero que supone a su vez una completa reimplementación haciendo uso de las últimas tecnologías disponibles en la generación de código y modelado.
  • 3. V ia f ir m a H a n u m a n Principales Funciones Model Driven Architecture. Viafirma Hanuman permite la definición del modelo, arquitectura y comportamiento del proyecto desde un lenguaje de definición de dominio. Este lenguaje de dominio que define el modelo del proyecto puede a su vez ser editado desde un diagrama UML simplificado e importado desde un modelo de datos SQL ya existente o un proyecto en Enterprise Architect. JaveEE6. Viafirma Hanuman permite la generación de proyectos JavaEE6 que hacen uso de (JPA2, JSF2, CDI,...), siendo compatible con cualquier servidor JavaEE6 Web Profile ademas de con Tomcat 7. Extensible. Viafirma Hanuman ofrece un mecanismo sencillo de extensión que permite la generación de diferentes tipos de proyectos (en función del cliente, funcionalidades requeridas, etc..) y tambien en función de la arquitectura deseada. En este sentido, ademas de soportar JavaEE6 (framework V6), también soporta framework v1,v2,v3,v4 y a corto plazo generación de proyectos para iPhone, Android y Windows Phone. Independencia. Viafirma Hanuman genera código totalmente independiente que puede ser editado y evolucionado sin necesidad de hacer uso de Viafirma Hanuman.
  • 4. V ia f ir m a H a n u m a n Ficha de características Viafirma Hanuman • Mmodel/mtmodel/mgmodel Son las extensiones de utiliza el lenguaje de definición de dominio Lenguajes de •SQL El sistema permite importar modelos sql ya existente para la generación de mmodels sobre los que definición posteriormente trabajar •Enterprise Architect. El sistema permite la importación de .XMI con la definición UML del proyecto •Eclipse Web Tools 3.7 Requisitos •Java 6 • Generación de código en remoto, lo que permite una fácil actualización del comportamiento. • Plugin Eclipse para la interactuación con el motor de generación. Arquitectura • Mecanismo de extensión para incluir nuevos formatos de generación • Uso de plantillas estándar para la generación
  • 5. V ia f ir m a H a n u m a n Un poco de historia de “El Mono” en Viavansi Historia modelo Conjunto de script para la generación de acceso a JDBC básico. Framework V1 Marco de trabajo: JSP, JDBC, Struts (2004-2006), Proyectos mas representativos: Pluton, Antigua página web de la consejería de Comercio turismo y deporte de la Junta de Andalucía, Camara de Cuentas Framework V2 Desarrollo específico utilizado sólo en el proyecto Marisma 1 a solicitud de unos de nuestros (2006-2007) clientes y descartado como framework de trabajo general Marco de trabajo:Java4, Tomcat5, iBatis, Myfaces JSF,svn Herramienta de escritorio ejecutable desde JNLP para la generación de código. Marco de trabajo: Myfaces JSF, JDBC, CVS Framework V3 Cambios principales: Supuso el abandono de Struts en favor de JSF. (2006-2008) Proyectos más representativos: Tramitón (nuestro primer producto para la tramitación online), Viafirma v1, CRIHJA, Genista, Sancionador, Forestales... Framework V4(2009-2011) Marco de trabajo: Jboss Seam 2, Sun JSF 1.1, Richfaces, Maven 2, Hudson Proyectos mas representativos: Oficina Virtual, Viafirma Inbox, Augias Fue abandonado antes de sar a ser utilizado. (EPIC FAIL!!) Framework V5 (FAIL) Framework V6 Marco de trabajo: Java6, Java EE6 Web profile (2011-*) Proyectos más representativos: Viafirma Ra, ViaTravelCloud
  • 6. V ia f ir m a H a n u m a n Funcionamiento Generación de código desde modelo Modelado Funcionalidades Lenguaje propio Editor visual integrado en Eclipse UML simplificado Actualización automática Importación desde SQL Control de versionado de modelos Importación desde Enterprise Architect
  • 7. V ia f ir m a H a n u m a n Lenguaje Lenguaje Mmodel Permite definir •Entidades • Relaciones y sus nombres (1-N, N-M) •Atributos y sus tipos de dato • Módulos •Label, comentarios, tamaños de campos
  • 8. V ia f ir m a H a n u m a n UML simplificado Dispositivos Móviles Permite: •Definición de entidades •Definición relaciones y sus nombres – 1-N – N-M
  • 9. V ia f ir m a H a n u m a n Importación Importación desde Enterprise Architect Importación desde SQL CREATE TABLE TIPOCONTRATO ( ID_TIPOCONTRATO NUMBER NOT NULL, NOMBRE VARCHAR2(255 BYTE) NOT NULL, DESCRIPCION VARCHAR2(255 BYTE) NOT NULL, EMPLEADO NUMBER NOT NULL); } Importación SQL Importación SQL ALTER TABLE TIPOCONTRATO ADD ( CONSTRAINT PK_TIPOCONTRATO PRIMARY KEY (ID_TIPOCONTRATO) Table User → entity User{} USING INDEX Table → Emtity PCTFREE 10 INITRANS 2 Columna name → name:String label:'Nombre del MAXTRANS 255 Colum → attribute usuario' STORAGE ( INITIAL 64K ID_USER Primary Key → no aparece en el modelo, MINEXTENTS 1 PK (formato id_tabla) → id valor por defecto MAXEXTENTS 2147483645 por defecto PCTINCREASE 0 )); ID_UR Primary Key → idUr:PK seccuence:'...' PK (cualquier formato) → id entity
  • 10. V ia f ir m a H a n u m a n Versionado SQL Generación automática de SQL de creación y upgrade Funcionamiento del versionado: •Cada modelo tiene un número de versión •Se mantiene un histórico de la evolución de los modelos •Generación automática de sentencias SQL DDL para cada versión •Generación automática de script de migración entre versiones
  • 11. V ia f ir m a H a n u m a n Interfaz Plugin Viafirma Hanuman Funcionamiento del versionado: •Permite elegir la versión del generador a utilizar •Indicar el nombre y paquete del proyecto •Seleccionar tipos de generación (en función del cliente) • Seleccionar opciones a incluir en el proyecto (integración con WS, Viafirma, REST,...) Instalación desde http://hanuman.viafirma.com/site
  • 12. Framework V6 Capa Cliente e interfaz de usuario, JSF 2.0, Flaminwork, Primefaces, Pretyfaces
  • 13. V ia f ir m a H a n u m a n Objetivos y criterios Evitar el uso de session Calidad de código y Test Unitarios Actualización de librerías y tecnologías Reescritura completa de código obsoleto Simpleza Soporte para Internacionalización Adaptación a dispositivos Móviles
  • 14. V ia f ir m a H a n u m a n Técnologías Primefaces 3.X Jquery UI: Theme-Roller Java EE6 (JSF 2.x,CDI,...) Prettyfaces
  • 15. V ia f ir m a H a n u m a n Tags Viavansi 2.0 o v:checkbox o v:inputSecret o v:commandButton o v:inputText o v:commandLink o v:inputTextarea o v:form o v:link o v:inputDate o v:radio o v:inputImage o v:select o v:inputNumber o v:selectItem
  • 16. V ia f ir m a H a n u m a n Ejemplos: /samples o sample-components o ample-icons o sample-database o sample-positioning o sample-html-blocks
  • 17. V ia f ir m a H a n u m a n Ejemplos: /samples o sample-components o ample-icons o sample-database o sample-positioning o sample-html-blocks
  • 18. V ia f ir m a H a n u m a n Theme aire • Menú de navegación con desplegables • Buscador general • Pestañas interiores multinivel • Menús de administración
  • 19. V ia f ir m a H a n u m a n Framework JS • DataTable: Grupos de iconos • DataTable: Mensajes de confirmación • Bloques expandibles • Formateo numérico
  • 20. V ia f ir m a H a n u m a n Flaminwork: CSS • Maquetaciones internas • Anchos • Márgenes, paddings • Iconos
  • 21. Framework V6 JavaEE6, JPA, CDI, Arquitectura
  • 22. V ia f ir m a H a n u m a n Framework V6 Características generales Equivalenvias con V4 Arquitectura Java EE6 Web Profile PersonaVO → Persona y PersonaEntity Managed Bean en contexto de página JSF 2.x JSF 1.x Facelets PersonaBO → PersonaService @Page Controllers en Session CDI Jboss Seam 2.x Reescritura completa del Framework Bridge/DAO → PersonaPersistenceService y Apache Tomcat 7 Apache Tomcat 5 PersistenceService Maven 3.x Apache Tomcat 6t PersonaContyroller → PersonaListPage, Glassfish 3.1.x Jboss 7.1.x PersonaEditPage Jpa Entity VO Composites Glassfish 3.1.x Jboss 7.1.x CadenaUtils -->StringUtils FechaUtil → DateUtil ... Test Junit /Jboss Arquillian Capa Cliente Transacciones JTA JQuery Query Named Primefaces 3.0 Log SLF4J Primefaces Richfaces Tomahawk
  • 23. V ia f ir m a H a n u m a n Framework V6 Arquitectura Stack Entorno de trabajo UML
  • 24. V ia f ir m a H a n u m a n Framework V6 CDI Injección @Inject Publicación de objetos @named Scope @SessionScope @ApplicationScope @Singleton @HttpParam, @Page Eventos /auditoría Fire y @Observer
  • 25. V ia f ir m a H a n u m a n Framework V6 JPA @NamedQuery(name = "Cliente.perteneceA.Municipio", Query Named query = "select e from Cliente as e where e.perteneceA=:perteneceA"), Uso Named Query public List<Cliente> findByNotPerteneceAMunicipio(Municipio municipio){ return findByNamedQuery("Cliente.not.perteneceA.Municipio", new QueryParam(Cliente_.perteneceA, municipio)); } Static MetaModel @javax.persistence.metamodel.StaticMetamodel(CaEntity.class) public final class Ca_ { /** * This field corresponds to Ca.name. */ public static volatile SingularAttribute<Ca, String> name;_ } Transacciones doInTransaction(new PersistenceActionWithoutResult() { public void execute(EntityManager em) throws ManagerException { for (Cliente cliente : clientesList) { cliente.setPerteneceA(null); service.save(cliente); } for (Empleado empleado : empleadosList) { empleado.setVivenEn(null); service.save(empleado); } service.remove(entity); } });
  • 27. V ia f ir m a H a n u m a n Framework V6 Tools Menú de administración simple y avanzado (tablas masters) Enlace a las entidades importantes Listado de todas las tablas masters Panel de configuración y estado del sistema
  • 28. V ia f ir m a H a n u m a n Framework V6 Cache Css/JavaScript Permite optimizar tanto el tamaño de los ficheros como el número de recursos a descargar por el navegador <vh:head cache="false" version="4"> <vh:head cache="true" version="4"> 4 veces más rápido. 18 peticiones HTTP menos Tiempo: 2.75 seg Tiempo: 0.7 seg Numero de recursos css/javascript descargados: 20 Numero de recursos css/javascript descargados: 2