-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +1 for both the suggestions.
Ajith Ranabahu wrote: > Hi, > > On 10/17/07, Eran Chinthaka <[EMAIL PROTECTED]> wrote: > 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. > >> Yes we can do that. We already pick up the databinding implementation >> by reflection and it is easy enough to print a message to print a >> readable error message for the absence of the jars. >> What I prefer to have is jar bundles for each databinding. Say for >> XMLBeans we have a xmlbeans bundle (Xbeans jar, the Xbeans-codegen >> module etc) and so on. > > 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) > >> Well not really. All our logging code is based on commons-logging. If >> we are to remove this code it would be somewhat significant effort and >> also what would you replace it with ? The way it is right now is the >> best way. What we can do is to send the default config to use >> java.util logging so that we do not need to send the log4j jar along. > > > 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 >>>>>> >>>> >> - --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] >> >> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHFtRYjON2uBzUhh8RAj08AJ9fgV2TjLMMmgB1fc7U9zWLYEHViACgoTrn nF2pdo1q7j7RS1bBUFVDq70= =oEDM -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]