GlassFish Kiev, July 15th 2008

Alexis Moussine-Pouchkine GlassFish Team

1 2 3 4 GlassFish around You GlassFish Adoption • Millions of downloads

• Dozens of external committers • Over 8,000 members • Excellent analyst reviews > Gartner, Forrester, etc... GlassFish Best of class App Server http://glassfish.org

• GlassFish v2 released Sept. 2007 > 4 millions downloads > From x3 to x10 usage over 12 months

• Out of the box : > Web Services interop with Microsoft > Full Clustering > Administration tools > Performance (SPEC record) > Tooling (NetBeans, Eclipse, ...) Timeline of Project GlassFish

Tomcat Jasper Catalina v1 v2 v3 JSTL GlassFish v2.1 Struts v1 UR1 UR1 UR2 Crimson Launch XSLTC Xalan Xerces

JAXB J1'05 J1'06 Sept. 2008/2009 JAX-RPC 2007 JSF June 2005 May 2006 (you are here) GlassFish v2 for the Enterprise • Web Tier > Grizzly nio framework (HTTP, IIOP, SIP) > Dynamic Web Container > Ultra-fast JSP compilation • Metro Web Services Stack > One-stop shop for Web Services starting with JAX-WS > Performance, Advanced WS & Microsoft interoperability • Clustering, Load-Balancing, HA > Dynamic group management system (Shoal) > In- replication > Unified Management Clustering in GlassFish v2

JMX = Management Extensions GlassFish v2 for the Enterprise Integration • Open MQ > High performing JMS implementation > HA for brokers and messages > Available as standalone product > Integration with GlassFish > In memory, Out of process, or Remote • JBI support > OpenESB 2.0 as the integration back-bone > Install, admin, and monitoring integrated in GlassFish v2 > Basis for Java CAPS Release 6 • Oracle TopLink as default JPA persistence engine > Hibernate also easily usable GlassFish v2 for Enterprises Management & Monitoring

• Graphical, command-line, tools, ANT ... > JMX and Centralized • Call Flow • Self-management • Diagnostic reports • VisualVM > Now in Java 6u7 > GlassFish plugin Web Admin Console Demo v2 GlassFish Performance SPECjAppServer 2004 Results 1000 900 SPECjAppServer 800 700 600 500 > July 2007: #1 score on T2000 400 ? 300 200 > 883.66 JOPS@Standard for GlassFish v2 100 0 > + 10% vs. WebLogic, +30% vs. WebSphere 6.1 Sun BEA IBM JBossJBoss > July 2007: Best $/perf. on full Open Source > GlassFish v2, OpenSolaris, Java 6, PostgreSQL > 3x the price/perf vs. Oracle on HP score > November 2007: Massive Scalability Result > 8,439.36 JOPS@Standard (6 nodes, 18 instances) > Sun T5120 & E6900 You no longer need to chose between Open Source and Performance

Disclaimers: SPEC and the benchmark name SPECjAppServer 2004 are registered trademarks of the Standard Performance Evaluation Corporation. Competitive benchmark results stated above reflect results published on www.spec.org as of 11/21/07. The comparison presented is based on GlassFish v2 UR1 run on 6 Sun SPARC Enterprise T5120 (1 chip, 8 cores/chip, 8 threads/core) 1.4GHz 8,439.36 SPECjAppServer2004 JOPS@Standard. For the latest SPECjAppServer 2004 benchmark results, visit http://www.spec.org/. GlassFish v2 for the Developer

• Single, smaller, download • Cool Technologies > Around 60 MB total > Grizzly's Comet, jRuby on Rails, jMaki, … • Multiple User Profiles > Developer, Cluster, Enterprise • Update Center > Upgrade from one to another > Provision and install new features, frameworks, … • Better startup time • Tools support > Almost matches Tomcat > NetBeans, (My)Eclipse, (see also GlassFish v3) IntelliJ, etc... Java EE 5 = (J2EE 1.4).next

• Java EE 5 Theme: Ease of Development • POJO-based programming > More freedom, fewer requirements • Extensive use of annotations > Reduced need for deployment descriptors > Annotations are the default • DRY principle (better defaults) • Resource Injection • New APIs and frameworks Java EE 6 – JSR 316

• New and updated: • Extensibility • JSF 2.0 (JSR 314) • Profiles • JSP 2.2 • Pruning • JAX-RS (JSR 311) • More ease of • WebBeans 1.0 (JSR 299) development • Servlets 3.0 (JSR 315) • EJB 3.1 RightsizingRightsizing • Java Persistence 2.0 • JAX-WS 2.2

Goal is to deliver a final version first half of 2009 • Java EE Connectors 1.6 The exact set of technologies to be included will be determined by the expert group Java EE 6 – Enhancements • Servlet 3.0 > No more web.xml editing > ARP (Async. Request Processing) > File upload • JPA 2.0 > Criteria API > Collections and better Maps support > Validation support (JSR 303) > @OrderBy, specify unfetched state • JSF 2.0 > Make custom components much easier to develop > Ajax support, less config., align w/Portlet 2.0, Facelets Java EE 6 – EJB 3.1 • Packaging simplification > No more ejb-jar. Easier to share libraries, persistence units • Singleton Beans > @Singleton to share data in EJB container (per JVM) • Concurrency > @ReadOnly as singleton optimization (vs. single-threaded) > @BeanManagedConcurrency for explicitly synchronized • TimerService > @Schedule(hour="12",dayOfMonth="2") > Automatic creation (on deploy) • Asynchronous operations > @Asynchronous public void init (...) { ... } > @Asynchronous Future doWork (...) { ... } Java EE 6 – New APIs

• Web Beans 1.0 > Brings together JSF and EJB > Inspired by JBoss' Seam > JBoss (Gavin King) is spec lead for JSR 299 > Bob Lee (Guice) heavily involved • JAX-RS > RESTful Web Services > RI developed in // with Spec: http://jersey.dev.java.net > Expose POJO as RESTful resources > High-level declarative programming model > Flexible typing, runtime does common conversions > Pluggable types, containers, and resolvers Java EE 6 – Web Profile

Option (A) Option (B)

• Servlet 3.0 • Servlet 3.0 • JSP 2.2 • JSP 2.2 • JSR-45 • JSR-45 • EL 1.2 • EL 1.2 • JSTL 1.2 • JSTL 1.2 • JSR-250 • JSR-250 • EJB 3.1 (Lite) • JTA 1.1 *: controversial • JPA 2.0 • JSF 2.0 * More on Roberto Chinnici's blogs: • Web Beans 1.0 * http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.html http://weblogs.java.net/blog/robc/archive/2008/03/extensibility_a.html GlassFish v3

• Fast startup • Modular (OSGi), extensible architecture • Dynamic resource and runtime loading • Build-your-own runtime • Not just Java > Ruby on Rails, Grails, PHP, Python/Django, Scala > Leverage performance, admin, monitoring, clustering • Preview available now (TP2) > Final in 2009, possibly a web tier in 2008 > Aligned with Java EE 6 Demo v3 GlassFish v3 (cont.)

• OSGi: Apache Felix as default • 21 MB download, 1-sec startup • Admin and update tool downloaded on demand • Add-ons available from update center : > EJB 3.1 (preview) > jRuby On Rails (no WAR packaging required) > Grails (now also for GlassFish v2) > Jersey and Metro (Web Services) > jMaki (Ajax) • Tools-ready: NetBeans 6.1, Eclipse 3.4 • Embedded GlassFish API (Some) Distributions & Contributors

Tools

Java EE RI & SDK NetBeans™ Communities IDE Distributions Eclipse Plugin OpenSSO GlassFish Enterprise Derby

MQ Hudson JBoss 5 Project GlassFish GlassFish TmaxSoft JEUS 6 Portal Oracle oc4j OpenESB SailFin BEA WebLogic 10 Maven Rep OpenDS Users and Other Groups OpenESB

• What – Full-fledged Enterprise Service Bus > Fully documented > Tools-ready > Standards based: JBI, WS-* > Basis of the Java CAPS SOA offering from Sun • Status – Released v2.0 in June 2008 Hudson

• What – Continuous Integration made easy > Easy to setup > Out of the box support for CVS, SVN, Maven, ... > Many many modules > Great community adoption • Status – Release #234+ (continuous integration!) Sailfin

• What – Telco App Server > Support for SIP and converged applications > Standards based: Java EE, SIPServlet 1.0 & 1.1 > Collaboration with Ericsson > Extension to GlassFish v2 • Status – v1.0 Beta anyday now OpenDS

• What – 100% Java next generation LDAP server > Extensible architecture > Standard's based: LDAPv3, DSML > Unmatched scalability and performance > Fully tested and complete documentation • Status – Released 1.0 in July 2008 GlassFish

• Best developer and deployer experience • Superior Web Services stack (features, perf.) • Comes with migration tools • Excellent alternative to more expensive BEA/IBM or lesser featured JBoss/Tomcat • Great foundation technology for SOA, Identity, Portal, and Telco App Server • Exciting GlassFish v3 innovation Resources

• http://glassfish.org • http://blogs.sun.com/theaquarium • http://blogs.sun.com/theaquarium_ru > Daily , broader GlassFish community • http://java.sun.com/javaone > Presentations and Hands-on-Labs Questions ? http://blogs.sun.com/alexismp [email protected]

33