I'm glad to publish a book review of "Mastering JBoss EAP 7" from one of our affectionate readers, Martin Welss.
Being a longtime user and admin of the JBoss Application Server since its early days, I recently bought a copy of the most current book on that topic: “Mastering JBoss Enterprise Application Platform 7” by Francesco Marchioni and Luigi Fugaro, to keep me up to date. And I was not disappointed, in fact, I was delighted by this appealing combination:
1. This book is written by experts on the subject who easily explain even complex topics with clean and pragmatic examples
2. There are new important features of JBoss which are of course presented in the book. Many of them have been in earlier versions of JBoss but have now matured to be ready to be used in production.
What I really like is the strong focus on JBoss CLI instead of the Web-UI, because the CLI is what helps you most: at the end of the day, you want to automate as much of your configuration as possible. After all, that’s what computers are for…
I admit that during the chapters on standalone and domain mode, I missed one or two real world scenarios where domain mode fits better than standalone mode. What are the benefits of having just one deployment for all servers in a domain in contrast to a clustered standalone configuration, where I could run different deployments at the same time for example to achieve a smooth migration?
But to me, the most exciting chapters are the ones about security and the integration with Kerberos and LDAP: if you have a lots of cloud instances, you definitely need a central system for authentication and authorization like those two. It was there in the past but not the best documented area of JBoss. Now finally this book comes with excellent examples and includes even a section about the ultimate killer feature: Single Sign On (SSO). Every day at work I am really missing SSO so much and often I encounter Semi-SSO where the same credentials work for several systems, but they have to be entered manually into each of them.
And here I see clear advantages of JBoss EAP 7 over just runnable jar-files like Spring Boot or other embedded web servers: it’s already bundled and tested with JBoss and now, with this new book, the configuration is not secret anymore. After that, the authors even give a preview of these features in the next release of JBoss EAP, which uses the new Elytron security framework instead of Picketbox. And this does not stop with human users but think of all the system users, too: modern distributed systems where many RESTful services are called which are traditionally cumbersome to secure, but the integration with Kerberos/LDAP offers again an elegant solution. So if you are thinking about your new microservices architecture, this is one imported building block, if you want to be in control of exactly who can use your services.
Finally, the book closes with two chapters on running the application server in Docker containers and in the OpenShift cloud. Again, these chapters come with detailed examples to get you up and running quickly.
Maybe a chapter about how to run automated tests with an application server would have been nice, since everybody has nowadays a delivery pipeline or how to debug java ee7 applications in an IDE where Spring Boot has a long time advantage.
To make a long story short, if you want to take a deeper look at a real state of the art application server, this book is an excellent guide that I can clearly recommend.
Auhor: Martin Welss works as a freelance Java expert and architect in Germany who specializes in state of the art Java Enterprise development, build and test automation and continuous delivery. Check his site at: www.it-focus.de
Table of Contents of the Book:
Chapter 1, Installation and Configuration, introduces you to the application server platform and provides details about the installation, available server modes, and the management instruments (Web console and CLI).
Chapter 2, The CLI Management Tool, describes how you can configure and manage your JBoss EAP 7 platform using the CLI, using its auto completion feature, offline mode, and script files.
Chapter 3, Managing EAP in Domain Mode, goes in depth with the application server management using the domain mode, showing how to design advanced domain
configurations and handle disaster and recovery scenarios.
Chapter 4, Deploying Applications, explains the different ways you can deploy your applications. Either by CLI, Web console, or filesystem, all a deployment's life cycle is
managed by the platform itself and for both standalone and domain mode.
Chapter 5, Load Balancing, is about balancing requests to EAP 7 servers from a Web frontend layer.
Chapter 6, Clustering EAP 7, goes in depth to support and better configure your environment by providing a fault tolerant system with failover capabilities.
Chapter 7, Logging, provides a comprehensive description of the logging services available in the application server, teaching you how to build a scalable logging system.
Chapter 8, Configuring Database Connectivity, explains how to configure a datasource using the CLI. Adding a JDBC driver, defining a connection pool, choosing between an XA and a non-XA Datasource, and hardening the configuration is all described in depth.
Chapter 9, Configuring EAP 7 for Java EE Applications, describes how to configure the services needed for server-side applications through the application server subsystems.
Chapter 10, Messaging Administration, goes in detail about message-oriented middleware and how the JBoss EAP 7 platform can help rely on Apache Artemis as its default implementation.
Chapter 11, Securing the Application Server, discusses securing the application server infrastructure, including the applications running on top of it.
Chapter 12, New Security Features of EAP 7, is a preview of the upcoming security features available in the EAP 7.1 release and how to centralize security concerns of Web applications with the Red Hat Single Sign-On (SSO) server.
Chapter 13, Using EAP 7 with Docker, shows how to use the Docker technology to provision EAP 7 in the Enterprise.
Chapter 14, Running EAP 7 on the Cloud Using OpenShift, shows how applications leverage the new Red Hat PaaS (based on Docker and Kubernetes) to scale automatically and in any environment.