7 Reasons to love JBoss AS7 - Part 5
4) Elegant administration
Andiamo! That’s the name of the initiative focused on usability of the JBoss Enterprise Middleware portfolio. The first goal of this initiative has been to improve the out-of-the-box experience of JBoss Application Server by making it easier to setup, configure, manage and all-round easier to use. In short, equal attention is given to the experience of administrators, devops and developers. As always, “installing” JBoss Application Server 7 is just a matter of downloading the zip file, extracting it and running the startup command. You can also get it setup from Eclipse via the JBoss Tools plugin, available in the Eclipse Marketplace. The main improvement, though, comes in the configuration.
JBoss Application Server 7 is incredibly easy to configure, more so than any previous version of JBoss Application Server or its competition. Rather than sending you on a wild goose chase to change a setting in the application server, configuration in JBoss Application Server 7 is centralized, simple and user-focused. The primary configuration file is based on a straightforward domain model that you can easily comprehend. No internal wiring is exposed in this file. It also adheres to the DRY principle. Settings are given canonical names, so that values only have to be changed in a single location, at the point where the canonical name is assigned. As an example, you can set main interface, named public, in one location,
<interfaces> <interface name="public"> <inet-address value="127.0.0.1"/> </interface> </interfaces>
then change all the port numbers bound to that interface using a single attribute:
<socket-binding-group name="standard-sockets" default-interface= "public" port-offset="100"> <socket-binding name="http" port="8080"/> <socket-binding name="jndi" port="1099"/> </socket-binding-group>
JBoss Application Server 7 has consistent and powerful management available out of the box, including:
- a polished, user-friendly web console
- a command-line interface (CLI)
- a Java API
- IDE tooling (via JBoss Tools)
- an HTTP API
You’ll appreciate the fact that the web console provides a clear perspective into the server runtime, while the programmatic APIs can be leveraged by tools, scripts and geeks alike.
At the end of the day, all of the administrative interfaces pass through the HTTP API. What makes them especially useful is that changes are persistent, so you can freely switch between them and never have to fiddle with the configuration file directly.
Deployment remains as simple as it’s always been. Archives dropped in the deployment directory are picked up automatically, a feature known as the (hot) deployment scanning. For applications deployed as exploded archives, possibly using a flexible deployment structure, you can edit static resources without redeployment. What’s changed is that Application Server 7 appoints a dedicated directory for application deployments, rather than mixing application deployments with internal service archives, finally!
As a testiment to the usability improvements, Red Hat has made JBoss Application Server 7 available as a Platform-as-a-Service (PaaS) through the OpenShift Express and Flex offerings. OpenShift + JBoss Application Server 7 is the first PaaS based on the Java EE 6 standard (or any version of Java EE for that matter). And OpenShift makes it easy to deploy JBoss Application Server 7 applications to the cloud, and it’s free! The centralized configuration in JBoss Application Server 7 also unifies management. A single configuration file and an alternative startup script can be used to control multiple servers in the new domain mode.