This post is a direct response to a recent Oracle blog post published in response to the release of JBoss Enterprise Application Platform (EAP) 6.
That post contained a number of technical and non technical inaccuracies. However, this post will only address the technical inaccuracies.
For each inaccuracy, a (F)alse statement / implication is followed with a (T)rue statement / clarification.
(F) Disaster Recovery is a feature of Oracle WebLogic Server (WLS) 12c.
(T) JBoss EAP 6 supports failover, but disaster recovery is a comprehensive strategy of processes, policies, and procedures. It is not a feature of an application server.
(F) JBoss EAP 6 supports limited clustering.
(T) JBoss EAP 6 supports advanced clustering and high availability.
(F) JBoss EAP 6 does not support failure detection.
(T) JBoss EAP 6 supports failure detection and load balancing with mod_cluster.
(F) There is no alert when a JBoss EAP 6 server goes down and manual intervention is required to start a server.
(T) JBoss ON monitors the availability of JBoss EAP 6 servers and can trigger an alert condition if a server goes down. An alert can, for example, notify administrators and start a server.
(F) JBoss ON did not support JBoss EAP 6 before JBoss EAP 6 was released.
(T) JBoss ON supported JBoss EAP 6 before JBoss EAP 6 was released with the the JBoss AS 7 plugin in the Tech Preview Pack (link).
(F) A JBoss EAP 6 server can not be started / stopped remotely.
(T) A JBoss EAP 6 server can be started / stopped remotely by a Host Controller or JBoss ON.
A Host Controller is the equivalent of Oracle WLS 12c Node Manager.
(F) JBoss EAP 6 servers have to be managed on a per server basis.
(T) JBoss EAP 6 servers can be managed as a domain by a Domain Controller or managed as a group by JBoss ON.
(F) JBoss EAP 6 does not support distributed caching.
(T) JBoss EAP 6 supports distributed caching with Infinispan, a data grid.
Infinispan is the equivalent of Oracle Coherence.
Application Server Administration
(F) JBoss EAP 6 includes a limited administrative console that requires administrators to create scripts and modify XML files.
(T) JBoss EAP 6 includes a complete administrative console so that administrators are not required to create scripts and modify XML files.
JBoss EAP 6 includes remote management services with an HTTP API and a native API. The administrative console is an HTTP API client. The scripting interface is a native API client.
The remote management services can be used to develop administrative applications such as the JBoss Admin iPhone application (link).
(F) JBoss ON does not support the management and monitoring of the complete stack.
(T) JBoss ON supports the management and monitoring of the operating system, the JVM, and the middleware.
Example: RHEL, OpenJDK, JBoss EAP, and Apache HTTP
In addition, JBoss ON supports the management and monitoring of multiple domains.
(F) JBoss ON can not deploy applications.
(T) JBoss ON can deploy applications to JBoss EAP 6 and provision JBoss EAP 6 servers themselves (link).
(F) Oracle WLS 12c has a single administration model whereas JBoss EAP 6 has two operating modes.
(T) Oracle WLS 12c has two operating modes: Standalone Server Domain and Domain with Separate Managed Servers.
Oracle WLS 12c Standalone Server Domain is the equivalent of JBoss EAP 6 Standalone Mode.
Oracle WLS 12c Domain with Separate Managed Servers is the equivalent JBoss EAP 6 Domain Mode.
JBoss EAP 6 has the same administration model in both Standalone Mode and Domain Mode.
(F) An Oracle WLS 12c domain does not include specialized servers whereas a JBoss EAP 6 domain includes a Domain Controller and one or more Host Controllers.
(T) An Oracle WLS 12c domain includes a “special Oracle WebLogic Server instance called the Administration Server” and one or more Node Managers, separate Oracle WLS 12c utilities.
A JBoss EAP 6 Domain Controller is the equivalent of an Oracle WLS 12c Administration Server, a JBoss EAP Host Controller is the equivalent of an Oracle WLS 12c Node Manager, and a JBoss EAP 6 server is the equivalent of an Oracle WLS 12c Manged Server.
Oracle RAC Support
(F) JBoss EAP 6 does not support load balancing with Oracle RAC.
(T) JBoss EAP 6 supports load balancing and failover with an Oracle RAC database using the same JDBC driver and configuration as Oracle GridLink for RAC (i.e. multi data source).
Standards and Technology Support
(F) Red Hat does not ship a JVM.
(T) Red Hat ships and fully supports OpenJDK with Red Hat Enterprise Linux (RHEL).
(F) Red Hat support is limited to the application server (JBoss EAP).
(T) Red Hat support the operating systems (RHEL), the JVM (OpenJDK), and the application server (JBoss EAP).
(F) JBoss EAP 6 is not fully supported on JDK 7.
(T) JBoss EAP 6 is fully supported on JDK 7 (link).
(F) Oracle WLS 12c supports Oracle GlassFish applications whereas JBoss EAP 6 does not support JBoss AS 7 applications.
(T) JBoss AS 7 applications can be deployed to JBoss EAP 6 without modification.
JBoss EAP 6 is an enterprise version of JBoss AS 7.
Oracle GlassFish is a separate project from Oracle WebLogic Server.
- Oracle Application Server (IronFlare > Oracle)
- Oracle WebLogic Server (BEA > Oracle)
- Oracle GlassFish Server (Sun > Oracle)
Oracle WebLogic Server supports a subset of Oracle GlassFish deployment descriptors.
(F) The size of the JBoss EAP 6 installation archive is larger than the size of the Oracle WLS 12c installation archive.
(T) The JBoss EAP 6 installation archive is 110MB.
The Oracle WLS 12c installation archive is 183MB.
The installation archive size is a factor in the process of rapidly provisioning application servers on an as needed basis (e.g. developer environments).
(F) JBoss EAP 6 has limited support for Maven.
(T) JBoss EAP 6 includes a complete Maven repository archive.
There are 50 JBoss EAP 6 ‘quick start’ Maven projects hosted on GitHub.
In addition to deploying / undeploying applications, the JBoss Maven plugin can add resources such as data sources and it can deploy artifacts such as JDBC drivers. The Arquillian Maven plugin can manage the application server lifecycle, application deployment / undeployment, and execute integration tests.
(F) Oracle WLS 12c has a lightweight runtime that implements the Java EE 6 Web Profile, whereas JBoss EAP 6 requires manual configuration to implement the Java EE 6 Web Profile.
(T) Oracle WLS 12c is not a Java EE 6 Web Profile compatible implementation. However, JBoss EAP 6 is a Java EE 6 Web Profile compatible implementation (link).
Oracle WLS 12c is limited to starting either a) all of the services or b) all of the services except the EJB, JCA, and JMS services.
However, while JBoss EAP 6 includes Full Profile and Web Profile configurations, administrators are not limited to these configurations. Administrators can create their own configurations and choose which subsystems to enable and / or disable.
(F) With Oracle WLS 12c, FastSwap can be used to patch a deployed application rather than redeploying it
(T) FastSwap is only supported in development mode. It is automatically disabled in production mode.
In addition, FastSwap will not monitor classes in JAR archives in the WEB-INF/lib folder.
JMS and Messaging
(F) HornetQ is immature.
(T) HornetQ 2.2.16 is a supported component of JBoss EAP 6.
HornetQ 2.2.10 was supported component of JBoss EAP 5.1.2.
HornetQ 2.2.1 was a technical preview component of JBoss EAP 5.1.1.
(F) HornetQ relies on a database.
(T) HornetQ ships with a high performance journal.
HornetQ includes two implementations of the journal: a Java NIO implementation and a Linux AIO (libaio) implementation.
HornetQ set a new record in the SPECjms2007 benchmark. There is no Oracle WLS 12c JMS submission.
(F) HornetQ does not support the Store and Foward (SAF) pattern and Distributed Topics / Queues.
(T) HornetQ does support the Store and Forward (SAF) pattern and Distributed Topics / Queues.
Caching and Grid
(F) JBoss EAP 6 includes Infinispan 1.0.
(T) JBoss EAP 6 includes Infinispan 5.1.4.
(F) Infinispan lacks a proven track record of success.
(T) Chicago Board Options Exchange (CBOE) presented on their use of Infinispan at JBoss World 2011, and Cisco presented on their use of Infinispan at JBoss World 2012.
(F) JBoss EAP 6 does not support a replicated HTTP session cache.
(T) JBoss EAP 6 supports both replicated and distributed HTTP session caches with Infinispan.
(F) Infinispan is not a Hibernate second level cache provider.
(T) Infinispan is the default second level (L2) cache provider for Hibernate.