geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Srinath Perera <>
Subject Re: JSR 109 implementation for Apache (additions to architecture)
Date Mon, 27 Oct 2003 11:28:38 GMT
Hi All,

The overall architecture. (can everybody comment on this... if everybody
willing we shall put it to archi doc.)

-- 1 --
if we define architecture very simply we can make it two parts.
(part1)   (part2)
parsing | code generation

we should lay out well defined interface between these two that we take 
only the information over this interface. The code generation part is
independent of the parsing part and do not aware does schema parsed with
jaxme etc kind of details.

If you all happy about it shall we set this type of interface

Interface is J2EEWebServiceContext it has following sets of interfaces
1)set of interfaces that expose the info taken from JAX-RPC (Ias  can
you laid this out.)
2)set of interfaces that expose the info taken from WSDL (Any body up to
it. Ias do you parsing the WSDL .I believe. let say you and me laid this
3)set of interfaces that expose the info taken from web service.XML
(Srinath(me:) ) like to do it).
4)set of interfaces that expose the information from the ejb.xml file
(we should use the Geronimo parser ... we will hide it behind our
interface.) Anybody up to laid this out.

parser's writers should write the impl classes implement appropriate
interfaces and populate the information.
Code generators *MUST* work on these interfaces *ONLY* (we may have to
make JAXB an exception here .. it can parse and generate once!)

-- 2 -- 
use the Geronimo DD parsing facilities.
Can somebody let others know what is the best  place to find the DD
architecture info. from following what does Geronimo support right now.
1)WSDL (??)
3)ejb xml file (yes?)
4)web service.xml (no?)

We will write code to support what Geronimo not support now. Are we add
that code to Geronimo DD parsing module.

framework for code generation side.
basic idea is there are two interfaces 
  + generate();  
This class represent a module. (say ejb generator or web service wrapper
generator) when you call generate() module should generate whatever it
suppose to.generate.)
   + writeCode(); 
the writer is for writing a single file. (e.g when u call writeCode() on
the SEIwriter it should generate SEI. the generator will have one 
or more Writers. Generator create a module, one or more file). 
There is two factories for the Generator and Writer. This will 
hide the  concrete impls 

this method will make sure 
1) easy to adjust or change (module files.) 
2) every body will use same model for code generation 

if every body likes this I will add this to architecture and 
put the code to cvs (when cvs is available) 

sorry mail is bit long. (I thought this should done ASAP as coding has
already started.). I hope u are getting archi details I am try to



View raw message