Chapter 1. Introduction

JBoss Enterprise Web Platform is built on top of the new JBoss Microcontainer. The JBoss Microcontainer is a lightweight container that supports direct deployment, configuration and lifecycle of plain old Java objects (POJOs). JBoss Microcontainer replaces the JBoss JMX Microkernel.
The JBoss Microcontainer integrates nicely with the JBoss Aspect Oriented Programming framework (JBoss AOP). JBoss AOP is discussed in Chapter 9, JBoss AOP. Support for JMX in JBoss Enterprise Web Platform remains strong and MBean services written against the old Microkernel are expected to work.
The Seam Booking sample application is Java EE 5 compliant. It demonstrates many of the technologies available on the Enterprise Web Platform, such as:
  • EJB3
  • Stateful Session Beans
  • Stateless Session Beans
  • JPA (w/ Hibernate validation)
  • JSF
  • Facelets
  • Ajax4JSF
  • Seam
Many key features of JBoss Enterprise Web Platform 5 are provided by integrating standalone JBoss projects which include:
  • JBoss EJB3 included with JBoss Enterprise Web Platform 5 provides the implementation of the latest revision of the Enterprise Java Beans (EJB) specification. EJB 3.0 is a deep overhaul and simplification of the EJB specification. EJB 3.0's goals are to simplify development, facilitate a test driven approach, and focus more on writing plain old java objects (POJOs) rather than coding against complex EJB APIs.
  • JBoss Cache comes in two flavors: a traditional tree-structured node-based cache, and a PojoCache, an in-memory, transactional, and replicated cache system that allows users to operate on simple POJOs transparently without active user management of either replication or persistency aspects.
  • JBoss Web Services 3.x is the web services stack for JBoss Enterprise Web Platform, providing Java EE compatible web services, JAXWS-2.x, etc.
  • JBoss Transactions is the default transaction manager for JBoss Enterprise Web Platform 5. JBoss Transactions is founded on industry proven technology and 18 year history as a leader in distributed transactions, and is one of the most interoperable implementations available.
  • JBoss Web is the Web container in JBoss Enterprise Web Platform 5, an implementation based on Apache Tomcat that includes the Apache Portable Runtime (APR) and Tomcat native technologies to achieve scalability and performance characteristics that match and exceed the Apache Http server.

1.1. JBoss Enterprise Web Platform Use Cases

  • 99% of web applications involving a database
  • Mission critical web applications likely to be clustered.
  • Simple web applications with JSPs/Servlets upgrades to JBoss Enterprise Web Platform with Tomcat Embedded.
  • Intermediate web applications with JSPs/Servlets using a web framework such as Struts, Java Server Faces, Cocoon, Tapestry, Spring, Expresso, Avalon, Turbine.
  • Complex web applications with JSPs/Servlets, Seam, Enterprise Java Beans (EJB), caching, etc.
  • Cross application middleware (Corba, JMX, etc.)