[Jchassis-devel] JChassis update
Status: Alpha
Brought to you by:
stainsby
|
From: <sjs...@ya...> - 2002-11-22 10:59:55
|
Dear JChassis folk,
Just another update on the progress of JChassis.
This week I started applying for a small grant
for my QUT research. The closing date is next
Friday - I'll let you know how I go.
I'm also in the process of negotiating an
intellectual property agreement with the director
of the research group I'm in at QUT (Centre for
Information Technology Innovation = CITI). My aim
is to ensure that IP I develop consisting of JChassis
framework code, algorithms, doco, etc. remain mine,
and not QUTs. They get the other stuff - the results
of the research. Should any of you decide to put
fingers to keyboard and write anything for JChassis,
please ensure that you have clarification, preferably
in writing, from you employers determining that you
own the IP. Let me know if you need help with this.
Development-wise, JChassis is comming along in leaps
and bounds. The two service containers (contexts),
"core" and "basic" are completed and unit tested.
Three plugin services, CommandLineParser, Log and
SAX2Parser (a convenient point to plug in SAX2 parsers)
are completed and unit tested. The SAX2 parser is used
to load XML configuration into the basic context.
I am also developing example programs which will aid
understanding of the JCHassis. Several of these are
completed already.
The next major step are:
* developing a facility that checks for
dependencies between components and other
resources and ensures that these are satisfied
during runtime (or maybe just at installation time)
* working out how to package components into
easily deployable units (consider EAR files in
Enterprise Java)
* defining some kind of configuration to declare
dependencies between components and other resources
For example, a service interface "A" might have
an implementation class "AImpl". This implementation
might require a service with interface "B".
Also, If AImpl was doing something with SAX2,
it might require the org.sax.XXX packages. These
only come out-of-the-box with JRE 1.4, but are
also available elsewhere so they can be used with
JRE 1.1 up to JRE 1.3. So there is a set of
dependecies here that I would like to check
automatically, during runtimne (or possible only
once during installation of the components/resources).
We might declare the dependencies above with a
little XML (I'm just making up the package names
here):
<interface>
<class>org.jchassis.a.A</class>
<metadata><name>Version</name><value>1.00</value></metadata>
<metadata><name>Author</name><value>Bob
Bilby</value></metadata>
</interface>
<interface>
<class>org.jchassis.b.B</class>
<metadata><name>Version</name><value>1.01</value></metadata>
<metadata><name>Author</name><value>Mary
Hooha</value></metadata>
</interface>
<implementation>
<class>org.jchassis.a.impl.AImpl</class>
<metadata><name>Version</name><value>5.15a</value></metadata>
<metadata><name>Author</name><value>Fred
Whatsit</value></metadata>
<depends>
<interface>org.jchassis.b.B</interface>
<choice>
<jre>1.4</jre>
<module>SAX2</module>
</choice>
</depends>
</implementation>
<module> <!-- module = group of classes and packages -->
<name>SAX2</name>
<package>org.xml.sax</package>
<package>org.xml.sax.ext</package>
<package>org.xml.sax.helpers</package>
<depends>
<jre>1.1</jre>
</depends>
</module>
Presumably, each piece of configuration would
be stored with the approriate interface, implementation
or module JAR file ...
Anyweay, let me know if you have any ideas ...
Cheers,
Sam.
=====
Sam Stainsby
http://www.yahoo.promo.com.au/hint/ - Yahoo! Hint Dropper
- Avoid getting hideous gifts this Christmas with Yahoo! Hint Dropper!
|