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

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

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