cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Wolff <wo...@rsv.ricoh.com>
Subject Easy to maintain Web applications?
Date Wed, 15 Dec 1999 05:18:49 GMT

Are there any good examples of applications built on cocoon that can be
easily customized?  I'm trying to understand how this technology works in
practice, for example in a workflow system, to see whether we might be able
to contribute to the coccon development effort.

We have developed a technology with seemingly similar goals -- making it
easier to build and maintain Web applications.  Our focus has been on
smaller scale applications that might be maintained and customized by
non-programmers, but our solution has some of cocoon's qualities.  PIA
Applications consist mainly of pure XML documents processed by a server side
engine written in Java.  This software (with the decidedly inferior name of
PIA "Platform for Information Applications") is available as open source
from www.RiSource.org with a live demo server at
http://pia.rsv.ricoh.com/Tutorial/home.xh

The eventual goal of RiSource.org is to facilitate the development of Web
applications that can be customized and evolve to meet changing user needs
without substantial IT support.  Developing a suitable application platform
was seen as a necessary first step.  The PIA does this by effectively
separating development (defining the set of active tags) from
customization/maintenance (editing and extending the XML pages based on
those tags) without imposing barriers between the two.  The technology has
been used for several internal applications and we continue to refine the
feature space.

Rather than separate technologies, a single standard approach would be much
preferred and we would seriously consider ways of integrating our platform
with the cocoon effort if the goals are compatible and the technical issues
can be resolved.  Before submitting an actual proposal, we need to
understand more about the current and future directions of the project
(hence the leading question). 

For those who might be interested, here's a brief summary of some of the
technical differences (from a naive cocoon perspective):
	XML processing model -- the PIA defines active tags which are
processed in an event based manner similar to what is described in the XSP
working draft except that tags can be defined either in terms of other tags
or Java "handlers."  In the latter case, the tag definition (itself part of
an XML document) has an attribute that points at the appropriate java class.
Documents can be streamed through without necessarily constructing a parse
tree/DOM object in memory and could, in principle, be compiled.  In
contrast, XSLT uses explicit application of templates, requires full DOM
construction, and defines a fixed set of possible operations on the XML.
Processors can perform arbitrary processing on the document.
	Configuration -- PIA applications consist of a set of XML documents,
tagsets (XML documents that define the actions associated with tags), and
configuration files (also XML) that map tagsets to documents (and URL's to
"virtual documents").  This allows the same document to be processed in
different ways depending on the context.  Cocoon embeds the style sheet and
processing instructions in a document.  (A site configuration proposal has
been mentioned on the mailing list.)
	State/context management -- the PIA allows arbitrary XML elements to
be assigned to entities where they can be manipulated and referenced.
Entities are arranged into hierarchical "namespaces," some of which are
specific to the current document (e.g. &FORM:input; references the value of
the variable named "input" in the query string of a GET or POST request) or
persistent across documents (e.g. &MYAPP:mystate; might reference a
namespace "MYAPP" defined in the applications configuration file).

More information on the PIA can be found on http://www.RiSource.org/PIA 
We also have a couple of RFP's on www.sourceXchange.com for developers who
might be interested in porting the PIA processing engine to C or developing
customizable Web applications.  (Depending on how those projects go and
where this discussion leads, we might consider sponsoring future work on a
more integrated/standardized platform.)


-Greg

Gregory J. Wolff	                wolff@rsv.ricoh.com	
Ricoh Silicon Valley		        http://rsv.ricoh.com/~wolff/
2882 SandHill Rd. Suite 115	        phone: +1.650.496.5718  
Menlo Park, CA 94025-7022	        fax: +1.650.854.8740


Mime
View raw message