Excel Driven Architecture and Design with Java EE (EDAD) - beyond MDA :-)

UML 1.X and 2.0 are wonderful, but you will find only view domain experts, analysts and developers who really understand the stereotypes, tagged values and profiles. Without deep UML knowledge - your models become ambigous, verbose and so also useless for efficient communication between stakeholders. At the same time the "business" statekeholders love to use spreadsheet for modelling the business domain, business rules and sometimes also coarse grained components. I was several times challenged with the problem of transforming the excel spreadsheets into UML diagrams. But: Why not reuse this information directly? In one project I simple read the excel model, using JXL (the Horrible Spreadsheet Format, HSF were also possible) and genereated sourcecode skeleton with velocity on the fly. Reading Excel with JXL is actually very easy:

   Workbook workbook = Workbook.getWorkbook(new File(this.fileName));
   Sheet sheets[]= workbook.getSheets();
   Sheet model = null;
   for (Sheet sheet : sheets) {
    if(START_SHEET.equalsIgnoreCase(sheet.getName())){
     model = sheet;
     break;
    }
  }
   Cell cell = null;
   for(int row=START_ROW;row<model.getRows();row++){
    for(int column=0;column<model.getColumns();column++){
     cell = model.getCell(column, row);
In the long term view, velocity-templates can become unmaintainable, and expensive to extend. For more complex projects I used velocity as a bridge to generate platform independent models (PIM) first. After this step, the PIM was refined and transformed into the sourcecode. For this purpose I'd suggest the great openarchitectureware (oaw) tool from the eclipse GMT subproject. It allows the defiinition of metamodels and comes with a simple, but powerful template-language called XPand. There is also an eclipse plugin available for developing and maintaining the templates (it comes with syntax highlighting and auto-completion).

Using Excel as an input for the generation of the structure of an architecture is not such a bad idea. Now the analyst's document are almost executable :-).

I'm still looking for a way for transforming the architect's polished PowerPoint files into code, but it is very hard to interpret the animations :-)


Actually I submitted a session with the same title to a german conference - but it was rejected :-)

Comments:

Hi, we did the same for migrating a big content database. it was fun.

Posted by simonox on October 12, 2006 at 04:38 PM CEST #

I've actually embedded excel spreadsheets that contain requirements in them in applications before. Things like field labels, field lengths, validations... That way, the BA has no one to blame but themselves... unless of course you wrote the parser wrong :)

Posted by Brian on October 12, 2006 at 10:39 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments
License