samedi, juin 27, 2009

Jazoon Day 1: Glassfish v3

RRails native deployment
Modular because of the requirements of Java EE 6 Profiles

Modularity


Based on OSGi (Apache Felix by default)
190 bundles (too many probably, but necessary at first, will decrease through time...or so they say ;))
Modules have responsabilities (provide services) and a lifecycle
Maven was used for the build

Developer features


Integration with IDEs
Fast startup, restart in debug
Exploded directory deployment
therefore... Fast deploy on save
Preserve session across redeployment
Application runner: java -jar glassfish.jar myWebApplication
> Maven/ANT integration
> Award winning UI console

Java EE 6 EJB 3.1 in web apps is really a very nice feature. It also seems that @Resource can now inject elements that come from other sources than JNDI! NICE!!

Runtime


Kernel
startup/shutdown
deployment
configure reading
Services
Java EE 6: Security, Naming Manager
Products; Admin consoles
Containers
Java EE 6: Web Container, EJB Container...
Other possible custom containers (RRails)

Application container


Deployment
Configuration
Commands (CLI, REST operation)

Service Based Architecture


HK2 Services: Abstraction to OSGi services
Per thread / Per scope scopes
Integrated lightweight dependency injection
Based on annotations (Container, Service, Inject...)

OSGi services can be injected with @Resource Java EE annotation.