Creating a GlassFish Update Center module
To try GlassFish Update Center, install GlassFish V2 (screencast). Then go to install-root/glassfish/updatecenter/bin and invoke updatetool (or updatetool.bat). You'll see a list of addon modules available for installation.
But what's an addon and how do you create one?
An addon is a companion product or runtime component installed on top of Sun Java System Application Server.
Right, but how do you create such a module?
What's the difference between and installer and a configurator plugin?
If addon requires installation of shared files which are not specific to a particular application server domain, installation and initial configuration of such files must be handled by installer plugin. The installer plugin has read-write access to installation root directory (INSTALL_ROOT) of the appserver.
Installer plugin is invoked either at the end of appserver installation or when the CLI command asadmin install-addon addon_name_installer.jar is executed.
The configurator plugin should assume read-only access to INSTALL_ROOT and read-write access to root directory of the domain (DOMAIN_DIR). The configurator will be invoked once, prior to starting application server domain. The configurator will access application server configuration files like DOMAIN_DIR/config/domain.xml, DOMAIN_DIR/config/server.policy etc. and make necessary changes.
Where can I get the installer plugin API?
How do I package the installer plugin?
|- InstallerImpl.class (implements Installer)
|- ConfiguratorImpl.class (implements Configurator)
How do I invoke and test the installer plugin?
Installer plugin is invoked either at the end of appserver installation or when the CLI command
asadmin install-addon addon_name_installer.jar
Now for the final packaging.
File system layout for downloadable module file (equivalent of NetBeans NBM file) will be jar archive file with following structure:
| +- info.xml
+- locale (optional, for localized packages)
+-installer_xx.jar or installer_xx.zip
installer_xx.jar can be addon component installer or configurator jar file as specified in Addon installer and configurator plug-in imported interfaces.
The DTD for info.xml is here.