Hi,

Several months ago on the struts-user list there was a discussion on
automatically deriving Java classes from a datamodel and creating
beans to be used in forms.  See:

  [EMAIL PROTECTED]/msg01589.html

In the interim we have done some prototyping work to define a datamodel in
XML and XSLT stylesheets to generate Java code.

We now would like to propose this as a new Commons package.  
The proposal text follows below and a zip file containing the initial
source base is attached. 

Best,
-- 

        Michael Gerdau 
        Nick Afshartous


datamodel-proposal.zip



Proposal for Jakarta Commons Datamodel package

                    (0) rationale 

The goal of this package is to provide a framework for 
defining and automatically generating Beans used to encapsulate data 
retrieved from a database, and the corresponding JDBC access code.  
The input to the code generation (datamodel definition) is an XML 
configuration file that is translated via XSLT.   

Possible future directions:

 - Java code generation for a business object layer and a
   declarative mechanism to express business rules.  

 - generation of default jsp/struts-"snippets" to be included 
   into display/edit pages as well as SQL-scripts and 
   data-access code written in other languages (i.e. C/C++).

 - integration with the DataSource API and the Jakarta Commons
   Connection Pool package.

 - Java code generation for protocols other than JDBC


                    (1) scope of the subproject 

The package shall create and maintain a datamodel package written in the Java
language and XSL stylesheets, designed to be used independently of any
larger product or framework and distributed under the ASF license.


                    (1.5) Interaction With Other Packages

Datamodel relies on:

                    Java Development Kit (Version 1.2 or later)
                    Java API for XML 1.0 or later compliant XML parser
(Xerces, XP, etc.), SAX 2.0 compliant XML parser recommended  
                    DOM Level 1 compliant XML processor (Xalan, Xt,
etc.), DOM Level 2 recommended 
                    [at a later stage] JUnit Testing Framework
(Version 3.2 or later) - for unit tests only, not required for
deployment 



                    (2) identify the initial source for the package

                    The initial codebase was contributed by Michael
Gerdau and Nick Afshartous from a working project and can be
distributed under the Apache license. The source is attached.


                    (2.1) identify the base name for the package

                    org.apache.commons.datamodel

                    (3) Jakarta-Commons resources 

                    (3.1) mailing list

                    Until traffic justifies, the package will use the
Jakarta-Commons list for communications. 

                    (3.2) CVS repositories

                    For the time being, the package will use a root
branch of the Jakarta-Commons CVS. 

                    (3.3) Bugzilla

                    The package should be listed as a component of
under the Jakarta-Commons Bugzilla entry. 

                    (3.4) Jyve FAQ (when available)

                    commons-datamodel

                    (4) identify the initial set of committers to be listed in the 
Status File.

                    Nick Afshartous
                    Michael Gerdau



Reply via email to