Red Hat has just released new versions of its popular business automation products: Red Hat JBoss BRMS & Red Hat JBoss BPM Suite 6.4. In this post we will highlight the improvements and new features these releases brings. Apart from stability and performance improvements, version 6.4 brings new, highly requested, features that improve the platform experience in larger enterprises.
The new versions of the platforms are available both from the Red Hat Customer Portal (BPM Suite and BRMS) and the Red Hat Developers website. Installation instructions can be found in the “Getting Started Guide” for BPM Suite and BRMS and on the Red Hat Developers “Get Started” pages for BPM Suite and BRMS. Finally, the installation demo’s have been updated to target the latest versions:
Continue reading “What's New in Red Hat JBoss BRMS and BPM Suite 6.4”
Generally when the topic of Business Process Management (BPM) comes up we think of BPM software suites. There’s another side to BPM though, and that’s the practice of process management, which doesn’t require any software at all.
Traditionally the BPM practice has focused on continuous process improvement. There are various methodologies but it generally comes down to this:
- Collect metrics on the existing process
- Analyze those metrics
- Propose an optimization
- Simulate the optimization with the collected metrics
- Institute the validated optimization
- Do it all again
There’s nothing wrong with that. We’ve occasionally had good results with continuous improvement for processes that are core to a business. A good candidate, for example, would be a fee-for-service health insurance claim process — it’s a process that’s been around for decades and will likely be around for additional decades. It’s also high volume, so even the smallest improvement can have a major impact.
Continue reading “Business process management in a "microservices world"”
Over the last couple of weeks, I’ve been working on some Red Hat JBoss BPM Suite workshop material. One part of the workshop is a four-hour lab that guides the attendees through the development of JBoss BPM Suite 6.x processes, rules and applications (note that this workshop is available to our customers, please contact your Red Hat account manager or local Red Hat sales representative for more information), but I’m going to be sharing part of the story with you today.
The lab-sessions require a pre-installed and pre-provisioned virtual machine, which contains all the material required to run the lab. This means that I need to create, install, provision and deploy a virtual machine that contains all the required tools and code to successfully run the lab sessions. Obviously this can done by hand, but what’s the fun in that?!
Manual work is error prone, hard to reproduce and definitely hard to version control. Hence, we want to have an automated solution in which we can (declaratively) define the layout and configuration of our virtual machine. Say hello to Vagrant and Ansible!
Continue reading “A simple guide to provisioning Vagrant boxes with Ansible”
Red Hat JBoss Resource Planner (part of Red Hat JBoss BRMS, the enterprise product based on the upstream OptaPlanner community project) is the leading open source constraint satisfaction solver. A constraint satisfaction solver is a solving engine build around sophisticated optimization algorithms that allows to plan for optimal use of a limited set of constrained resources.
Every organization faces scheduling problems: assign a limited set of resources, for example employees, assets, time and money, to build products or provide services. Resource Planner optimizes such planning problems to provide an optimal utilization of resources, resulting in higher productivity, less costs and higher customer satisfaction. Use cases include:
- Vehicle Routing: What is the optimal set of routes for a fleet of vehicles to traverse in order to deliver to a given set of customers?
- Employee Rostering: Find an optimal way to assign employees to shifts with a set of hard and soft constraints.
- Cloud Optimization: What is the optimal assignment of processes to cloud computing resources (CPU, memory, disk)
- Job Scheduling: Optimise the scheduling of jobs of varying processing times on a set of machines with varying processing power, trying to minimize the makespan.
- Bin Packing: pack objects of different volumes into a finite number of bins or containers in a way that minimizes the number of bins used.
- and many more.
All these problems are, so called, NP-hard problems, which implies that the time required to solve these problems using any currently known algorithm increases very quickly as the size of the problem grows (e.g. adding a destination to a vehicle routing problem, adding a shift to an employee rostering problem). This is one of the principal unsolved problems in computer science today.
As it is impossible to solve these problems, or find the best solution to these problems, in a limited timespan when scaling out, Business Resource Planner uses a set of sophisticated optimization heuristics and meta-heuristics (like Tabu Search, Simulated Annealing and Late Acceptance) to find an optimal solution to these problems.
As said, every organisation has these kind of scheduling problems, and there is a lot to gain from optimising these problems. In the remainder of this post we will walk you through a number of steps to get you started with Business Resource Planner/OptaPlanner to find an optimal solution to your business problem and start increasing productivity, reducing costs and increasing customer satisfaction.
Continue reading “Use these six simple steps to get started with Red Hat JBoss Business Resource Planner”
(This article was excerpted from the book Effective Business Process Management with JBoss BPM.)
Organizations are constantly being tested in the markets in which they operate by shifting expectations of their customers, and by competitors looking to provide better value at a lower cost. This tension is the catalyst that continually pushes organizations to search for ways to improve their services, improve the speed which they deliver value to their customers, enable employees to get more done with less administrative overhead, and most importantly, to constantly grow by generating more revenue. This is the basis of BPM, to be able to identify and capture processes in an organization to create repeatable, measurable and consistent execution of goals to drive their business forward.
When an organization studies its operations, it discovers there are many processes used in its daily business. These processes are often not well thought out, or they were created to complete some aspect of the daily business, with little thought given to improving efficiency. At this point the organization looks for the first steps for improving through automation the processes that represent business value.
Business value could be anything that drives organizational goals forward to make customers happy, and thereby generate more revenue. This business value can be anything, such as keeping track of interaction with a customer. If that data could be captured, the marketing department could search a customer’s behavioral patterns to decide what products and services to market to a particular person. It would take mass marketing out of the equation and allow for direct, specific marketing towards individual customers’ needs.
It is possible to identify pieces of business value that are not worth automating because they are inconsistent or have too many potential paths to justify the effort to automate. Others will require traditional human brain power, which is not easy to capture in automated process form. An example of this would be the hiring of employees, a process that can be largely automated, but the actual decision to hire a specific candidate remains a factor of human intelligence. We can automate the process of handling applications, scheduling interviews, and the post process of on-boarding a new employee once hired. We leave the “hire or not to hire” task to humans.
Continue reading “Introducing Business Process Management with JBoss BPM”
One of the core drivers behind modern application architecture, development and delivery methodologies like micro-services, agile and CI/CD is the ability to automatically test any software artifact, from application code to server configuration. Automated testing gives us the reliable, repeatable, assurance that our software meets the required quality with respect to aspects like functionality, performance, and scalability and is ready to be deployed in production. Why should testing of a business-process defined in BPMN2, a deployable software artifact, be any different?
One of the unique features of Red Hat JBoss BPMSuite is that, due to it’s adoption of Maven as de-facto build platform, it allows to utilize standard Java testing practices and methodologies in the business process space. In fact, jBPM (the upstream community project thatforms the base of Red Hat JBoss BPMSuite), provides out-of-the-box JUnit test classes that allow one to easily unit-test business processes defined in BPMN2 (see the jBPM User Guide for more detail).
Continue reading “Unit-testing your BPM processes by bending time.”
Red Hat’s IT department recently deployed JBoss BPM Suite to handle automated process workflow. JBoss BPM Suite is officially defined as:
An open source business process management suite that combines Business Process Management and Business Rules Management and enables business and IT users to create, manage, validate, and deploy Business Processes and Rules.
IT’s immediate use case is to replace our aging account management system, which is essentially a collection of perl and python scripts. Some of these date back to the turn of the millennium. These scripts had the responsibility of handling all aspects of user life cycle management, including:
- Pulling user data from the HRMS
- Creating the user LDAP object
- Creating the user group LDAP object
- Creating application accounts (home directories, mailboxes, etc)
- Updating LDAP objects with HRMS changes
- Closing user accounts and removing LDAP objects upon termination
- Syncing account information with third party systems (SaaS vendors, etc)
These legacy scripts would perform SQL queries directly against multiple data sources and call LDAP operations, application command line tools and make API calls. While this system worked well for many years, maintenance became an incredible burden. In essence, only one person knew the account automation system. New application integration requests would have to wait months for resources to free up. For applications allowing direct API integration, that meant some pour soul (me) would have to spend a fair amount of time just figuring out how this new application worked and what API calls were necessary. Moreover, when a vendor would suddenly change their API, that meant something was broken until there was time to fix it. The result was Service Desk team having to perform hundreds of manual operations in the mean time. Essentially, the maintainer could not scale with demand, let alone have the time to become an expert in every new application.
Continue reading “Account Management with JBoss BPM Suite”
Drools is an open source rules expert engine and today the Drools co-founder and platform architect Mark Proctor from Red Hat gave an overview of the future of the KIE (Knowledge Is Everyhting) family. I’ll cover only a subset of what Mark covered, be sure to check out his slide deck for more details.
UI and UX
With the recent addition of a dedicated User Experience and Design (UXD) team and full adoption of PatternFly for consistent and polished theming the UI is looking better than ever. The UXD team has been working on creating personas for different use cases ranging from developers to project managers. The latest release will be targeting GWT 2.8 which will continue to bring outstanding efficiency in designing the frontend to the primarily Java based team. The Errai framework built on top of GWT brings extended benefits to the ecosystem rounding out some of GWT’s rough edges. Uberfire will continue to be used and enhanced to provide perspectives, screens, page composition, security, permissions and more on top of Errai to help Business Central provide a rich user interface and experience.
Bootstrap grid views for building custom forms brings responsiveness and consistent styling to your task forms. This allows for stylized user interfaces to be developed and maintained within the system and used for process and rule interaction.
In the upcoming release of Drools you will be able to deploy applications directly to target environments such as OpenShift and WildFly. This allows your application with minimal code, which can now be comprised of just some Data Models and forms, to run directly on OpenShift or WildFly with no extra configuration! KIE will create all the glue code and use your custom forms to create and deploy a webapp. Look to more automatic application generation features coming in the future.
The engine enhancement that Mark covered are numerous and broad in coverage, I won’t try to enumerate them all here. Two that stood out to me are the aggregate decision tables and thread safety updates. A new decision table editing UI has been created that will infinitely scale and can even compose decision tables to represent more complex rules than ever before.
In previous versions of Drools, there existed a lot of synchronization code in many places and behavior was unreliable. To address this the team has re-factored the main engine and introduced a state machine at its core. This allowed one point of synchronization (a propagation queue) which simplifies the design and even added some performance benefits.
Continue reading “DevNation Live Blog: Drools 7.X Happenings and Roadmap”
DevNation is now part of Red Hat Summit. See www.redhat.com/Summit. Red Hat Summit is for developers!
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”