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
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
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
Notas del editor
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. &#xA0;
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