What is AppFuse? It's an open-source toolkit that combines various Java tools and conventions in order to shorten the ramp-up when starting new enterprise Java projects. AppFuse provides Ant and Maven-based tasks to build, test, and deploy Java applications, and also simplifies dependency management for an enterprise Java project. Unlike the products of 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 you're 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 preconfigured to talk to a database, deploy in an application server, and authenticate users. There's no need for you to implement security features because they're already integrated. Supported Persistence Frameworks: Hibernate, iBATIS and JPA (Hibernate implementation) Supported Web Frameworks: JSF (MyFaces 1.2), Spring MVC, Struts 2, Tapestry 4.1 Glued together with Spring Web Services provided by XFire Secured by Acegi SecurityAppFuse 2.0 is available as a Maven archetype. For information on creating a new project using AppFuse, please see the QuickStart Guide or the demos and videos. What do you think about AppFuse? Is it useful for Java Developers to get started with Spring, Hibernate, Maven and testing? Does it really make things simpler? How could it be improved? Many folks have suggested framework consolidation as a means of improvement (for example, only support Struts 2 + Spring + Hibernate). However, that doesn't seem to follow the Java Communities desire for choice. What do you think?
-
AppFuse 2.0 Released - shortens enterprise app project startup time (16 messages)
- Posted by: Matt Raible
- Posted on: October 02 2007 08:33 EDT
The road to AppFuse 2.0 has been a long journey through Mavenland, annotations and generics. We're pleased to announce that we're finally finished after 13 months of development. Thanks to all the developers, contributors and users for helping test, polish and prove that AppFuse 2 is an excellent solution for developing Java-based applications. Your time, patience and usage of AppFuse has made it the strong foundation it is today.Threaded Messages (16)
- Congrats by Daniel Fernandez on October 02 2007 19:47 EDT
- Great news, but... by Marie Antoinette on October 02 2007 22:23 EDT
- Yes you can use iBATIS by Matt Raible on October 02 2007 11:48 EDT
-
Re: Great news, but... by Persistability Ltd on October 03 2007 04:06 EDT
-
JDO by Matt Raible on October 03 2007 05:59 EDT
- Re: JDO by Persistability Ltd on October 04 2007 01:06 EDT
-
JDO by Matt Raible on October 03 2007 05:59 EDT
- Re: Congrats by Matt Raible on October 02 2007 23:34 EDT
-
Need more configuration by John Shuster on October 03 2007 07:39 EDT
- Re: Need more configuration by Matt Raible on October 03 2007 06:06 EDT
-
Need more configuration by John Shuster on October 03 2007 07:39 EDT
- Great news, but... by Marie Antoinette on October 02 2007 22:23 EDT
- is it MDA? by Ibrahim Salloum on October 03 2007 02:59 EDT
- Re: is it MDA? by Matt Raible on October 03 2007 17:58 EDT
- Re: AppFuse 2.0 Released - shortens enterprise app project start by Cyril Gambis on October 03 2007 03:55 EDT
- Re: AppFuse 2.0 Released - shortens enterprise app project start by Thai Dang Vu on October 03 2007 06:55 EDT
- Re: Spring Web Flow by Matt Raible on October 03 2007 18:03 EDT
- Re: AppFuse 2.0 Released - shortens enterprise app project start by Sreeni Janapati on October 06 2007 00:38 EDT
- Re: AppFuse vs. JAG by Matt Raible on October 18 2007 15:24 EDT
-
Congrats[ Go to top ]
- Posted by: Daniel Fernandez
- Posted on: October 02 2007 19:47 EDT
- in response to Matt Raible
Congratulations and thank you, Matt (and all the people involved). Great job. What about wicket? Daniel. -
Great news, but...[ Go to top ]
- Posted by: Marie Antoinette
- Posted on: October 02 2007 22:23 EDT
- in response to Daniel Fernandez
Is it possible to not have to use Hibernate? I much prefer iBatis. -
Yes you can use iBATIS[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 02 2007 23:48 EDT
- in response to Marie Antoinette
Yes, you can definitely use iBATIS with AppFuse. We provide generic DAOs/Managers as well as CRUD generation for iBATIS just like we do for Hibernate and JPA. I'm sure our support could be improved, but it seems to work pretty well right now. -
Re: Great news, but...[ Go to top ]
- Posted by: Persistability Ltd
- Posted on: October 03 2007 04:06 EDT
- in response to Marie Antoinette
Is it possible to not have to use Hibernate? I much prefer iBatis.
and I much prefer JDO, yet I dont see that on the project site. -
JDO[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 03 2007 17:59 EDT
- in response to Persistability Ltd
We don't offer support for JDO because I've used it in AppFuse Light (formerly named Equinox) and wasn't that impressed. IMHO, it seemed more complicated than Hibernate. With that being said, if someone is willing to contribute (and support) a JDO option, we'd likely add it. Bryan Noll was able to write the JPA implementation (+ all the Generic DAO implementations) in a matter of days. -
Re: JDO[ Go to top ]
- Posted by: Persistability Ltd
- Posted on: October 04 2007 13:06 EDT
- in response to Matt Raible
it seemed more complicated than Hibernate.
Can't see how "complicated" it is ... makePersistent, detachAllOnCommit. Everything auto detached for use outside that layer, and faster than aforementioned. But then since you don't have it I won't use AppFuse. Thx -
Re: Congrats[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 02 2007 23:34 EDT
- in response to Daniel Fernandez
Wicket is definitely on our roadmap. I've only worked with it a limited amount, but I really like what it has to offer. I enjoyed working with Stripes as well, so it's likely we'll add support for both. 2.1 is Search and Ajax. 2.2 is plugins and Wicket/Stripes integration. We hope to accomplish a lot for 2.2, so we could slip on some features. I'd really like to figure out a way to support pluggable features that works across web frameworks. Worse case, we can merge WARs, but that sounds pretty ugly. -
Need more configuration[ Go to top ]
- Posted by: John Shuster
- Posted on: October 03 2007 07:39 EDT
- in response to Matt Raible
2.1 is Search and Ajax. 2.2 is plugins and Wicket/Stripes integration. We hope to accomplish a lot for 2.2, so we could slip on some features. I'd really like to figure out a way to support pluggable features that works across web frameworks. Worse case, we can merge WARs, but that sounds pretty ugly.
Rather than work on adding new features such as search, I would hope you would concetrate on configurability. Currently you can select between Spring MVC/Struts/etc, but that's about it. JPA needs to be configured manually by editing files, and most importantly - resulting build structure is polluted with everything but the kitchen sink. There's tens of xml configuration files and JARs for different gadgets. What if I don't have any use for Clickstream? Why can't I leave it out of my build without hunting for JARs and config files manually? The more you keep adding new features the more this will become a problem for the users. -
Re: Need more configuration[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 03 2007 18:06 EDT
- in response to John Shuster
Rather than work on adding new features such as search, I would hope you would concetrate on configurability.
You definitely have some good points. In 2.1, we hope to reduce the amount of XML, but if the various frameworks don't offer APIs to do things in Java, I don't know how successful we'll be. We're open to any suggestions on how to simplify things. One approach I think is possible is to use AppFuse Light (which has really no features) as a front-end to AppFuse. If we could make AppFuse Light code-generation aware, then you could start with (virtually) nothing and build from there. Another thought is to come up with more examples (GWT, Flex, etc.) that leverage using appfuse-core as a backend.
Currently you can select between Spring MVC/Struts/etc, but that's about it. JPA needs to be configured manually by editing files, and most importantly - resulting build structure is polluted with everything but the kitchen sink. There's tens of xml configuration files and JARs for different gadgets. What if I don't have any use for Clickstream? Why can't I leave it out of my build without hunting for JARs and config files manually?
The more you keep adding new features the more this will become a problem for the users. -
is it MDA?[ Go to top ]
- Posted by: Ibrahim Salloum
- Posted on: October 03 2007 02:59 EDT
- in response to Matt Raible
so, is it considered as an MDA framework? any comparison between it and AndroMDA? -
Re: is it MDA?[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 03 2007 17:58 EDT
- in response to Ibrahim Salloum
You might be able to compare it to an MDA framework, but labels like that seem a bit heavy. We like to call it a kickstart application that gives you the first 2 weeks of your project for free. Not only that, it's ready to setup in your development ecosystem (i.e. continuous integration). We highly recommend Hudson and CruiseControl for open source and Bamboo and Pulse for commercial options. -
Re: AppFuse 2.0 Released - shortens enterprise app project start[ Go to top ]
- Posted by: Cyril Gambis
- Posted on: October 03 2007 03:55 EDT
- in response to Matt Raible
Congratulations! Very good tool from and for the Open Source community. Very useful, in particular for architects and newcomers. Many thanks to Matt and AppFuse team. Cyril -
Re: AppFuse 2.0 Released - shortens enterprise app project start[ Go to top ]
- Posted by: Thai Dang Vu
- Posted on: October 03 2007 06:55 EDT
- in response to Matt Raible
and what about spring web flow? It has Spring and Spring MVC so ... Thanks Matt and AppFuse team for this project. -
Re: Spring Web Flow[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 03 2007 18:03 EDT
- in response to Thai Dang Vu
We've thought of adding Spring Web Flow, just haven't done it yet. In reality, it should be as easy as adding a dependency to your pom.xml, so I don't know that we really need to integrate it. We're aren't trying to do like Grails and write DSLs for the various frameworks to simplify them. -
Re: AppFuse 2.0 Released - shortens enterprise app project start[ Go to top ]
- Posted by: Sreeni Janapati
- Posted on: October 06 2007 00:38 EDT
- in response to Matt Raible
How about AppFuse compared to JAG(Java Application Generator)? -
Re: AppFuse vs. JAG[ Go to top ]
- Posted by: Matt Raible
- Posted on: October 18 2007 15:24 EDT
- in response to Sreeni Janapati
JAG (http://jag.sf.net) hasn't had a release since May of 2006. It's also GPL licensed (AppFuse is Apache) and doesn't seem to have much of a user community: http://sourceforge.net/forum/forum.php?forum_id=295539 AppFuse has a vibrant user community and is one of the most popular projects on java.net: http://community.java.net/projects/top.csp According to Nabble, we have the most mailing list traffic of any java.net project: http://www.nabble.com/Java.net-f13449.html A vibrant user community is one of the most important things for an open source project IMO.