To ensure that an add-on component behaves identically to components that are supplied in GlassFish Server distributions, the component must meet the following requirements:
If the component generates management data or monitoring data, it must provide that data to other GlassFish Server components in the same way as other GlassFish Server components.
If the component generates management data or monitoring data, it must provide that data to users through GlassFish Server administrative interfaces such as Administration Console and the asadmin utility.
The component must be packaged and delivered as an OSGi bundle.
To develop add-on components that meet these requirements, follow the development process that is described in the following sections:
The Hundred-Kilobyte Kernel (HK2) is the lightweight and extensible kernel of GlassFish Server. To interact with GlassFish Server, add-on components plug in to this kernel. In the HK2 component model, the functions of an add-on component are declared through a contract-service implementation paradigm. An HK2 contract identifies and describes the building blocks or the extension points of an application. An HK2 service implements an HK2 contract.
For more information, see Chapter 2, Writing HK2 Components.
The Administration Console is a browser-based tool for administering GlassFish Server. It features an easy-to-navigate interface and online help. Extending the Administration Console enables you to provide a graphical user interface for administering your add-on component. You can use any of the user interface features of the Administration Console, such as tree nodes, links on the Common Tasks page, tabs and sub-tabs, property sheets, and JavaServerTM Faces pages. Your add-on component implements a marker interface and provides a configuration file that describes how your customizations integrate with the Administration Console.
For more information, see Chapter 3, Extending the Administration Console.
The asadmin utility is a command-line tool for configuring and administering GlassFish Server. Extending the asadmin utility enables you to provide administrative interfaces for an add-on component that are consistent with the interfaces of other GlassFish Server components. A user can run asadmin subcommands either from a command prompt or from a script. For more information about the asadmin utility, see the asadmin(1M) man page.
For more information, see Chapter 4, Extending the asadmin Utility.
Monitoring is the process of reviewing the statistics of a system to improve performance or solve problems. By monitoring the state of components and services that are deployed in the GlassFish Server, system administrators can identify performance bottlenecks, predict failures, perform root cause analysis, and ensure that everything is functioning as expected. Monitoring data can also be useful in performance tuning and capacity planning.
An add-on component typically generates statistics that the GlassFish Server can gather at run time. Adding monitoring capabilities enables an add-on component to provide statistics to GlassFish Server in the same way as components that are supplied in GlassFish Server distributions. As a result, system administrators can use the same administrative interfaces to monitor statistics from any installed GlassFish Server component, regardless of the origin of the component.
For more information, see Chapter 5, Adding Monitoring Capabilities.
The configuration data of a component determines the characteristics and runtime behavior of a component. GlassFish Server provides interfaces to enable an add-on component to store its configuration data in the same way as other GlassFish Server components. These interfaces are similar to interfaces that are defined in JavaTM Specification Request (JSR) 222: Java Architecture for XML Binding (JAXB) 2.0. By using these interfaces to store configuration data, you ensure that the add-on component is fully integrated with GlassFish Server. As a result, administrators can configure an add-on component in the same way as they can configure other GlassFish Server components.
For more information, see Chapter 6, Adding Configuration Data for a Component.
Applications run on GlassFish Server in containers. GlassFish Server enables you to create containers that extend or replace the existing containers of GlassFish Server. Adding container capabilities enables you to run new types of applications and to deploy new archive types in GlassFish Server.
For more information, see Chapter 7, Adding Container Capabilities.
Packaging an add-on component enables the component to interact with the GlassFish Server kernel in the same way as other components. Integrating a component with GlassFish Server enables GlassFish Server to discover the component at runtime. If an add-on component is an extension or update to existing installations of GlassFish Server, deliver the component through Update Tool.
For more information, see Chapter 8, Packaging, Integrating, and Delivering an Add-On Component.