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.
BPMN is the older of the two specifications, with the first release in 2005 and a new major version in 2011. CMMN followed much later, with a first release in 2014.
The purpose of BPMN was to be able to effectively model business workflows. While these workflows could be highly complex, they were still largely predictable and procedural. The processes were sequential. The nature of the process models also gave them a high degree of integration with other applications.
However, in many business scenarios, the processes may not be reliably predictable. Some actions may require human intervention or the possible sequences are much more reliant on dynamic, interrelated variables. These workflows are more data- and situation-driven than process-driven. These kinds of workflows bumped up against the constraints of BPMN for some developers, and so there was a new, separate specification (CMMN) defined specifically for complex case management.
The idea for having separate specifications is that BPMN is a procedural language, while CMMN is a declarative language. Put another way, BPMN is supposed to define a specific process flow, while CMMN handles multi-path or dynamic flows.
Despite the declarative / procedural distinction, the elements defined and handled within both CMMN and BPMN models have a lot of similarities, even if the resulting models and workflows are different. For example:
| CMMN element | BPMN element |
| file | pool |
| stage | process |
| task | task |
| Entry condition | Escalation event subprocess |
Because of the conceptual overlap between CMMN models and BPMN models, there is a question whether to use one or both standards (just as within the larger standards community, there is a debate about whether to combine the two specifications).
Where Case Management Fits into a BPM Platform
In a sense, though, the very question “what specification should we use” puts the cart before the horse.
BPM.com had a great forum post which posted the question on whether focusing on the language or specification distracted from the actual customer needs and processes that the models are supposed to emulate. One of the responses (by Ian Gotts) essentially said that they had to be two halves of the same equation, instead of either-or. The business understanding defines what needs to be done for customers, and the specification is used to define how the application supports the model.
Gotts’ response highlights a unique challenge with process and case management modeling -- the development issues are only half of it. The success of the overall model is entirely dependent on the ability of business analysts and users to be able to describe their business logic. Without an understanding of the real customer issues, business processes, and industry expectations, the model is going to fail -- regardless of the specification used to implement it.
There is no hard line between processes and cases in real-life workflows. Processes will naturally interact with objects and data; cases will naturally follow some processes. It is certainly possible to represent a case model with BPMN or a BPM model with CMMN. The similar element definitions in both notation standards and the real-life overlap of processes, data, and objects makes this possible.
Example CMMN Model, from the spec
Example BPMN Model, in Red Hat BPM designer
Combining process and case management into a single platform offers several benefits:
- Developers can focus on a single development environment and specification.
- Because BPM is a more widely understood model within the business community, it can be an effective tool for business users to collaborate with developers.
- The resulting BPM-based diagrams are relatively simpler than CMMN diagrams, which can make it easier for non-technical users to understand the flows and dependencies in the model.
Assuming that the right development tools are in place, using a BPM platform to create case management models can create a more intuitive, better understood, and less complex environment for both business and technical users.
In our view, it is less complex from an architectural standpoint to use a BPM platform to develop case management models. This avoids having to integrate two separate applications, and it allows developers to develop their skills in a single application and specification.
Additional Resources
- Case management examples in the Red Hat JBoss BPM documentation
- Red Hat Summit 2017 slide deck, "Case Management Applications with BPM"
저자 소개
Deon Ballard is a product marketing manager focusing on customer experience, adoption, and renewals for Red Hat Enterprise Linux. Red Hat Enterprise Linux is the foundation for open hybrid cloud. In previous roles at Red Hat, Ballard has been a technical writer, doc lead, and content strategist for technical documentation, specializing in security technologies such as NSS, LDAP, certificate management, and authentication / authorization, as well as cloud and management. She also wrote and edited the Middleware Blog for Red Hat and led portfolio solution marketing for integration and business automation.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래