Webinar: Blueprint for omnichannel integration architecture

Are you interested in the insights to how organizations are implementing the foundational integration building blocks that lead to successful communication with their customers?

This story is about how an omnichannel customer experience makes customer engagement across all channels as efficient as engagement with a single channel. Let’s take a detailed look at an architecture blueprint based on research of actual customer solutions, and gain insight into how your integration architecture can map to support your customers’ omnichannel experiences.

Register for this webinar and you’ll gain insights on how your current architecture can map to support your customers experiences, for a detailed look at an architectural blueprint based on successful customer solutions, and receive instruction on how to discuss an omnichannel architecture in detail.

omnichannel integration architectureHere’s the official abstract, so join us on 12 Dec 2019 for a detailed look at a blueprint for omnichannel integration architecture:

Agile integration is a broadly scoped discussion around how to use all the services and power contained in your organization’s current architecture. While the topic is interesting in its own right, let’s take a deeper look at a specific solution within the integration context: providing an omnichannel customer experience. Omnichannel is the integration and orchestration of channels to make the experience of customer engagement across all channels as efficient as engagement with 1 channel. 

Be sure to register and look forward to seeing you there?

DecisionCamp 2019, Decision Manager, AI, and the Future

A few days ago my fellow Red Hatters Mario Fusco, Matteo Mortari, Mark Proctor, Donato Marrazzo and myself (Edson Tirelli) had the opportunity to attend Decision Camp 2019. Following the tradition from previous years, this is a conference focused on Decision Management and related topics, with an emphasis on practitioners, vendors and users of the technology. In other words, a 3-day conference that packs a lot of content, mostly technical and strategic.

This year in particular the agenda was packed full of interesting and relevant topics, ranging from human centric topics (like coordination of collaborative decisions), to compelling use cases (like airport gate scheduling), to glimpses of what is coming on the DMN standard (like temporal reasoning and discussions about DMN 2.0).

Red Hat delivered two presentations: 

  • Decision Management + Machine Learning: a standards based approach : Matteo Mortari and myself presented how the purposeful use of the triple crown standards (CMMN, BPMN and DMN) in combination with PMML (Predictive Model Markup Language) enables businesses to leverage machine learning to automate complex decisions in a vendor neutral and effective solution, while promoting transparency and simplifying explainability. 
  • How and Why I Turned a Rule Engine into a First-Class Serverless Component : Mario Fusco and Matteo Mortari presented how the use of the latest advancements in JVM, cloud and containerization technologies made it possible to re-architect the Drools project into a cloud-native, first-class serverless component.

You can find a good review of all the presentations on Sandy Kemsley’s blog. All the slide decks are also available for download from the Decision Camp website.

Trends in Enterprise AI and Digital Decisions

One of the highlights of the conference was the keynote presentation by Mike Gualtieri from Forrester, on “Trends in Enterprise AI and Digital Decisions”.

During the presentation he touched on several subjects, past, present and future, but the message was clear: effective Decision Automation (or Digital Decision, Business AI, or any name you choose to use) is not a one-trick solution. It requires a number of technologies to be combined in order to truly deal with today’s enterprise challenges. 

AI is a hot term in the market right now, but Machine Learning (ML) without the framework of Digital Decisioning (DD, also called Decision Management) and the optimizations from a Constraint Solver (that he called Mathematical Optimization (MO) engine), is too unpredictable and opaque to be effective. In his words: AI = ML + MO + DD.

His argument is that AI is not only a requirement, but inevitable, for any company looking to become a leader in their industry. He does caveat that statement by explaining he is referring to Pragmatic AI (or Applied AI), that is focused on solving specific problems, and not the Pure AI that we sometimes see on Science Fiction movies.

He continued then explaining that although Pragmatic AI (in the context of Machine Learning)  is a game changer, it is essentially a model, with probabilistic predictions as outputs and the quality of the result depends on both the model as well as the quality of the data used for training. Being essentially probabilistic, in rare occasions it can also produce outlier results that make no sense for the business, or, more often, answers that are sub-optimal.

That is where the combination with Mathematical Optimizations (MO) and Digital Decision (DD) technologies can hugely improve the success of these solutions. Machine Optimizations can be used to constrain or improve the results generated by ML predictive models, eliminating those outliers and improving the sub-optimal decisions. Digital Decisioning can leverage those solutions for explainable automated decisions, while keeping humans embedded on the process as DD is effectively a translation of human knowledge into executable computer models.

Lots of insights and food for thought, but also happy to see that his advice and observations match to some degree what we’ve been doing with the Red Hat Business Automation platform.

Red Hat Business Automation ships with a Mathematical Optimization engine (Optaplanner) and a Decision Engine (Drools) out of the box. Optaplanner leverages business rules for the specification of constraint and scoring rules, and can as well be used for decision optimization and resource planning. The big news we live demoed at Decision Camp is that starting with version 7.5, users can now transparently integrate Machine Learning models through PMML (Predictive Model Markup Language), without any glue code, directly into their DMN (Decision Model and Notation) models. That level of seamless integration is critical to reduce time to market, transparency and efficiency of automated decisions.

All in all, a great conference! Thank you to the organizers for putting together such a strong line up of content.

Business Rules Re-Imagined

The Impact of Cloud, AI/ML and RPA and on Decision Management

Decision making is a key component of today’s business applications. Complex business applications must be able to make decisions following the same rules a human would follow when making those same decisions.

Because business applications are so critical –  and because they need to incorporate business know – how into the applications to support accurate decision making – the building of these applications is no longer left solely to IT developers. Software development is seeing increasing involvement from the business side. 

For example, in the past an insurance company would write an application that records insurance claims. Today, IT is writing applications to sell insurance. That is a huge change. In computer science class, developers are not taught how to sell insurance. And it is not like the insurance company lacks that expertise anyway. They have many people who know how to sell insurance, but none of them work for IT. So more businesses are realizing that they need to involve the business stakeholders in the software development process, and incorporate more business knowledge directly into these applications. 

Clearly, the business stakeholder are not developers. They are not going to write code, but they can produce models of their business, based on the business rules, the processes, the policies, and the decisions they make while conducting company business. These models can be thought of as the source code that will be deployed within the business apps. 

How does IT empower the business user to encode as much of their knowledge as possible so they can add value to the applications the organization depends on? Development teams should utilize business rules rather than simply encoding business logic into applications. When business logic is built into the application – which is the traditional way of developing business applications – the business stakeholders have no visibility. It is hard for them to see what specific policies are being applied; what the rules are; and why a decision is made. 

The solution is to outsource the decision making to a business rules engine, which makes decisions on behalf of the application, based on a set of rules written in English so the business side can understand. Business can gain much more control over the policies that are applied automatically by these applications.

A business rules engine provides multiple advantages, including:

  • Separation of the business rules from the applications
  • Visibility for business stakeholders
  • Business rules expressed in terms that the business can really understand
  • Enabling business and IT experts to collaborate more effectively
  • The ability to change rules easily and quickly
  • Consistency of rules and decision-making

A range of Red Hat customers across various industries are having great success using a rules engine to provide decision services to the organization and keeping business rules separate from application code.

A lot has changed in IT over the past few years that has impacted automated business decision making. In this blog, I will cover three of the major changes that have caused the greatest impact: Cloud, Artificial Intelligence (AI)/Machine Learning (ML), and Robotic Process Automation (RPA).

The Cloud

The cloud has dramatically altered the way we create, deploy, monitor and manage business applications, and that has a tremendous impact on people using business rules engines.

Since the start of IT, organizations have built “Monolithic” applications, which are large, difficult to understand, and challenging and time-consuming to make a change. In the last few years, thanks to the cloud, monolithic apps have been replaced by containers, and microservices architecture, making it easier to create, deploy, manage and change parts of applications. A large app can be broken into smaller components that can be developed, scaled, managed and changed independently from the other components.

The flexibility of containers and microservices simplifies decision-making because rules can be added as components rather than being embedded in the application. In the cloud, rules can modified easily in response to changes in the market or in the way the company does business, and the entire application does not have to be rewritten. This provides businesses with a level of agility they never had before.

Artificial Intelligence (AI)/Machine Learning (ML)

Another set of emerging technologies that is having a major impact on business applications is Artificial Intelligence (AI) and Machine Learning (ML). 

One way of defining ML is “rules that write themselves.” This is obviously a huge leap from where we were 10 years ago. Instead of creating the rules based on your experience and building an app based on those rules, you can now look at historical data, figure out what rules produced those results, and then apply that knowledge to make decisions going forward.

Essentially ML is used for constructing predictive models. For example, with regard to the rules covering when insurance claims are denied or paid, you have data about how you arrived at decisions in particular cases. You could use ML to build predictive models to repeat those decisions in similar cases. 

How do predictive models compare with user written rules in terms of their usefulness and viability for these types of decision applications

  • Rules are created by people, while predictive models are automatically created based on analysis of historical data
  • Rules produce results that are explainable, while predictive models produce results that are not explainable.
  • Rules are subject to human error. One of the challenges with rule-based systems is you get gaps – such as situations you forgot about, or edge cases you did not address. Conversely, predictive models are subject to historical bias. You are limited to reproducing behavior apparent from the training data. So if the data is biased, you get a biased model. 
  • Rules take a significant amount of time to produce, while it is relatively quick to generate a predictive model once you have the data.

The goal when using ML to augment decision making is to combine the advantages of applied rules and predictive models. New rule languages, like Decision Model and Notation (DMN), make this possible by simplifying the process of creating rules.

In the past, rules were created in a complex notation. Thousands of rules leave open many possibilities for error. DMN is a graphical language for encoding rules that make a decision. It makes it much easier for business stakeholders to create the source code for their decision applications. They create a graph to encode complex business logic. Then they can incorporate a predictive model into the DMN diagram, and they can incorporate business rules as well, effectively combing the best of both options

Robotic Process Automation

Robotic Process Automation (RPA) is an exciting, fast moving space right now. With RPA, software robots are developed to perform routine, repetitive work that would otherwise be done by a human worker. The advantages of RPA are all about reducing cost and headcount by automating tasks.

Time spent copying information from a back office database into a spreadsheet, and moving data around from system to system – this is not the type of work where a human worker adds value to the process, but it still has to be done. RPA allows an organization to automate those repetitive tasks. 

One of the best advantages of RPA is that it enables you to automate work without having to change your underlying systems. You can keep your legacy mainframe and other applications exactly as they are. The robot pretends to be a human and carries out the same tasks exactly the same way a human worker would. 

But it is very important to consider RPA as just another software development approach. In future, as RPA evolves, I would expect to see containerized robots roaming around your hybrid cloud. But for now, RPA is just another app and it needs to be managed just like any other app. Version control and QA are very important. 

When you create a bot, beware of the attack surface. You create an opportunity for someone to add a few lines of script to that bot. Think about the damage that could be inflicted by an automated bot with high level access to all your enterprise data. That is a key reason why RPA should be subject to the same governance as any other software.

Also it is very important to understand that the value of RPA is in the ability to automate human work, not to patch holes in IT systems. If you find yourself building bots to fix holes in IT, you really need to take a good look at the infrastructure instead. It is not productive to use bots as band aids, because the bots themselves will continuously break as things change within the infrastructure. It is more productive to focus on fixing the source of the issue in the underlying infrastructure.

For RPA to remain relevant and continue to support software development, bots should be compatible with the cloud, and be able to run in containerized environments. This is technology we expect to see in the next few years or so.

The Red Hat Solution

Red Hat is very active in the software development space and offers a range of tools designed to solve the challenges associated with incorporating rules and decision making into business applications:

  • Red Hat Decision Manager is a platform for developing containerized microservices and applications that automate business decisions. Decision Manager includes business rules management, complex event processing, and support for building DMN models.
  • Red Hat Process Automation Manager is a platform for developing containerized microservices and applications that automate both business decisions and processes. Process Automation Manager includes business process management (BPM), business rules management (BRM), and business resource optimization and complex event processing (CEP) technologies. It also includes a user experience platform to create engaging user interfaces for process and decision services with minimal coding. 
  • For development in the Cloud, Red Hat OpenShift is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud and multicloud deployments 
  • Red Hat Runtimes is a set of products, tools, and components for developing and maintaining cloud-native applications. It offers lightweight runtimes and frameworks for highly-distributed cloud architectures, such as microservices. 

Digital Automation Platforms: Injecting speed into application development

Red Hat has just published a new study by Carl Lehmann of the 451 Group, “Intelligent Process Automation and the Emergence of Digital Automation Platforms,” that examines the increasing importance of business automation technologies in modern business, and the ways that converged solutions (digital automation platforms) are bringing value to organizations engaged in digital transformation projects.

Carl writes that competitive advantage is enabled when an organization either does the same things as its rivals, but differently, or it does different things that are acknowledged as superior by customers. In today’s competitive markets, businesses are turning to next-generation digital automation platforms (DAP) to enable greater automation of key business functions and greater flexibility in responding to their customers’ needs.

A DAP is a set of tools and resources structured within a uniform framework to enable developers to rapidly design, prototype, develop, deploy, manage, and monitor process-oriented applications – from simple task-related workflows to dynamic unstructured collaborative activity streams and even highly structured cross-functional enterprise applications. To do so, DAPs are equipped with a range of new capabilities that go beyond those of their BPM and application development predecessors.

Continue reading “Digital Automation Platforms: Injecting speed into application development”

A DevOps approach to decision management

Sometimes we would like to change the behavior of an application fast. I mean, really fast.

Traditional development cycles for enterprise applications take weeks if not months for a new version to be ready in production. Even in the world of DevOps, containers, and microservices, where we can spin up new versions of an app in days, or even hours, we need to go through development cycles that are too far away from the business users.

Welcome to the world of business rules and decision services, along with low code development.

Continue reading “A DevOps approach to decision management”

“Micro-rules,” event-driven apps, and Red Hat Decision Manager

As we described in an earlier blog, microservices are mini-applications which are devoted to a single, specific function. They are discrete (independent of other services in the architecture), polyglot with a common messaging or API interface, and they have well-defined parameters.

As application development and IT operations teams have started streamlining and speeding up their processes with methodologies like Agile and DevOps, they have increasingly begun treating IT applications as microservices. This breaks up potential bottlenecks, reduces dependencies on services used by other teams, and can help make IT infrastructure less rigid and more distributed.

One area where we are seeing this looser, more distributed approach to service development is with business rules.

“Micro-rules”

Business rules and processes in a traditional structure tend to be centralized, with the complete set of functionality defined for all workflows. The problem with centralization is because there is a single, centralized collection of business rules, any changes to one set of rules can affect many other sets, even those for different business functions.

Micro-rules essentially treat each functional set of rules as its own service — well-defined, highly focused, and independent of other rules.

Figure – Function rule sets as micro-rules

Continue reading ““Micro-rules,” event-driven apps, and Red Hat Decision Manager”

Announcing: Red Hat Decision Manager 7.0 Is Now Available

Red Hat has announced the release of Red Hat Decision Manager 7. Decision Manager is the evolution of Red Hat JBoss BRMS and provides a platform to develop rules-based applications and services.

As applications and services become more central to business strategies, business users will become increasingly involved in the development process. Software that aids in creating applications without directly writing code is known as low-code development. Decision Manager provides tools, including an updated UI and enhanced wizards, that help business users participate more actively in application development.

Major Use Cases

Decision service as a microservice

Decision Manager has a more modular architecture, such as a decision service, an execution server, and a management interface. Each component can be containerized and deployed as an image on Red Hat OpenShift Container Platform. Developers can create discrete services for specific needs and deploy those “micro-rules” in a microservices architecture. This approach is covered more in another blog post.

Continue reading “Announcing: Red Hat Decision Manager 7.0 Is Now Available”