AppFuse 2.0 Released - shortens enterprise app project startup time

Discussions

News: AppFuse 2.0 Released - shortens enterprise app project startup time

  1. 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.
    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 Security
    AppFuse 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?

    Threaded Messages (16)

  2. Congrats[ Go to top ]

    Congratulations and thank you, Matt (and all the people involved). Great job. What about wicket? Daniel.
  3. Great news, but...[ Go to top ]

    Is it possible to not have to use Hibernate? I much prefer iBatis.
  4. Yes you can use iBATIS[ Go to top ]

    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.
  5. Re: Great news, but...[ Go to top ]

    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.
  6. JDO[ Go to top ]

    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.
  7. Re: JDO[ Go to top ]

    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
  8. Re: Congrats[ Go to top ]

    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.
  9. Need more configuration[ Go to top ]

    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.
  10. Re: Need more configuration[ Go to top ]

    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.
    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.
  11. is it MDA?[ Go to top ]

    so, is it considered as an MDA framework? any comparison between it and AndroMDA?
  12. Re: is it MDA?[ Go to top ]

    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.
  13. 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
  14. and what about spring web flow? It has Spring and Spring MVC so ... Thanks Matt and AppFuse team for this project.
  15. Re: Spring Web Flow[ Go to top ]

    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.
  16. How about AppFuse compared to JAG(Java Application Generator)?
  17. Re: AppFuse vs. JAG[ Go to top ]

    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.