• Save
Kabir Khan on AS6 at JBUG.be
Upcoming SlideShare
Loading in...5
×
 

Kabir Khan on AS6 at JBUG.be

on

  • 2,292 views

 

Statistics

Views

Total Views
2,292
Views on SlideShare
2,255
Embed Views
37

Actions

Likes
1
Downloads
0
Comments
0

3 Embeds 37

http://jbug.be 26
http://www.jbug.be 6
http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • I&apos;ll start off by describing how the work we did for JBoss AS 5 is at the core of AS 6. <br /> <br /> We&apos;ll then take a look at how we have changed our release model for AS 6 and how we have helped influence the Java EE 6 spec. <br /> <br /> Next we will take a look at what is new in JBoss AS 6 <br /> <br /> I&apos;ll then give an overview of the releases we have done so far of AS 6, and what is coming next. <br /> <br /> Then I&apos;ll show you a demo application covering some of the new features in EE6 before rounding off with how to get involved in the development if you are interested <br />
  • <br />
  • For JBoss AS 6 we wanted to make our community realises cutting-edge and sexy again!&#xA0; <br /> <br /> We have done this by moving to a milestone release model.&#xA0; <br /> <br /> The milestones are time-boxed, released roughly every two months, and each provides a small set of completed and usable features.&#xA0; <br /> <br /> This is different from the old alpha/beta model we used previously since then the features themselves would be under development with sometimes big differences between the different versions. <br /> <br /> If you&apos;re targeting AS 6 you can start with the milestones and progress to future milestones as we add features and improvements <br />
  • Where possible we want to implement a standard so our users can write portable code, and when there is no spec available we try to get a new standard accepted. <br /> Here is a list of some of the specs implemented in AS 6. <br /> Red Hat is a member of all these expert groups and leads JSR 299 and 303. <br /> <br />
  • Now let&apos;s take a look at some of the improvements we have done to performance, and some of the new projects that are part of JBoss 6. <br /> Some of these are internal, some are part of JEE6 and we also have OSGi. <br /> I&apos;ll also mention the new release versioning briefly. <br />
  • VFS - pluggable &#x201C;systems&#x201D;, uniform interface no matter where the files come from <br />
  • <br />
  • <br />
  • Beat ActiveMQ by 307% <br /> <br /> AIO Journal is the asynchronous file where we get callbacks every time the disk is synced. <br /> Most Messaging servers out there beat performance by not syncing the disk at all. We still offer high performance while guaranteeing consistency on data, without offering a cheating solution for benchmarks. <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
  • <br />
  • EJB takes place of JSF view controller <br />
  • RichFaces is a component library for JSF and an advanced framework for easily integrating AJAX capabilities into business applications. <br /> 100+ AJAX enabled components in two libraries <br /> Whole set of JSF benefits while working with AJAX <br /> Skinnability mechanism <br /> Component Development Kit (CDK) <br /> Dynamic resources handling <br /> Testing facilities for components, actions, listeners, and pages <br /> Broad cross-browser support <br /> Large and active community <br /> <br />
  • <br />
  • Eviction policies: LRU and LIRS (Low Inter-reference Recency Set) - LIRS addresses shortcomings in LRU such as sequences and loops <br />
  • <br />
  • <br />
  • When your database schema is generated by Hibernate, the constraints are expressed (declarative) <br />
  • <br />
  • Marshalling is used by Infinispan in a couple different capacities: persistence and communications. &#xA0; <br />
  • JAX-RS = Java API for Restful Web Services <br />
  • Client and Server Local Response Cache: looks for Cache-Control Header <br /> @Cache/@NoCache - class or method <br /> Interceptors: MessageBodyReader/-Writer, Pre-/PostProcess <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be Presentation Transcript

  • What is Cooking in JBoss AS 6 Kabir Khan JBoss, a division of Red Hat kabir.khan@jboss.com
  • Agenda • Historical background • JBoss AS 6 and the community • Project News • Roadmap • Demo application • How to get involved
  • Historical background - JBoss AS 5 • Important step in the maturation of the platform • New internal architecture - JBoss Microcontainer - VFS - New ClassLoaders - Deployer architecture (“aspectized”) • All this to prepare JBoss AS for future versions!
  • JBoss AS 6 and the Community • New model of releases of milestones • Rapid cycle of time-boxed releases - approximately every two months • Delivery of complete functionality for the community as they are ready - coarse grained • Better than the alphas and betas, which contains subsets of features - fine grained
  • JBoss AS 6 and the Community • JSR 299 - CDI for the Java EE platform - Gavin King • JSR 303 - Bean Validation - Emmanuel Bernard • JSR 311 - JAX-RS • JSR 314 - Java Server Faces 2.0 • JSR 316 - JavaEE 6 • JSR 317 - JPA 2.0 • JSR 318 - EJB 3.1 • JSR 330 - Dependency Injection
  • Project News • Performance enhancements • New projects - Internal - JEE 6 - OSGi • New release versioning
  • Performance enhancements • A number of efforts in this direction • VFS 3.0 - New API - Mount + explicit life cycle associated with Structure Deployers - Optimized how zipped files are accessed - Used for - Classloading - Deployment scanning
  • Performance enhancements • JBoss Microcontainer - Several optimisations in the kernel - Dependency resolution - Optimized state comparisons - Improved comparison of ScopeKeys - Under development - JBoss Reflection: - no need to load classes, work on raw bytecode - Annotation scanner cache • On demand startup of web applications
  • HornetQ • New JMS Provider in JBoss AS 6.0.0.M3 • POJO-based architecture • APIS - JMS 1.1 - Proprietary APIS: core client API, RESTful API and others • Can be used in other environments/ servers
  • HornetQ • Performance - Broke the record of 307% in SPECjms2007 - Lightning fast journal for persistant messages - Native AIO on Linux - asynch file getting callbacks when disk is synced - Guarantees consistency • Integrated with AS deployers - hornetq-jms.xml - Can set up queues in application • Integrated with JBoss Admin console
  • JBoss Embedded • Work in progress - A test environment for applications in a standalone virtual machine - Can be used with ShrinkWrap - Version 1.0.0.Alpha3 - jboss-as-depchain - Module referencing the whole classpath necessary to use JBoss Embedded - AS is mavenized
  • Weld • Reference implementation of JSR 299 - CDI - Integrates EJB and JSF • Integrated with JBoss AS 6.0.0.M1 - Integration project under development • Seam 3 offers extensions to Weld / CDI (beyond Java EE) - Drools - JMS - ...
  • RichFaces • Component Library for JSF • 100+ AJAX enabled components • Testing facilities • Skins • Version 3.3.3.Final - Basic support for JSF 2.0 - JBoss AS 6.0.0.M3
  • RichFaces 4 • Full JSF 2.0 integration • Under development • CDK (Component Development Kit) - advanced templates, notes, faces-config extensions etc. • AJAX framework improvements - Beyond the spec • Performance optimizations
  • Infinispan • JBoss Cache replacement • Exposes a Cache (JSR 107) interface • Advanced Data Grid platform - Massive heap - Advanced concurrency algorithms - Perfect for the latest multi-core processor technology • JTA integration • Efficient cache eviction policies
  • Hibernate Core • Version - Latest 3.5.2 - In JBoss AS 6.0.0.M3: 3.5.0.CR1 • Implements JPA 2.0 (JSR 317) - More legacy mappings - Typesafe criteria API (queries) - More flexible locking strategies - Integration with Bean Validation
  • Hibernate Core • 2nd level cache performance and locking locking limits improved - Redefined 2nd level cache contract - Using Infinispan • Define several fetch profiles - enable per session • Now includes - Hibernate Annotations - Entity Manager
  • Hibernate Validator • Version 4.0.2.GA - Included in JBoss AS 6.0.0.M3 • Reference implementation of JSR 303 - Bean Validation • Constraints - @NotNull, @ZipCode - Declarative - JSF & JPA - META-INF/validation.xml - Business layer
  • Clustering • New httpd-based load balancer: mod_cluster - Dynamic cluster configuration - two-way ping protocol - No predefinition - Load balancing factor of the nodes is calculated - feedback sent by the cluster nodes - Web application lifecycle aware - Don’t forward requests to a node being updated - Distinguishes between shutdown and crash - Ping!
  • JBoss Remoting 3 • Pluggable protocols • Pluggable Marshalling (JBoss Marshalling) - 2x faster than serialization API - Pluggable class resolvers - Object tables - Externalizers - Infinispan (persistence/communications) • Streaming support • EJB 3 remote proxies • 1.3.0.CR3
  • RESTEasy • Certified implementation of JSR JAX- RS - Allows easier access to services provided by resource methods - Annotations - Version 2.0-beta2 - Embeddable implementation for testing - Framework for creating HTTP clients from annotations - EJB, Seam, Guice, Spring + Spring MVC integration
  • RESTEasy • Cache - Server local response in-memory cache - @Cache/@NoCache - Client "browser" cache • Rich Interceptor model • Asynchronous (COMET) Job Service
  • JBoss OSGi • Currently in ʻosgiʼ profile • Integration layer with OSGi framework - Felix or Equinox - Native MC - Under development - Permit bundles to communicate with components from other models - Bundle -> EJB - MC bean -> bundle
  • JBoss OSGi • Blueprint service (RFC-124) - Control lifecycle, extenders, service listeners etc. - Configured via MANIFEST.MF or via xml in OSGI-INF/blueprint
  • Other Changes • Versioning of projects - Compatible with OSGi - Two options - Alpha and beta - major.minor.micro.Alpha/Beta/CR[n] - major.minor.micro.Final - Milestones - major.minor.micro.TIMESTAMP-Mn - major.minor.micro.Final • Totally mavenized
  • Road Map • JBoss AS 6.0.0.M1 (02/12/2009) - CDI/WELD - JSF 2 - Bean Validation - mod_cluster - Embedded prototype
  • Road Map • JBoss AS 6.0.0.M2 (16/02/2010) - Servlet 3.0 - JPA 2.0 - JAX-RS 1.0 - JBoss Microcontainer 2.2.0 (Alpha) - On-demand deployment of web applications
  • Road Map • JBoss AS 6.0.0.20100429-M3 (29/04/2010) - EJB 3.1: Singleton beans & Container Managed Concurrency - JBoss Remoting 3 - JBoss Embedded AS - OSGi profile
  • Road Map • JBoss 6.0.0.M4 (June 2010) - Replace JBoss Cache with Infinispan - JBoss Reflection on Javassist - Annotation Scanner - JBoss Remoting 3 - EJB 3.1: Timers - Weld <-> MC injection
  • Road Map • JBoss AS 6.0.0.Final - 100% JEE 6 TCK • JBoss AS 7 - Management tools - Ease of configuration
  • Application Demo • New AS 6 features - Servlets and EJBs without configuration files - RESTful service - Bean Validation
  • How can I participate • Itʼs easy - Forum feedback - http://community.jboss.org - JIRA bugs/feature suggestions - http://jira.jboss.org - Project pages - http://www.jboss.org
  • Summary • With JBoss AS 6 - More vibrant community - Frequent releases - Cutting edge technologies - EE6 technologies as they become available