Glass Fish V3 University Amers May2009

26
1 GlassFish v3 27 Mei 2009 Alexis Moussine-Pouchkine GlassFish Team

description

Alexis MP presentation for the NLJUG University in Amersfoort on May 27. Most of the presentation was about all kind of demonstrations of new V3 features (demo's not included)

Transcript of Glass Fish V3 University Amers May2009

Page 1: Glass Fish V3  University Amers May2009

1

GlassFish v3

27 Mei 2009

Alexis Moussine-PouchkineGlassFish Team

Page 2: Glass Fish V3  University Amers May2009

Timeline of Project GlassFish

TomcatJasper

CatalinaJSTLStruts

CrimsonXSLTCXalan

Xerces

JAXBJAX-RPC

JSF

June2005

May2006

GlassFishLaunch v2

v1

(you are here)

v3(Java EE 6)

Sept.2007

Fall-2009

v2.1

v3“Prelude”

Oct/Nov2008

Jan2008

Page 3: Glass Fish V3  University Amers May2009

GlassFish Downloads

Page 4: Glass Fish V3  University Amers May2009

Actual Usage

Page 5: Glass Fish V3  University Amers May2009

GlassFish around you

Page 6: Glass Fish V3  University Amers May2009

GlassFish around you (really)

Page 7: Glass Fish V3  University Amers May2009

GlassFish around you (really)

Page 8: Glass Fish V3  University Amers May2009

If there was only one reason...

... we care about both

Page 9: Glass Fish V3  University Amers May2009

Introducing GlassFish v3

Page 10: Glass Fish V3  University Amers May2009

Modular and Dynamic

• Modular : Apache Felix (OSGi)• Extensible : HK2• Yet very Fast !

Page 11: Glass Fish V3  University Amers May2009

Admin Console

Page 12: Glass Fish V3  University Amers May2009

• Java EE development doesn't have to be painful :)• Incremental compile of all Java EE artifacts• Auto-deploy of all Java EE and static artifacts

Painless Java EE development !

Page 13: Glass Fish V3  University Amers May2009

Session Retention

• Deployment option to maintain stateful sessions across re-deployments

$ asadmin redeploy --propertieskeepSessions=true myapp.war

• Greatly simplifies thedevelopment paradigm.

• Integrated in NetBeans 6.5 :

Page 14: Glass Fish V3  University Amers May2009

Yes, Eclipse too !

GlassFish (v2/v3) + Eclipse 3.4 Tools Bundle: http://download.java.net/glassfish/eclipse/

Page 15: Glass Fish V3  University Amers May2009

Update Center

Page 16: Glass Fish V3  University Amers May2009

Java EE 6 (JSR 316)

• EJB 3.1• JPA 2.0• Servlet 3.0• JSF 2.0• JAX-RS 1.0• Connector Architecture 1.6• Bean Validation 1.0• JCDI 1.0 (née Web Beans)

• JAXB 2.2• JAX-WS 2.2• JSR-109 1.3• JAX-RS 1.1• EL 1.2 • JSP 1.2 • Authentication SPI 1.1• Common Annotations

1.1

Page 17: Glass Fish V3  University Amers May2009

Java EE 6 (JSR 316)via GlassFish v3 Prelude Update Center

• EJB 3.1• JPA 2.0• Servlet 3.0• JSF 2.0• JAX-RS 1.0• Connector Architecture 1.6• Bean Validation 1.0• JCDI 1.0 (née Web Beans)

• JAXB 2.2• JAX-WS 2.2• JSR-109 1.3• JAX-RS 1.1• EL 1.2 • JSP 1.2 • Authentication SPI 1.1• Common Annotations

1.1

Page 18: Glass Fish V3  University Amers May2009

Java EE 6 Web Profile

• A fully functional mid-sized profile for web apps • Accepted:

> Servlet, JSP, EL, JSTL, JSF, EJB Lite, JTA, JPA,JSR-250, Bean Validation 1.0

• Not decided yet: > Web Beans 1.0

• Out for now: > JAX-RS 1.1

• GlassFish v3 to ship in two distributions> Complete Java EE 6> Java EE 6 Web distributions

Page 19: Glass Fish V3  University Amers May2009

GlassFish Embedded

AppServer glassfish = new AppServer(8080);

glassfish.deployWar(warFile);

Page 20: Glass Fish V3  University Amers May2009

GlassFish Embedded

public class Main {

public static void main (String[] args) {

AppServer glassfish = new AppServer(8080);

glassfish.deployWar(a_useful_app);

}

}

Page 21: Glass Fish V3  University Amers May2009

GlassFish Embedded

@BeforeClass

public static void setUpClass () {

AppServer glassfish = new AppServer(8080);

glassfish.deployWar(myApplication);

}

@Test

public void pingApplication () {

...

}

Page 22: Glass Fish V3  University Amers May2009

Extending GlassFish v3An example

• Extend GlassFish with a Spring container> using unmodified Spring dm (OSGi)> simple Spring beans implementing the service

• Invoke the service from a servlet> using standard @Resource injection

• Never use a GlassFish API !• No need to chose between Spring and Java EE• Of course you don't have to use Spring ;)

> Grizzly extensions, plain HK2, ...Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_3

Page 23: Glass Fish V3  University Amers May2009

Extending GlassFish v3An example, a demo and a picture

Page 24: Glass Fish V3  University Amers May2009

A lot more ...

• Dynamic languages : Rails, Grails, Django, ...• Comet, Cometd/Bayeux• Embedded API• Full support for mod_jk, WebDAV, CGI, SSI• Web Services Metro 1.4 (.Net 3.5)• OpenMQ• IPS/pkg(5)• RESTful admin• Monitoring• Extensible !

Page 25: Glass Fish V3  University Amers May2009

GlassFish v3 – Practical

• Get it from http://glassfish.org> GlassFish v3 Prelude today (web container)> GlassFish v3 Preview by JavaOne

• Choice !> Eclipse or NetBeans (or vi)> Java 5 and Java 6 (Java EE 6 mandates Java 6)> Felix or Equinox

• Download size: 26MB> Graphical Installer, Zip version> Community-contributed IzPack installer

• Supported product, subscriptions available

Page 26: Glass Fish V3  University Amers May2009

26

Questions ?

http://blogs.sun.com/[email protected]