users@glassfish.java.net

Re: If you deploy app clients we need your feedback on some choices in v3!

From: <glassfish_at_javadesktop.org>
Date: Thu, 26 Feb 2009 17:07:19 PST

Hi, Markus.

I think we may be in "violent agreement" on this. I think you've described Option 2, at least in many respects. The Class-Path entry in the client JAR's manifest is definitely something we'll take advantage of to simplify things.

Just to clarify a few things...

Deployment in the sense you mean is, I think, deployment of the required app client bits to a given remote system, correct? Not considering the Java Web Start support for a moment, there are really three ways to deploy the client bits to a remote system:

1. As part of deploying the enterprise application to GlassFish, by specifying "deploy --retreive local-dir ..." which will retrieve the required client bits (including library JARs) into the local directory local-dir.

2. Using the "get-client-stubs" command on a remote system where you want the client bits to reside.

Note that both 1 and 2 require a subset of GlassFish be present on the system beyond what's needed for the app client container. Executing the get-client-stubs command requires some JARs on which the ACC does not depend.

3. Using 1 or 2 on some system and then transporting those client bits to the remote system(s). The remote system also needs to have the ACC bits installed at some point. (Of course, simplifying all of this is part of the value of the Java Web Start support.)

As for starting the client using java -jar, we actually are moving very close to that. If we can get the ACC bits small enough then we could include the ACC with every downloaded app client. I'm afraid that's unlikely, though, because some of the pieces ACC needs (the ORB, persistence unit support, etc.) are just too large.

We would like to support java -jar, so we're not arguing against it by any means. We are working through some options and challenges and I've done a fair amount of thinking of how we might accomplish this. There's more work to do to get there, though.

As for the start-up time, the extraction (in v2 and, if deferred, somewhat so in v3) actually does take a fair amount of time if the client or any libraries it depends on is large. So can connecting to the ORB on the server, for example. We're trying to find ways to improve anywhere we can.

And I'm very glad for the feedback.

- Tim
[Message sent by forum member 'tjquinn' (tjquinn)]

http://forums.java.net/jive/thread.jspa?messageID=334115