41
1 GlassFish Technical Overview February 2009

Glassfish Overview for Sogeti 20090225

Embed Size (px)

DESCRIPTION

This is 2 hour presentations on Glassfish with 4 different demonstrations was compiled for Sogeti. It is based on the public work from Alexis MP and WebCast from John Clingan

Citation preview

Page 1: Glassfish Overview for Sogeti 20090225

1

GlassFishTechnical Overview

February 2009

Page 2: Glassfish Overview for Sogeti 20090225

Sun's Open StackFlexible and Heterogeneous with Zero Barrier to Exit

Sun xVM

Operating System

Virtualization

Architecture

Database Platform

Application Infrastructure

Partners

VirtualBox

Page 3: Glassfish Overview for Sogeti 20090225

What Is GlassFish?• A Java EE 5-compliant Application Server

> Can run J2EE applications too

• Open Source> CDDL (like OpenSolaris, NetBeans)> GPLv2 (like Java and NetBeans)

• Enterprise Quality> GlassFish Enterprise Application Server> Adds support, indemnification, and 99.999%

availability

Page 4: Glassfish Overview for Sogeti 20090225

What Is GlassFish? (Cont.)

• Community at http://glassfish.org> Sources, bug DBs, discussions> Roadmaps> Architecture Documents

• Governance Board> 2 Sun members: Simon Phipps, Eduardo Pelegri-

Llopart> 3 Non-Sun individual members from Google,

Wotif.Com, Amex

Page 5: Glassfish Overview for Sogeti 20090225

GlassFish around You

Get your own local snapshot from: http://beta.glassfish.java.net:81/maps/

Page 6: Glassfish Overview for Sogeti 20090225

GlassFish Adoption• Millions of downloads

• Dozens of external committers• Over 8,000 members• Excellent analyst reviews

> Gartner, Forrester, etc...

Page 7: Glassfish Overview for Sogeti 20090225

GlassFishBest 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

Page 8: Glassfish Overview for Sogeti 20090225

Timeline of Project GlassFish

TomcatJasper

CatalinaJSTLStruts

CrimsonXSLTCXalanXerces

JAXBJAX-RPC

JSF

J1'05June 2005

J1'06May 2006

GlassFishLaunch

Sept.2007

v2v1 UR1

v1

(you are here)

v3

Sept.2007

2008/2009

UR1v2.1

UR2

Page 9: Glassfish Overview for Sogeti 20090225

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

Page 10: Glassfish Overview for Sogeti 20090225

Clustering in GlassFish v2

JMX = Java Management Extensions

Page 11: Glassfish Overview for Sogeti 20090225

Out of the Box

●Full Clustering?●Let's create one● 1 Install GlassFish with cluster profile● Create a Domain Admin Server● Create a NodeAgent 1● Create Instance 1 & Instance 2● Deploy a sample app with session state● Test Cluster

Page 12: Glassfish Overview for Sogeti 20090225

Node 1

Page 13: Glassfish Overview for Sogeti 20090225

Node 1

Node 2

HADB

HADB

Page 14: Glassfish Overview for Sogeti 20090225

GlassFish v2 for the EnterpriseIntegration• 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

Page 15: Glassfish Overview for Sogeti 20090225

GlassFish v2 for EnterprisesManagement & Monitoring

• Graphical, command-line, tools, ANT ...> JMX and Centralized

• Call Flow• Self-management• Diagnostic reports• VisualVM

> Now in Java 6u7> GlassFish plugin

Page 16: Glassfish Overview for Sogeti 20090225

Call Flow demo

Page 17: Glassfish Overview for Sogeti 20090225

Web Admin Console

Page 18: Glassfish Overview for Sogeti 20090225

Enterprise Management Tools

Demonstration• Performance Advisor• Performance Monitor

Other demos• SNMP

Page 19: Glassfish Overview for Sogeti 20090225

Enterprise Management ToolsPerformance

Page 20: Glassfish Overview for Sogeti 20090225

GlassFish PerformanceSPECjAppServer> 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

Sun BEA IBM JBoss

0100200300400500600700800900

1000

SPECjAppServer 2004 Results

?

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/.

Page 21: Glassfish Overview for Sogeti 20090225

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...

Page 22: Glassfish Overview for Sogeti 20090225

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

• Resource Injection• New APIs and frameworks

Page 23: Glassfish Overview for Sogeti 20090225

JBI support

Enterprise Integration

Page 24: Glassfish Overview for Sogeti 20090225

JBI – A Universal Plug 'n Play Layer● A standard way to add new

functionality to an existing platform

● Standard Installation and life cycle for components

● Standard WSDL based communication across components

● Standard deployment model for all components

● Result of the experience we had with our own Products: Integration Server EAI, SeeBeyond ICAN

Page 25: Glassfish Overview for Sogeti 20090225

Open ESB: An Extensible Platform

Page 26: Glassfish Overview for Sogeti 20090225

JBI in a NutshellESB Container Foundation

JBICore

Services

Normalized Message RouterNormalized Message Router

J2EE™ Platform

Syste

mMa

nage

ment

Orchestration(BPEL)

Transformation(XSLT) J2EE Platform

AS2 JMSWS-I BasicSOAP

Service Engines (SEs) as logic containers

Binding Components (BCs)as proxies to outside world

• The “JBI Bus”: a fast, reliable, in-memory messaging bus

• Mediates all message exchanges between consumers and providers

• Message payloads are opaque data sent along to the receiver (no canonicalization)

• Normalization not performed when consumer and provider in same JBI container

Page 27: Glassfish Overview for Sogeti 20090225
Page 28: Glassfish Overview for Sogeti 20090225

Request starts here!

Calculate interest

rate based on type

Monthly Payment!

Copy Record to Database

Drop Quote on Message Queue

Provide values from UI

Provide values to UI

Page 29: Glassfish Overview for Sogeti 20090225

JBI & BPEL Demo

Page 30: Glassfish Overview for Sogeti 20090225

GlassFish Next

Page 31: Glassfish Overview for Sogeti 20090225

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

RightsizingRightsizing

Page 32: Glassfish Overview for Sogeti 20090225

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

Page 33: Glassfish Overview for Sogeti 20090225

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 (...) { ... }

Page 34: Glassfish Overview for Sogeti 20090225

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

Page 35: Glassfish Overview for Sogeti 20090225

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

Page 36: Glassfish Overview for Sogeti 20090225

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

Page 37: Glassfish Overview for Sogeti 20090225

GlassFish ESBGlassFish Project v3 + Open ESB v3

Page 38: Glassfish Overview for Sogeti 20090225

(Some) Distributions & Contributors

ProjectGlassFish

GlassFish Enterprise Derby

OpenESB

GlassFishPortal

MQ

Distributions

Maven Rep

Java EE RI & SDK Communities NetBeans™IDE

Tools

Eclipse Plugin

Users and Other Groups

TmaxSoft JEUS 6Oracle oc4j

BEA WebLogic 10

JBoss 5

SailFin

Hudson

OpenSSO

OpenDS

Page 39: Glassfish Overview for Sogeti 20090225

GlassfishWhere to go next

• Add-ons>Glassfish Enterprise Server>Glassfish ESB>Glassfish Web Space Server>Glassfish Web Stack

Page 40: Glassfish Overview for Sogeti 20090225

GlassfishWhere to go next

• http://glassfish.org• http://wiki.glassfish.java.net• http://blogs.sun.com/theaquarium

> Daily news, broader GlassFish community• http://java.sun.com/javaone

> Presentations and Hands-on-Labs

Page 41: Glassfish Overview for Sogeti 20090225

41

Questions [email protected]