Decision Model & Notation – A new approach to business rules

Business rule engines (BRE) have been around for a long time. Introduced in the early 1990s, BREs have found application in many industries, particularly those that are heavily regulated where compliance and auditability are key concerns. A BRE enables complex rules and regulations to be encoded in a rule language, some of which bear a passing resemblance to English. The BRE can then evaluate the rules against enterprise data to ensure that the business transactions, etc. that the enterprise is performing comply with those rules. Today one of the most popular rule engines is Drools, an open source engine sponsored by Red Hat with a powerful rule language, called DRL, and a highly efficient algorithm that can scale to support hundreds of thousands of rules and terabytes of data.

Rule engines are a great idea. It’s much easier to simply specify all the rules that should apply to a particular transaction than it is to write a program in a traditional language like Java to verify compliance. And it’s much easier to change the rules in a BRE when needed than to modify and test a traditional application. Today’s focus on digital transformation is finding ever wider applications for BREs, from cleansing big data, to fraud detection to identifying patterns in event streams from the Internet of Things.

However, rules engines have had difficulty gaining traction with the business community – the analysts and business experts that understand the rules of the business and would be the logical people to encode them in a rule language. Even though such languages can be tailored for ‘business users’, it is still a steep learning curve fraught with potential pitfalls – conflicts between rules, unseen overlaps, gaps and so on. These difficulties have limited the adoption of BREs to organizations with more complex needs, and with the skills needed to fully utilize the capabilities of a BRE.

Now, however, there is a new approach. In 2015 the Object Management Group published a specification for a graphical decision language designed specifically for business users. Now in its 3rd year and version 1.2, Decision Model and Notation (DMN) manages to combine a straightforward representation of the inputs, outputs and rules that govern a business decision, with the expressiveness needed to encompass the information required to fully automate any decision. At the heart of DMN is an expression language called FEEL, for Friendly Enough Expression Language. FEEL is designed from the outset for use by business people, allowing them to specify business logic with no greater complexity than a typical Excel spreadsheet.

Here at Red Hat we are proud to offer full DMN support with our rule engine – Red Hat Decision Manager. If you would like to learn more about DMN, and how it might help you better automate business decisions, we have joined forces with the IIBA to host a webinar on October 18 at 1pm ET to further explore the topic. I’ll be joined by Denis Gagne at Trisotech for a deeper dive into DMN and the Red Hat engine. If you would like to register you can do so here, and we’ll be delighted to have you join!

 

The wait is over: JBoss Web Server 5 with Tomcat 9 is here!

We are excited to announce the general availability of Red Hat JBoss Web Server 5.0 for Red Hat Enterprise Linux and the technology preview of transactions processing with Narayana.
JWS 5 is available through zip, RPM, Maven repository, and the Red Hat Container Catalog.

Red Hat JBoss Web Server combines market-leading open source technologies with enterprise capabilities to provide a single solution for large-scale websites and lightweight web applications.
It combines the world’s most deployed web server (Apache) with the top servlet engine (Tomcat) and excellent support for middleware (ours).

 

Main Components

  • Apache Tomcat

    • A servlet container in accordance with the Java Servlet Specification. JBoss Web Server contains Apache Tomcat 9.

 

  • The Apache Tomcat Native Library

    • A Tomcat library, which improves Tomcat scalability, performance, and integration with native server technologies.
  • The tomcat-vault

    • An extension for the JBoss Web Server used for securely storing passwords and other sensitive information used by a JBoss Web Server.
  • The mod_cluster library

    • A library that allows communication between Apache Tomcat and the Apache HTTP Server’s mod_proxy_cluster module. This allows the Apache HTTP Server to be used as a load balancer for JBoss Web Server.

 

New Features and Enhancements

Based on the new and shiny Tomcat 9.0.7:

– HTTP/2 Support
– Servlet 4.0 Specification
– OpenSSL for TLS with JSSE connectors (NIO and NIO2)
– NIO connector is the default for HTTP/1.1 when tomcat-native is installed
– TLS virtual hosting (SNI) support

Also these enhancements:

– Support for embedded distributions (fat jar deployments)
– Asynchronous support NIO2
– Transactions processing through Narayana and DBCP2 (tech preview)
– System daemon integration scripts provided for the Red Hat Enterprise Linux users installing from .zip archives
– The tomcat-vault installation process has been improved
– The vault.properties file for tomcat-vault can be stored outside JWS_HOME
– Change in manager and host-manager webapp behavior
– Change to mod_cluster 1.4 – a connector needs to be specified
– Allows the configuration of multiple properties files
– Logging JBoss Web Server with log4j deprecated
– Tomcat embedded included in the Red Hat JBoss Web Server 5.0 maven repository

 

Introducing Narayana (Technical Preview)

Narayana on JBoss Web Server is currently in a technical preview status and has no official accompanying documentation at this time.

The Narayana transactions tookit provides support for applications developed using the following standards-based transaction protocols:

  • JTA
  • JTS
  • Web-Service Transactions
  • REST Transactions
  • STM
  • XATMI/TX

Narayana on JBoss Web Server is being developed for integration with Red Hat Process Automation Manager. Narayana on JBoss Web Server also provides a connection with PostgreSQL servers using a Tomcat JDBC connection pool.

For more information, see the JBoss Web Server documentation.

Continue reading “The wait is over: JBoss Web Server 5 with Tomcat 9 is here!”

From BPM and business automation to digital automation platforms

The business processes that create customer value are the critical piece that links together all of the different aspects of digital transformation. But still, many of the critical activities that contribute to it are either manual or a succession of disconnected workflows or applications that prevent organizations from having an end-to-end view of how their processes deliver customer value.  

Evolving from workflows to BPM – business process management – added a whole collaborative layer and execution structure to the traditional hierarchy and project-based structure of the enterprise. When it was paired with access to the critical data and documents, alongside activity visibility and business rules, it helped to exponentially grow productivity and agility in the enterprise for many years.

Nowadays, enterprises have discovered already how to use these technologies and apply them to work with structured and unstructured processes, to create business rules to guide and support decision making, or the importance of integrating process outputs and inputs in real time to external systems that interact with the processes. These process-centric applications are even cloud-ready so you can run your processes in the cloud and open them up more securely to all of your internal and external collaborators.

But times are changing. Productivity and agility are no longer the name of the game. It is no longer enough to provide ease of use, business, and IT collaboration, or fast modification of processes and rules. Speed and support for digital transformation have become top priorities. Those process-based applications need to be quickly deployed into production, be portable, reusable and consistent across environments, and scaled in the hybrid cloud. Our customers expect cloud-native technologies at the core of their processes. They expect to run their process workloads to scale across the hybrid cloud to provide a consistent experience to their customers and collaborators. Ideally, they also want to future-proof their investments with modern technologies such as containers.

Continue reading “From BPM and business automation to digital automation platforms”

Introducing Technical Reports

RHAMT 4.1.0 Is Released!

The 4.1.0 version of the Red Hat Application Migration Toolkit has recently been released, and with it is a new report that I’d like to highlight.

If you’re not familiar with RHAMT, check out my previous article introducing the product.

Technology Reports

One of the RHAMT features mentioned at this year’s summit were the Technology Reports.

This report provides an aggregate listing of the technologies used, grouped by function, for the analyzed applications. It shows how the technologies are distributed, and hundreds of applications can be simultaneously compared after analysis has been performed. In addition, the size, number of libraries, and story point totals of each application are displayed, allowing you to quickly determine each application’s type from a single report.

Examining application_13 in the above list, we can see that this is likely a secured frontend application with a cache for performance. It contains several libraries, most of which pertain to security in some form.

Each application can be further examined to identify the technologies in use. For instance, drilling down into application_13 shows:

Here we can see that the precise libraries in use within each category. As previously noted, this application uses a large number of security libraries, and we can precisely identify the technologies in use.

Regardless of how you use the technology reports, I’m certain it will be useful in your migration and modernization efforts.

Effective Case Management within a BPM Framework

In real life, organizations have workflows which may not fit into prescribed, sequential process path or which require human intervention or approval before the entire process can be completed. Within the business process world, more unstructured and unpredictable work is handled through case management rather than process management.

There are slightly different standards defined for case management and process management, which reflect the differences in the types of process flows and data being handled in each type of model.

But the question for business architects is which standard to use or whether to try to balance both — and then for developers to try to create models on different or shared development platforms.

A Quick Comparison of CMMN and BPM for Development Standards

First, it may be helpful to explain why there is a difference between business process management and case management. Both models are defined by two separate specifications, Business Process Model and Notation (BPMN) and Case Model and Notation (CMMN), respectively.

Continue reading “Effective Case Management within a BPM Framework”

Meet application integration in the times of hybrid cloud

The concept of agile integration, depending on whom you ask, may appear as a contradiction in terms. Integration is a concept that used to be associated with “slow,” “monolithic,” “only to be touched by the expert team,” etc.. Big and complex legacy enterprise service buses connected to your applications were the technology of choice at a time when agility was not a requirement, when the cloud was barely an idea, when containers were associated with maritime shipping and not with application packaging and delivery.

Can the principles of agile development be combined with those of modern integration? Our response is yes, and we call it  agile integration. Let me show you what it is, why it is important, and what we at Red Hat are doing about it.

Software development methodologies have evolved rapidly in the last few years to incorporate innovative concepts that result in faster development cycles, agility to react to changes and immediate business value. Development now takes place in small teams, changes can be approved and incorporated fast to keep track of the changing demands of the business, and each iteration of the code has a product as the ultimate result. No more need for longer development cycles and never-ending approvals for changes. And importantly, business and technical users join forces and collaborate to optimize the end result.

In addition, modern integration requires agility, cloud-readiness, and support of modern integration approaches. In contrast with the legacy, monolithic ESBs, modern integration is lightweight, pattern-based, scalable, and able to manage complex, distributed environments. It has to be cloud-ready and support modern architectures and deployment models like containers. It also has to provide integration services with new, popular technologies, like API management, which is becoming the preferred way to integrate applications and is at the core of microservices architectures. And support innovative and fast evolving use cases such as the Internet of Things (IoT).

Continue reading “Meet application integration in the times of hybrid cloud”

Red Hat present at EclipseCon France 2018

EclipseCon France is taking place this week in Toulouse, France (June 13-14, 2018) and it’s offering a great lineup of top-notch sessions on nine different tracks, from IoT to cloud and modeling technologies. This year, there is even a dedicated track for “Microservices, MicroProfile, EE4J and Jakarta EE,” which is covering topics such as Istio, 12-factor apps, geoscience, machine learning, noSQL database integration, cloud-native application development, security, resilience, scalability, and the latest statuses of the Jakarta EE and MicroProfile open source specification projects. Under this track, we are hosting two sessions:

But we are also delivering other interesting sessions under the “Reactive Programming” track:

Under the “IoT” track:

Under the “Eclipse IDE and RCP in Practice” track:

And, under the “Cloud & DevOps” and “Other Cool Stuff” tracks:

For those of you that will be at the conference, we invite you to attend the sessions above and to stop by the Red Hat booth to learn how Red Hat can help your organization solve your IT challenges (and get your swag too!). And for those of you that would like to learn more about Red Hat offerings in relation to the topics above, please visit the following links:

An Introduction to Red Hat Application Migration Toolkit

Application migration and modernization can be a daunting task. Not only do you have to update legacy applications with newer libraries and APIs, but often must also address new frameworks, infrastructures, and architectures all while simultaneously keeping resources dedicated to new features and versions.

Red Hat Application Migration Toolkit (RHAMT), formerly known as Windup, provides a set of utilities for easing this process. Applications can be analyzed through a command-line interface (CLI), a web-based interface, or directly inside Eclipse, allowing immediate modification of the source code.

These utilities allow you to quickly gain insights into thousands of your applications simultaneously. They identify migration challenges, code or dependencies shared between applications, and accelerate making the necessary code changes to have your applications run in the latest middleware platforms.

Choosing the Right Distribution

You’ve read the introduction, possibly seen a video, and are eager to run your first application through the process. Where do you begin?

RHAMT provides a number of different distributions to meet your needs, and all include detailed reports that highlight migration issues with effort estimation. Each of these is summarized below.

CLI

CLI DownloadProduct Documentation

The CLI is a command-line tool that provides access to the reports without the overhead of the other tools. It includes a wide array of customization options, and allows you to finely tune the RHAMT analysis options or integrate with external automation tools.

Web Console

Web Console DownloadProduct Documentation

The web console is a web-based system that allows a team of users to assess and prioritize migration and modernization efforts. In addition, applications can be grouped into projects for analysis.

Eclipse Plug-in

Eclipse Plug-in DownloadProduct Documentation

The Eclipse plug-in provides assistance directly in Eclipse and Red Hat JBoss Developer Studio (JBDS) and allows developers to see migration issues directly in the source code. The Eclipse plug-in also provides guidance on resolving issues and offers automatic code replacement where possible.

Start by Choosing a Distribution

  • If you’re working on a team that needs concurrent access to the reports, or have a large number of applications to analyze, then choose the web console.
  • If you’re a developer familiar with Eclipse or JBDS and want live feedback, then start with the Eclipse plug-in.
  • Otherwise, we recommend starting with the CLI.

Follow the download link for the chosen distribution, and then examine the first few chapters in the appropriate guide to install and run the tool.

Analyzing an Application

You have a local installation of RHAMT, located at RHAMT_HOME, and an application you want to analyze. For the purposes of this blog, we’ll assume that you chose the CLI. With that out of the way, let’s get started.

The analysis is performed by calling `rhamt-cli` and passing it in the application along with any desired options, as seen in the following example.

$ bin/rhamt-cli --sourceMode --input /path/to/source_folder/ --output /path/to/output_folder/ --target eap7

The options are straightforward:

  • –sourceMode – indicates the input files are source files instead of compiled binaries
  • –input – path to the file or directory containing the files to be analyzed
  • –output – path to the directory to contain the reports
  • –target – technology to migrate to; used to determine the rules for the analysis

Once the analysis finishes, a message will be seen in the console indicating the path to the report.

Report created: /path/to/output_folder/index.html
Access it at this URL: file:///path/to/output_folder/index.html

Rules

All of RHAMT’s distributions utilize the same rules engine to analyze the APIs, technologies, and architectures used by the application you plan to migrate. This engine extracts files from archives, decompiles classes, scans and classifies file types, analyzes XML and other file content, analyzes application code, and then generates the reports.

Each of these actions is handled by defined rules, which consist of a set of actions to perform once conditions are met. We’ll look more in-depth at how rules work, and creating your own custom rules, in a subsequent post, but for now know that RHAMT includes a comprehensive set of standard migration rules to get you started.

Just Lifting and Shifting?

Lifting and shifting, or rehosting, an application is one possible first step in migrating it. This process involves moving the application onto a different target runtime or infrastructure. A common end goal of this stage is to make the smallest number of changes to have the application running successfully in a cloud environment.

Once the application is successfully running in the cloud, the next step is to modernize the application so that it’s natively designed for a cloud environment. Instead of simply rehosting the application, this step involves redesigning it, moving unnecessary dependencies and libraries outside the application.

Regardless of which step you’re at, RHAMT assists with both of these steps by providing a set of cloud-ready rules. Once executed against the application, a detailed report is created that indicates what changes should be made. For anyone familiar with using RHAMT to migrate middleware platforms, the process is similar – examine the report and adjust your application based on the feedback.

It’s that simple.

Summary

Wherever you are in the migration process, I’d recommend looking at RHAMT. It’s extremely simple to set up, and comes with a number of default rules to assist in any part of the migration and modernization process. In addition, RHAMT facilitates solving unique problems once – after a given solution has been identified a custom rule can be created to capture that solution, vastly simplifying the migration process.

Stay tuned for our next update, where we discuss how to create custom rules to better utilize RHAMT in your environment.

References

https://developers.redhat.com/products/rhamt/overview/

https://access.redhat.com/documentation/en-us/red_hat_application_migration_toolkit/

Why are our Application Platform Partners succeeding in Digital Transformation?

Last year we set out to start the Application Platform Partner Initiative with the objective to enable deeper collaboration with partners focused on application platform and emerging technologies. We planned to create a collaborative go-to-market strategy between Red Hat and participating partner organizations focused on optimizing the value chain for application development and integration projects.

The Application Platform Partner Initiative focuses on Application Development-related and other emerging technology offerings, which revenue increased 42% in our last fiscal year up to $624 million. Partners like the APPs are contributing to this growth and we are happy to see the momentum continuing, and their trust on Red Hat as a strategic partner. What started out as a pilot has developed into a fully fledged initiative with 28 partners across North America, who are as committed as we are to the role opens source plays at the core of digital transformation.

As part of the success of this initiative, for the first time this year, we have created the Application Platform Partner Pavilion in Red Hat Summit.  Arctiq, Crossvale, Kovarus, Levvel, Li9, Lighthouse, OSI, Shadow-Soft, VeriStor and Vizuri will join us this year in the pavilion. Don’t miss a chance to get to know the advanced solutions they have created on top of Openshift and Red Hat Middleware products, which they will be showcasing at Red Hat Summit. Check out, for example, Arctiq Value Stream Mapping (VSM), Crossvale CloudBalancer for Red Hat® OpenShift or Vizuri log aggregation solutions.

These partners are delivering a strong investment in enablement, and commitment in their go-to-market alliance with Red Hat, including co-marketing and sales collaboration. As some examples of planned activities, Arctiq is running a Modern Mobile App Development event and Crossvale an OpenShift roadshow).

Levvel has been an active participant in the APP program, doing joint webinars, customer workshops and panel discussions to promote Red Hat emerging technologies. As a result, they have influenced and closed quite a few customers and have a long list of potential opportunities. Don’t forget to attend their coming up event “App Transformation Workshop: Monoliths to Microservices”!

Shadow-Soft has been particularly focused on growing the customer base with our OpenShift and JBoss product family with innovative sales and marketing strategies that are turning into a growing pipeline of opportunities, and running events around digital transformation.

Veristor joined recently the APP program and is growing rapidly their different practices around OpenShift and Red Hat Middleware, like DevOps and Agile Consulting, Services and Software Development practice.

OSI, an international company with a long experience with JBoss, is also growing in the US and have worked on an Agile Integration demo environment focusing on JBoss Fuse Integration platform to support their customer engagements, including integration with cloud and on-premise systems. Try to attend their “Monoliths to Microservices: App Transformation Workshop” right after Summit.

Vizuri has been a Red Hat partner for over 10 years. Having delivered more than 120 JBoss-related engagements, their JBoss experience and expertise helps customers reduce risk and improve time-to-value, while avoiding project delays and unplanned downtime. You can’t miss their take on How To Manage Business Rules In A Microservices Architecture using OpenShift and JBoss BRMS.

Having recently joined the APP program, Astellent has heavily invested in enablement and marketing, while achieving exciting customer success. Read their views on the newly launched Red Hat Decision Manager 7.

Lighthouse has been helping businesses with the right mix of Red Hat’s public, on-premises, and hybrid cloud technologies, customizing them to fit their unique business needs. They have also been active with unique marketing events like the one with the Red Sox coming in May.

As you can see, APP partners are working closely with Red Hat to establish a sales, marketing, and delivery practice around Red Hat technologies, including Red Hat JBoss Middleware, Red Hat OpenShift, and Red Hat Mobile Application Platform.

In the words of John Bleuer, VP, Strategic Partners, North America, “I am thrilled that as year one of the program ends, the sophistication of our partner solutioning and delivery abilities has increased dramatically; many partners are working with us in industry and line of business (including healthcare, payments, and e-commerce); other partners are adding sophistication into the DevOps / automation practices with Openshift, Jenkins, and Ansible, while others are honing their skills delivering app modernization and integration & BPM solutions in a cloud native environment, containerized in OpenShift.  It’s an exciting time at Red Hat”.

The market is looking to digital transformation initiatives to grow and maintain competitive advantage. Challenges range from confined platforms to complex architectures, from rigid processes to lack of agility. Together with our partners, we can play a critical role to help our customers overcome those to become growing, competitive organizations.

We hope to see you at Red Hat Summit checking them out, as well as at the Red Hat Summit Ecosystem Expo!

Red Hat OpenShift Application Runtimes: Delivering new productivity, performance, and stronger standards support with its latest sprint release

Red Hat OpenShift Application Runtimes is a collection of cloud-native application runtimes that are optimized to run on OpenShift, including Eclipse Vert.x, Node.js, Spring Boot, and WildFly Swarm. In addition, OpenShift Application Runtimes includes the Launch Service, which helps developers get up and running quickly in the cloud through a number of ready-to-run examples — or missions — that streamline developer productivity.

New Cache Booster with JBoss Data Grid integration

In our latest continuous delivery release, we have added a new cache mission  that demonstrates how to use a cache to increase the response time of applications.  This mission shows you how to:

  1. Deploy a cache to OpenShift.
  2. Use a cache within an application.

The common use case for this booster is to cache service result sets to decrease latency associated with data access as well as reduce workload on backend service.  Another very common use case is to reduce the data volume of message send across in distributed system.

Continue reading “Red Hat OpenShift Application Runtimes: Delivering new productivity, performance, and stronger standards support with its latest sprint release”