Every component has different set of configuration parameters like "Proxy Port", "Debug Enabled", "URL", etc., Application Variable & Application Configuration for managing the deployed applications. NetBeans/Admin GUI (Tools) needs to know what the configuration parameters, Application Variables & Application Configuration are for a component, the labels, structure, valid values and default values.
Component's Runtime MBean implements retrieveConfigurationDisplaySchema() & retrieveConfigurationDisplayData() operations to provide display-data in two chunks. The xsd document with validation rules for the configuration parameters is retrieved from the first operation. An XML document with default values and field labels is retrieved from the second operation. Following are the key challenges caused by the current approach...
- Admin GUI shows different views (labels, validations rules) during installation and when the component is running.
- This approach requires that the same data is maintained in JBI.xml, the schema, and the XML document. This has caused data inconsistency resulting in buggy behavior.
- The tool needs to process different schema s with no standardized name space for them. Artifacts provided by components could collide, could result in unexpected behavior.
- As there is no meta schema for defining schema, component could publish a schema and compliant xml document, but tools would not be able to process it and render a display.
It would be efficient if a schema can be published that would be understand by Tools and all components adhere to the schema.
These xml documents are not independent entities, they would be embedded in jbi.xml. Their root element "Configuration" is the last element in jbi.xml
Internationalization and Localization Go to
Practical restrictions on the schema
The GlassFish admin-gui web console JBI support for component installation/runtime/application configuration will only support <config:Property ...> elements using these types:
- xsd:positiveInteger (but not completely)
and only these (optional) <config:Constraint ...>
The common-client, and therefor asant and asadmin CLI should support at least these.