AppFuse
From Wikipedia, the free encyclopedia
| AppFuse | |
|---|---|
| Developed by | Matt Raible and several other developers |
| Latest release | 2.0 / September 18, 2007 |
| Written in | Java |
| OS | Cross-platform |
| License | Apache License 2.0 |
| Website | http://appfuse.org |
AppFuse is an open-source Java EE web application framework. It allows developers to get started quickly and easily using Java open-source technologies like Spring framework, Hibernate and Struts. It was originally created by Matt Raible. He originally developed it to eliminate the "ramp up" time he found when building new web applications for customers.
At its core, AppFuse is a project skeleton, similar to the one that's created by an IDE when one clicks through a "new web project" wizard. AppFuse 1.x uses Ant to create your project, as well as build/test/deploy it. AppFuse 2.x uses Maven 2 to create your project as well as build/test/deploy it. IDE support is much better in 2.0 because you can generate the IDE project files with Maven plugins. AppFuse 1.x uses XDoclet and JDK 1.4+.
Unlike most "new project" wizards, AppFuse-created projects contain a number of classes and files from the very beginning. These files are used to implement features, but they also serve as examples for you when developing your application. By using AppFuse to start new projects, it's possible to eliminate the usual first week or two of development time. You don't have to worry about configuring open source frameworks together, because that's already done for you. Your project is pre-configured to talk to a database, deploy in an appserver, and allow you to login. There's no need for you to implement security features, because they're already integrated.
When AppFuse was first developed, it only supported Struts and Hibernate. Today, it supports Hibernate, iBATIS or JPA as persistence frameworks. For the web framework, you can use JSF, Spring MVC, Struts 2 or Tapestry.
AppFuse comes out of the box with features that many applications need, including the following:
- Authentication and Authorization
- User Management
- Remember Me (saving your login information so you don't have to login every time)
- Password Reminder
- Signup/Registration
- SSL Switching
- URL rewriting
- Skinnability
- Page Decoration
- Templated Layout
- File Upload
This out-of-the-box functionality is one of the main features in AppFuse that separates it from the other "CRUD Generation" frameworks, including Ruby on Rails, Trails, and Grails. The aforementioned framework, as well as AppFuse, allow you to create master/detail pages from database tables or existing model objects.
[edit] See also
[edit] External links
- AppFuse Project
- AppFuse Demos
- AppFuse Tutorials
- Article: Seven Simple Reasons to use AppFuse
- Article: AppFuse: Start Your J2EE Web Apps

