[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! |