Overview / Java

Simply

Most people who have done system generation will tell you that it is anything but simple; most people who haven't will tell that you it's impossible!
So let's explain the various aspects of the "Simply" approach.

Start Quickly: First of all, we start with simple building blocks - namely Java, XML, Ant and Velocity. The first three are well known to people in Java development. The last one, Velocity, is a templating engine: it's an Apache project, with a simple syntax that allows you to turn a template with "holes" into a piece of code or configuration just right for your system. A Java developer can get up to speed on Velocity in an hour or two and then start working with JeeWiz.

In fact, one of our customer architects didn't even wait that long. After installation and an introduction to the persistence templates, he said "Don't like the way you do that...", took over the keyboard and got stuck in changing them.

Go Faster: Second, there are many standard tasks in generating systems. Most generation engines give you the basics, but not a lot more: this means you have to do a lot of work for each task. JeeWiz makes all the steps simpler by providing a framework; Velocity extensions; and a large library of functions for use from Velocity - around 250 methods to do a whole range of jobs.

One of the reasons for using the Java/XML/Ant trio is the vast wealth of integrations and add-ons already available for them, which are easily accessible in JeeWiz. We have beefed up the weakest link - Velocity - to make it simpler to implement common tasks.

Reuse: The simplest way to get something is to build on someone else's work: in other words, to use pre-written components. JeeWiz has special features to support a system generation "supply chain", so high-value generation systems can be assembled from a range of pieces - and then specialised relatively easily.

We heard Steve Cook at Code Generation 2008 say that forming such supply chains was a long way off. But JeeWiz provides the tools and exemplary generation systems to make supply chains realistic today - we just have to do it!

As simple as possible: Our experience is that we unlock most business value when we automatically generate complete applications - and to be honest, even with JeeWiz it is not simple. The important thing about using the simplicity, power and supply chain of JeeWiz is:

  • it's possible to generate complete applications
  • it's economically worth doing
  • we can push back the boundaries of what is possible with system generation.