GlassFish Server Open Source Edition 3.1 - Developer Tooling with NetBeans

author: Vince Kraemer

Introduction

When GlassFish Server Open Source Edition 3.1 ships users will expect to be able to work with it in various IDEs. This is especially true of NetBeans. This project is supposed to make that happen.

Goal / Scope

The goal of this project is to allow users to develop Java EE 6, Java EE 5 and J2EE 1.4 based apps and deploy them onto GlassFish Server 3.1 as easily as possible from inside the most recently released version of the NetBeans IDE available.

Since the NetBeans roadmap beyond 6.9, which will ship in June 2010, is unclear; there may be some work necessary to create an update to 6.9 that includes the ability to interact with GlassFish Server 3.1... This update would be on a different 'track' than the main body of the NetBeans codebase.

This would make the work a bit more complex, since there would be a release of the GlassFish integration modules for NetBeans 6.9 AND a release of the 'same modules' that targets the NetBeans DEV build. The code in the DEV build could leverage new NB APIs, while the code that is built against 6.9 would not be able to leverage these changes.

Comparative Scheduling info

Date NB 6.9 GFS OSE 3.1 Post NB 6.9 Note
2010/02/17 M1 release X X  
2010/03/08 feature freeze X X
2010/04/20 X kickoff meeting X first intro to plans from other teams that may require changes to the plugin
2010/04/22 beta release X X
2010/05/10 code freeze X X
2010/05/14 X 1 pager initial drafts X
2010/05/21 X 1 pager reviewed X
2010/05/24 X M1 X
2010/06/09 FCS X X
2010/06/21 X M2 X  
2010/07/19 X M3 X  
2010/08/16 X M4 X  
2010/09/13 X SCF X  
2010/11/22 X HCF X  

Features

The priorities listed here are for the next release of NetBeans (which should bundle 3.1). There are no plugin features that would block the release of Glassfish Server 3.1.

%%sortable

Feature ID Priority Description Engineering response Owner Estimated effort Source of Requirement Status/Comment
nbinteg-001 p1 feature parity with GlassFish 3.0 integration in NetBeans yes vbk   feature parity done - MS2
nbinteg-002 p1 glassfish-*.xml deployment descriptor support yes vbk   3.1 feature support done - MS2
nbinteg-003 p2 app scoped resources if ASR support from server isn't too buggy vbk   3.1 feature support
nbinteg-004 p2 restart a remote domain (if it is running) yes vbk   missing feature in 3.0 integ done
nbinteg-005 p3 restart a remote domain into debug mode (if it is running) if enhancement is accepted by admin team vbk   new feature done ms3
nbinteg-006 p3 view log of running remote server yes vbk   new feature done ms4
nbinteg-007 p2 expose deployed web services on Servers explorer yes vbk   new feature  
nbinteg-008 p2 code completion and other xml features enabled for WebLogic deployment descriptor files when included in a project that targets GlassFish 3.1 yes vbk   new feature done - MS3
nbinteg-009 p1 Wizard to allow user to add a WebLogic DD to a project (that doesn't target WL) yes vbk   new feature done - MS3
nbinteg-010 p1 deliver bits that 6.9 users can use to work with 3.1 from inside the IDE. yes vbk   update center?
nbinteg-011 p1 account for versioned apps in the Servers explorer yes vbk   new feature done

Out of Scope

The initial developer tooling plugin will not expose the clustering features of GlassFish Server Open Source Edition 3.1. This means that users will only be able to interact with the DAS and perform actions similar to those exposed by the plugin for GlassFish v3 and GlassFish Server Open Source Edition 3.0.1.

Application versioning will not be supported in the developer workflow from NetBeans.

Task List

Issue tracker based 'view' is likely to be more up-to-date, since it is easier to update.

Task Target Milestone Start End Owner Supports Feature ID Status/Comments
Create new instance object for WizardProvider (ee6plusClustering) m2 may 24 May 26 vbk nbinteg-001 adds GF 3.1 to the server registration dialog. dependency: promoted builds available (for download now support) DONE
Create new instance object for InstanceProvider (ee6plusCluatsering) m2 may 26 may 28 vbk nbinteg-001 many features use this object Prevents registering 3.0 as 3.1 DONE
extend the 3.0 instance object to prevent 3.1 domains getting misregistered m2 may 28 may 28 vbk nbinteg-001 error checking DONE
Create new instance object for DeploymentFactory (ee6plusClustering) m2 may 31 june 2 vbk nbinteg-001 Java EE features use this object DONE
create new instance object for J2eePlatformFactory m2 june 3 june 4 vbk nbinteg-001 Java EE feature support DONE
create new instance object for OptionalDeploymentManagerFactory m2 june 7 june 9 vbk nbinteg-001 Java EE features support DONE
create new instance object for RunTimeDDCatalog m2 June 10 june 12 vbk nbinteg-002 maps public id and private id to installed dtds; basis of code completion in xml editor dependency: new glassfish-*.dtd files available in promoted builds DONE
create/publish nbms for NB 6.9 m2 post 6.9 clone post 6.9 release beta date vbk nbinteg-010 let folks using 6.9 'upgrade' to a plugin that exposes new 3.1 integration features. release schedule is adhoc.
extend DD api project to know glassfish-* descriptors m2 june 14 june 17 vbk nbinteg-02 primarily to allow GUI to read/write the new glassfish-* descriptors dependency: new glassfish-*.dtd files available in promoted builds DONE
create 'new' templates to support File->New File->Other... (category: GlassFish; type: Glassfish Deployment Descriptor) m2 june 18 June 18 vbk nbinteg-002 put the 'right'descriptor into a new project that targets GlassFish 3.1 dependency: new glassfish-*.dtd files available in promoted builds DONE
include weblogic deployment descriptors into the RunTimeDDCatalog support m2 June 12 June 12 vbk nbinteg-008 To support xml editor features. dependency: the dtd and xsd files for the supported descriptor files need to be available in the 3.1 promoted build DONE
Create a new WizardIterator to support File->New File->Other... (category: WebLogic; type: WebLogic Deployment Descriptor) likely based on org.netbeans.modules.j2ee.sun.share.configbean.templates.SunDDWizardIterator m3 July July vbk nbinteg-009 allow user to create a WebLogic DD file in a project that targets GlassFish DONE
extend iterator to translate glassfish-*.xml values to weblogic*.xml values where appropriate m5 sep sep vbk nbinteg-002 dropped this is a p4 feature...
Create a new Panel to support File->New File->Other... (category: WebLogic; type: WebLogic Deployment Descriptor) likely based on org.netbeans.modules.j2ee.sun.share.configbean.templates.SunDDWizardIterator m3 July July vbk nbinteg-009 allow user to create a WebLogic DD file in a project that targets GlassFish DONE
Create a new VisualPanel to support File->New File->Other... (category: WebLogic; type: WebLogic Deployment Descriptor) likely based on org.netbeans.modules.j2ee.sun.share.configbean.templates.SunDDWizardIterator m3 July July vbk nbinteg-009 allow user to create a WebLogic DD file in a project that targets GlassFish DONE
write test suite for app scoped resources m4 july july vbk nbinteg-003 past implementation of 'deploy embedded resources' have been too buggy to use
found different solution... task dropped
resurrect sun-resources.xml inclusion code for 3.1 plugin m4 July July vbk nbinteg-003 if the server code passes my test suite
found different solution... task dropped*
extend Restart action to work with remote servers m3 july july vbk nbinteg-004 this will also probably get supported on 3.0.x domains, too DONE
create new action for restart in debug mode m3 aug aug vbk nbinteg-005 dependency: asadmin command extended to support this DONE
extend log viewer to get data from remote server m4 aug aug vbk nbinteg-006 dependency: an api from the server DONE
open the log viewer when deploying to remote servers, etc.. m4 aug aug vbk nbinteg-006 allows users to see results of actions on remote instance DONE
new node for web services under a domain node m5 sep sep vbk nbinteg-007 done
new node for a web service endpoint m5 sep sep vbk nbinteg-007 done
test action on web service endpoint m5 sep sep vbk nbinteg-007 done
copy wsdl url to clipboard action on web service endpoint m5 sep sep vbk nbinteg-007 done
save wsdl to file action on web service enpoint m5 sep sep vbk nbinteg-007 dropped this action did not really accomplish anything in the development workflow
test and fix issues on the Servers explorer by presence of versioned apps m2 june june vbk nbinteg-011 DONE
additional action on application node: Enable m2 june june vbk nbinteg-011 DONE
new badge for app nodes to signify enabled or disabled m3 july july vbk nbinteg-011 DONE

Design Document

  • coming soon

Quality

  • Link to Test Plan

Documentation

  • Link to Documentation

Workspace

  • coming soon

Estimates

The list is somewhat order-dependent.

Area When Notes

Research

  • coming soon

References

Dev Tests

  • Coming soon

Email Alias