This is a review of the book WildFly Configuration, Deployment, and Administration. Thanks to Packtpub for providing a review copy !
This book has been written by Christopher Ritchie. It covers the breadth and depth of WildFly 8 application server and talks about topics such as
- Installation and configuration of WildFly, its subsystems, Enterprise services and containers as well as Undertow (web container)
- Domain configuration, application deployment, high availability and security management
- OpenShift cloud (PaaS) platform
Let’s look at the book contents in greater detail. The book consists of 11 chapters dealing with various facets of Wildfly.
Chapter 1: Installing Wildfly
This lesson is a gentle introduction to Wildfly. It’s aimed at helping you get up and running with an environment so that you can work on the server. It discusses basic topics and covers
- Details around installation of Java and Wildfly application server
- Basic administrative operations such as startup, shutdown and reboot
- Set up of Eclipse (for Java EE) and JBoss Tools (Eclipse plugin)
- Wildfly file system (server installation directory) along with kernel and server modules
For me, the highlight of the chapter were the sections around Wildfly Kernel and Modules. It provides a great launching pad for upcoming topics!
Chapter 2: Configuring the Core WildFly Subsystems
This chapter provides an overview of Wildfly configuration which is composed of several sub systems which are configured as a part of the standalone.xml or domain.xml (configuration file)
- Server subsystems such as Extensions, Profiles, System properties, Deployments etc
- Thread pool system – discusses configuration revolving around thread factory and thread pools such as bounded queue thread pool, scheduled thread pool, queueless thread pool etc
- Dwells into the server logging configuration discusses different handlers of the logging subsystem – console, async, size-rotating, custom handlers and more
Chapter 3: Configuring Enterprise Services
This lesson discusses Wildfly subsystems corresponding to Java EE services and their respective configurations
- JDBC driver and Datasource configuration
- EJB container configuration including session, stateless, MDB and EJB timers related details
- Configuring the JMS/Messaging system
- JTA (transaction manager) configuration
- Tuning and configuring container resources related to Concurrency utilities API – Managed thread factory, Managed Executor service and managed scheduled executor service
Chapter 4: The Undertow Web server
As the name indicates, this chapter introduces the basic concepts of Undertow (new web container implementation in Wildfly) as well as its configuration related artifacts.
- Quick tour of the Undertow component architecture
- Configuration of server listener. host along with servlet container components
- Walkthrough of creation and deployment of a Maven based Java EE 7 project along with components like JSF, EJB, CDI, JPA
Chapter 5: Configuring a Wildfly Domain
Chapter 5 is all about the concept of a domains in Wildfly and the nuances related to their configuration. It concludes with a section which helps the reader configure a custom domain and apply the concepts introduced in the lesson
- An overview of domains and related configuration in Wildfly and administrative basics such as start/stop
- Configuration related to core facets of a domain – host.xml, domain.xml, domain controller etc
- Tuning domain specific JVM options
- Configuration of a test (custom) domain
Chapter 6: Application Structure and Deployment
The chapter discusses important topics such as application package structure of different Java EE components and how to deploy various flavors of Java EE applications on Wildfly
- Review of application packaging options – JAR, EAR, WAR
- Deployment of applications on Wildfly – standalone and domain mode using both command line and Admin console
- The chapter ends with a solid section covering Java EE classloading requirements and how Wildfly handles it
Chapter 7: Using the Management Interfaces
Again, as evident in the name of the chapter itself, its not surprising to know that this lesson covers the management options available in Wildfly
- Usage of the command line interface for execution of various tasks
- The Wildfly Web Console and the options it offers
Chapters 8,9: Clustering and Load-balancing
Chapters 8,9 cover Wildfly clustering, HA and load balancing capabilities in detail.
- Basic setup and configuration of a Wildfly clusters
- Infinispan subsystem configuration along with details of Hibernate cache setup
- Clustering of JMS system, EJBs and JPA entities
- Installation and configuration of Apache web server and modules like mod_jk, mod_proxy and mod_cluster
- Using CLI for mod_cluster and web context management as well as troubleshooting tips
Chapter 10: Securing Wildfly
This chapter covers
- Introduction to the Wildfly security subsystem and details of commonly used Login Modules – Database and LDAP
- Securing Java EE components – Web tier, EJBs and web services
- Protecting the Web Admin console along with configurations related to transport layer security
Chapter 11: WildFly, OpenShift and Cloud Computing
This lesson is dedicated to Cloud Computing as a technology and how OpenShift
- Overview of Cloud Computing – basics, advantages, types, options
- Introduction to OpenShift and setup process of the client related tools
- Walkthrough of cartridge installation and the process of building and deploying a sample application to OpenShift
- Log management and basic administrative tasks using CLI tools- start, stop, restart etc
- Using OpenShift with Eclipse and instructions on how to scale your applications
Standout features
Some of the points which in my opinion were great
- We often spend years working with containers (application servers, web servers etc) without really knowing what’s going on beneath. There is a reason behind this – the core concepts (application kernels, modules, container configuration, threading setup etc) are pretty complex and often not that well explained. This book does a great job at covering these topics and presenting the core of Wildfly in a simple manner
- Intuitive and clear diagrams (lots of them!)
- Enjoyed the chapter on OpenShift – provides a great platform for exploring PaaS capabilities and getting up and running with OpenShift
Conclusion
This book is a must have for someone looking to gain expertise on WildFly 8. Since WildFly 8 is Java EE 7 compliant, it also means that the reader will benefit a lot by picking up a lot of Java EE related fundamentals as well as cutting edge features of Java EE 7. Grab your copy from Packtpub !