Book Image

JBoss: Developer's Guide

By : Elvadas Nono Woguia
Book Image

JBoss: Developer's Guide

By: Elvadas Nono Woguia

Overview of this book

Have you often wondered what is the best JBoss product to solve a specific problem? Do you want to get started with a specific JBoss product and know how to integrate different JBoss products in your IT Systems? Then this is the book for you. Through hands-on examples from the business world, this guide presents details on the major products and how you can build your own Enterprise services around the JBoss ecosystem. Starting with an introduction to the JBoss ecosystem, you will gradually move on to developing and deploying clustered application on JBoss Application Server, and setting up high availability using undertow or HA proxy loadbalancers. As you are moving to a micro service archicture, you will be taught how to package existing Java EE applications as micro service using Swarm or create your new micro services from scratch by coupling most popular Java EE frameworks like JPA, CDI with Undertow handlers. Next, you will install and configure JBoss Data grid in development and production environments, develop cache based applications and aggregate various data source in JBoss data virtualization. You will learn to build, deploy, and monitor integration scenarios using JBoss Fuse and run both producers/consumers applications relying on JBoss AMQ. Finally, you will learn to develop and run business workflows and make better decisions in your applications using Drools and Jboss BPM Suite Platform.
Table of Contents (10 chapters)

Introduction

The JBoss ecosystem is very large and dynamic; the JBoss community drives innovation every day to bring the best projects and products to the world. This book does not pretend to cover all possible and imaginable JBoss products in detail, but this book aims to be the best and fastest getting-started guide for Enterprise application development with the JBoss brand.

The book covers five main parts:

Part 1 explores the basics, Users will be presented the global project we will cover progressively during this book, JBoss developer studio.

This part also presents the BeOS Bank project example that will drive the chapters and labs.

Chapter 1, Introduction to the JBoss Ecosystem, presents the users with the project, that will serve as a guide throughout this book. The chapter also introduces JBoss developer studio's features in order to improve developer productivity.

Part 2 covers web application development and deployment with the JBoss EAP and Undertow.

Chapter 2, Developing and Hosting Scalable Web Applications, takes a look at developing and hosting scalable web applications using JBoss Application Server. The user will learn how to develop and deploy scalable web applications and monitor their states on JBoss Application Server. Users will also get hands-on JBoss EAP configuration tips to tune the platform to respond to various operational events.

Chapter 3, Custom Web Deployment Using Undertow and Swarm, explains that Undertow is the default web server included in JBoss Application Server. In the last chapter, users implicitly used the embedded version of Undertow in JBoss AS to host applications; this chapter is about handling custom deployment scenarios by embedding Undertow in Java applications on one hand but also teaching how to package existing Java EE component as microservices using Wildfly Swarm. The user will also learn how to set up highly available deployments and build microservices with Undertow

Part 3 is centered on data management tools in the JBoss ecosystem. It covers data caching with JBoss Data Grid and data refactoring using JBoss data virtualization.

Chapter 4, Storing and Accessing Distributed Data, deals with data caching in a JBoss ecosystem with JBoss Data Grid/Infinispan; various configuration tips will be experimented through labs and coding sessions. The chapter also shows how to store and retrieve data from local and remote caches, how to develop and deploy cache-based applications, how to listen to cache event, and how to leverage the Advanced Cache API.

Chapter 5, Exposing Data as a Service, outlines data virtualization with JBoss Data Virtualization tools through illustrated examples; you will discover how to create aggregated, unified, and virtualized views from disparate data sources, how to create source models and virtual models, how to query join data from various sources, and finally, how to expose data views as a service.

Part 4 is about Enterprise Service Bus (ESB) and messaging. We will discuss JBoss Fuse ESB's features and development guide as the well as JBoss AMQ messaging platform.

Chapter 6, Integrating Applications with JBoss Fuse, is organized around application and component integration. After a brief presentation of the JBoss Fuse architecture, it progressively teaches how to develop, deploy, and monitor various OSGi integration scenarios on JBoss Fuse Platform, and explore some integration patterns with Apache Camel through illustrated cases.

Chapter 7, Delivers Information Safely and Connects IoT, discusses how to weakly couple distributed systems using the JBoss AMQ messaging platform. Through practical business cases, users will learn how to set up broker configuration, and how to build and run applications that rely on JBoss AMQ to share data in a safe and reliable way.

Part 5; at the end of the journey, a company is governed by processes and rules; this part covers both business rule and business process application development with JBoss products.

Chapter 8, Making Better Decisions in Your Applications, introduces artificial intelligence programming using the JBoss ecosystem. JBoss Business Rule Management System (BRMS) and Drools Rule Language (DRL) features are explored to build rule-based applications, decision tables, and complex event handlers.

Chapter 9, Developing Workflows, takes you through how to develop workflow applications using JBoss Business Process Management Suite. Process/activities modeling tasks/event handling are explained through practical use cases. Human interaction through forms is covered to enable users to design and test real-life advanced business processes.