GlassFish Server Open Source Edition 3.1 - App Client Container Improvements

Scope

Feature-ID Priority Description Eng Response Owner(s) Estimate (Man Days) Source of Requirement Status / Comments
RC-2 P2 Reduce footprint required by Application Client container No Tim 15+ PCD 4109 Java Web Start now supports indexing, but perhaps not across extension components which we must use. Could use older part/package approach but labor-intensive. Very unlikely that other module owners will be able to partition their modules into server-only and client-side modules for 3.1.
RC-6 P2 WebStart needs a way for user to influence JNLP generation (add native dll/so) Yes Tim 15 PCD 4113 Latent support for this is in GlassFish 3.0. Needs asarch review for new exposed interfaces; needs testing, doc. Some of this time for auto-testing of Java Web Start-launched clients (which does not yet exist).
RC-7 P3 Enhance JWS app client to create Windows Shortcut yes Tim 1 PCD 4114 This will be a freebie as part of RC-6.
  P3 Cluster support yes Tim 3 GlassFish 2 feature parity Client-side changes should already be in-place. Server-side changes to retrieve currently-active ORB endpoints depends on ORB. This ORB feature was in 2.x.
  P2 WLS DD support Yes Tim 4   Support WLS-specific deployment descriptor
  P2 GF-ize sun-* DDs. Change sun-.xml to gf- (or glassfish-).xml Yes Tim 2   We will need to find out where the new DDs should reside: java.sun.com or xxx.oracle.com? Who will decide and if anything needs to be set up, who will do that?

Milestone Schedule

Item # Date/Milestone Feature-ID Description QA/Docs Handover Status / Comments
1. Milestone 3 (07/19) RC-6 User-provided JNLP merged with generated JNLP yes Aiming for this, earlier, milestone so users can begin to work with this and provide feedback in time to affect the released product. Updated on 6/15: Feedback from asarch review triggered additional discussions and work on this. Deferring to MS 3 although I expect to complete this shortly after MS 2. No downstream tasks in other modules depend on this. Update 7/19: Implementation complete; handoff tbd.
2. Milestone 3 (07/19) RC-6 Auto-testing for Java Web Start launches QA only Handoff will be to explain how the autotesting works so QA can decide if and how to adapt it to their needs. Updated on 6/15: Awaiting answer from Alex P. on who on the quality team I should be working with on this. Practically, not likely to happen by MS 2 deadline so deferring to MS 3.Update 7/19: Alex to schedule meeting during week of 7/26 with Lidia and me to discuss my proposed changes.
3. Milestone 3 (07/19) RC-7 Windows shortcut for Java Web Start clients yes Should be available as part of RC-6. Updated 6/15: Will occur as part of item 1 so this is also deferred to MS 3. Update 7/19: Done.  (actually, part of #1)
4. Milestone 3 (07/19) RC-2 Exploration of indexing of JARs to optimize Java Web Start launches no The feature might not work in Java Web Start itself as we need it to. If it does it would help optimize Java Web Start launches. Update 7/19: Does not seem to have the desired effect.  Hope to continue work on this for MS 4, time permitting.
5. Milestone 3 (07/19)   Convert sun-.xml DDs to glassfish-.xml no Update 7/19: complete
6. Milestone 4 (08/16)   Support WLS DDs yes no Won't do this, per Adam L's advice.
7. Milestone 5 (09/13) n/a Support for -targetserver option on appclient using multiple endpoint addresses yes Coding on the client side should already be in-place. Will need testing to show that all values are used as appropriate, which needs to wait for other clustering and ORB functionality to be in place (scheduled for MS 5).
8. Milestone 5 (09/13) RC-2 Any possible refactoring of other modules to trim their client-side footprint. no Dependent on other modules. For any such refactoring, only minor changes in the app client container build will be required.

Task List

Task Target Milestone Start Date End Date Owner(s) Feature-ID Status / Comments
Clarify indexing support in JWS. MS 1 (05/24)   05/24 Tim RC-2 No response from JWS team. We could build an index of all the client and GF JARs into the generated facade JAR which is the main JAR. Definitely a nice-to-have at this point; it never was a release driver.
Study effect of simply ordering JAR list in the JNLP and marking all as "lazy" download. MS 2 (06/21)   06/21 Tim RC-2 If this fairly simple approach helps then the part/package work might not be needed or worth it.
Search for and remove any unneeded module dependencies from ACC. MS 3 (07/19)   07/09 Tim RC-2 Might not yield any improvement but I need to make sure ACC depends on as few other modules as possible.
Prepare for and undergo asarch review for custom JNLP support. MS 2 (06/21)   06/15 Tim RC-6 Currently scheduled for 6/9. Updated 6/15: Review was conducted 6/9. Some additional one-pager updates required. Update: one-pager updated. 
Refactor (if needed) current JNLP generation code so it can be called from tests to simplify testing. MS 2 (06/21)   06/15 Tim RC-6  
Perform custom JNLP hand-off to QA, doc MS 3 (07/19)   07/19 Tim RC-6 Implementation done.  Handoff meeting done with SQE; they are reviewing. Handoff with doc Tues. 8/16.
Find out details of WLS app client DD MS 4 (08/16)   08/01 Tim   Done.  See next item.
Implement support for WLS app client DD MS 4 (08/16)   08/16 Tim   Won't do this, per Adam's L's advice.
Create initial version of Java Web Start auto-testing infrastructure MS 4 (08/16)   08/16 Tim RC-6 (and gen'l) Done.  Handed off to SQE for them to assess and, ideally, incorporate into their testing framework.
Add tests for using multiple values with -targetserver option on appclient command MS 5 (09/13)   09/13 Tim cluster support  
Finalize JWS auto-testing MS 5 (09/13)   09/13 Tim RC-6 (and gen'l)  
Bug fixes MS 6 (11/22)     Tim    

One Pager

JNLP Customization

Sub Projects

None so far

Dev Tests

Most dev tests for the ACC are actually part of the deployment and EJB tests, both of which rely heavily on the ACC. My hope and goal for 3.1 is to allow the deployment and EJB devtests to launch app clients using Java Web Start by simply setting a property; how close we can get to that remains to be seen, partly because Java Web Start itself is geared to GUIs.

Email Alias