GlassFish Server Open Source Edition 3.1 - NetBeans Integration One Pager
1. Introduction1.1. Project/Component Working Name:NetBeans Plugin for GlassFish Server Open Source Edition 3.1 1.2. Name(s) and e-mail address of Document Author(s)/Supplier:Vince Kraemer: vince.kraemer@oracle.com 1.3. Date of This Document:05/21/10 2. Project Summary2.1. Project Description:Extend the plugin that integrates Glassfish Server 3 to work well with GlassFish Server 3.1 2.2. Risks and Assumptions:Assumptions
Risks
3. Problem Summary3.1. Problem Area:Some of the features exposed by the existing NetBeans/GlassFish integration are changing in the GlassFish Server 3.1 release.
There are some new features that are being added to GlassFish Server 3.1 that would be useful to developers.
There are some features of GlassFish Server 3.0 (and 3.1) that would be useful to developers that were not exposed in previous integrations.
Some of the 'interfaces' that the IDE leverages to provide a Java EE development environment will change in the GlassFish Server 3.1 release.
3.2. Justification:The NetBeans/Glassfish integration has a number of features that are impacted directly or indirectly by the changes being made in GlassFish Server 3.1. As 3.1 matures the number 4. Technical Description:4.1. Details:The IDE integration is written as collection of NetBeans Modules. These modules implement a number of services that the IDE then uses to interact with the server. When a user registered a GlassFish Server domain, the IDE uses the install and domain directory information to complete a number of data objects. There is also a fair bit of knowledge 4.2. Bug/RFE Number(s):The features and dependencies for this are being tracked in GlassFish issue tracker for transparency. The primary issue is https://github.com/javaee/glassfish/issues/11921. To see a more complete picture of the Bugs/RFEs for the project, look at the dependency tree for issue 11921 4.3. In Scope:The plugin will allow the user to interact with versioned applications in the Servers explorer, which allows users to see deployed applications and manipulate them. The plugin will support the development of versioned applications, if the feature is added to the feature set of NetBeans projects for Java EE modules and applications. The amount of work that is required for this feature to be added to those modules, which are 'owned' by other teams with other priorities, makes this unlikely. The plugin will include the ability to create an empty WebLogic descriptor in projects that target GlassFish 3.1. The plugin also registers any of the WebLogic deployment descriptor schemas and dtds that ship with GlassFish 3.1, to support the xml editing features (like code completion) that are part of the NetBeans infrastructure. The plugin will support the deployment of OSGi bundles, if the feature is added to the OSGi bundle development workflow supported by the OSGi support in NetBeans. The amount of work that is required for this feature to be added to that module, which is 'owned' by other teams with other priorities, makes this unlikely. The plugin will support the development of applications that target 'Embedded GlassFish', if the feature is added to the feature set of NetBeans projects for Java EE modules and applications. The amount of work that is required for this feature to be added to those modules, which are 'owned' by other teams with other priorities, makes this unlikely. 4.4. Out of Scope:The NetBeans integration plugin for GlassFish Server 3.1 will not expose the developer to clusters and stand-alone instances. The plugin will not include a graphical editor for the WebLogic deployment descriptors. Those editors may be part of the WebLogic plugin, though. The content of the various bundles is outside the scope of this one-pager and beyond the scope of this team. We are advocating that the 'Ruby' bundle not include GlassFish Server Open Source Edition 3.1, since there is no work being done to update or maintain the dynamic language support features in the GlassFish codebase. The changes required to support 'versioned Java EE projects' is beyond the scope of the modules that implement the GlassFish integration modules for NetBeans. The changes required to support 'deployable OSGi bundles' is beyond the scope of the modules that implement the GlassFish integration modules for NetBeans. The changes required to support 'development of application that target GlassFish Embedded' is beyond the scope of the modules that implement the GlassFish integration modules for NetBeans. 4.5. Interfaces:4.5.1 Public InterfacesThe plugin has a fairly complete implementation of the common server spi. The plugin has a fairly complete implementation of the following j2ee server registry spis:
4.5.2 Private InterfacesThe plugin exports the following interfaces to friends:
4.5.3 Deprecated/Removed Interfaces:4.6. Doc Impact:The documentation of the plugin is handled by the NetBeans documentation team. 4.7. Admin/Config Impact:The plugin does not change the admin or config, but it does leverage these two areas of the server significantly. 4.8. HA Impact:The plugin does not interact with HA. 4.9. I18N/L10N Impact:The IDE integration is coded following the i18n requirements from the NetBeans team. The plugin is localized by the team that does the l10n of the NetBeans IDE. 4.10. Packaging, Delivery & Upgrade:4.10.1. PackagingThe plugin is included in NetBeans, so it has no independent packaging requirements. 4.10.2. DeliveryThe IDE integration has no impact on the server delivery. There is a strong desire for the two projects (NetBeans and GlassFish Server 3.1) to ship at approximately the same time. 4.10.3. Upgrade and Migration:The plugin will continue to support a large number of releases so users can upgrade their IDE from 6.9 to NetBeans 6.10 and not lose functionality. 4.11. Security Impact:The IDE integration does not have a direct security impact. The IDE performs many operation on the server via the http adapter. In 3.0, queries on this interface would generate 4.12. Compatibility Impact4.13. Dependencies:4.13.1 Existing Dependencies
4.13.2 New Dependencies
4.14. Testing Impact:New integration features are being developed following a TDD methodolgy. Many of of the existing unit and functional tests for the existing plugin features are automated into the Many of the features will be released as part of the Netbeans 6.10 builds. This will put the features into the hands of NetBeans We will also provide builds of the integration that will be installable into NetBeans 6.9. This will allow folks that do not want to 5. Reference Documents:The Deployment One Pager The Connectors One Pager The Restful API One Pager The Logging One Pager 6. Schedule:6.1. Projected Availability:The task list on the project plan provides a detailed list of when different tasks are scheduled. All the issues called out in the dependency tree for issue 11921 are also marked with Target Milestone |