Monday, May 2, 2011 - JBoss€¦ · •Used in JBoss AS and GlassFish •Also available for...

Preview:

Citation preview

Monday, May 2, 2011

Weld past, present and future

Pete Muir, Aleš JustinJBoss by Red Hat

Monday, May 2, 2011

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

About us

•Pete Muir•Weld Founder•CDI 1.1 Spec Lead

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

Monday, May 2, 2011

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

Monday, May 2, 2011

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

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

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

DemoEnough boring slides!

Monday, May 2, 2011

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

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

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

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

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

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

Java EE 7

Monday, May 2, 2011

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

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

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

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

CDI 1.1

•Community sponsored issues•TCK built using Arquillian

Monday, May 2, 2011

CDI 1.1

Join in!

•Open development - clone http://github.com/pmuir/cdi

•Open discussion - join cdi-dev@lists.jboss.org•Open roadmap - look at https://issues.jboss.org/browse/CDI

Monday, May 2, 2011

Q & A

•pmuir@redhat.com•ales.justin@jboss.org

Monday, May 2, 2011

Recommended