I've been experimenting with (yet another) scripting language called Jelly.
Its kinda like JSP custom tags without the JSP, borrowing ideas from
Velocity and XDoclet and its really simple & lightweight & embeddable. I
plan on integrating BSF so that JavaScript et al could be embedded inside
tags with maybe Velocity as an expression language. Jelly could implement
the JSTL tags too if need be. There's some documentation in CVS if folks are
interested learning more.

The idea behind Jelly was that XML allows extensible tags (e.g. JSTL, Struts
etc) so I wanted a simple way to be able to script complex stuff like making
a SOAP call, doing XSLT, JMS messaging, HTTP malarkey along with working
with Java beans all in a simple XML language. Though I didn't want to base
it on JSP so it could be used anywhere (from Ant or whatever). One objective
a bit further down the line was to make a simple SOAP scripting engine that
based on a WSDL file or some jelly script to make a new tag to do useful
stuff. e.g.

<babelfish:translate from="en" to="fr">
using simple XML scripting with SOAP under the covers
</babelfish:translate>

Well I started looking again at Workflow today and it got me thinking - both
efforts are kinda similar though from completely different perspectives. All
the Steps are quite close, programatically to the Tags I'd started writing.
The major difference is the 'run' methods are execute(Context) and
run(Context, Writer) respectively. So Jelly allows scripts to output stuff
which Workflow does not right now, other than that, spookily similar. Also
both Jelly and Workflow have a Context which is similar to an abstraction of
JSP scopes and Activity & Block are similar to the Script stuff in Jelly.

Quite what all this means I'm not sure :-) but what could be really useful
is if we could have a single API for writing 'Steps' or 'Tags' then both
projects could share them.

e.g. I'm gonna write a bunch of 'tags' for doing HTTP (using httpclient),
JMS (using messenger), SOAP (probably using Axis), XSLT as well as the
existing XPath ones and JSTL-like core tags using a pluggable expression
languages (which right now is beanshell but will be BSF soon). Ultimately I
was gonna try plugin XDoclet tags too then we could mix and match scripting
languages, JSTL, various other tags and XDoclet all from one 'declarative
XML based script'.

It'd be nice to be able to share all this stuff across both Workflow and
Jelly. Maybe Jelly scripts could be part (or all) of an activity in Workflow
too but thats maybe more complex.

Thoughts?

James



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to