JAG - Java Application Generator
One of the strengths of JAG is that it delivers a complete working project - it's more than just another code generator! The projects
generated by JAG have the following features:
Applications generated by JAG are intended as a solid first step in a project's development phase. Using the generated application as a base, further
development can be undertaken such as coding business logic into the session beans, customising the web application, etc.
- A full, professional quality project infrastructure: The generated applications build with Apache Ant
and have a flexible, well-organised directory structure.
- By choosing from JAG's extendable framework of 'application templates', you have control to select the most appropriate application architecture.
- Best-of-breed J2EE architecture: The various application architectures are derived from a real-world appreciation of industry best practices.
The latest application template offers:
- A strict enforcement of presentation-layer to enable the greatest flexibility in deployment scenarios
- EJB and Hibernate features such as relations.
- J2EE 'BluePrint' patterns such as Session Façade, Service Locator, Business Delegate, Fast Lane Reader and Value Objects.
- A pluggable service tier: ServiceLocator or Spring Framework.
- A pluggable business/persistence tier: EJB2/3 or Hibernate 2/3
- Acegi security for declarative authentication and authorization
- Tapestry 4 presentation-layer for a component based web tier using java 5 annotations
- Webservices using XFire or Axis
- JasperReports PDF reports
- A presentation layer (web application) that takes advantage of the latest features of Struts,
such as declarative client- and server-side user input validations, and clean, modular JSPs using Struts and the display tag library.
- Extensive use of Java 5 Annotations or XDoclet in the generated application means that the complexity of the
code base is vastly reduced, increasing maintainability. Through the use of XDoclet tags in the generated Java code, many of the JAG-generated classes
serve as a basis for further automatic code generation at build-time!
What JAG isn't!
Software development is a hugely complex field,
and JAG deliberately avoids the trap of trying to be a 'silver bullet' application that tries to do everything. JAG does not provide
tools for database modelling, UML diagram creation or content management therefore, because we feel that there are already perfectly adequate tools
for this purpose. JAG's aims are simple: to be the indispensible, best-of-breed tool for generating J2EE projects.