ws-muse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Barry Atkins <bar...@us.ibm.com>
Subject MUSE on J2ME/OSGi status
Date Thu, 16 Nov 2006 14:42:18 GMT
With Joel's help, I have isolated hopefully the last remaining dependency 
with axis/xerces/osgi-mini-environments/QName, after playing repeated 
rounds of Whack-a-Qname,

- New bundle muse.platform containing the following :
        - URI classes URI , URIEncoderDecoder, & URISyntaxException 
borrowed from Harmony
        - a simple Logger class, which will eventually use the equinox 
logging facility for J2ME, currently just dumps the output to the console
        - miscellaneous string functions replaceAll, replaceFirst, and 
split. References in the existing code base to java,net.URI, 
string.replaceAll(), string.replaceFirst(), etc, have been replaced (in my 
local copy) to use the above replacements.

- Replaced usages of RuntimeException(String message, Throwable cause) 
with RuntimeException(String message) 
- bundle manifests have muse.platform added as a dependancy. 
- tweaked wsn-consumer code (i.e. java.net.URI) to ensure clean 
compilation with J2ME/OSGi 1.1 environment)
        - tested wsrf sample 
        - tested wsn-consumer (with OSGi/J2ME) with wsn-producer (with 
OSGi/J2ME) 
        - tested wsn-consumer (axis) with wsn-producer (with OSGi/J2ME)
        - tested wsn-consumer (with OSGi/J2ME) with wsn-producer (Axis)
- all tests pass, it's alive.


I have installed IBM's J9 for Windows, configured this a J9 JRE with 
eclipse, to ensure the code base runs with a real J2ME environment.
Some run-time exceptions are appearing running the above samples, I'm 
tracking the problems down now.

TODO :

        Install ARM J9, deploy J2ME MUSE on an iPAQ (or simulator)
                - test wsrf sample
                - test wsn-consumer (with OSGi/J9) with wsn-producer (with 
OSGi/J9)
                - test wsn-consumer (Axis) with wsn-producer (with 
OSGi/J9)
                - test wsn-consumer (with OSGi/J9) with wsn-producer 
(Axis)

        - create log architecture to allow for java.util.log usage for 
Axis builds, explore J2ME/OSGi log features (org.eclipse.equinox.log)
        - Check in the J2ME code to SVN - ideas  ? code branch? The code 
base I'm using is probably 6 weeks old, so I will probably obtain a fresh 
build & merge my changes locally 
        - Modify maven build to conditionally build J2ME MUSE  ? Are there 
build flags to build osgi vs. axis builds ? I'm a maven newbie.
        - A muse.platform bundle for existing axis/osgi builds needs to be 
created, utilizing existing java.net.URI, logger, etc. classes
        - anthing else that I happen to have forgot


Current OSGI J2ME Structure  :
 
Bundles (as eclipse/equinox plug-in projects) :

muse-osgi-soa-mini
muse.core
muse.osgi.core
muse.osgi.soa.core
muse.platform
muse.util.all
muse.wsa.soap
muse.wsdm.muws.adv.api
muse.wsdm.muws.adv.impl
muse.wsdm.muws.api
muse.wsdm.muws.impl
muse.wsdm.wef.api
muse.wsdm.wef.impl
muse.wsn.api
muse.wsn.impl
muse.wsrf.api
muse.wsrf.impl
muse.wsrf.rmd
muse.wsx.api
muse.wsx.impl
MuseExternalDependancies
        commons-logging.jar
        log4j-1.2.8.jar
        saaj.jar
        wsdl4j-1.5.2.jar
        xalan-2.7.0.jar
        jaxrpc.jar
org.apache.xerces
        xml-apis.jar
        resolver.jar
        xercesImpl.jar
osgi.ee.foundation
        ee.foundation.jar

Test Bundles :
wsn-consumer
wsn-producer
wsrf

Most of the above bundles are configured to use an execution environment 
of "OSGI/Minimum-1.1" in their corresponding manifests, otherwise 100's of 
the following compilation errors occur :

        Access restriction: The constructor QName(String, String, String) 
is not accessible due to 
        restriction on required library org.apache.xerces/lib/xml-apis.jar


My thanks to Joel Hawkins for his repeated answers to my dumb questions. 
Comments/suggestions to the above are welcome. 

regards,
Barry
Mime
View raw message