JBoss Enterprise Application Platform features

JBoss® Enterprise Application Platform (JBoss EAP) is the market-leading, open source enterprise Java™ platform for developing and deploying innovative and scalable Java applications.

Combining a robust, yet flexible architecture with an open source software license, JBoss EAP has become the most popular middleware system for developers, independent software vendors (ISVs), and enterprises. Check out the highlights and key features.

Complete Eclipse-based integrated development environment

JBoss Developer Studio integrates and certifies both tooling and runtime components by combining Eclipse, Eclipse Tooling, and the JBoss Enterprise Application Platform. This ensures that all the various Eclipse plug-ins and their dependencies work together and that all the runtime components and libraries work together.

Each plug-in is matched to its corresponding runtime component. For example, JBoss Developer Studio ensures that the versions of JBoss Seam tooling, JBoss Seam, and all their various dependencies work together. And JBoss Developer Studio ensures that all the JBoss Seam tooling and components work with other technologies, like JBoss Hibernate.

Built for standards and interoperability

JBoss EAP supports a wide range of Java EE and Web Services standards.

Enterprise JavaBeans and Java Persistence

JBoss EAP provides an innovative and standards-based way of applying enterprise-class behavior—like persistence, security, and distributed transactional caching—to any plain old Java object (POJO). JBoss EAP includes the following Enterprise JavaBeans (EJB) features required to satisfy the needs of today's scalable, distributed, transactional, and fault-tolerant applications.

EJB 3.0 features

Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification. Its aim is to simplify development by enabling developers to focus on writing plain old java objects (POJOs) rather than on learning complex EJB APIs. EJB 3.0 features include:

  • Simplified EJB API for session beans, message-driven beans (MDBs), and entity beans

  • Java Annotations

  • Dependency injection

  • Optional callbacks

  • EntityManager API

  • Simplified persistence and improved queries

JBoss Hibernate features

JBoss EAP bundles and integrates Hibernate, the de facto leader in object-relational mapping and persistence. Hibernate features include the following:

  • EJB 3.0 EntityManager and Java Persistence API

  • Virtualized filtering for temporal, historical, regional, and permissioned data

  • Flexible object-relational mappings

  • Single object to multitable mapping

  • Ability to override generated SQL with hand-written SQL

  • Transparent persistence without bytecode processing

  • Human-readable object-relational mapping definitions that can be generated via XDoclet

  • XML binding that represents data as XML and Java objects interchangeably

  • Event-driven design that enables custom event objects to be created and registered to handle auditing scenarios or cascaded behavior semantics

  • Powerful object-oriented query language expressed in an SQL-like language

  • Bulk update and delete by query

  • Ultra-high performance

EJB 2.1 support

  • Stateful and stateless session beans

  • Bean-managed persistence (BMP) entity beans

  • Container-managed persistence (CMP) entity beans

  • MDBs

  • Interoperability using Java RMI over IIOP (RMI-IIOP) or Java API for XML-based RPC (JAX-RPC)

  • Ability to expose stateless session beans and MDBs as Web Services

  • Support for sending and receiving messages via Web Services

  • Easy provisioning and hot deployment of EJB and Java Management Extensions (JMX)-based Web Services

  • Access to EJB technology from external Common Object Request Broker Architecture (CORBA) objects

Bundled ORB (JacORB) support

  • Interoperability between EJB 2.1 and CORBA objects

  • Full support for CORBA 2.3

  • Portable Object Adaptor (POA)

  • Asynchronous method invocations (AMIs)

  • Portable interceptors

  • Dynamic Invocation Interface (DII), Dynamic Skeleton Interface (DSI), and Dynamic Management of Anys (DynAny)

Built-in Java Naming and Directory Interface (JNDI) support
Built-in Java Transaction API (JTA) for two-phase commit transaction support

JBoss Seam Framework and web application services 

Drive productivity

JBoss EAP integrates the powerful JBoss Seam Framework which offers a wide set of Java Annotations that enable developers to enhance their existing POJOs with the Web application and middleware services they need. The use of Java Annotations focuses developers on business logic rather than enterprise Java boilerplate code, greatly improving productivity and streamlining the development, compilation, and deployment cycles altogether.

Kill bugs and performance problems

JBoss Seam is an application framework that complements and extends the EJB3, JavaServer Faces (JSF), and RichFaces component models by providing declarative application state management for all Java components. JBoss Seam components are stateful and contextual with a well-defined container-managed lifecycle. This approach helps solve an entire class of bugs and performance problems that plague web applications that manage state manually. JBoss Seam fully integrates JBoss jBPM into this state management architecture, making it easier than ever to write applications with complex workflows and user interactions.

Simplify with JSF

JSF is a web application framework for developing feature-rich user interfaces. Part of the Java EE 5 specification, JSF provides a standard for building dynamic, server-side user interfaces. By clearly defining a separation between application logic and presentation, JSF makes it easy for developers to connect the presentation layer to the application code.

Save time with RichFaces

JBoss EAP provides full support for JSF and includes RichFaces, a rich component library for JSF and an advanced framework for easily integrating Asynchronous JavaScript + XML (Ajax) capabilities into business applications.

RichFaces components come ready to use out of the box, so developers can immediately save time creating web applications that provide a much better user experience. RichFaces also includes strong support for the skinnability of JSF applications. And it takes full advantage of the benefits of the JSF framework—including lifecycle, validation, and conversion facilities—along with the management of static and dynamic resources.

Other web application services:

  • Embedded Apache Tomcat 6 container provides industry-leading JSP 2.1/Servlet 2.5 specification support.

  • Integration between Tomcat and other JBoss EAP services provides increased manageability, reliability, scalability, and availability.

Caching, clustering, and high availability

JBoss EAP gives you a proven foundation for mission-critical applications that require the best performance and scalability. Its high-availability services deliver the clustering, caching, failover, load-balancing, and distributed deployment features expected in a best-of-breed platform.

  • Clustering, failover, load-balancing, and distributed deployment features give you the means to deploy large, scalable, robust applications:

    • Automatic discovery of nodes

    • Cluster-wide replicated JNDI context

    • Failover and load-balancing for JNDI, RMI, and all EJB types

    • Stateful session bean state replication

    • HTTP session replication

    • High-availability Java Message Service (JMS)

    • Farming/distributed deployment of JBoss EAP components; deploying on one node deploys on all nodes

  • Embedded JBoss Cache provides a replicated, transactional, tree-structured cache which enables easy clustering of data on a JBoss AS grid. JBoss Cache:

    • Significantly increases performance via local access to data

    • Enables session data to be replicated thereby providing an always-on, high availability cache of data on your grid

    • Provides fine-grained replication for POJOs—an industry first!

Security services

JBoss EAP implements the standard J2EE™ Authentication and Authorization (JAAS) security model, but also supports extended security models to provide support for context-sensitive authorization. Plus, support for pluggable authentication modules (PAMs) enables integration with existing authentication frameworks in your enterprise.

Web Services and interoperability

One of the major advances of Java EE 5 was the addition of Java API for XML Web Services (JAX-WS), which provides a very simplified programming model designed to take the place of previous JAX-RPC Web Service implementations.

Web Services features:

  • Full J2EE 1.4 and Java EE 5 Web Services functionality, including JAX-RPC and JAX-WS

  • EJB 2.1, EJB3, and Java SE endpoints

  • Support for many WS-* standards, including WS-I, Attachments Profile, WS-Security, WS-Addressing, WS-Eventing, and WS-Policy

  • Support for Message Transmission Optimization Mechanism (MTOM)/XML-binary Optimized Packaging (XOP)

  • Learn more about JBoss EAP's supported standards

Integration and messaging services

JBoss EAP supports the latest connector and messaging specifications to provide the base infrastructure needed to support the most demanding integration requirements.

  • J2EE Connector Architecture (JCA) 1.5 and Java Database Connectivity (JDBC) 3.0 support provides connection pooling, transaction, and security context propagation for any JCA-compliant resource adapters, including databases, legacy systems, and JMS servers.

  • JMS 1.1 support allows asynchronous delivery of messages in distributed systems with optional quality of services parameters, such as persistence, guaranteed delivery, and transactions. It supports both queue and topic messaging styles and offers high-availability features that allow JMS applications to be deployed in a clustered environment.

Embeddable SOA

At the core of JBoss EAP is a service-oriented architecture (SOA) microkernel that's extremely small in footprint. By using JMX, the microkernel delivers a lightweight component model that clearly defines the lifecycle, configuration, and management of services and supplies a standard mechanism for assembling service components. This ensures that all services are accessed, managed, and integrated in a unified and consistent manner.

Services deployed in JBoss EAP can range anywhere from transaction and messaging services to connection pooling and security services. Services can easily be added or removed from the system, thus tuning the overall footprint to suit specific needs. And developers can easily extend JBoss EAP by creating custom services and packaging them as Service Archives (SARs) that are then individually hot-deployable to JBoss EAP.

Consistent manageability

With its elegant Java Management Extensions (JMX) based microkernel architecture, JBoss EAP not only offers a consistent behavior of modules, but also offers the ability to manage and configure services through any management console that supports JMX. Moreover, JBoss EAP customers can leverage the extensive administration and monitoring functionality in the JBoss Operations Network for centrally managing their JBoss environments.