June 28, 2002

Just Released! The JADE Open Framework.

The JADE Open Framework is a rapid application development (RAD) tool for the J2EE (Java 2 Enterprise Edition). Its purpose is to allow Java developers to create high quality, consistent and maintainable database driven web applications and web sites quickly and easily.

JADE will run in any J2EE compliant container and with most of the popular database management systems. In addition we have integrated JADE with best-of-breed development and deployment tools such as Dreamweaver (4 and MX), IntelliJ IDEA, Tomcat and MySQL to create a full-featured, open WYSIWYG development environment for creating web applications.

JADE has actually been around for quite some time. It was started several years ago as a toolbox for an Enterprise Java consulting practice. At the time we wanted to start building Java web applications for our corporate customers but there was not much out there in the way of tools that was not vaporware. Some tools were starting to emerge but they were poorly designed, bug-ridden and completely proprietary. The J2EE spec was in flux at version 0.8 and IBM had a different one from Sun so we decided to stay away from that until the dust settled. The servlet spec looked pretty solid, but there was not enough there to really build an application unless you like having a million System.out.println's. We therefore decided to build a class library of components similar to the Java AWT only for web applications. That worked out well and we were off and running.

Early on we stayed away from JSPs even after the spec firmed up because we really hated mixing Java code with HTML in-line. That is until they came out with custom tag libraries. We saw this as an opportunity to improve the JADE a lot. Any AWT or Swing programmer knows that creating a bunch of components and laying them out on a page takes quite a bit of code and that was true with JADE as well since it followed the same model. It is much easier to code a page in HTML with tags than with Java code. So we built a JSP tag library wrapper around our GUI components. That improved our productivity dramatically. But then we went a step further. We realized that potentially building a GUI painter that generated tags was much easier than a GUI painter that generated code. One of our developers noticed that the HTML design tool Dreamweaver could be customized to work with custom tag libraries. We jumped on this and a couple of months later we had a WSYWYG drag-and-drop environment for our tag library. Now we started to get really productive.

Until that point we were using IBM Visual Age Java for our development environment. Although it has many flaws, we considered it the best tool in a pretty pathetic field of offerings by the various Java vendors. But then IBM pretty much abandoned it for their Websphere Studio product, which we were not particularly impressed with. It amazed us because we thought that VA Java was the only good piece of software they had in the Java / web space and they dropped it in favor of all their other stuff, which we hated. So we went shopping around for another environment and we were once again disappointed by how pathetic the offerings were. One of our developers came across IntelliJ IDEA and really liked it, but it did not do web applications. So we combined IntelliJ with Tomcat, JADE, Dreamweaver and some homegrown utilities. Now we had a really great environment for writing the Java code, a really great WYSYWG painter for the JSPs, and a solid foundation to code from all integrated together. We started cranking out web code as if it were Visual Basic. But unlike VB code our code is built on a solid OO foundation, uses open standards and is vendor neutral.

We did not actually ever plan on releasing JADE to the public. It was our secret weapon. But then one of our clients asked us why we were not using Struts by Apache. We did not have an answer so we looked into it and found that to write the same program in Struts it takes about twice as much code as with JADE. And a lot of the extra code is of the mindless, tedious variety, which we really abhor. Moreover to get the same functionality with Struts that is built into JADE you have to integrate with and learn a whole array of different open source tools, all by different developers. And after all that you end up having to code the GUI in notepad. It did not sound too productive to us. We started thinking that we might have something here.

Then one day we went to a Microsoft.Net Studio demo. Our first impression was surprise because it looks a lot like JADE (not really surprising when you think about it because a lot of the concepts underlying both are the same). Next we were upset because it looks better then any tool that any Java vendor has come up with (at least at the demo). We figured that Microsoft understands a fundamental truth that the Java vendors do not: If you make something easy to use, people will use it. We figured that if the Java world does not get their act together in a hurry, Microsoft would start to win the hearts and minds of web developers and that would be it for Java. Having no desire to become Microsoft programmers we decided to release JADE as open source and at least do our small part in keeping Microsoft from taking over the rest of the world. And we actually do have something that even Microsoft does not. Like Dot Net Studio JADE provides everything you need to build web applications, but uses open standards, best-of-breed tools from different vendors and is open source and free of charge.

Jade is avaliable on for download on Source Forge
For more information check out The JADE Home Page

Click Here!