Integrating WebSphere MQ with JBoss Enterprise Application Server

Once I worked on a project where in the existing environment I needed to configure the JBoss Enterprise Application Server to communicate with WebSphere MQ where the WebSphere MQ was supposed to be communicating with Mainframe system using cluster queue of WebSphere.  Initially I was blind, as I was not able to understand how I could configure JBoss to communicate with MQ. But after some research, I came to learn that it is possible to integrate JBoss with WebSphere MQ and an application deployed in JBoss can directly put the message in WebSphere MQ.

If you’re very familiar with JBoss and it’s architecture, you can complete this task by creating new subsystem and corresponding extension. Before you start configuring JBoss, you need to install the adaptor of WebSphere MQ in JBoss. One can find the JBoss adaptor from WebSphere MQ library, the file name is wmq.jmsra.rar.

Here are the steps for configuring an application to put the message in WebSphere MQ via JBoss Enterprise Application Server.

Continue reading “Integrating WebSphere MQ with JBoss Enterprise Application Server”

Microservices: Comparing DIY with Apache Camel

Microservices are currently enjoying immense popularity. It is rare to find a tech conference without at least a few mentions of them in corridor conversations or titles of talks, and for good reason: microservices can provide a path to better, more maintainable, higher quality software delivered faster. What’s not to love?

Of course there are the “negatives” and details in the implementation of microservices that can trip up even the most seasoned architect-developer, but at the same time we are collectively learning from mistakes and creating or reusing fantastic open source projects and products that can help smooth over those rough bits.

One such project is Apache Camel (and Fuse, its Red Hat-supported distribution.) Created way before the microservices revolution, Apache Camel was born to ease integration of disparate computing systems by implementing well-tested enterprise integration patterns (EIPs) and supplying a developer-friendly interface for writing code to do the integration.

Continue reading “Microservices: Comparing DIY with Apache Camel”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.


For more information about Red Hat OpenShift and other related topics, visit: OpenShift, OpenShift Online.

Using Jenkins in the Red Hat CI/CD Ecosystem

The last 4-5 years have seen the debut of many new software products specifically targeting both infrastructure services and IT automation. The consumerization of IT has caused its architects to take a fresh look at their existing, often times monolithic apps and IT infrastructure and asking: Can we do better? How do I keep IT relevant? How do I keep track of all these VMs and data? How do I scale out my IT environment without a huge budget increase or physical buildout? How do I develop and get bits to production faster and with higher quality?

These organizations are looking to evolve their development and deployment processes to be more agile and accelerate time-to-market. They are trying to embrace things like DevOps and Continuous Deployment to do that. They are breaking monolithic apps out into microservices that can be independently updated, with a focus on speed and agility, so their apps can be more reactive to changes in their business. They are evolving from traditional virtualization to public and private cloud deployments.

There are strong parallels between the way open source communities produce great software and how IT orgs build and deliver great software and services. Red Hat, a recognized pioneer in open source, is using its deep experience in open source to build products that support microservice-oriented, DevOps-embracing, container and cloud-centric IT shops.

Continue reading “Using Jenkins in the Red Hat CI/CD Ecosystem”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 


For more information about Red Hat OpenShift and other related topics, visit: OpenShift, OpenShift Online.

High Availability Servlets with EAP 7 and OpenShift

Prior to working at Red Hat, I worked for a software company, building financial software for large institutions. From my experiences I knew that some customers required, or demanded, a very aggressive Service Level Agreement (SLA).

If we consider an SLA of 99.999% (generally referred to as “five nines”) then this would allow for a six-second unavailability or downtime over a full week, anything more and penalties would have to be paid. To provide this level of uptime, it is essential to provide a strategy for high availability (HA). This got me thinking — how this could be achieved with OpenShift and JBoss Enterprise Application Platform (EAP) 7?

For an initial test, I thought I’d try to get a simple HA Servlet working with session sharing to see how EAP 7 works in a cluster of pods within OpenShift.

In subsequent articles I intend to increase the complexity of the solution to support most aspects of what I see as typical large scale applications today.

From what I could discover doing online research, the easiest way to get started would be to use a preloaded operating system via a virtual machine (VM). Because I use OSX, I wanted to have an easy to use VM and image management, which lead me to this article Installation Guide – Red Hat Customer Portal which explains how to install VirtualBox, Vagrant and how to download the Red Hat Container Development Kit (CDK).

Continue reading “High Availability Servlets with EAP 7 and OpenShift”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 


For more information about Red Hat OpenShift and other related topics, visit: OpenShift, OpenShift Online.

Five features of JBoss EAP that help you get production ready

JBoss Enterprise Application Server 7 has been out since June, and if you build and deliver using a Java EE environment and haven’t yet upgraded to EAP7, it’s time to make the jump.

Here’s a look at what’s new in JBoss EAP 7, what has changed since JBoss EAP 6, and how to get the most out of JBoss EAP 7 as your Java EE7 server.

Overview

JBoss EAP 7 is bassed on WildFly Application Server 10, which provides a complete implementation of the Java EE 7 Full and Web Profile standards. WildFly 10 does much to simplify modern application delivery based on containers and microservices.

JBoss EAP 7 features certified support for Java EE7 and Java 8 SE. The WildFly integration brings experimental Java 9 support, too. It also supports current development snapshots of Java 9, which is expected for release this fall.

The JBOSS EAP 7 release is available for download from JBoss.org.

Continue reading “Five features of JBoss EAP that help you get production ready”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

Using the operating system to authenticate users on Red Hat JBoss Enterprise Application Platform (EAP) ?

Recently, I was searching for a solution to configure the security domain of Red Hat JBoss Enterprise Application Platform with the local operating system based user registry so that the application could directly authenticate its users with local operating system users. I understood that it would be difficult to implement a generic solution, as authentication mechanisms are strikingly different between Windows and Unix/Linux.

After checking several blogs and forums, I decided to implement this using JPAM for Unix/Linux and Waffle for Windows.

Editor’s note: JBoss Enterprise Application Platform is available at no cost for developers who sign up for the Red Hat Developer program (100% free.)

Continue reading “Using the operating system to authenticate users on Red Hat JBoss Enterprise Application Platform (EAP) ?”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

JBoss EAP 7 Domain deployments – Part 4: Domain deployment with REST Management API.

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of five parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

In part one of this series, we setup a simple JBoss EAP Domain. In  part two we reviewed the EAP Management Console deployment Mechanism and deployed the helloworld-html5 EAP Quickstart on the main-server-group ( Server11 and Server21), in part three, we checked how to deployedhelloworld-html5 on secondary-server-group using the CLI Command line; in this tutorial, part four, we are going to explore another deployment option: the REST Management API. To do so, we will upload a file in the EAP content repository and then deploy it.

Management Interfaces

On the master domain controller, we set up two management interfaces: the native on port 9999, and the HTTP management interface on port 9990.

While the CLI uses the native management port, and the EAP management console and the REST API are available on the HTTP management port, all these management interfaces also share common XML configuration files: host.xml/domain.xml. They also send commands to EAP using an intermediate representation called DMR ( Dynamic Model Representation).

DMR

DMR stands for Dynamic Model Representation, and it is a new syntax introduced with EAP 6 to denote Java objects associated with EAP Management interfaces. DMR is flatter than XML files and all the items are at the same level. Let’s check out a sample:

The domain.xml configuration section containing EAP profiles and server groups looks like this:

<profiles>
 <profile name="default">
   ....
 </profile>
 <profile name="ha">
   ....
 </profile>
 <profile name="full">
   ...
 </profile>
 <profile name="full-ha">
   ...
 </profile>
 </profiles>

 <server-groups>
 <server-group name="primary-server-group" profile="full">
   ...
 </server-group>
 <server-group name="secondary-server-group" profile="full">
   ...
 </server-group>
 <server-group name="singleton-server-group" profile="default">
   ...
 </server-group>
</server-groups>..

And the DMR representation of this same XML looks like this:

...
"profile" => {
 "default" => undefined,
 "ha" => undefined,
 "full" => undefined,
 "full-ha" => undefined
 },
 "server-group" => {
 "primary-server-group" => undefined,
 "secondary-server-group" => undefined,
 "singleton-server-group" => undefined,
 },
...

Continue reading “JBoss EAP 7 Domain deployments – Part 4: Domain deployment with REST Management API.”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

JBoss EAP 7 Domain deployments – Part 2: Domain deployments through the EAP 7.0 Management Console

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of 5 parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

  • Part 1: Setup a simple EAP 7.0 Domain.
  • Part 2: Domain deployments through the new EAP 7.0 Management Console (this article)
  • Part 3:  Introduction to DMR (Dynamic Model Representation) and domain deployments from the Common Language Interface CLI.
  • Part 4: Domain deployment from the REST Management API.
  • Part 5: Manage EAP 6 Hosts from EAP 7.0 domain

In part 1 of this series on JBoss EAP 7 Domain deployments, we set up a simple EAP 7.0 domain with three hosts:

Review the domain Configuration

The domain controller host0, and two slaves hosts running several EAP 7.0 instances.

JBoss EAP Simple Domain

In the following tutorial we are going to see how to deploy an application on JBoss EAP domain using the new EAP 7.0 Management Console.

Continue reading “JBoss EAP 7 Domain deployments – Part 2: Domain deployments through the EAP 7.0 Management Console”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

Considerations for Implementing JBoss Fuse in your Enterprise

In today’s modern world, the need for enterprise integration has never been greater. Companies are looking for ways to reduce the costs of their application infrastructure and one of the ways they are doing that is by extending the lifespan of older legacy platforms. This introduces a number of problems when there is also a need for the implementation of new modern systems as well. Often times it is difficult if not impossible to make these new and legacy systems communicate directly. To resolve this problem, many companies are considering adopting Red Hat JBoss Fuse to integrate these systems together.

If you are considering implementing JBoss Fuse in your company’s enterprise there are several key pieces of information you need in order to make an informed decision. This starts with what JBoss Fuse really is, and what are the options for deploying it?

Continue reading “Considerations for Implementing JBoss Fuse in your Enterprise”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.

JBoss EAP 7 Domain deployments – Part 1: Set up a simple EAP Domain

Red Hat JBoss EAP 6 introduced some new concepts like configuration simplification, Modularity, new management CLI , User friendly management console  and an amazing feature called “Domains”. Domain mode change the way application are deployed on EAP instances.

JBoss EAP 7.0 was just released and announced by Red Hat.

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of 5 parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

  • Part 1: Setup a simple EAP 7.0 Domain (this article).
  • Part 2: Domain deployments through the new EAP 7.0 Management Console
  • Part 3:  Introduction to DMR (Dynamic Model Representation) and domain deployments from the Common Language Interface CLI.
  • Part 4: Domain deployment from the REST Management API.
  • Part 5: Manage EAP 6 Hosts from EAP 7.0 domain

Part 1: Setup a simple EAP 7.0 Domain.

The JBoss EAP “Domain” mode differs from traditional Standalone mode and allows you to deploy and manage EAP instances in a multi server topology. In this first article we are going to set up a JBoss EAP 7.0 domain with the following requirements:

  • 1 Domain Controller on a machine called host0
  • 1 Host Controller on a machine host1 with two EAP instances Server11 and Server12
  • 1 Host Controller on a machine host2 with Three EAP Instances Servers21, Server22 and  Server23
  • Host0 should be run as the master controller,
  • Host1 and Host2 are slaves connecting to Host0
  • Server11 and Server21 are members of the primary server group ( name=primary-server-group)
  • Server12 and Server22 belong  to the secondary server group (name=secondary-server-group)
  • Server23 is the only member of the  singleton server group ( name= singleton-server-group)
  • In real life Machine Host1, Host2 are mostly  in different physical location but for the purpose of this tutorial we are going to simulate them  on the same localhost using a signed EAP 6.4 installation and different configuration folders for each Machine.
  • To keep it simple we will not cover JVM Configuration in depth details  in this part.

Continue reading “JBoss EAP 7 Domain deployments – Part 1: Set up a simple EAP Domain”


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!