I've been following the SpringFuse adventure since last year, since Jaxio, the company that launched SpringFuse, is based in Paris. So when you first look at SpringFuse.com, presented at Devoxx 2008 this year, you might think "...not another generation tool" as I did at first sight. But honestly, SpringFuse is really impressive, in term of code quality. I like this tool because it generates for you in 2 minuts what you usually write in a week of work. And the difference with "anyOtherFuseProject" is the quality of generated code. SpringFuse has a partnership with SpringSource, the code quality is a level above other competitors. I really enjoyed the Hibernate level 2 cache settings, and I learned a lot of nice design patterns just by having a look at the source code the tool generated from my database. Springfuse is neither a Framework nor a Runtime but just a tool with no strings attached. Try it, there's a free version you can try, and they added a tutorial if you want to test. Last but not least, if you specify "touilleur-blog" at registration, you get one month for free. http://www.springfuse.com
- Posted by: Nicolas Martignole
- Posted on: January 29 2009 02:57 EST
- Re: SpringFuse beta 2 released by Pierre Trouillard on January 29 2009 09:16 EST
- Re: SpringFuse beta 2 released by Kannan Ekanath on January 29 2009 11:03 EST
- SpringFuse is not affiliated to SpringSource by Casual Visitor on January 31 2009 12:55 EST
- Springfuse is a service from Jaxio, a SpringSource partner by Florent Ramière on January 31 2009 19:38 EST
- Re: SpringFuse beta 2 released by Spencer Uresk on January 31 2009 22:32 EST
My company is currently using another jaxio product (celerio), which gathers a lot of common points with springfuse. I worked with jaxio last year on a big project, and their approach is really impressive. Integration with other framework is quite simple, thanks to maven, and their technical choices are giving flexibility in the code you write. I tried Springfuse last week, and it seems to bring the same features we all want as a developer: cleaness of the code, testing support, performance tuning, extensive configuration. I can just say: try it, you will not be disappointed!
Hello, Thank you Nicolas and thank you Pierre for your support. Code generation is a controversial subject. It is so easy to get lost and end up with a plate of spaghetti code. So is Springfuse different? With Springfuse we try to find the right balance between what should be generated and what should be written manually. We also pay attention to keep the code as clean as we can, organized in well separated package without cyclic dependencies. Also, the generated source code leverages existing frameworks. There is no Springfuse library or a runtime. We do not reinvent the wheel. The choice of the web framework was certainly the most debatable part. Why the recent Spring MVC with annotated controllers? * It integrates naturally with Spring and Spring Web Flow * We think it will become mainstream with Spring 3.0 * We love Spring ! We are open to suggestions to support new web layers and would love to get feedbacks from the community. Please note that the service is free for opensource projects, just drop us a note ! Regards, Nicolas. http://www.springfuse.com/
We used Spring Fuse technology on a big project for a french bank. I was the project manager and I had to choice an industrial solution to reach the target, give some fun to my team, and save money. The project finished on time and in planned bugget. I think that we weren't able to do this job without the Spring Fuse Code Generation. This code generator permits to be concentrated on the business layers and to be focussed on an iterative process (we did use Scrum methodology). I strongly recommend Spring Fuse Technology to anyone wants to save money and time.
I was wondering, is there any plan to support web services CRUD functionality? And, how does SpringFues compare to SkyWay (http://www.skywaysoftware.com/) ?
I am not a very big fan of "Code Generation". It can serve as a decent "start point". But most often the tendency will to be use it as such and add more hacks to it. While I am at it, I want to know why SpringFuse is different from Appfuse (http://appfuse.org/display/APF/Home) Appfuse is my personal favourite, because it can talk to a variety of fwks like Spring, Hibernate, Security, DBs, Spring MVC, Struts etc. It is opensource :) and within few minutes you can have a running application. The only thing that is missing is the source code generation. However, If I were using Hibernate, I would rather use Hibernate's code generation tool directly instead of this ?
Hi Kannan, I do completely agree with you : code generators -like any other tool- should be used only where it’s appropriate. I thank you for introducing Appfuse in this post, it is a relevant point. We do very much like Appfuse and are impressed by the work done by Matt. We see Appfuse as a way to choose frameworks first hand: JSF, Spring MVC, Struts2, Tapestry. But as you say, for code generation you would not use appfuse, but rather choose hibernate tools. HT is a good tool too, but I am not sure hibernate tools is going to leverage Spring technologies :-) We propose a solution that is clearly on the "Full Spring" / Hibernate camp. There is no rocket science behind Springfuse, just pragmatism and a lot of experience that we want to share. Our approach is very simple - We start from a database schema - Based on constraints and conventions, we generate whatever is needed so you end up with a clean maven 2 project, that leverages existing technologies such as Spring Framework, Spring MVC, Spring Security, Hibernate (1-1, 1-N, N-1, N-N mappings), 2d level cache, sitemesh, etc. - It works at of the box for your database. We think Springfuse can be useful to some people, that these 5 to 10 seconds of code generation can save hours, days, maybe weeks of work. Think of the generated source as a complete example of a technical book that would cover all the subjects above, but this example is not about a petstore or a booking hotel, but really about your Database, your domain... Please please please - for those who do not like code generation - for those who prefer MDA - for those who prefer Hibernate Tools - for those who prefer doing everything by hand **take these 5 minutes to test us and see first hand** if you like what we generate or not and make up your mind. We really think you may reconsider your position, and in any case please give us your feedbacks (good/bad) :) Cheers, Florent Ramière http://www.springfuse.com
Not that I want to defend or promote SpringSource. But for me the deceptive name ("SpringFuse") is a clear sign to keep hands off.
Hi, Thank you for raising this point. Springfuse is a service developed and maintained exclusively by Jaxio (http://www.springfuse.com/company/ & http://www.jaxio.com) Jaxio is a SpringSource partner (http://www.springsource.com/partners/systemintegrators/listing), they announced our service on their blog (http://www.springsource.com/node/1190) I hope this answers your question. Cheers, Florent Ramière http://www.springfuse.com
I tried your code generator, as code generation is something I'm beginning to look into for our organization. Overall, the quality of the code looked relatively good, even though it generated tons of code for just 4 tables. I'm still looking through all it generated, but it looks like better-than-average generated code, at the very least. A few thoughts/suggestions: 1) The limitation of only 4 tables for a trial is somewhat inconvenient. I had to create a sample schema to try it out, and couldn't really compare it with any existing apps. I realize the nature of the product makes it difficult to offer a more robust trial, but you may want to think about ways you could allow more tables to be used without giving away your app. 2) The one factor that makes me not really interested in this tool is that it appears to force a technology stack on you. It would be nice to be able to have some control over the technologies used, ie, being able to check a box that says 'Use JPA' that would use JPA mappings instead of hibernate mappings. It would be nice if the finished product could be tailored to an existing stack at an organization, this is really what we are looking for. Maybe the Celerio portion of it would allow that, but I was unable to find out for sure since my French isn't terribly good and I had a hard time understanding some of the documentation :) So, I guess my question is - do you have any plans to make the generated projects more flexible and configurable? Or is Celerio intended to fill this role?
Hi Spencer, Thank you for these very precious feedbacks. Here are some answers:
I tried your code generator, as code generation is something I'm beginning to look into for our organization. Overall, the quality of the code looked relatively good, even though it generated tons of code for just 4 tables. I'm still looking through all it generated, but it looks like better-than-average generated code, at the very least.I consider it as a compliment. However, I know we can improve it and we will :-)
1) The limitation of only 4 tables for a trial is somewhat inconvenient.I understand your point, ideally you would like to test it on your real database for free. Actually, during the launch period we propose some vouchers... please refer to the top of this thread, you can get a free month pass.
2) The one factor that makes me not really interested in this tool is that it appears to force a technology stack on you. It would be nice to be able to have some control over the technologies used, ie, being able to check a box that says 'Use JPA' that would use JPA mappings instead of hibernate mappings.We force a stack that is quite common but you are right, there is an increasing demand for JPA and we are going to provide it. May I ask, what would be your 3 ideal stacks ? Concerning others layer such as the web layer, we plan to support at least one more. But the choice is difficult... we are still considering some options. Note that the web layer generated by Springfuse is well separated from the rest of the code, so one can use Springfuse for the backend only.
It would be nice if the finished product could be tailored to an existing stack at an organization, this is really what we are looking for. Maybe the Celerio portion of it would allow that, but I was unable to find out for sure since my French isn't terribly good and I had a hard time understanding some of the documentation :)It depends on the organization stack: clearly you are right and we will try to move toward that direction, but this obviously requires some consulting.
So, I guess my question is - do you have any plans to make the generated projects more flexible and configurable? Or is Celerio intended to fill this role?Celerio brings flexibility in terms of configuration of the generated code, not in term of stacks choice, at least for now. Celerio also brings powerful round trip features that allow you to easily modify the generated code and re-run the code generation without loosing your changes. Finally, it is important to mention that Celerio runs locally on your computer, as a maven2 plugin, so there is no need to upload any schema to Springfuse. Cheers Nicolas.