Kabir Khan on AS6 at JBUG.be

  • 1,674 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,674
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

  • I'll start off by describing how the work we did for JBoss AS 5 is at the core of AS 6.

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

    Next we will take a look at what is new in JBoss AS 6

    I'll then give an overview of the releases we have done so far of AS 6, and what is coming next.

    Then I'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

  • For JBoss AS 6 we wanted to make our community realises cutting-edge and sexy again! 

    We have done this by moving to a milestone release model. 

    The milestones are time-boxed, released roughly every two months, and each provides a small set of completed and usable features. 

    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.

    If you're targeting AS 6 you can start with the milestones and progress to future milestones as we add features and improvements
  • 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.
    Here is a list of some of the specs implemented in AS 6.
    Red Hat is a member of all these expert groups and leads JSR 299 and 303.

  • Now let'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.
    Some of these are internal, some are part of JEE6 and we also have OSGi.
    I'll also mention the new release versioning briefly.
  • VFS - pluggable “systems”, uniform interface no matter where the files come from


  • Beat ActiveMQ by 307%

    AIO Journal is the asynchronous file where we get callbacks every time the disk is synced.
    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.

    <configuration xmlns="urn:hornetq"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:hornetq ../schemas/hornetq-jms.xsd ">

    <connection-factory name="ConnectionFactory">
    <connectors>
    <connector-ref connector-name="netty"/>
    </connectors>
    <entries>
    <entry name="ConnectionFactory"/>
    </entries>
    </connection-factory>

    <queue name="OrderQueue">
    <entry name="queues/OrderQueue"/>
    </queue>

    </configuration>

  • EJB takes place of JSF view controller
  • RichFaces is a component library for JSF and an advanced framework for easily integrating AJAX capabilities into business applications.
    100+ AJAX enabled components in two libraries
    Whole set of JSF benefits while working with AJAX
    Skinnability mechanism
    Component Development Kit (CDK)
    Dynamic resources handling
    Testing facilities for components, actions, listeners, and pages
    Broad cross-browser support
    Large and active community


  • Eviction policies: LRU and LIRS (Low Inter-reference Recency Set) - LIRS addresses shortcomings in LRU such as sequences and loops


  • When your database schema is generated by Hibernate, the constraints are expressed (declarative)

  • Marshalling is used by Infinispan in a couple different capacities: persistence and communications.  
  • JAX-RS = Java API for Restful Web Services
  • Client and Server Local Response Cache: looks for Cache-Control Header
    @Cache/@NoCache - class or method
    Interceptors: MessageBodyReader/-Writer, Pre-/PostProcess












Transcript

  • 1. What is Cooking in JBoss AS 6 Kabir Khan JBoss, a division of Red Hat kabir.khan@jboss.com
  • 2. Agenda • Historical background • JBoss AS 6 and the community • Project News • Roadmap • Demo application • How to get involved
  • 3. 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!
  • 4. 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
  • 5. 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
  • 6. Project News • Performance enhancements • New projects - Internal - JEE 6 - OSGi • New release versioning
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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 - ...
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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!
  • 20. 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
  • 21. 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
  • 22. RESTEasy • Cache - Server local response in-memory cache - @Cache/@NoCache - Client "browser" cache • Rich Interceptor model • Asynchronous (COMET) Job Service
  • 23. 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
  • 24. JBoss OSGi • Blueprint service (RFC-124) - Control lifecycle, extenders, service listeners etc. - Configured via MANIFEST.MF or via xml in OSGI-INF/blueprint
  • 25. 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
  • 26. Road Map • JBoss AS 6.0.0.M1 (02/12/2009) - CDI/WELD - JSF 2 - Bean Validation - mod_cluster - Embedded prototype
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. Road Map • JBoss AS 6.0.0.Final - 100% JEE 6 TCK • JBoss AS 7 - Management tools - Ease of configuration
  • 31. Application Demo • New AS 6 features - Servlets and EJBs without configuration files - RESTful service - Bean Validation
  • 32. 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
  • 33. Summary • With JBoss AS 6 - More vibrant community - Frequent releases - Cutting edge technologies - EE6 technologies as they become available