axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arvind Chaudhary" <carv...@techmahindra.com>
Subject RE: Minimal SOAP Client footprint
Date Mon, 08 May 2006 14:46:18 GMT
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



Mime
View raw message