Red Hat has recently released JBoss Enterprise Application Platform (EAP) 6, which features a cloud-ready architecture, improved management capabilities and better development tools. It can be deployed in on-premise, private, and public clouds, and is the run-time engine that drives Java applications in OpenShift, Red Hat's PaaS offering. JBoss EAP 6 includes JBoss Application Server (AS) 7.1, JBoss Developer Studio 5.0, JBoss Web Framework Kit 2.0 and optionally the JBoss Operations Network (ON) 3.1. JBoss EAP 6 is under a subscription model and comes with long-term support, platform certification, service packs and support SLA.
Let's look into the different parts of JBoss EAP 6 and the advantages they bring to the platform.
JBoss AS 7.1
- Java EE 6. JBoss AS 7.1 is a Java EE 6 application server and is Java EE 6 Full Profile certified. To quickly summarize, Java EE 6 has standardized modern programming techniques like dependency injection, annotations, POJO programming and REST programming, all of which reduces boilerplate code and XML configuration.
- Fast Start-up. Services are started in parallel and leverage multi-core processors, while non-critical services remain passive until first use. Subsequent start-ups use indexed metadata over full parses. These changes allow JBoss AS to start in less than 3 seconds.
- Modular Core. JBoss AS 7 uses JBoss Modules to hide server implementation classes from applications and to load only the classes the application needs. This provides application isolation and helps prevent class loading conflicts. Classes are also loaded concurrently for improved performance. OSGi support is available, built as a layer above JBoss Modules.
- Low-memory Footprint. JBoss AS 7 takes an aggressive approach to memory management to minimize garbage collector pauses. The modular core and the use of indexed metadata keep the memory footprint small, enabling it to run with stock JVM settings. Base memory usage for JBoss EAP 6 is ~15 Mb compared the traditional ~150 Mb, as shown in Red Hat's Ease into the Cloud presentation. Server profiles can be used to trim unneeded capabilities and further trim the memory requirements.
- Better Administration. Configuration in JBoss AS 7 is centralized and user-focused. The same configuration file can be used for multiple servers in domain mode, and supports rolling deployment within the domain. The configuration file is also based on a straightforward domain model with no internal wiring exposed. Besides direct XML editing, administrators have the option of using the enhanced web console, Java APIs, HTTP APIs, or the command line tool, for managing servers.
- Arquillian. Arquillian support has been added which allows you to quickly and easily run unit and integration tests within the application container.
JBoss Developer Studio Portfolio Edition 5.0
JBoss Developer Studio Portfolio Edition gives you a pre-assembled, certified, open source IDE that includes access to all JBoss enterprise technologies. It gives you everything you need in an IDE to build web applications and enterprise applications. JBoss EAP 6 provides increased integration with other development tooling, including Maven, Hudson/Jenkins and Hibernate.
JBoss Web Framework Kit 2.0
The JBoss Web Framework Kit makes it easier to use popular open source technologies in your Java application. It is a package of developer frameworks and tools useful for web and mobile application development. JBoss EAP 6 includes the components RichFaces 4.2, JBoss Snowdrop 2.0 and Hibernate Search 4.1. JBoss EAP 6 has certified support for Apache Struts 2.3, Spring 3.1/3.0/2.5 and Google Web Tookit 2.4/1.7. JBoss EAP 6 has also confirmed that certain version of IceFaces, PrimeFaces, jQuery, jQuery Mobile, Play and Grails works on its platform, but does not provide any support on these frameworks.
JBoss Operations Network 3.1
JBoss ON is a management platform providing monitoring, provisioning, and advanced management capabilities for your entire JBoss implementation. It enables your organization to simplify application release management with support for application provisioning and patching, and ensure application service levels with performance and availability monitoring.
Current users of JBoss EAP 5 who are planning to upgrade should review the JBoss EAP 6 migration guide.