You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2002/03/09 16:32:10 UTC

cvs commit: jakarta-commons-sandbox/jelly OVERVIEW.html TODO.txt

jstrachan    02/03/09 07:32:10

  Modified:    jelly    OVERVIEW.html TODO.txt
  Log:
  Made a few changes to the overview document. Still needs a bit more work to explain what Jelly is
  
  Revision  Changes    Path
  1.2       +33 -7     jakarta-commons-sandbox/jelly/OVERVIEW.html
  
  Index: OVERVIEW.html
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/OVERVIEW.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- OVERVIEW.html	4 Mar 2002 03:32:25 -0000	1.1
  +++ OVERVIEW.html	9 Mar 2002 15:32:10 -0000	1.2
  @@ -12,9 +12,35 @@
   
   <h1>Jakarta Commons <i>Jelly</i> Overview</h1>
   
  -<p>Jelly is a simple yet powerful scripting engine. Jelly is totally extendable 
  -via custom tags (like JSP) as well as cleanly integrating with other scripting 
  -languages via BSF (Bean Scripting Framework).</p>
  +<p>Jelly is an XML based <i>processing engine</i>. The basic idea is that XML 
  +elements can be bound to a Java <i>action</i> which is a Java bean that performs 
  +some function. So Jelly is totally extendable 
  +via custom actions (like JSP custom tags) as well as cleanly integrating with  scripting 
  +languages such as Velocity, pnuts, beanshell and via BSF (Bean Scripting Framework) 
  +languages like JavaScript &amp; JPython</p>
  +
  +<h2>Background</h2>
  +
  +<p>It seems quite common these days to define custom XML languages to perform 
  +some kind of processing. Here are a few examples</p>
  +
  +<ul>
  +  <li>Ant</li>
  +  <li>XSLT</li>
  +  <li>XML Pipeline language</li>
  +  <li>JSTL and JSP custom tags</li>
  +  <li>Latka,&nbsp; AntEater &amp; other similar XML based unit testing frameworks</li>
  +  <li>commons-workflow</li>
  +</ul>
  +
  +<p>So the motivation behind Jelly was to create a simple XML based processing 
  +engine that could be extended to support various custom actions. A fully 
  +qualified XML element name can be mapped to a Java Bean (or DynaBean), the 
  +attributes map to bean properties, once the bean is constructed and the 
  +properties set it is executed via the Tag interfaces run() method. So custom 
  +actions can perform all kinds of processing from lower level looping, 
  +conditional logic and expression evaluations to higher level actions like making 
  +a HTTP, SOAP or JMS call, querying SQL databases etc.</p>
   
   <h2>Comparisons</h2>
   
  @@ -73,13 +99,13 @@
   
   <p>Jelly has various possible uses. Here's a few to think about</p>
   <ul>
  -  <li>Alternative to Velocity &amp; JSP</li>
  -  <li>Page templating system</li>
  -  <li>Code generation system</li>
     <li>SOAP, HTTP and/or JMS based scripting framework</li>
  +  <li>A unit testing framework similar to Latka and AntEater</li>
  +  <li>A workflow, EAI or integration, maybe integrated into commons-workflow</li>
  +  <li>Page templating system</li>
  +  <li>Code generation system, maybe an enhanced scripting engine for XDoclet</li>
     <li>Ant scripting</li>
     <li>Alternative implementation of JSTL</li>
  -  <li>Enhanced scripting engine for XDoclet</li>
   </ul>
   
   </body>
  
  
  
  1.5       +0 -4      jakarta-commons-sandbox/jelly/TODO.txt
  
  Index: TODO.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/TODO.txt,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TODO.txt	15 Feb 2002 18:25:06 -0000	1.4
  +++ TODO.txt	9 Mar 2002 15:32:10 -0000	1.5
  @@ -1,10 +1,6 @@
   TO DO LIST
   ==========
   
  -* introduce a config file on the classpath that describes the default URIs -> class names.
  -
  -* make 'body' a property of a Tag; then at the compile() stage a Tag can change its body if it wishes - or expand it etc.
  -
   * the org.apache.commons.jelly.impl package doesn't have a great name - can we think of a better one? 
     also some of the classes in this package could maybe do with a rename? ScriptBlock for example - should we 
     just call it a Block or maybe a CompositeScript?
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>