Infoblazer LLC. is pleased to release the XX Framework
under the LGPL open source license. Version 1.1 is available for immediate download.
The XX framework is a configurable, XML/XSL-centric implementation of the MVC development paradigm.
The primary goal of the XX Framework is to handle typical application CRUD (create, retrieve, update, delete) with little or no Java programming. Instead of telling the application how to retrieve and how to display the data, we configure what to retrieve (through XML) and what to display (through XSLT).
This approach generally leads to a simpler and more elegant solution that a purely procedural approach. Where the applications needs more than simple CRUD, additional business logic can be easily incorporated into the process. Some additional features of the framework are configurable data caching, thread pooling, and web service integration.
Some benefits of the framework are:
- Extremely simple to use
- Built around open web standards, including J2EE, XHTML, XML, XSL, CSS
- Uses XSL and CSS as the application's View layer, allowing total separation of presentation from back end concerns. Page-focused/HTML templating approaches rarely achieve this separation
- Configurable data caching for optimal performance
- Automated data persistence (CRUD). 80% of a typical web app can be built with no Java code
- Uses a Portal-based approach to page design, allowing easy compartmentalization of functionality
- Integration with web services
- Enabled caching and thread pooling for greatly increased performance
The framework promotes a use case oriented development approach. In this approach, use cases are defined for each task the user will perform. In general, each use case will be implemented by a single logical servlet, as defined in the J2EE Specification. The logical servlet may be implemented by one or more implementation classes each implemented a distinct portion of that use case and providing a portion of the resultant display.
The developer simply needs to write implementation of for these classes. Configuration files determine which implementation classes are called based on user click events. The most common implementation approach has each class return an XML result, yielding a set of XML documents for each use case.. XSL transformation is then applied to the XML results, each transform providing a portion of the desired display. A single JSP page is then used to display the final product.
The framework then builds upon this foundational approach to provide automation of typical application tasks, such as add, update, delete, select of records from a database. By specifying a simple mapping from the HTML page on one end, through the middle layers, and to the database on the other end, a large subset of application functionality can be achieved without the need to write any Java code. Instead, a combination of XML configuration files, XSL transformation templates, as well as open source tools, namely Hibernate and Castor, are used.
The goal of the framework is to incorporate more and more common programming tasks, in an open, configurable, and generic manner. Furthermore, since much of the framework if based on XML and XSL, automatic generation of complete applications is achievable.
Version 1.1 includes numerous improvements and bug fixes. A new sample implementation of the Java Pet Store application is also demonstrated. The XX Pet Store makes use of the framework's CRUD engine. The entire Pet Store was written with only 3 additional Java methods.
The framework is licensed under the LGPL, and is hosted at Sourceforge.com