SunAppservPluginOverview
Sun Appserver Plug-in Overview
Contents |
Overview
High level features of the plugin:
- Run/Deploy/Debug/Profile
- Descriptor editing
- Runtime tab/Log viewing
- See also http://wiki.glassfish.java.net/Wiki.jsp?page=NetBeansPluginFeatures
sunddapi
- Similar to J2EE DDAPI, but for sun-*.xml files + all implementations of the APIs for the various versions (example sun-cmp-mappings.xml API wraps 3 versions of impls for evolution of appserver versions)
- DDProvider - Most of this class is now "deprecated", except getRootInterface method and relevant support methods
sunddui
- mostly provides descriptor editing
- ddloaders package and subpackages - new multiview support
- much of this is no longer used now that JSR 88 customizers are not shown, but some customizers are used in multiview and its popups
- DConfigBean - is an interface that is part of JSR 88 and is currently supplied by the jar j2eeserver/j2eeapis/external/jsr88javax.jar
- configbean package and subpackages for JSR 88 support
- config package - JSR 88 stuff for server independent J2EE stuff (we copied it here when it was deleted from j2eeserver since plugin still needed it)
- SunONEDeploymentConfiguration is still used and still in same location so as to keep cvs history (configbean/SunONEDeploymentConfiguration.java)
- DescriptorListener is new (so still used) and maybe some of the versioning files are still used
- validation and subpackages - old ejb inline errors, these could be integrated into the new multiview given time
appsrv81 (GlassFish)
- This is the main server plugin module for appservers pre-v3 (hk2 is for v3)
- This module MUST be loadable by NetBeans at startup regardless of installation status of the appserver itself
- This precludes including major support (e.g. Runtime tab) in this module, hence the existence of "appsrv"
- This module must use appserver jars from an arbitrary install location, hence the existence of "appsrvbridge" & dynamically created classloader
- it implements relevant j2eeserver APIs and deployment in the strictest sense, but the implementations therein often just delegate the elsewhere (e.g. ModuleCongurationImpl - creates and manages SunONEDeploymentConfiguration in suddui which handles many of them)
- Descriptor editing must be independent of server version, installation and runtime status, is shared with webserver plugin, and exposes ddapi's to other NB modules, hence "sunddui/sunddapi" are separate from appsrv81
appsrvbridge
- This is not a netbeans module project
- It houses the code needed to call appserver jars
- Provides necessary classloader to get to glassfish jars
appsrv (Common APIs)
- interfaces
- This was originally separated out with the intention of splitting appserv 8.1 and 9.0 support, but in the didn't need a special split for 9.0
Related module: j2eeserver (not part of plugin)
- server independent JavaEE support
- plugins must import
- delegates to current/target server(s)
Hosted modules in serverplugins/sun dir (but not considered part of "plugin"):
- webserver7 - separate plugins maintained by webserver team
- avk - separate verifier plugin (Nitya/Sahoo)

