Wednesday, October 17, 2007

JDA Composer reaching alpha 0.80


JDA Composer is yet another web-based mashup IDE, in the same vein as Microsoft Popfly, openKapow, TIBCO GI and stuff like that. The focus is not so much to be complete one-stop shop but to let people quickly prototype mashups and export them as stand-alone archives when done.

The url, for the impatient is here; http://www.mashupstation.com/station/users/admin/jdacomposer_draw2d.html

Note that this is alpha-level software which might work, might not and will most probably crash and burn you machine so bad you'll think it's running Vista or something. Just so you know. Right now it's only tested in Firefox :)

Here's a screencast (without sound) that shows how to create a simple google maps Gadget;


You don't need to login to try it out, which is intentional. The focus is on first designing your UI properly, style elements, drag and drop them on each other, change background images, et.c. Then, add JavaScript Blueprints to selected elements. For those of you who recognize the term in this context; Yes, I'm using JDA (Javascript Dataflow Architecture) to wire things together. The composer is itself built using JDA, and it also generates pages adhering to the same standard.

A description of JDA is outside the scope of this document, but I just want to say a few things about Blueprints. They're the basic building-blocks of JDA, actually just JavaScript functions which tie in to the JDA runtime in the page and declare input and output terminals. each input terminal a Blueprint declares has a handler function inside the Blueprint, and each declared output terminal can be tied to send JavaScript objects to the input terminal of another Blueprint. I'm lying a little bit about how it works here :) , but I want to emphasize the LEGO-block functionality of JDA.

As you can see in the screenshot, the Composer has a window which draws the relations between the input and output terminals of the components. In the auto-loaded example page, there is a GenericForm blueprint, which wraps a form with any number of components, and overrides any submit button, so that a submit of the form instead sends a name-value pair list of all input elements ion the output terminal of the component. This is connected to an input terminal of the GoogleMap component, which scans for addresses, and shows them on the map. Not very complicated as an example, but it illustrates the possibilities.

If you want to define your own Blueprints, that's OK as well, just go to the System Menu "JS IDE", and you'll get a window which after a while lists the currently registered Blueprints in the system. Pick one up, if you want, and get a list of the functions inside it. If you choose a function, you'll get a very nice code editor (Which I've thankfully expropriated from Christofe Dolivet and his EditArea team. Thanks! :)

Right now I feel that the system is stable enough to handle a casual try out from people in the know. Please flame me heavily by mail or in the Google Group provided.

Thanks!

PS video

1 comment:

SYSRJ said...

IS A VERY GOOD TOOL FOR THE CREATION OF ROBOTS WITH mashups and massive extraction of information, we WE HAVE THE ACCESSORY AND DEVELOPMENT TO THE MEASURE.

http://www.sysrj.com
sysrj@hotmail.com