glassfish and javaee, today and future

Download GlassFish and JavaEE, Today and Future

If you can't read please download the document

Upload: alexis-moussine-pouchkine

Post on 16-Apr-2017

6.256 views

Category:

Technology


2 download

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