- Openframe
-
openFrame Desarrollador openTrends
www.openTrends.netInformación general Última versión estable 2.0
4 de noviembre de 2008Género Framework Programado en java Sistema operativo Multiplataforma Licencia GPL En español ? openFrame es un framework de desarrollo J2EE, orientado a servicios (SOA), basada en componentes de software libre, estándares de facto en el desarrollo profesional, que permiten realizar aplicaciones críticas de negocio, disminuyendo los costes de diseño, desarrollo y mantenimiento de aplicaciones.
Contenido
Enfoque
- Aplicación de estándares comúnmente aceptados para formar una arquitectura abierta (Model View Controller, uso de patrones de diseño y patrones J2EE-Blue Prints)
- Integración de soluciones OpenSource que han sido probadas y certificadas por el equipo de desarrollo del framework (bajo coste de las soluciones con la fiabilidad y prestaciones de los paquetes comerciales)
Componentes base
Los tres módulos principales de openFrame son Struts, Spring y Hibernate.
Struts
Struts proporciona las siguientes facilidades:
- Un Controlador principal ya implementado (patrón Front Controller con Dispatcher View)
- Gestión automática de los formularios con refresco entre pantallas y su posible validación
- Gestión de los errores presentándolos en la vista
- Internacionalización del aplicativo (multiidioma)
- Biblioteca de tags para poder ser usados en las vistas
- Permite añadir filtros de proceso (patrón Decorating Filter)
- Un único fichero de configuración que liga los controladores con los formularios de la aplicación y deja clara su interacción y tiempo de vida
Spring
Spring proporciona, entre otras, las siguientes facilidades:
- Un contenedor centralizado de objetos y servicios, totalmente configurable con ficheros XML
- A través del uso de la inversión de control, en particular la injección de dependencias permite la configuración de objetos fuera del código de la aplicación (el contenedor se encarga de la instanciación) y de manera no intrusiva (los objetos configurados no están ligados a spring, ni han de conocer sus clases)
- Reduce el código de aplicación dedicado a configurar y localizar recursos (JNDI, JTA,..) al encargarse el framework. El código de la aplicación así se hace más legible al tener principalmente lógica de aplicación
- Facilita best practices como programar contra interfaces en lugar de contra clases
- Esto promueve el desacoplamiento de servicios (pensar en los objetos de la aplicación como servicios, que expresan su funcionalidad como interfaces y abstraen sus detalles de configuración de la vista del programador, facilita el cambio de una implementación concreta a otra)
- Estructurar en servicios la lógica de aplicación basándose sólo en POJO’s e interfaces facilita los test unitarios (no es necesario el contenedor de EJB para las pruebas y los servicios son fáciles de emular con MockObjects)
- Gestión de transacciones sin uso de API’s específicas mediante uso de Aspect Oriented Programming (AOP puede usarse también en otros servicios como gestión de logs, seguridad o excepciones)
Hibernate
Hibernate como capa de acceso a datos proporciona las siguientes facilidades:
- Un mapeo objeto-relacional flexible (tabla por clase, multiples objetos por registro, multiples tablas por objeto, todo tipo de relaciónes 1-n, n-m,…)
- Persistencia de objetos de manera transparente (no intrusivo, sin imponer interfaces o clases extrañas, sólo arrays y collections estándar java)
- Lenguaje de querys independiente de la BD (HQL)
- Posibilidad de acceso nativo tradicional (T-SQL, PL-SQL, …) y llamadas a lógica en la BD (stored procedures, packages)
- Toda la configuración (mapeos, querys HQL, querys nativas,…) puede definirse en ficheros de configuración XML, no hardcoded en el código java
- Cache (multi-layer, threadsafe, non-blocking, clusterable)
- Otras optimizaciones (lazy initialization, subselect fetching, …)
- Integración J2EE (EJB 3.0, JMX, JTA,…)
- Extensible (nuevos dialectos sql, generadores de claves propios,…)
- Soporta multiples DB (Oracle, DB2, Sybase, MS SQL Server, PostgreSQL, MySQL, HypersonicSQL, SAP DB, Interbase, Ingres, Informix)
openFrame utiliza como base estos tres módulos y lo extiende añadiendo un conjunto de servicios adicionales y patrones, seleccionados entre las mejores iniciativas opensource en cada área (log4j, tiles, hibernate, quartz, digester, tiles, validator, xerces, cocoon, jasper, openJMS,…) haciendo que funcionen de manera conjunta y ofreciendo una visión única y coherente del uso de la plataforma al desarrollador.
Nueva release 2.0
Se encuentra disponible la nueva release 2.0 del framework J2EE openFrame. (ver noticia)
Enlaces externos
Categorías:- Frameworks de Java
- Frameworks para aplicaciones web
- Código abierto
- Herramientas de programación
Wikimedia foundation. 2010.