The Differences Between JBoss EAP 5 and EAP 6

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Share

More

Next Blog

Create Blog

Sign In

The Leading Independent Middleware Experts


Home About C2B2 Consulting

7 March 2013

Subscribe To Our Blog

The Differences Between JBoss EAP 5 and EAP 6


Introduction This is part four in a series of blogs looking at JBoss EAP 5 and 6.

Posts Comments

View Related Posts

In Part One of this series on JBoss (available here : http://blog.c2b2.co.uk/2013/01/setting-up-jboss-eap-5-cluster-with.html) I looked at setting up a basic two-node cluster with JBoss EAP 5 and load balancing using mod_jk. In Part Two (available here : http://blog.c2b2.co.uk/2013/02/preparing-jboss-system-for-production.html) I looked at things to consider when moving into a production environment. In Part Three (available here : http://blog.c2b2.co.uk/2013/02/setting-up-jboss-eap-6-cluster-with.html) I looked at setting up the same two node cluster as in part one of the series but using EAP 6 instead of 5. In this final part I will look at some of the key differences between EAP 5 and EAP 6.

java

(31)

jboss

(22)

middleware (20) JEE (19) oracle (17) data grids (16) glassfish (16) weblogic (14) Infinispan (9) Apache
(8) JBoss EAP 6 (8) coherence (8) big data (6) Application server (5) Tomcat (5) HornetQ (4) Active MQ (3) Camel (3)
WildFly (3) Drools (2) EAP 6 (2)

Popular Posts

Directory Structure and Server Config


The new directory structure has only two directories the same as EAP 5, bin and docs. The main things to note when looking at the new directory structure are: The modules directory now contains the application server modules, instead of using common and server-specific lib/directories. Previously there was a server directory which contained multiple subdirectories that were used for different server configurations. Now in EAP 6 there are two directories, standalone and domain. I will discuss the new domain mode later but under standalone/configuration you will find a set of files that can be used for server configuration. Whereas before you had a directory containing multiple subdirectories and a multitude of config files this has been greatly simplified. There is now one file where all server configuration details go. This file defines the server, the modules that make up the server, authentication, interfaces, ports used, logging config, datasources, JMS etc. There are no external config files, all configuration goes into

JBoss EAP 6 as light as Raspberry PI? JBoss EAP 6 JEE != Heavy! There has been a lot of debate about JEE application servers being "heavy-weight" . However I&#... Configuring and Testing a WebLogic Cluster Configuring and Testing a WebLogic Cluster: This article describes how to configure and test a cluster of servers using WebLogic 10.3 and A... The Differences Between JBoss EAP 5

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

here. Four server configs are provided or you can create your own. The following are provided: standalone.xml - Support of Java EE Web-Profile plus some extensions like RESTFul Web Services and support for EJB3 remote invocations standalone-full.xml - Support of Java EE Full-Profile and all server capabilities without clustering standalone-ha.xml - Default profile with clustering capabilities standalone-full-ha.xml - Full profile with clustering capabilities

and EAP 6 Introduction This is part four in a series of blogs looking at JBoss EAP 5 and 6. In Part One of this series on JBoss (available here : h... A Smartphone as a JEE Server: Glassfish 4 on Ubuntu Touch Last year, following the release of the much anticipated Raspberry Pi, Steve couldnt resist getting JBoss EAP 6 to run on it, which he mana... Basic clustering with Weblogic 12c and Apache Web Server The aim of this post is to demonstrate Weblogics clustering capabilities and to use the Weblogic Apache plugin to use the Apache Web Server...

Starting up
In EAP 5 server start-up was done using the run.sh or run.bat scripts. In EAP 6 there are two startup scripts, one for starting a standalone server and another for starting in domain mode. These can be found in the bin directory. In 5 we would pass in a server configuration with the argument -c servername, where servername was the name of a configuration directory found in JBOSS_HOME/server. In 6, when running in standalone mode we pass in a server configuration file using the argument -server-config=configfile, where configfile is the name of an XML config file found in JBOSS_HOME/standalone/configuration.

Boot process
In previous versions of JBoss all services were loaded up on boot and it was generally the case that you had to strip down and remove unwanted services from JBoss out of the box. In EAP 6 this has changed so all non-essential services are lazily loaded. This results in a much quicker start-up time and reduced memory consumption. However in a live environment you may see slowdown when an app starts first time as it will have to load all the necessary services. In order to take advantage of multi-core processors services are now started concurrently.
C2B2 Tw itter

Tweets by @c2b2consulting

Blog Archive

2013 ( 36 ) July ( 3 ) June ( 10 )

Classloading
Classloading in EAP 6 is handled very differently than in 5. It is based on modules that have to define explicit dependencies on other modules. Deployments in EAP 6 are also modules. Modules do not have access to classes in jars in the application server unless an explicit dependency on those classes is defined. If you look under the JBOSS_HOME/modules directory you will find multiple directories. At the lowest level they each contain a module.xml file and any jar files used by that module. The module.xml file lists the other modules a module depends on, the resources it uses and it's properties. There is a JBoss specific deployment descriptor jboss-deployment-structure.xml that can be used to control class loading in a fine grained manner. It should be placed in the top level deployment, in META-INF (or WEB-INF for web deployments). In EAP 5, you controlled the order of deployments within an EAR through the use of the jboss-app.xml file.

May ( 3 ) April ( 5 ) March ( 7 ) Creating a Simple Cluster with Glassfish JBoss community and EAP are things changing? C2B2 is exhibiting at Europe's No.1 Information Se... A Smartphone as a JEE Server: Glassfish 4 on Ubunt... Detecting, Diagnosing and Fixing Performance Issue... The Differences Between JBoss EAP 5 and EAP 6

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

EAP 6 is the first version of JBoss to support the Java EE6 standard. The Java EE6 specification provides an <initialize-in-order> element in the application.xml which allows control of the order in which the Java EE modules within an EAR are deployed. Classes are also loaded concurrently for improved performance and to take advantage of multi-core processors.

EAP 5 and EAP 6 MIDDLEWARE INSIGHT - C2B2 Newsletter Issue 5 February ( 5 ) January ( 3 )

Subsystems and Profiles


EAP 5 used a POJO based microcontainer whereas EAP 6 uses a service based microcontainer. Two new concepts in EAP 6 are subsystems and profiles. A subsystem is a particular set of capabilities that extend the application server core, e.g. Transaction Manager, JCA, JGroups, EJB3. A profile is a named set of subsystem configurations.

2012 ( 58 ) 2011 ( 17 ) 2010 ( 1 ) 2009 ( 3 ) 2008 ( 1 )

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

A profile is a named set of subsystem configurations. A standalone server runs a single profile whereas a managed domain can have many profiles available, with different servers running different profiles. EAP 6 includes four preconfigured profiles when running in domain mode. These match the four standalone configurations: default Support of Java EE Web-Profile plus some extensions like RESTFul Web Services or support for EJB3 remote invocations full Support of Java EE Full-Profile and all server capabilities without clustering ha default profile with clustering capabilities full-ha full profile with clustering capabilities

Standalone and Domain Mode


Standalone mode is basically the same as a JBoss EAP 5 server where each server has its own set of config files. On start-up it reads those config files and all management and config is local to that box. However, as previously mentioned, in EAP 6 all config is done through one file, rather than multiple ones. In Domain mode all servers are considered part of a domain. There is one central config repository file for the whole domain. Everything is done centrally, like Weblogic and WebSphere. The following picture is an example of a domain set-up showing the domain controller, host controllers, physical hosts, servers and server groups.

Get your ow n Widget

VISIT OUR WEBSITE

www.c2b2.co.uk Disclaimer

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

The views and opinions expressed on this b log are those of the authors and do not necessarily represent the views and opinions of C2B2 Consulting Ltd.

A domain can consist of multiple physical or virtual hosts. Each host has a host controller that is responsible for managing the life-cycle of the servers on each host. Each domain has one domain controller for centralised management tasks. This can be one of the host controllers or a dedicated instance (as above). The domain controller interacts with the host controllers to manage the server instances. The controller and the server instances of each host are separate JVM processes. There is also a single process controller on each host which is responsible for creating host and server processes and monitoring their life-cycle. If the host controller process crashes, the process controller will start up the host controller and each server that is configured with the auto-start parameter. However, if a server process is terminated unexpectedly, the process controller will not restart the server instance automatically. The idea of server groups is that all servers of the same server group, perform the same tasks. When you deploy an application you will not deploy it to a server, you will deploy it to a whole server group. Domain mode is completely independent from clustering. It does however provide features for managing clustered environments such as rolling deployment to a set of servers or rolling a config change out to a set of servers. You can start, pause and stop servers from one single console and that makes life easier for handling clustered environments. Note - There is no hot deploy in domain mode - you will need to use the command line or console.

Domain Mode Configuration


Server configuration of a domain is done in the domain.xml file of the domain controller. The domain.xml file is located at JBOSS_HOME/domain/configuration. Here is where we define our server groups and what profile each will use. A physical host in a managed domain will be configured with the host.xml file which is located at JBOSS_HOME/domain/configuration too. This file includes host specific configuration such as network interface bindings, JVM settings etc. This file is also where you define the servers to run on a host and server specific settings such as port bindings, auto-start etc.

Clustering
EAP 5 used JBoss Cache whereas EAP 6 uses Infinispan as the distributed cache technology on which clustering services are built. To transmit replicated data between the cluster nodes, Infinispan uses JGroups as the underlying subsystem. There are two protocol stacks used for reliable communication in a group of nodes. A UDP based protocol stack utilising multicast and a TCP based protocol stack for environments that do not support multicast communication. UDP is the default protocol stack in JBoss

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

EAP 6. EAP 6 comes with four preconfigured cache containers for replication between the cluster nodes. These can be found in the standard haprofile (in domain mode) or standalone-ha.xml or standalone-ha-full.xml (in standalone mode): Web - distributing and caching web-sessions over the cluster EJB - distributing and caching stateful-session-beans over the cluster Hibernate - 2nd level cache for hibernate Cluster - distribution of some general objects over the cluster

JMS
EAP 5 utilised JBoss Messaging as the default JMS implementation. JBoss Messaging is no longer included in EAP 6. HornetQ is now the default JMS implementation. If your application uses JBoss Messaging as the messaging provider, you will need to make changes to your application to use HornetQ. You will also need to migrate your existing messages from the JBoss Messaging database into the HornetQ journal. As with other things in EAP 6 configuration is now done in the standalone.xml or domain.xml files.

Management Interfaces
Finally I will take a quick look at changes to the management interfaces. In EAP 5 you had the admin console, the JMX console, the web console and the twiddle script. In EAP 6 everything is now consolidated into a new management console. This is available at hostname:9990/console by default. There is also a new command line interface. This can be used by running jboss-cli.sh from the bin directory. The CLI provides two types of commands: High-level: convenience commands for common tasks start-up, shut-down, deploy etc. Low-level: provide resource address, operation name & parameters & you can invoke any operation on any resource Typing help at the command line will give you a list of commands.

Summary
EAP 6 is a huge overhaul of JBoss and is certainly an improvement over EAP 5. The addition of the new domain mode allowing for central management of enterprise wide servers is long overdue and is a welcome addition.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Configuration is now much simpler than in previous editions with all configuration now contained in one file rather than being spread about in multiple often hard to find config files. The new boot process where only core services are started is another welcome addition meaning a fresh install doesn't require you to then strip out all the unwanted services. It also means a much faster boot time and lower memory consumption. Hopefully this blog series has given you an insight into some of the changes that have taken place from EAP 5 to EAP 6. If you have any questions regarding anything in any of the blogs please feel free to ask and I will do my best to answer them. Andy Overton Senior Managed Services Consultant C2B2

Posted by C2B2 at 13:51

+1 Recommend this on Google

Labels: Application server , boot process , clustering , configuration , differences , domain , EAP 5 , EAP 6 , EAP5 , EAP6 , jboss , standalone

No comments : Post a Comment


Enter your comment...

Comment as: Select profile... Publish Preview

Newer Post Subscribe to: Post Comments ( Atom )

Home

Older Post

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

C2B2 on LinkedIn

12 C2B2 Consulting Limited employees on LinkedIn

Login with LinkedIn

See how your LinkedIn network connects you to C2B2 Consulting Limited.

In Your Network

powered by

Template images by merrymoonmary. Powered by Blogger.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy