GlassFish V3 uses a modular architecture to address the emerging requirements in the Application serverâ€™s market and container profiles concept of the Java EE 6. GlassFish uses OSGI for module management, and inside the OSGI modules it uses HK2 module system for configuration and service management. So far, Administration console, CLI, and application types containers, can be extended using this modular system. Java EE components can be replaced by any other compatible implantation using the OSGI modeling system.
Pluggable containers, scripting language support:
GlassFish V3 introduces new innovation in supporting different types of applications by letting the administrators and system managers to deploy different types of applications which are coming from different platforms and frameworks like Ruby On Rails, Grails, Quercus, and so on in the same applications server instance that they deploy the Java EE applications and therefore a unified administration infrastructure will be used to deal with all required administrative and management tasks. Containers load when they are required, for example when no PHP application is deployed, PHP container does not has any overhead over the application server.
CLI and administration console extendibility:
With GlassFish V3 it is possible to extend GlassFish CLI by developing new commands (extending an interface and using some HK2 services if required) as OSGI modules and simply putting them into GlassFish modules directory. The rest of the tasks of picking the module and responding to your command is what GlassFish module system does. Web based administration console can be extended using the same mechanism, but this time you can develop some JSF web pages to which you need to add to Administration console along with some descriptors which determine what is the pageâ€™s parent node in navigation tree and so on.
Role based security:
GlassFish V3 administration console is equipped with fine grained access management system which let the System Administrator to define new role with limited set of permission on using administration console.
An Embeddable Application server:
GlassFish version 3 can be used as an embedded application server (run in the same JVM that the client application runs) with full support of Java EE 6. Embedded application server can be used for packaged software, unit testing, building new functionalities on top of Java EE 6 and so on.
Flashlight, the probing framework:
Flashlight infrastructure introduced to remove the heavy burden of monitoring from application server and apply a very small percent of overhead whenever a client starts looking at the monitoring information. It let the developers and administrators to view variety of sever attributes in runtime and if they need to view any factor which is not provided by default (their own source code monitoring information) they can embed monitoring probes in sensitive parts of their code when they develop the software and later use the monitoring information that probes collect to see how that sensitive part of the application works.
REST monitoring support:
Glassfish Monitoring information can be received using RESTfull interfaces provided in GlassFish V3, using this monitoring feature developers and administrators can gather statistics related to any attributes that they like using any programming language with REST or HTTP support.