Hello World!

Chuck Rolke:

Messaging with JBoss A-MQ (broker), AMQP (protocol), and AMQP.Net Lite (Windows client) Made Easy

Originally posted on chugrolke:

Red Hat JBoss AMQP.Net Lite Client – Hello World!

AMQP.Net Lite is a lightweight AMQP 1.0 library for .NET.

This article describes how to install and use the library packaged in the Red Hat JBoss A-MQ .NET Lite SDK. The example connects to services in a Red Hat JBoss A-MQ broker.

Download/Install AMQP.Net Lite

AMQP.Net Lite is available from a number of sources. The one you pick depends on your needs.

  • Red Hat JBoss A-MQ AMQP.Net Lite Client SDK
  • NuGet
  • Git

Red Hat JBoss A-MQ AMQP.Net Lite Client SDK

As part of Red Hat JBoss A-MQ 6.2 Red Hat supplies an SDK for AMQP.Net Lite. The SDK has precompiled binary library files for use on a Windows desktop system running Visual Studio 2012 or Visual Studio 2013, AMQP.Net Lite API documentation, and a set of example programs. This is an ideal environment for getting started with .NET and…

View original 1,374 more words

DZone guide to the Internet of Things

Interested in IoT?  Dzone has done a great job assembling this guide, but I’m also pleased that they’ve included my section, IoT Gateways and Architectures.  It has a number of other sections as well, so take a look and enjoy.  My section begins on page 6.

Abstract: IoT Gateways and Architectures

The typical architecture of IoT solutions is usually far more complex than the architecture of most enterprise systems. One of the main factors that increases the complexity of IoT systems is that backend services residing in the data center, which is the heart of most enterprise systems, are actually just a piece of the bigger IoT picture. With IoT solutions, we have to deal with a myriad of devices working in the field. Because the nature of these devices is very different from web, desktop, or even mobile clients, we need an intermediate architectural element that will act as a proxy between the world of field devices and the enterprise data center.
What we need is an IoT gateway.
Download the DZone IoT Research Guide

4 Steps to Maximize Your DevOps and Agile Results

It still amazes me how, after all the time and effort spent trying to figure out how to manage and execute technology projects, that some fundamental issues still remain. The foremost of these is: did we achieve the business value (when and for how much we said we would). Waterfall wasn’t great at this, Agile got better, now it’s on to DevOps. The problem is that most of us can provide examples where each of these approaches has failed and, even when they haven’t failed, there were still challenges with what the project produced for the business.

In my experience, very few IT projects articulate the measurable business value – or outcomes – that they will produce when completed. If you review project charters (from actual projects, not from text-book examples), you’ll often see that there is only implied business value that is sought to be measured.  A typical example: “Improve access to organizational data.” I think there’s value there, but how can I measure the value that it will bring to the business?

But what if there were a way to change how IT practitioners view projects, and what if, simultaneously you had a way to increase your value proposition to the business and be more successful at execution irrespective of whether you use Agile or DevOps or your super secret project approach?

There is. Enter Accountable Care for IT

Continue reading “4 Steps to Maximize Your DevOps and Agile Results”

Dirty Tricks: Launching a helper process under memory and latency constraints (pthread_create and vfork)

You need to launch a helper process, and while Linux’s fork is copy-on-write (COW), the page tables still need to be duplicated, and for a large virtual address space that could result in running out of memory and performance degradation. There are a wide array of solutions available to use, but one of them, namely vfork is mostly avoided due to a few difficult issues. First is that vfork pauses the parent thread while the child executes and eventually calls an exec family function, this is a huge latency problem for applications. Secondly is that there are a great many number of considerations to take into account when using vfork in a threaded application, and missing any one of those considerations can lead to serious problems.

It should be possible for posix_spawn to safely do all of this work via POSIX_SPAWN_USEVFORK, but often there is quite a lot of “work” that needs to be done just before the helper calls an exec family function, and that has lead to ever increasingly complex versions of posix_spawn like posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2, posix_spawn_file_actions_destroy, posix_spawnattr_destroy, posix_spawnattr_getsigdefault, posix_spawnattr_getflags, posix_spawnattr_getpgroup, posix_spawnattr_getschedparam, posix_spawnattr_getschedpolicy, and posix_spawnattr_getsigmask. It might be simpler if the GNU C Library documented a small subset of functions you can safely call, which is in fact what the preceding functions are modelling. If you happen to select a set of operations that can’t be supported by posix_spawn with vfork then the implementation falls back to fork and you don’t know why. Therefore it is hard to use posix_spawn robustly.

Continue reading “Dirty Tricks: Launching a helper process under memory and latency constraints (pthread_create and vfork)”

For more information about Red Hat Enterprise Linux and other topics related to this article, visit one of these sites:  Red Hat Enterprise Linux, Red Hat Enterprise Linux Developer Program, Red Hat Enterprise Linux 7 is now generally available.


Containers in the enterprise – Are you ready for this?

So here’s are deal: We’ve created what we’re calling “PaaS-Containers” in our IT production environment. It consists of core technologies like RHEL Atomic Host, Kubernetes, and Docker along with supporting CI/CD components like Jenkins together as part of an offering that supports the end-to-end automated deployments of applications from a code-commit event through automated testing and roll-out through multiple environments (dev, QA, stage, prod). Oh, did I mention that it’s also integrated with our enterprise logging and monitoring as well as our change management process and tooling so that we have a complete audit trail?

Everyone wants to jump on the bandwagon – they see the benefits of rapid deployment, atomicity, enabling business capabilities faster through technology. But as we learned in the 90-day initiative to get it stood up and an existing application deployed on it, all applications aren’t ready for containers and some may never be based on their current architecture.

Here’s what we think about the deployment options in an enterprise context that allows us to enable innovation while managing enterprise risk…

Continue reading “Containers in the enterprise – Are you ready for this?”

Repost: Developing process-enabled applications with BPA and BPM tools

Developing business process-enabled applications can be messy—with numerous stakeholders using separate business process analysis (BPA) and business process management (BPM) tools to create a single application. Join our webinar to see how an integrated solution from Red Hat and Signavio enables all stakeholders to work together seamlessly over the entire development lifecycle.

With Red Hat and Signavio’s combined solution, business analysts can develop process models with Signavio’s business process analysis (BPA) tools and then transfer those models to Red Hat® JBoss® BPM Suite, where developers can complete and deploy the final application.

Continue reading “Repost: Developing process-enabled applications with BPA and BPM tools”

You can learn more about Red Hat JBoss Middleware products by visiting: Red Hat JBoss Middleware product pages, and JBoss Community is now Wildfly!