glassfish and javaee, today and future
TRANSCRIPT
SPECjAppServer 2004 ResultsSpecJAppServer
Sun883.66
BEA801.7
IBM708.65
JBoss0
Java EE and GlassFish
Present and Future
August 2008
GlassFish around You
Get your own local snapshot from: http://beta.glassfish.java.net:81/maps/
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
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, ...)
http://glassfish.org
Timeline of Project GlassFish
TomcatJasperCatalinaJSTLStruts
CrimsonXSLTCXalanXerces
JAXBJAX-RPCJSF
J1'05June 2005
J1'06May 2006
GlassFishLaunch
Sept.
2007
v2
v1 UR1
v1
(you are here)
v3
Sept.
2007
2008/2009
UR1
v2.1
UR2
Mainly to show Open Source contributions from Sun.
We're not rookies in server-side Open Source Java! :)
Also interesting to show the progression:
v1 was all about Java EE 5
v2 is all about enterprise features
v3 is all about modularization and changing the game to leapfrog the competition in an even bigger way
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-memory replication
Unified Management
Clustering in GlassFish v2
JMX = Java Management Extensions
The DAS is responsible for maintaining the coherence of the cluster.
There needs to be one node agent per physical machine. When instances start, they synchronize with the DAS, if present.
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
Demov2
GlassFish Performance
SPECjAppServer
July 2007: #1 score on T2000
883.66 JOPS@Standard for GlassFish v2
+ 10% vs. WebLogic, +30% vs. WebSphere 6.1
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
JBoss
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/.
Performance is relative and depends on your application and your business goals.
GlassFish is probably the faster application server in startup time. Tomcat is still better (but not always) but it's not a full appserver. GlassFish v3 has startup time of a few seconds (better than Tomcat).
JAX-WS 2.1 performance numbers already shown in earlier slide.
SPECjAppServer numbers should place GlassFish at the same level as BEA. Note that no other Open Source Application Server publishes SPEC numbers. We believe we're significantly faster than JBoss.
GlassFish v2 for the Developer
Single, smaller, download
Around 60 MB total
Multiple User Profiles
Developer, Cluster, Enterprise
Upgrade from one to another
Better startup time
Almost matches Tomcat
(see also GlassFish v3)
Cool Technologies
Grizzly's Comet, jRuby
on Rails, jMaki,
Update Center
Provision and install new
features, frameworks,
Tools support
NetBeans, (My)Eclipse,
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
DRY = Do Not Repeat yourselfPOJO = Plain Old Java Object
Resource Injection: remove the need for JNDI
Java EE 6 JSR 316
Extensibility
Profiles
Pruning
More ease of development
New and updated:
JSF 2.0 (JSR 314)
JSP 2.2
JAX-RS (JSR 311)
WebBeans 1.0 (JSR 299)
Servlets 3.0 (JSR 315)
EJB 3.1
Java Persistence 2.0
JAX-WS 2.2
Java EE Connectors 1.6
Goal is to deliver a final version first half of 2009The exact set of technologies to be included will be determined by the expert group
Rightsizing
Extensibility mainly at the servlet spec level.
Ease of development:- remove need for config, filters, listeners in web.xml- packaging EoD: EJB vs Web container should have no impact on packaging
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)
Servlet 3.0
JSP 2.2
JSR-45
EL 1.2
JSTL 1.2
JSR-250
Option (B)
Servlet 3.0
JSP 2.2
JSR-45
EL 1.2
JSTL 1.2
JSR-250
EJB 3.1 (Lite)
JTA 1.1
JPA 2.0
JSF 2.0 *
Web Beans 1.0 *
More on Roberto Chinnici's blogs:
http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.htmlhttp://weblogs.java.net/blog/robc/archive/2008/03/extensibility_a.html
*: controversial
Profiles can be reve'd without reving the entire platform.
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
Demov3
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
Project
GlassFish
GlassFish Enterprise
DerbyOpenESBGlassFishPortalMQDistributions
Maven Rep
Java EE RI & SDK
Communities
NetBeansIDE
Tools
Eclipse Plugin
Users and Other Groups
TmaxSoft JEUS 6
Oracle oc4j
BEA WebLogic 10
JBoss 5
SailFinHudson
OpenSSO
OpenDS
We believe that collaboration with this many other communities and companies shows a great level of maturity for GlassFish (which itself is still pretty young).
BEA Weblogic 10 is reusing the JAX-WS stack from SunJBoss is reusing JSF, JAXB, and supporting GlassFish's MetroTmaxSoft is reusing most of GlassFishetc...
The Maven repository is there to illustrate how one can grab GlassFish sub-projects and use them in other conditions.
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
Daily news, broader GlassFish community
http://java.sun.com/javaone
Presentations and Hands-on-Labs
Questions ?
http://blogs.sun.com/[email protected]
Name of Conference
Presenter's Name
Page
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Click to edit the title text format
Presenters Name
Presenters Title
Presenters Company
Click to edit the notes format
Page