openFrame és un entorn de treball de desenvolupament J2EE, orientat a serveis (SOA), basat en components de software lliure, estàndard de facto en el desenvolupament professional, que permeten realitzar aplicacions crítiques de negoci, disminuint els costs de disseny, desenvolupament i manteniment d'aplicacions.

Arquitectura Openframe

Enfocament Aplica d'estàndards comunament acceptats per a formar una arquitectura oberta (Model View Controller, ús de patrons de disseny i patrons J2EE-Blue Prints) i integra de solucions de codi obert que han estat provades i certificades per l'equip de desenvolupament del framework (cost reduït de les solucions amb la fiabilitat i prestacions dels paquets comercials).

Components base Els tres mòduls principals d'openFrame són Struts, Spring i Hibernate.

Struts Struts proporciona les següents facilitats:

Un Controlador principal ja implementat (patró Front Controller amb Dispatcher View) Gestió automàtica dels formularis amb refresc entre pantalles i la seva possible validació Gestió dels errors presentant-los a la vista Internacionalització de l'aplicatiu (multiidioma) Llibreria de tags per a poder ser utilitzats a les vistes Permet afegir filtres de procés (patró Decorating Filter) Un únic fitxer de configuració que lliga els controladors amb els formularis de l'aplicació i deixa clara la seva interacció i temps de vida

Spring Spring proporciona, entre d'altres, les següents facilitats:

Un contenidor centralitzat d'objectes i serveis, totalment configurable amb fitxers XML Mitjançant l'ús de la inversió de control, en particular la injecció de dependències permet la configuració d'objectes fora del codi de l'aplicació (el contenidor s'encarrega de la instanciació) i de manera no intrusiva (els objectes configurats no estan lligats a spring, ni han de conèixer les seves classes) Redueix el codi d'aplicació dedicat a configurar i localitzar recursos (JNDI, JTA,..) en encarregar-se el framework. El codi de l'aplicació així es fa més llegible en tenir principalment lògica d'aplicació Facilita best practices com ara programar contra interfícies en lloc de contra classes Això promou el desacoblament de serveis (pensar en els objectes de l'aplicació com serveis, que expressen la seva funcionalitat com interfícies i abstreuen els seus detalls de configuració de la vista del programador, facilita el canvi d'una implementació concreta a una altra) Estructurar en serveis la lògica d'aplicació basant-se només en POJO’s e interfícies facilita els tests unitaris (no és necessari el contenidor d'EJB per a les proves i els serveis són fàcils d'emular amb MockObjects) Gestió de transaccions sense ús d'API’s específiques mitjançant l'ús d'Aspect Oriented Programming (AOP pot utilitzar-se també a altres serveis como ara gestió de logs, seguretat o excepcions)

Hibernate Hibernate com a capa d'accés a dades proporciona les següents facilitats:

Un mapeig objecte-relacional flexible (taula per classe, múltiples objectes per registre, múltiples taules per objecte, tota mena de relacions 1-n, n-m…) Persistència d'objectes de manera transparent (no intrusiu, sense imposar interfícies o classes estranyes, només arrays i collections estàndard java) Llenguatge de querys independent de la BD (HQL) Possibilitat d'accés natiu tradicional (T-SQL, PL-SQL, …) i crides a lògica a la BD (stored procedures, packages) Toda la configuració (mapejos, querys HQL, querys natives…) pot definir-se a fitxers de configuració XML, no hardcoded al codi java Catxé (multi-layer, threadsafe, non-blocking, clusterable) Altres optimitzacions (lazy initialization, subselect fetching, …) Integració J2EE (EJB 3.0, JMX, JTA…) Extensible (nous dialectes sql, generadors de claus propis…) Suporta múltiples DB (Oracle, DB2, Sybase, MS SQL Server, PostgreSQL, MySQL, HypersonicSQL, SAP DB, Interbase, Ingres, Informix)

openFrame utilitza com a base aquests tres mòduls i els estén, afegint un conjunt de serveis addicionals i patrons seleccionats entre les millors iniciatives opensource de cada àrea (log4j, tiles, hibernate, quartz, digester, tiles, validator, xerces, cocoon, jasper, openJMS…) i fent que funcionin de manera conjunta. Això ofereix al desenvolupador una visió única i coherent de l'ús de la plataforma.

Nova release 2.0 Es troba disponible la nova release 2.0 del framework J2EE openFrame. (vegeu la notícia )

Enllaços externs Web del Projecte openFrame SourceForge del Projecte openFrame openTrends

Categoria:Plataforma Java Categoria:Programari lliure Categoria:Eines de programació