axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas" <dava...@gmail.com>
Subject Re: Minimal SOAP Client footprint
Date Mon, 08 May 2006 15:12:41 GMT
Arvind,

don't give up so easily :) everything is structured to give u the
smallest footprint. Please log a bug report after incorporating all
the suggestions in this thread.

Example: Did you try removing stax-utils and fileupload jars? and use
just the other ones?

As i mentioned before, try removing one jar each by hand and re-try
the client. When you get to the point that removing any more jar has a
problem, we need that list to start with. As Rodrigo mentioned don't
use JarAnalyzer.

Thanks,
dims

On 5/8/06, Arvind Chaudhary <carvind@techmahindra.com> wrote:
> Rodrigo,
>
> Yeah, you guessed it rightly. It would be a webstart application.
>
> I am realizing that Axis is not designed for small footprint clients. The
> focus is on the sever side providing REST like model. At the first look, we
> thought it to be a good alternative considering it the latest and the
> greatest. But, I see, the jar structure still needs to be improved upon for
> a small client footprint.
>
> Yeah, pack200 is great for reducing size. We would be using that. But, still
> we need to come up with the least possible footprint. And I guess KSOAP,
> with some extra coding, is a good option for that (Just 53KB).
>
> -Arvind.
>
>
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> Sent: Monday, May 08, 2006 9:39 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
>
> Do you mean you want to use Axis from within an applet or JavaWebStart
> application?
>
> You might be able to reduce the footprint in 300-400kBytes, but I am
> afraid you won't be able to put all in just 1MB.
>
> Perhaps you should change the approach. If you are using Java5, you may
> give a look at the Pack200 compression support:
>
> http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack20
> 0.html
>
> This format provides better compression than the default jar, and maybe
> it is the only way to achieve such a small footprint.
>
> Anyway, I would relax your 1MB threshold, as it is too restrictive for Axis.
>
> Hope this helps,
> Rodrigo
>
> Arvind Chaudhary wrote:
> > We need to distribute it to the users over internet. So I consider
> anything
> > more then one MB as heavy.
> >
> > As for exceptions, I don't see them anywhere. The sample is a swing
> > application. May be I am missing some property settings somewhere.
> Couldn't
> > find any settings related stuff in the docs.
> >
> > -Arvind.
> >
> > -----Original Message-----
> > From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > Sent: Monday, May 08, 2006 8:58 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: Minimal SOAP Client footprint
> >
> > BTW, where do you need to deploy your client? 2.48MB are usually
> > considered to be very lightweight in java.
> >
> > Cheers,
> > Rodrigo
> >
> > Arvind Chaudhary wrote:
> >> Rodrigo,
> >>
> >> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
> >> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
> >>
> >> So the files reduce to 14 totaling 2.48MB. That's still too big for a
> > simple
> >> client! I think it can be reduced further, at least the commons and the
> >> logging part. I don't see the logging and Commons http client used
> > directly
> >> in the sample code.
> >>
> >> axiom-api-1.0.jar
> >> axiom-impl-1.0.jar
> >> axis2-kernel-1.0.jar
> >> commons-codec-1.3.jar
> >> commons-fileupload-1.0.jar
> >> commons-httpclient-3.0.jar
> >> commons-logging-1.0.4.jar
> >> log4j-1.2.13.jar
> >> neethi-1.0.1.jar
> >> stax-api-1.0.jar
> >> stax-utils-20060501.jar
> >> wsdl4j-1.5.2.jar
> >> wstx-asl-2.9.3.jar
> >> XmlSchema-1.0.2.jar
> >>
> >> The sample does not work without commons-fileupload-1.0.jar and
> >> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
> >> Web API for the search.
> >>
> >> Here is the code from the sample
> > "sample.google.search.AsynchronousClient":
> >>         URL url = null;
> >>         try {
> >>             url = new URL("http", "api.google.com", "/search/beta2");
> >>         } catch (MalformedURLException e) {
> >>             e.printStackTrace();
> >>             System.exit(0);
> >>         }
> >>
> >>         Options options = new Options();
> >>
> >>
> >
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
> >>         options.setTo(new EndpointReference(url.toString()));
> >>
> >>         MessageContext requestContext =
> > ClientUtil.getMessageContext(this);
> >>         try {
> >>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> >>             QName opName = new QName("urn:GoogleSearch",
> > "doGoogleSearch");
> >>             AxisOperation opdesc = new OutInAxisOperation();
> >>             opdesc.setName(opName);
> >>             ServiceClient serviceClient = new ServiceClient();
> >>             serviceClient.setOptions(options);
> >>             OperationClient opClient =
> >> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
> >>             opClient.addMessageContext(requestContext);
> >>             opClient.setCallback(new ClientCallbackHandler(this.gui));
> >>             opClient.execute(false);
> >>
> >>         } catch (AxisFault e1) {
> >>             e1.printStackTrace();
> >>         }
> >>
> >>
> >>
> >> Regards
> >> Arvind.
> >>
> >> -----Original Message-----
> >> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> >> Sent: Monday, May 08, 2006 6:24 PM
> >> To: axis-user@ws.apache.org
> >> Subject: Re: Minimal SOAP Client footprint
> >>
> >> Arvind,
> >>
> >> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> >>
> >> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
> >> client does not "post" files to any web page. I am not sure, but the
> >> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> > support.
> >> If you are talking about a runtime environment, libraries regarding code
> >> generation might be also removed. If this is your case, you may be able
> >> to remove "annogen-0.1.0.jar".
> >>
> >> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> >> dependency on it. Jaxen should be needed only for complex XPath queries,
> >> so you might be able to remove both jars.
> >>
> >> For simple clients, JMS support should not be needed, so
> >> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> >> the list.
> >>
> >> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> >> Ideally, these classes should be optional, as in simple cases, this
> >> specification will not be used. Perhaps some in the list can confirm
> this.
> >>
> >>
> >> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
> >> They may refer to implementation classes that can be replaced by other
> >> ones through System properties. Can anybody confirm this? If this is
> >> correct, some wisely selected property definitions in the command line
> >> should remove several of these dependencies, and help to get a smaller
> >> footprint.
> >>
> >> I personally think that some of these dependencies should be considered
> >> as bugs. Either at code level, or at documentation level, as it is hard
> >> to find information about how to replace/remove them.
> >>
> >> Regards,
> >> Rodrigo
> >>
> >>
> >> Arvind Chaudhary wrote:
> >>> Dims,
> >>>
> >>> I tried, and this is the smallest number that it works on. I have also
> >>> generated a dependency list. I am embedding in the mails. Don't know if
> >>> attachments are allowed in this forum.
> >>>
> >>> -Arvind
> >>>
> >>>
> >>>
> >> --
> >> -------------------------------------------------------------------
> >> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> >> Parc Bit - Son Espanyol
> >> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> >> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> >> http://www.gridsystems.com
> >> -------------------------------------------------------------------
> >>
> >>
> >> --
> >> No virus found in this outgoing message.
> >> Checked by AVG Free Edition.
> >> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> >>
> >>
> >>
> >>
> >
> > --
> > -------------------------------------------------------------------
> > GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > Parc Bit - Son Espanyol
> > 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > http://www.gridsystems.com
> > -------------------------------------------------------------------
> >
> >
> > --
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> >
> >
> >
> >
>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

Mime
View raw message