Hi Lawrence,
Let me see whether I can make sense of some of the stuff. Others will
chip in as needed and will surely holler if I make a mistake.
Axis2 Third Party Dependencies
------------------------------
activation-1.1.jar MIME support
annogen-0.1.0.jar Annotation support
axiom-api-1.2.5.jar XML pull parsing
axiom-dom-1.2.5.jar XML pull parsing
axiom-impl-1.2.5.jar XML pull parsing
backport-util-concurrent-2.2.jar ?
Thread pooling support. This feature is built in for Java 1.5 and this
particular jar has a backport of that code to Java 1.4
commons-codec-1.3.jar URL encoding?
commons-fileupload-1.1.1.jar Used for uploading new service
files in the admin client?
Yes - needed only when using the webapp
commons-httpclient-3.0.1.jar Used by the Axis2 kernel?
Yes - but primarily on the client side. I believe it is needed in the
server side if asynchronous calls are to be supported.
commons-io-1.2.jar ?
commons-logging-1.1.jar Is this related to Log4J?
Well kind of. Commons logging is a common API on multiple logging
frameworks (log4j/java.util.logging) but allows the switching of the
logging engine easily. All the logging code inside the Axis2 source
are made using commons logging classes.
geronimo-annotation_1.0_spec-1.1.jar More annotation support?
geronimo-jms_1.1_spec-1.1.jar JMS bindings?
JMS transport really.
httpcore-4.0-alpha5.jar Used by the Axis2 kernel?
httpcore-nio-4.0-alpha5.jar Used by the Axis2 kernel?
httpcore-niossl-4.0-alpha5.jar Used by the Axis2 kernel?
The nio (non-blocking io) transport dependancies. Its an improved
version of the HTTP transport. My understanding is that this is used
optionally (the default Axis2.xml does not point to this transport
AFAIK) but needs confirmation
jaxb-api-2.0.jar Used by the Axis2 kernel?
jaxb-impl-2.0.5.jar Used by the Axis2 kernel?
jaxb-xjc-2.0.5.jar Used by the Axis2 kernel?
These were primarily for the Jaxb based code generation but now the
JAX-WS module uses these as dependencies. In any case these are needed
1. if the user needs to generate code with Jaxb data binding
2. If he needs the JAX-WS module running (which is only on a jdk 1.5
environment)
jaxen-1.1.1.jar XPath engine - where is this used?
AXIOM has a Jaxen based Xpath implementation and this jar has the core
Jaxen classes for it
jettison-1.0-RC1.jar JSON StAX parser
jibx-bind-1.1.5.jar Related to JAXB?
jibx-run-1.1.5.jar Related to JAXB?
Nope. Jibx is an alternate databinding. My guess is one would need
these only to use Jibx generated code (databinding - either on server
side or client side)
juli-6.0.10.jar ?
Juli is an alternate implementation to Java.util logging from tomcat.
Here is what the tomcat site says
"A limitation of JDK Logging appears to be the inability to have
per-web application logging, as the configuration is per-VM. As a
result, Tomcat will, in the default configuration, replace the default
LogManager implementation with a container friendly implementation
called JULI, which addresses these shortcomings."
It seems that this one is needed only when the webapp comes to play
log4j-1.2.14.jar Logging - Is this optional? I don't
always want to use Log4J - for
example, when working with Eclipse.
I suppose the default logging configuration with common-logging is
log4j. I assume we can turn it to java.util logging but most folks are
not in favor of it (it will reduce this jar though)
mail-1.4.jar MIME support?
Yes
mex-impl-1.3.jar ?
Metadata exchange implementation (WS-Mex).
neethi-2.0.2.jar WS Policy - Is this optional?
I don't think so. This would be required both at runtime and codegen
time to process policies
soapmonitor-1.3.jar Is this part of Axis2 or another
project? Is this just used by the
Axis2 runtime or is it just the
standalone SOAP monitor tool?
soapmonitor has two parts - the applet and this server side component.
We may be able to make it optional (i.e. pack it with the war only)
stax-api-1.0.1.jar XML pull parsing - I think this
should be replaced in the next
version with Geronimo's
API as Axiom has made the change
I'm not sure whether the API has changed. But this jar is only the API.
tribes-6.0.10.jar ?
Clustering implementation
woden-1.0-incubating-M7b.jar WSDL 2.0 support
wsdl4j-1.6.2.jar WSDL 1.1 support
wstx-asl-3.2.1.jar XML pull parsing
xbean-2.2.0.jar Looks like a competitor to OSGi -
where is this used?
Don't let the name fool you :) This is actually the XMLBeans core
classes. There is a sepearate project called XBeans that has no
relation to this. This one is only needed if one uses XMLBeans
classes.
xalan-2.7.0.jar XSLT - Where is this used?
xercesImpl-2.8.1.jar DOM parser - Does Axis2 actually
need a DOM parser? I thought
everything was done with
pull parsing.
xml-apis-1.3.03.jar DOM parser
Axis2 has some DOM based code in the code generator but the standard
VM DOM impl is sufficient for that. The above jars are used primarily
by the SAAJ impl which has a DOM level 3 dependency. JDK 1.4 included
parser (Crimson) is DOM level 2 I believe.
XmlSchema-1.3.2.jar XML schema support
Thanks,
Lawrence
To me it seems that we can ship certain jars only for the webapp. Also
we have been discussing three types of distros, minimal, standard and
full which will include jars in various degrees but it seemed a bit
confusing at that time for the users (this was actually done in 1.0
release). May be it is time to restart these discussions