-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Since the topic is about jar dependencies, I'd like to comment on two
aspects.

1. As one can see there is a huge number of dependencies we have in
Axis2 and I think we ship almost all of them with our releases. Why
should we release both xbeans and jibx with adb? My suggestion, let's
ship the minimum number of jars required for a user. If he needs to use
XmlBeans, then let him download it. Same thing for JiBX.
And also it is better to see the minimum set of jars required to run a
client somewhere. I raised this point couple of days before also. If you
need to do a SOAP call, you need to include more than 20-25 jars.

2. Why do we need to have commons-logging? One would say well it let's
you plug "any" logging module. How many of the users have really used a
logging framework other than log4j? This is YAGNI for me. (you can also
see very good comments about commons-logging from our valuable admirer
here http://www.bileblog.org/?p=259)

Just my 2 cents.

Thanks,
Chinthaka

Sanka Samaranayke wrote:
> Hi,
> 
> 
> 
> 
> Sanjiva Weerawarana wrote:
>> Thanks Ajith.
>>
>> I think we should document this somewhere- we often get this question
>> and there's obviously reasons for why we have all these dependencies.
>> We need to clearly indicate which things are optional and indicate
>> under what conditions they come into use.
>>
>> I am not a fan of going back to the seven different distributions
>> model as that was confusing to users. Knowing the dependency reasons
>> will help embedders decide what they really need to pull in and what's
>> optional.
>>
>> One jar I didn't understand is the mex jar. Why is that around; that
>> should only be in the mex mar I believe.
> 
> You need that jar if you use MexClient in your client code.
> 
> Thanks,
> Sanka
> 
>>
>>
>> Sanjiva.
>>
>> Ajith Ranabahu wrote:
>>> 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
>>>
>>
> 
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHFr40jON2uBzUhh8RAknxAJ9B7dxo/NWv24j6d2tw5ZN1zmRGSQCgi3+j
RG8ypZ6vFeGxcT7kkSKMIDo=
=ggkC
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to