In this keynote we present the principles that guided the design of the Java EE 6 platform and of the GlassFish V3 application server.
Like any complex software system, both Java EE 6 and GlassFish are subject to a lot of competing pressures and face a host of constraints.
At the same time, there are clear expectations in terms of what the next version of each should deliver: new functionality (e.g. scripting support, easy and extensible administration, integrated tooling, monitoring), better performance, OSGi compatibility, etc.
We will describe the balancing act that we performed in developing both systems in parallel and highlight the importance of the feedback cycle between specification and implementation.