23
Monday, May 2, 2011

Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Monday, May 2, 2011

Page 2: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Weld past, present and future

Pete Muir, Aleš JustinJBoss by Red Hat

Monday, May 2, 2011

Page 3: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Agenda

•Past•What is Weld? How does it Fit In?•From TCK to cool Arquillian

•Present•State of the union•Integration(s)

•Future•Todo(s)•CDI 1.1

Monday, May 2, 2011

Page 4: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

About us

•Pete Muir•Weld Founder•CDI 1.1 Spec Lead

•Aleš Justin•Weld Lead•Microcontainer co-author

Monday, May 2, 2011

Page 5: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

What is Weld? What is CDI?How does it all fit together?

Monday, May 2, 2011

Page 6: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Weld•JBoss Community Project, licensed under ASL 2.0•CDI (Java Standard) Reference Implementation•Used in JBoss AS and GlassFish•Also available for

•Jetty•Tomcat•GAE•Java SE

Monday, May 2, 2011

Page 7: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Java EE

CD

I

EJB 3

Servlets

JAX-RS

JMS

JSF

JBoss AS 7

Weld

JBoss EJB3

JBoss Web

RESTEasy

HornetQ

Mojarra

Monday, May 2, 2011

Page 8: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

CDI TCK•JBoss Community Project, licensed under ASL 2.0•You can get involved

•If you find a bug in behavior of an implementation, create a test

•Origin of Arquillian

Monday, May 2, 2011

Page 9: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

DemoEnough boring slides!

Monday, May 2, 2011

Page 10: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

State of the union

•Released 1.1.1.Final•1.1.1.SP1 release soon•Working closely with GlassFish on updates

•More changes in 1.2.x•Javassist → ClassFileWriter•Container reflection•Light WeldClass info

•Harness → Arquillian•https://github.com/alesj/harness2arquillian

Monday, May 2, 2011

Page 11: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

JBossAS6•v6.0.0.Final → v6.1.0.Final

•Moved to JBAS project•Full integration

•100% TCK pass•Default -Pincontainer env

•External library as bean archive•Flat BeanManager ≠ JBossAS7 and GlassFish

•More natural?•Less fine-grained•Still follows BDA → CL hierarchy / visibility

Monday, May 2, 2011

Page 12: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

JBossAS7

•v7.0.0.Beta3•Work done by Stuart Douglas (JBoss EAP)

•Good progress•~ 20 / 800 TCK failing → all identified•Existing testing profiles (& ARQ containers)

•Fine-grained BeanManager control•Testing ground for Weld v1.2.x

Monday, May 2, 2011

Page 13: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Web Containers

•Cleaned up Listener•Container interface → ServiceLoader lookup

•Tomcat 6 & 7•Jetty 6 & 7 & 8

•Shared mode •https://github.com/alesj/weld-shared

•Google AppEngine (~ Jetty6)•It runs, but no integration

Monday, May 2, 2011

Page 14: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Miscellaneous•Seam Conversation

•Abstracting CDI usage - Weld, OWB, CanDI•https://github.com/alesj/conversation

•Lhotse•Abstracting GAE vs. JEE API•https://github.com/alesj/lhotse

•OSGi•SERLI team•https://github.com/mathieuancelin/weld-osgi

•Guice → CDI•https://github.com/avrecko/weld-guiceconfig

Monday, May 2, 2011

Page 15: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

TODOs

•WELD JIRA issues•Clean up for 1.2.x

•@Cached or @Clustered•Infinispan based → Pete?

•@HAScoped•+ Some Other Cool stuff ;-)

Monday, May 2, 2011

Page 16: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Java EE 7

Monday, May 2, 2011

Page 17: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Java EE 7

•Improve support for SaaS and PaaS•Improvements to contributing specs•Improvements to platform security•Descriptor controls for PaaS/SaaS

•HTML5/WebSockets support•Build on Java 7 SE•Modularity

Monday, May 2, 2011

Page 18: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

Java EE 7

•JMS 2.0•Focus on ease of use

•CDI 1.1•EJB 3.2

•Expand EJB services to all managed beans•JAX-RS 2.0•JSF 2.?

Monday, May 2, 2011

Page 19: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

CDI 1.1

•Enhance existing spec•No large issues found in real life usage

•Ordering and enablement of beans, interceptors and decorators

•Context lifecycle management•Embedded mode

Monday, May 2, 2011

Page 20: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

CDI 1.1

•Inclusion of @Unwraps from Seam Solder•More events

•Servlet•Application lifecycle

•Multi-tennant support in contexts•Scanning control

Monday, May 2, 2011

Page 21: Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for •Jetty •Tomcat •GAE •Java SE Monday, May 2, 2011. Java EE CDI EJB 3 Servlets JAX-RS

CDI 1.1

•Community sponsored issues•TCK built using Arquillian

Monday, May 2, 2011