Red Hat Logo

Download A-MQ 7 Beta 2 today!

A-MQ 7 Beta provides fast, lightweight, and secure messaging for Internet-scale applications. It sets a strong foundation for building modern distributed reactive architecture. A-MQ offers the rich feature set and reliability that enterprise customers depend on.  A-MQ gives you the strong foundation you need to build modern distributed applications.

Messaging for enterprise applications

A-MQ Broker is a pure-Java multiprotocol message broker, with fast message persistence and advanced high availability modes. It is very highly optimized for general message use-cases. The message broker as always allows you to balance the load across a cluster of brokers, the balancing of the message not only distributed the incoming message to brokers sequentially but also takes into the account of the number of consumers and selectors in the broker so the performance can achieve an even distribution of the load.

Built for global scale

A-MQ ‘s new feature interconnects allows you scale to very large messaging networks, with advanced routing and fine-grained policy controls. It provides new messaging capabilities for deploying fault-tolerant messaging networks that connect clients and brokers into one seamless fabric. A-MQ Interconnect uses the AMQP protocol to create a redundant application-level messaging network. It works as an interconnect layer between messaging clients and their brokers.

Broad language support

A-MQ supports a wide range of programming languages like C++, Java, JavaScript, Python, and .NET, letting you add message-based integration to any application. And as always, we still have Hawtio as the management tooling, where you can see the details of how the brokers are doing now.

A-MQ 7 also supports backward compatibility to the older version, both A-MQ 6.x and HornetQ clients can seamlessly migrate to the new message platform.

Download and try today!


Visit our website for more information on Red Hat JBoss A-MQ a small-footprint, high-performance messaging platform.


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!

How to build a containerized IoT solution with OpenShift

For businesses looking to build scalable Internet of Things (IoT) solutions using containers, here is a sample project built on the Red Hat OpenShift Container Platform. This project implements an intelligent IoT gateway on the OpenShift Container platform. The IoT Gateway is critical for enterprise IoT as it brings intelligence, and enables key services, at the edge. In this project, the gateway application is deployed as a set of microservices inside containers on OpenShift.

Continue reading “How to build a containerized IoT solution with 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!

 


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.

Take advantage of your Red Hat Developers membership and download RHEL today at no cost.


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

Calling A-MQ Deployed in OpenShift by an External Client

As I tried to create queues/topics installed within OpenShift 3.2 and accessible to external clients, I found that there were more things assumed about the process than not.  So I decided to share my steps with others.

The only supported template for this scenario is via ssl transport with persistence

Big Assumptions:

  1. That OpenShift is installed and working
  2. Persistent volumes have been created in OpenShift to use
  • You must have a persistent store  (i.e.  a PV must be set up) based upon the template we are using.
  • The volume claim is made during the build.  It must be smaller than the size of the PV

Let’s Get Started:

Continue reading “Calling A-MQ Deployed in OpenShift by an External Client”


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.

How to Build an Intelligent IoT Gateway in 7 Easy Steps

In previous blogs, I talked about the the critical role of the IoT gateway in the enterprise Internet of Things (IoT) as it enables real time decision-making at the edge, secures downstream devices and optimizes network utilization. So how does one go about building this gateway? In this blog, you’ll learn how to build an intelligent IoT gateway in a few simple steps – you can find the code at  GitHub.

To automate the gateway provisioning, we’ll using Ansible by Red Hat. Why? Because it is the simplest and best tool out there for this job. Besides, it can also be used for configuration management and application deployment. Once you’re ready to provision and deploy thousands of gateways in a production environment, you can use this same Ansible tool. This is how IT departments provision the systems securely across the network.

Continue reading “How to Build an Intelligent IoT Gateway in 7 Easy Steps”


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.

How To Setup Fuse Tooling For JBoss Developer Studio 10

The release of the latest JBoss Developer Studio (JBDS) brings with it the questions around how to get started with the various JBoss Integration and BPM product tool sets that are not installed out of the box.

In this series of articles we will outline for you how to install each set of tools and explain which products they are supporting.

This should help you in making an informed decision about what tooling you might want to install before embarking on your next JBoss integration project.

There are four different software packs that offer tooling for various JBoss integration products:

  1. JBoss Fuse Development
  2. JBoss Business Process and Rules Development
  3. JBoss Data Virtualization Development
  4. JBoss Integration and SOA Development
Tooling is available under software updates
with early access enabled.

This article will outline how to get started with the JBoss Fues Development tooling and any of the JBDS 10 series of releases.

Installation

JBDS 10 can be obtained through the Customer Portal or via the early access downloads on jboss.org. After installing JBDS, start it up and you will see a welcoming JBoss Central tab with at the bottom a tab to look at the available tool sets labeled Software/Update.

You will notice at the time of this writing that there are no other JBoss Integration stacks offered to install upon first inspection. This is due to the other integration stacks being early access.

Select JBoss Fuse Development.

Eventually they will be shown by default once testing finished and they release, but for now you can obtain them by checking the Early Access box in the bottom right corner.

This will reveal the integration stack tooling offerings and we will select JBoss Fuse Development. Click on the Install/Update button to start the installation and restart at the end to complete the process.

If you are interested in what is being installed, it can be examined by examining the pop-up listing of components and versions. Note this will change as the early access progresses towards final releases.

Examine components and versions to be installed.

Stay tuned for more articles in this series that will detail the installation of the remaining JBoss Integration Stack tools.

Other options

In the past we have outlined the use of JBoss BPM and rules tooling for other versions of JBDS:

Continue reading “How To Setup Fuse Tooling For JBoss Developer Studio 10”


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.

Fuse and A-MQ version 6.3 GA are released!

Fuse and A-MQ 6.3 GA have just gone out! And, maybe, you would think, “this is just a minor version release” — “why should I care?”

Hold your thoughts, because there are quite a few improvements and also many new features in this release.

Besides bug fixes, and improving the stability of Fuse Fabric, there are two major changes in this version update:

  • New Tooling in JBoss Developer Studio (JBDS) 9.1 GA.
  • Newer Apache Camel version – Camel v2.17.

I was personally impressed by the work put in to make developing Camel applications much simpler. First is the installation of tooling itself — now it has an all-in-one installer, so you don’t need to worry about which plugins you need to check.

See the videos below to check out the new “Getting Started” experience of Fuse 6.3.

Continue reading “Fuse and A-MQ version 6.3 GA are released!”


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!

 

Messaging as a Service on OpenShift

Inspired by a great blog post by Jakub Scholz on “Scalable AMQP infrastructure using Kubernetes and Apache Qpid”, I wanted to write a post about the ongoing effort to build Messaging-as-a-Service at Red Hat. Messaging components such as the Apache Qpid Dispatch Router, ActiveMQ Artemis and Qpidd scales well individually, but scaling a large deployment can become unwieldy. As Scholtz demonstrates, there are a lot of manual setup when creating such a cluster using kubernetes directly.

The EnMasse project was created to provide the required tools and services for deploying and running a messaging service on OpenShift. Running on OpenShift means you can either run EnMasse on your own instance or in the cloud. You can also run EnMasse on OpenShift Origin, which is the upstream community project.

Continue reading “Messaging as a Service on 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!

 

Persistence vs. Durability in Messaging. Do you know the difference?

Messaging is a critical aspect of integrating systems, and while there are many different messaging platforms and infrastructures, a common request is for “zero loss of messages.”  From there, the terms “Persistence” and “Durability” often get thrown around, but what do those two things really mean?

Persistence

At a basic level, persistence means that when failure occurs during message processing, the message will still be there (where you found it the first time) to process again once the failure is resolved.

Take JBoss Active MQ for example. In AMQ we have brokers that do the communicating of the messages. For simplicity’s sake, let’s assume we only have a single broker doing the communication to and from a queue. Should this broker be shut down while a message is in the queue, ready to be processed, once the broker comes back up the message will be processed normally.

So how does this work?  In order for messages to “persist” they must be stored somewhere other than just broker memory.  Depending on the platform this could be a temporary folder, a database, a log file, etc.

Now, why would anyone not use persistent messaging?  Well, for one thing it tends slows things down. Otherwise, maybe some messages are okay to lose in the event of a broker shutting down, and it’s not worth the complexity. 

If you think of messaging in the context of status checking, the system may want to periodically ensure that a device is up and running. The device send a status message every few minutes. In the event of a broker restart without using persistent messaging we may lose 1 status message, but that might not be a problem since another message is probably on its way — in this case some data-loss may be acceptable.

Durability

Queues and Topics are important parts of messaging (particularly JMS). A queue by itself is great for point-to-point messaging, often one producer to one consumer. Topics on the other hand are most often used when you have a single producer (or multiple for the same purpose) and many consumers.

A common pattern is to have the producer send the message to the topic and then have the queues subscribe to the topic. This allows each queue to receive its own copy of the message. But what happens to the message if it is sent to the topic, but no queues are online (remember our queues subscribe to the topic)?

This is where durability comes into play. When a durable subscription is set up between a queue and a topic, the queue can be offline when the message hits the topic. Once the queue comes back online, the message can be received.

If the subscription is non-durable, then any messages received to the topic while the topic subscriber is offline will not be received by the subscriber (in this case the queue).

Preventing Message Loss

So what do we need to prevent message loss?  If you are using both queues and topics, then using both persistent messaging and durable subscriptions is your best bet. This will ensure you have a back up of the message in case of broker failure and that your subscriptions will always receive the proper messages. Just remember that certain messaging systems, such as Amazon’s SQS and SNS, may not support durable subscriptions.


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!

 

A-MQ 7 Alpha is ready!

I am sure this is the moment we have all been waiting for a long time, JBoss A-MQ 7 is finally out and is currently in Alpha. A-MQ is a fast and flexible messaging platform that reliably delivers information and easily integrates the various components in your application environments.

A-MQ 7 consists of several new components and features, it is base on Project Apache ActiveMQ Artemis. The code base was donated by HornetQ. Having high performance journal base on NIO implementation, allows A-MQ 7 to become a fast , high performance and reliable messaging platform.  Rather than relying other persistence storage it is very highly optimized for general message use cases. The message broker as always allows you to balance load across a cluster of brokers, the balancing of the message not only distributed the incoming message to brokers sequentially but also takes into the account of the number of consumers and selectors in the broker so the performance can achieved even distribution of the load.

Continue reading “A-MQ 7 Alpha is 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!

 

Scalable Microservices through Messaging

Microservices are everywhere nowadays, and so is the idea of using service choreography (instead of service orchestration) for microservices interactions. In this article I describe how to set up service choreography using ActiveMQ virtual topics, which also enables scalable event based service interactions.

Continue reading “Scalable Microservices through Messaging”


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.