For application development we use spring and hibernate. For rapid application development there are many pitfalls around. Our mission is to provide a framework that handles all default settings and allows us to quickly start with the development tasks our customers are interested in. So the framework tries to support you by:
* Providing a maven based development environment which uses a proven dependency configuration for fast composition of a working base setup.
* Several utilities were needed during application development extending functions from other utility libraries, e.g. Apache commons.
* Providing a module concept for easy setup and extension of a base application
* Providing reusable and extendable components for common tasks such as application setup, user management, security, history and reporting.
* Providing a base UI implementation based on JSF/MyFaces/MyFaces Trinidad
Where to start
For starting have a look at the quick start tutorial. Within this tutorial a small database application is developed using the most important features provided by the framework.
***No, no, no - needs HibernateDaoSupport! Bad! *** "The purpose of this framework is to save the time, tedium and possible inconsistency of hand coding DAO layer objects. To this end, the framework provides a generic implementation of DAO layer objects for an application using Spring and Hibernate. The generic implementation can be extended and overwritten on a method-by-method basis for each domain object individually or across the entire layer. This means that it is always possible to write code for an exceptional case, entirely bypassing the framework, yet for the usual case no code needs to be written at all.
The framework also builds on top of these generic DAOs with an interface that is easily exposed as a web service or remote object. (At The Revere Group (Open Systems division), we are using this for Adobe Flex and GWT R.I.A.s.) This becomes extremely powerful because of the extensive search options available in the framework.
The search capability is what sets this generic DAO implementation apart. It uses a powerful search object with extensive filtering options, sorting, paging and result transformers. The search is simpler to use than Hibernate Criteria objects, and it can be passed to and from remote clients. This greatly simplifies the creation of flexible UI searches and filtered lists."
Domain Driven Design (DDD) is about mapping business domain concepts into software artifacts. Most of the writings and articles on this topic have been based on Eric Evans' book "Domain Driven Design", covering the domain modeling and design aspects mainly from a conceptual and design stand-point. These writings discuss the main elements of DDD such as Entity, Value Object, Service etc or they talk about concepts like Ubiquitous Language, Bounded Context and Anti-Corruption Layer.
Pax Construct provides a Swiss Army® knife for OSGi that helps you rapidly create, build, manage and deploy many types of OSGi bundles. The core functionality is provided by a flexible Maven2 plugin that enhances and streamlines the Maven build process for OSGi, along with intelligent archetypes that adapt according to your needs.
Unix and Windows scripts are available to further reduce the need to remember (and type) long command strings. These scripts come with basic help text and can bootstrap themselves from an empty system.
You can use Pax Construct to create a simple first bundle in less than a minute, all the way up to managing a Spring Dynamic Modules for OSGiTM system.
Metawidget takes your domain objects and automatically creates User Interface components for them, saving you handcoding your UIs and leaving you to concentrate on stitching together your application.
As much as possible, Metawidget does this without introducing new technologies. It inspects, at runtime, an application's existing back-end architecture (such as JavaBeans, annotations, XML configuration files) and creates components native to its existing front-end framework (such as Swing, Java Server Faces, Struts or Android).
Metawidget does not hide the power of your existing User Interface framework from you and guarantees that your investment in its technology and knowledge is as valid as always. The LGPL open source license allows the use of Metawidget in open source and commercial projects.
this module makes the integration of spring-annotation and JSF really easy.
* It registers automatically a VariableResolver in the JSF stack to enable the use of the spring beans as managed beans
* it adds 2 (two) more scopes to spring framework: flash and conversation
* it registers a navigation handler in the JSF stack to enable you to write less code
* it adds some annotations to make it easier to write JSF code