Six typical integration challenges that agile integration can solve

Red Hat conceived the agile integration concept to help our customers tackle integration challenges more effectively. As we described in an earlier post in detail, agile integration is an architectural approach centered around application programming interfaces (APIs) and API management. At its core, this concept resides on the following three pillars: distributed integration for greater flexibility, containers for the ability to scale better, and managed APIs for re-usability and hence speed.

When we started designing this concept we actually started from two premises:

  1. Agility today is the most important business capability — especially for incumbents in traditional markets.
  2. Every organisation has integration problems.

Typically in most companies nowadays the integration function is centralized and hence technically as well as organizationally a bottleneck. Our two premises contradict each other and we set out to design an integration concept that can solve this contradiction.

In order to come up with a solution that really helps our customers solve their integration problems in the best possible way, we first analysed the market to understand what actually are the problems that users are trying to solve. Although there are of course a very wide variety of often very fine-nuanced problems, it turned out that we could classify all the problems into six typical integration challenges. The following diagram summarizes these challenges and we then discuss each of them in more detail.

Agile Integration: Six Challenges

Continue reading “Six typical integration challenges that agile integration can solve”

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”

Process management and business logic for responsive cloud-native applications: Red Hat Process Automation Manager is released

Today, Red Hat announced the latest major release of its business process suite, with a new name and several major changes that pivot the focus of the product itself. Red Hat Process Automation Manager is about more than providing a business process modeler or optimizing resource allocation. This is the first generation (at Red Hat) of a digital automation platform — a hub where business users and technical developers can collaborate to create strategically-relevant, intelligent applications.

Red Hat Process Automation Manager has two core conceptual areas:

  • The first is based on decision management (the “intelligent” part of intelligent or even-driven applications). This includes the decision engine of Red Hat Decision Manager and allows automated, immediate responses to interactions, from event processing to resource optimization.
  • Second, Process Automation Manager provides the means of modeling and applying business logic within an application. In combination with a graphical UI, these creates a platform for business users to be able to design business logic in collaboration with the technical teams.

New feature: Process management + case management

The heart of a BPM platform is the “BP” — business process modeling. The previous BPM Suite supported BPMN, the notation specification for business process models, and DMN, the notation specification for data models. The assumption behind a lot of these specs is that the workflows or processes being modeled are relatively static or sequential. For certain types of business processes, that is an accurate assumption (things like resource optimization or scheduling). However, in many organizations, there are also processes which are not linear or which may follow different steps in a dynamic sequence or may be interrupted or require human intervention at certain points. These are generally defined within a related notation specification, Case Management Model Notation (CMMN).

While there are differences, there is also a lot of conceptual overlap between business processes / BPMN and case management processes / CMMN. Process Automation Manager combines the functionality of both process models and case management models within a single digital automation platform. (This is covered in more detail in the blog post here.)

Supporting both linear process / task models and dynamic or unpredictable case management models within the same platform allows developers to have a simpler development process (and, combined with other features like Process Automation Manager’s new graphical UI, makes collaboration with business users easier).

Process Automation Manager also supports other types of modeling and visualizing data and worflows:

  • Data modeling
  • Decision modeling
  • Custom data dashboards
  • Process simulations

New Feature: An easier way for business users to collaborate (graphical UI)

Previous versions of Red Hat JBoss BPM Suite were designed around business process logic, but were intended to be used by Java developers within the application development process. Beginning with this Process Automation Manager 7.0 release, there is a new Entando UI included with the platform. This provides an easier, graphical interface where business users can just drag and drop elements into their models — using ultimately the same platform that the developers are using to create the application. Business processes, rules, and logic can be written into the application essentially without having to write a single line of code.

This also effectively changes the workflow for creating event- and process-driven application. Previously, developers did all the work within their development environment. Now, business users can work in parallel (using the Process Automation Manager UI) to create artifacts which can be pulled into the developer’s IDE and code. Everything can then be packaged up and deployed in containers or other environments.

New feature: Cloud (and container) native applications

With more distributed, hybrid infrastructures, it is imperative that applications be able to function exactly the same regardless of the underlying platform. And those applications need to be designed, natively, to work in a distributed, dynamic environment so that they can be rapidly deployed, updated, or scaled.

Process Automation Manager can itself run in Red Hat OpenShift containers, in public or private clouds, on-premise, or in all environments — depending on the needs of your development and infrastructure teams. Additionally, the models and applications created using Process Automation Manager as a platform can be deployed into cloud instances, OpenShift containers, or local instances. This allows truly hybrid development, testing, and production environments.

Process Automation Manager components, applications, and models can all be exposed and accessed using REST APIs, allowing integration with other software applications or management tools.

Additional Resources

  • Dive a little deeper into process automation technology with our tech overview.
  • For general information about the Process Automation Manager, check out the datasheet.
  • There are different use cases for process automation and a business decision engine. The FAQ runs through some things to consider.
  • Get started by actually using the Process Automation Manager. Red Hat Developers has a whole “hello world” example, waiting for you.

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:

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”

Announcing: Red Hat Fuse 7 is now available

After several technical previews over the last few months, Red Hat Fuse is officially available. This is a significant release, both for Fuse itself and for integration platforms, because it represents a shift from more traditional, on-premise, centralized integration architecture to distributed, hybrid environment integration architecture.

Integration itself has historically been a bottleneck for infrastructure design and changes. The integration points were largely centralized and controlled by a central team in an attempt to manage dependencies and standardize data management between applications. However, that centralization also made change difficult, and it was governed more by procedure and bureaucracy than business innovation. As with traditional infrastructure architecture more generally, integration has not historically been an agile or adaptive architecture.

Red Hat Fuse (and related community projects) is the beginning of a departure from traditional, rigid integration platforms to more agile, distributed integration design. Fuse introduces three major features in the latest release:

  • Fuse Online, fully hosted Fuse applications and integrations. Fuse Online provides immediate access to the functionality of Fuse, without having to install and configure it on-premise. Developers can begin testing and customizing integrations immediately. Connectors can be uploaded to the online development area to allow even more integrations.
  • Fuse container images for Red Hat OpenShift. Fuse runs natively on OpenShift, allowing local, containerized integration points to be created in development teams and to be designed, tested, and updated within DevOps workflows as part of the overall application development cycle.
  • A drag-and-drop UI for integration pattern design. While integration development is typically done within IT teams, integration design relies on business knowledge. Business managers and analysts need to be able to collaborate effectively with their development teams. The new Fuse Ignite UI (based on the Syndesis.io project) is a lowcode way to develop integration — business users can use design elements to create integration architectures and to work with their development teams, within the same tool set.

These three features allow more agile integration development. Fuse installations can span online, on-premise, or container based environments without reducing functionality. This allows an integration platform that crosses environments, and be as lightweight and decentralized as an individual development team or an enterprise-wide platform. The lowcode UI allows business users to be brought directly into the application development cycle, enabling business logic to be incorporated into the integration application design from the beginning.

Additionally, Fuse 7 contains these new features:

  • Support for Spring Boot deployment for Fuse applications
  • 50 new application connectors (with a total of over 200 included connectors)
  • A new monitoring subsystem
  • Updated component versions, including new versions of Red Hat JBoss Enterprise Application Platform and Apache Camel
  • A new name (Red Hat Fuse, rather than Red Hat JBoss Fuse)

 

Additional Resources