JtWizard 1.0: Automated Wizard for the Java Pattern Oriented Framework
The current Jt Wizard implementation provides integration with MVC Struts and DAO Hibernate. A native DAO implementation is also provided. DAO mapping files, Struts configurations files, Views (JSPs), Java classes, resource bundles, etc are automatically built or updated by the Jt Wizard.
The Jt Wizard is also a reference web application implemented using the Jt framework. This application can be used as the basis for implementing your own web applications.
The applications generated by the Jt Wizard address the following design goals and best practices:
A) The Jt Wizard should be able to quickly generate fully functional framework applications. The Jt Wizard automates many time consuming and repetitive tasks.
B) The applications generated by the Jt Wizard are based on design patterns. This provides a lot of advantages in terms of reusability, loose coupling, application maintenance, etc.
C) The framework architecture is based on a messaging design pattern: framework objects are able to interchange information and perform computations by sending, receiving and processing messages. A messaging API provides strong encapsulation and loose coupling; framework components can be easily plugged into complex framework applications using a “lego/messaging” architecture. The framework takes full advantage of the power and simplicity of the messaging design pattern.
D) The business logic is kept separate from the presentation layer. This is accomplished via the MVC design pattern. The amount of code included in the presentation layer (JSPs) is kept to a minimum.
E) The persistency layer of the Applications generated by the Jt Wizard rely on the Data Access Design pattern (DAO). The Jt framework provides support for two DAO strategies: Hibernate DAO strategy and native Jt DAOs. The application can be configured to use either one.
E) The look and feel of the application is fully customizable by using Cascading Stylesheets (CSS) and master templates. The presentation layer should be built by assembling reusable layouts and tiles. These presentations elements can be reused in all the web pages.
F) Application errors and exceptions are handled gratefully and consistently. The Jt framework provides built-in capabilities to facilitate and accomplish this goal.
G) The applications generated by the Jt Wizard should support internalization requirements.
Additional features include:
* Automated generation of DAO mapping files. Two DAO strategies are supported (DAO Hibernate and native Jt DAO). Both DAO strategies use the same DAO mapping files.
* Automated generation of MVC Action mappings.
* Automated generation of MVC form components and configuration files (Java classes, Validator configuration file and resource bundles).
* Automated generation of the CRUD (Create, Update, Delete, Delete) logic responsible for implementing persistency.
* Automated generation of MVC View components (JSP pages).
* Integration with the J2EE design patterns which include J2EE business delegate, J2EE Session Facade, J2EE Service Locator and J2EE Value Object.
* Web Services integration via the implementation of Web Services adapters and proxies. The Jt messaging API greatly simplifies the development and deployment of web services.
* Integration with business process modeling (BPM). A jBPM adapter is provided within the Jt framework. jBPM is an open source implementation of the BPM technology. A Jt application can now be modeled using a process graph. This provides users with a very powerful way of modeling business processes.
* Integration with the MVC (Model View Controller) design pattern and Ajax. Universal Jt components and adapters provide a transparent interface between the Jt framework API and these technologies. The business logic (controller piece) can be implemented using Jt framework components and/or BPM business processes.
* Integration with the Hibernate implementation of Data Access Objects (DAO). A Jt adapter provides a transparent interface between the Jt framework and Hibernate DAOs. A native Jt DAO implementation is also provided. Additional DAO strategies can be easily plugged in.
* Integration with J2EE Enterprise Java Beans (EJBs) via Jt Adapters and proxies. EJB clients are able to gain transparent access to remote framework objects. No need to deal with the complexities of EJB application development. An implementation of the J2EE Service Locator pattern is also provided.
* Easy customization of framework applications. This is done via resource files: object attributes can be automatically loaded from a resource file.
* Integration with the asynchronous Java Message Service (JMS). Jt messages can be sent and received via JMS adapters.
* JavaMail API integration via the implementation of a JavaMail adapter.
* Integration with the XML APIs via XML adapters, helpers and built-in bean/XML mapping capabilities.
* Built-in logging/debugging capabilities. Messages between framework objects are automatically logged. This simplifies the debugging and testing tasks.
* Built-in testing capabilities.
* Efficient and lightweight in terms of memory utilization.
* The Jt Framework provides a consistent way of handling and logging application messages, errors and exceptions.
* Cross-platform, implemented using JavaTM technology.
* Integration with the Eclipse environment.
* Runs on any J2EE compatible application server.
JtWizard online documentation can be found at http://jt.dev.java.net/servlets/ProjectDocumentList
For additional information please refer to http://jt.dev.java.net. You can join the mailing list there.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)