Home About The Codist RSS Feed

The Open Source Frameworks I Use
Jul 23, 2007 10:31 perm link Readers: 10667

Everyone uses open source these days (well, I hope they do). These are the libraries I use regularly on projects when I can. Some are popular; others more obscure. All of these work well for me. Most of these are used in my web framework and this blog software.

Jetty - my servlet container of choice for many years.

DWR - for Ajax connectivity this is the easiest framework to work with.

Commons HTTPClient - for making calls to web servers from inside your web application.

Jakarta Commons - not all frameworks in commons are equally as useful, but this is the first place to go to find something

FastUtil - when you need fast primitive collections, this can't be beat.

Javolution - faster collections than the JDK with more options.

Jodatime - if you do date and time calculations, there is no option, you must use this. There is a JSR now to include this into a future JDK to replace/supplant the terrible JDK time and date classes.

H2 Database - my favorite Java database, it's fast, well supported by the author, and constantly being updated.

iBatis - easier to work with than Hibernate when you really need to use the power of SQL.

Logback - the next generation of logging by the author of log4j and Slf4J which is a new logging facade.

Rome - you can generate RSS feeds yourself but this is still useful.

StringTemplate - the author of the famous ANTLR parser generator also has a nice template framework. I've used it on and off for quite a while. It's a bit like Velocity but far more powerful and with less side-effects.

JDOM - for manual parsing of known XML, as well as generating known XML, it's the best framework for working with existing XML formats.

Xstream - very fast XML serializer, I always use this to store and load XML content created from my own objects.

Stax - I always use stax when embedding stuff into xml or xhtml (such as a web framework).

I use other things too, but these are very basic to what I do. It's amazing what you can get for free these days.

If you have a blog, go ahead and list your favorites as well in a post. It would be useful to see what everyone else uses.

My Tags:

  • haluk: Jul 24, 2007 04:34

    Finding out which of the more or less known Open source tools are the tried & tested production quality ones is an extremely useful information. Much appreciated.

  • florin: Jul 24, 2007 04:56

    Nice list, I am using most of the frameworks you enumerated. But what about MVC frameworks? I recommend JPublish (http://code.google.com/p/jpublish/) for web development ;)

    Cheers,

  • jose: Jul 24, 2007 06:37

    And what about Spring..?

  • Cédrik: Jul 24, 2007 07:07

    Admitidly preaching my own project here :-) , but I couldn't live without MessAdmin (http://messadmin.sourceforge.net), either during development or in production.

  • rondeth: Jul 24, 2007 07:24

    Nice list!

    When I'm digging for an existing solution to a problem I'm facing, I check a handful of sites. Some we're all familiar with...the ones I include below are ones you may or may not know of. Cheers!

    http://java-source.net/

    http://www.ohloh.net/

    http://www.onjava.com/pub/q/java_os_directory

  • codist: Jul 24, 2007 08:11

    I wrote my own web framework (Fiche) which is why there isn't one on this list.

  • Dennis: Jul 24, 2007 10:04

    ehcache has provided to be very useful and reliable in middle tier environments

    http://ehcache.sourceforge.net/

  • Vincent: Jul 24, 2007 11:15

    I add more:

    Enterprise Open Source Directory

    http://www.eosdirectory.com/

  • Fungrim: Jul 24, 2007 11:47

    Here: http://fungrim.wordpress.com/2007/07/24/re-the-open-source-frameworks-i-use/

  • raveman: Jul 24, 2007 12:31

    im always in shock when people use some unknown web framework, why do you use Xstream ? is java xml serialization really is that slow ?

  • Ronald: Jul 24, 2007 12:49

    Hi, great list, some new things for me.

    Only I like XOM better than JDom for XML, because I think it is easier to use, faster, and very straightforward. You should give it a testrun. http://www.xom.nu

    Kind Regards

  • codist: Jul 24, 2007 14:52

    xstream is much faster and less verbose than the built in serialization. It's worth using.

  • Shevken: Jul 24, 2007 20:13

    xstream rocks for marshalling/unmarshallung objects to xml too

    String xml = xstream.toXML(yourClass);

  • raveman: Jul 24, 2007 22:28

    i have to admit that xstream really looks cool now that i took a look at it :)

  • Tahir Akram: Jul 25, 2007 01:25

    Thanks for sharing this info, some framewoks you are using new to me, I will study about Jetty, XStream and H2db.

    Here is my list:

    http://itoday.wordpress.com/2007/07/25/the-open-source-frameworks-i-use/

  • Brian: Jul 25, 2007 07:07

    Change the title of this to "The Open Source Java Frameworks I Use" -- not everyone uses Java.

  • Marc: Jul 26, 2007 20:15

    Everyone doesn't use Java?! Since when!?

  • Shams Mahmood: Jul 27, 2007 07:05

    The one thing missing here that I certainly would have in my list is Wicket.

    It i a really cool framework to build web applications. It allows you to think in an Object oriented manner to create components and panels to build your application.

    Another additional advantage is your javacode and html are completely separate files only linked via wicket:id attributes in your html tags.

    I think everyone should give it a try, I have really enjoyed using wicket over the last year or so. It also has excellent support for ajax builtin.

    Shams

  • Infernoz: Jul 28, 2007 14:30

    Xstream looks OK if your XML is private and is never likely to change and you don't mind the (assumed) refection costs, however this is rare in real life.

    I far prefer Castor (also on The Codehaus) because I can use it with XSD to generate the decorate beans for me, with backwards compatibility with old XML layouts.

  • Tom: Aug 08, 2007 07:54

    Codist, I'm interested in your development environment. What do you use?

  • codist: Aug 08, 2007 12:50

    See my post at What Tools I Use For Web Development.

  • Maarten: Jan 10, 2008 10:56

    Nice list.

    If you add Spring it would match for 95% with what I would use on a new project.

  • Add Comment

Open Source IS Innovative
Jun 22, 2007 17:51 perm link Readers: 761

I just read this article Open Source is Not Innovative. What a waste of electrons.

The premise is that someone studied the top 500 sourceforge projects and "determined" that only 1% were "truly innovative". First this is a pretty lame study since there is no numerical definition of innovation (unlike gravity) so any study claiming a measurement of it has to be completely subjective.

Innovation does have a dictionary definition, as in "make changes in something established, esp. by introducing new methods, ideas, or products". For this author to state that open source is incapable of innovation is silly. He uses linux as an example ("essentially a copy of another operating system, called Unix"), wikipedia ("encyclopedias have been around since Diderot") and Firefox ("not radically different from any other browser").

Apparently his dictionary has a different definition which requires the earth to move, the sky to fall, and the Cubs to win the World Series before it's really innovative. Apparently his example of non open source innovation is ... Proctor & Gamble?

Funny how the entire web started with free and open "innovation" (HTTP and HTML) but gets no mention by the kindly "Dr". Much of the web is based on open source (Apache, etc.) and apparently has gone unnoticed by this fellow. Saying that wikipedia is like a paper encyclopedia is akin to saying the printing press is no different than a monk with a pen.

I can say my work as a programmer has been incredibly changed over the years by the availability of open source frameworks, languages and tools. They may not all be radical innovations but they sure have radically affected me.

My Tags:

We Are All Open Source Billionaires
Apr 25, 2007 08:20 perm link Readers: 1559

After reading Where Are All The Open source Billionaires, which made very good points, I thought to myself "we are all open source billionaires". This was echoed in some of the comments.

Yes, we don't have the money, but we gain the benefits of the work of thousands of folks toiling away on something they love and giving it free to the world. As a Java programmer I can build complex web applications and not spend a dime on anything (although I choose to use IntelliJ and Textmate). Same is true of PHP, Python, Perl, Ruby, LISP, Scheme, Smalltalk, etc.

The web probably wouldn't even exist without open source contributions like HTML, Apache, Linux, etc.

Imagine you had to pay for everything you use. Some companies refuse to consider anything they haven't paid a bundle for. I worked for such a company, and we wasted gazillions buying stuff on the assumption that it was of higher quality (dubious at best), had better support (too funny), and had a broad customer base so it must be well tested (so does internet porn). I'm not saying for pay software is necessarily better or worse; in many cases the ROI doesn't make much sense if you can get something similar for nothing, and you still have to spend the same money on development, infrastructure, interconnectivity. Does it make sense for most people to buy a $1,000,000 license for Oracle or use Postgres and spend the money on a better DBA staff? For some things Oracle is the only choice, but often people assume they need it just because it's Oracle.

Naturally the overwhelming choices in the open source world themselves can be a hindrance, and much of it is not useful or represents an extreme experiment not a usable tool. But the rapid evolution and even revolution that comes from the intense open source competition creates new development possibilities at an amazing rate. If all we had was Microsoft's ideas of invention, where would be the world be?

So consider yourself rich beyond compare that you live in a world where amazing software and tools can be had for less than a 99 cent song. It's a wealth that benefits everyone.

My Tags:

  • Shawn the Rock: Apr 26, 2007 04:07

    MS always dull our mind and killing our creativity.OpenSource is the only hope can beat MS in this battle.Think about MS's product like as MFC even .net framework,if we really get used to it then we would forget essential and what is funny things in programming.

  • Luis Ramirez: Apr 26, 2007 08:39

    The only reason for Microsoft getting cheaper, better because it does, .NET vs VB6 is a huge difference. And the reason, the competence, the same goes for Vista, even Leopard has copied stuff from Linux (Multiple desks, which is pretty cool) without Open Source, we would still be in Windows 95 or whatever. We all have benefit from Open Source, everyone, even the guy who buys every MS Op Sys on a regular basis, it would be a lot more expensive if it weren't for Open Source, he might never understand it, but who cares!.

    Yep, maybe there are no billionaires, but a lot of work has been around, working for a Company that supports that Open Source software (Novell, Red Hat, whatever) or starting up your own (Interface 21), what would have happened to them if they had gotten stucked with MS

    everyone benefits but not everybody promotes or support

  • Stephen: Apr 26, 2007 14:14

    It's not just software. There's also Project Gutenberg. I have an electronic library at my command. Not only that, my town also provides me with a library of dead trees (and movies and audio). And if they don't have it, i can ask for it via inter-library loan.

  • Add Comment

Name:


Optional URL:


Comment:


Save Cancel

Copyright © 2007 By Andrew Wulf