The JADE Open Framework, an open source RAD tool for the J2EE!
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: Dreamweaver, 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 wasn't much out there in the way of tools that wasn't
vaporware. Some tools were starting to emerge, but they were poorly designed,
loaded with bugs 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 wasn't enough there to really do an application (unless you like having
a million System.out.printlns). We 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's 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. Somebody even 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, 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 weren't 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 didn't 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 like it was Visual Basic. But
unlike VB code, our code is built on a solid OO foundation, uses open standards
and is vendor neutral.
We didn't actually ever plan on releasing JADE to the public. It was our
secret weapon. But then, one of our clients asked us why we weren't using
Struts by Apache. We didn't 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 hate. Also to get the same functionality with Struts that
is built into JADE you have to integrate and learn a whole bunch of different
open source tools, all by different developers. And after all that, you end
up having to code the GUI in notepad. It didn't 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 don't: If you make
something easy to use, people will use it. We figured that if the Java world
doesn't 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
doesn't. 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.
For more information see <a href="http://www.salmonllc.com/website/Jsp/vanity/Jade.jsp?nav=5">The
JADE Home Page</a>
You can download JADE from <a href="http://sourceforge.net/projects/salmon">Source