Aquest lloc web ha estat traduït per un programari de traducció automàtica sense revisió posterior per traductors. Més informació en: enllaç ocultar
accesskey_mod_content
-

gvNIX. Framework per al desenvolupament àgil d'aplicacions web JAVA

  • Data Posada en Producció:

    01/01/2010

    Indicadors:

    A Juny 2014:

     

    Nombre d'Aplicacions desenvolupades en DGTI amb gvNIX: 7

    Grandària L : 1

    Grandària M : 2

    Grandària S : 4

     

    Nombre d'Aplicacions desenvolupades fora de la DGTI amb gvNIX: 13

    Grandària XL : 3 Diputació de València

    Grandària M : 4

    Grandària S : 6

     

    Nombre de plugins: 18

    Nombre d'usuaris en la Llista (dona idea de Comunitat): 100+ (entre llistes, stackoverflow, twitter, linkedin, etc)

    Cursos formatius: Cicle formatiu en conjunt amb Col·legio d'Enginyers en Informàtica de la Comunitat Valenciana

    Cursos impartits per a funcionaris per l'EVES i l'IVAP.

    Descripció Funcional

    És multiplataforma i fàcil d'instal·lar

    gvNIX és fàcil d'instal·lar tant com a eina independent que funciona en Windows, Mac OSX, Linux o com a eina integrada en un entorn de desenvolupament: SpringSource Tool Suite, Eclipsi i IntelliJ IDEA.

    Els únics requeriments són Java 6 SDK i Apatxe Maven 3. Una vegada instal·lats, es descarrega la distribució de gvNIX, es descomprimeix i s'afegeix al PATH del sistema i llancem l'entorn amb el comando gvnix.

    Sistema de generació automàtica de codi

    Crea codi en unitats de compilació separades: arxius .aj d'AspectJ/ITD. D'aquesta forma, la generació de codi és totalment innòcua perquè independitza completament el cicle de vida del codi generat del cicle de vida del codi mantingut pels desenvolupadors.

    Combina el millor dels models passiu i actiu de generació de codi:

    • Generació passiva a través d'un intèrpret de comandos per crear codi sota demanda.
    • Generació activa resultat del monitoratge constant dels canvis introduïts pels desenvolupadors en els arxius del projecte.

    No sobrecarrega l'entorn d'execució

    gvNIX no afegeix cap tipus de llibreria requerida en temps d'execució. A més, les anotacions Java utilitzades per controlar i personalitzar la generació de codi no són compilades a codi objecto (arxius .class).

    Això significa que les aplicacions desplegades en els entorns de producció no  tenen cap dependència de llibreries de gvNIX.

    Enginyeria inversa de base de dades

    Permet crear el model complet d'entitats Java de l'aplicació via la introspecció de la base de dades del projecte. A més, incrementalmente manté el model d'entitats sincronitzat amb tots els canvis realitzats en el model de dades.

    Scaffolding

    Construcció automàtica de l'aplicació a partir d'un meta-modelo definit en anotacions Java, en només uns minuts es pot generar una aplicació totalment funcional.

    Generació automàtica de serveis web

    • Clients de sistemes externs: email, JMS i WebServices.
    • Serveis de l'aplicació via interfície WebService. gvNIX permet integrar l'aplicació amb processos de negoci remots fàcilment. A partir de codi Java amb anotacions JAX-W o partir d'arxius WSDL, genera automàticament tota la infraestructura necessària per rebre trucades des de processos externs.

    Control de concurrència optimista

    En entorns multiusuario, com les aplicacions web, és freqüent que dos usuaris accedeixin simultàniament al mateix registre per editar-ho. El control de concurrència permet evitar que es perdin els canvis del primer que guardi.           

    El patró de control de concurrència més acceptat en entorns web és el conegut com a control de concurrència optimista. La forma més habitual d'implementar-ho és utilitzar un camp de versió que ha d'incloure's en totes les taules del model de dades. En organitzacions públiques el model de dades segueix unes polítiques de seguretat molt rigoroses i és freqüent que no es pugui afegir un nou camp de versió.

    gvNIX proporciona una implementació del control de concurrència optimista basat en l'estat dels objectes, igualment efectiu però no intrusiu.

    Seguretat

    Incorpora control d'accés i autorització per rols d'usuari fàcilment.

    Informes

    Utilitza JasperReports per generar informes operatius dinàmicament i en diferents formats: PDF, LibreOffice, MSOffice, CSV. Cada informe és accessible des del menú de l'aplicació i genera un formulari previ per especificar els paràmetres de filtrat.

    Els informes són totalment funcionals des de la seva creació, incloent la generació de la plantilla .jrxml per permetre una personalització còmoda i fàcil.

    Proves unitàries i funcionals

    Genera automàticament proves de qualitat de codi, tant unitàries amb Junit com a funcionals amb Selenium.

    Altres funcionalitats:

    • Gestió de configuracions per entorn. Per exemple, desenvolupament, preproducció i producció
    • Generació de patrons de pantalles mestre-detalli multinivell.
    • Gestió de l'estructura de pàgines de l'aplicació.
    • Gestió de temes visuals.

    Descripció Tècnica

    El framework ha estat implementat amb llenguatge Java i segueix un model d'arquitectura orientat a components sobre plataforma OSGi en el qual cada petita funcionalitat que ofereix el framework és implementada com un petit component que col·labora amb la resta en les diferents tasques de generació. Aquesta arquitectura és emprada en el desenvolupament de grans sistemes modulars com, per exemple Eclipsi, Jboss, Servicemix i un llarg etcètera.

     En estar construït el framework en petits mòduls (actualment uns 50) l'escalabilitat i mantenibilidad és senzilla. Gràcies a la petita grandària de cada mòdul el framework es fa molt manejable, entenedor i fàcilment modificable

Responsable