BPM Engine Multi-Language Runtime Invocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional BPM engines are limited to supporting a single business process language, lacking flexibility to adapt to different business process languages depending on the nature of the processes being modeled, which can lead to inefficiencies when dealing with heterogeneous systems beyond Java implementations.
Innovation Solution
A BPM process engine that determines the business process language used for a definition and invokes the corresponding runtime environment, enabling execution and monitoring of business processes in multiple languages such as jPDL and BPEL, providing uniform user interfaces for interaction and analysis across languages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a BPM engine is designed to support a single business process language, then the engine's design is simple and focused, but the system lacks flexibility to adapt to different business process languages and heterogeneous systems
Solution Approach 1:
The BPM engine is designed to support multiple business process languages (jPDL, BPEL, and custom languages) through a universal execution framework. The engine can invoke appropriate runtime environments based on the process definition language, enabling a single engine to handle diverse process modeling needs without requiring separate specialized engines for each language.
Solution Approach 2:
The patent introduces an intermediary mechanism that detects the business process language type and routes process definitions to appropriate runtime environments. This mediator layer allows the engine to manage multiple languages without direct complexity in the core execution logic, as the intermediary handles language-specific routing and environment invocation.
2Adaptability or versatility
If a BPM engine supports multiple business process languages, then the system becomes flexible and adaptable, but the engine's complexity increases
Solution Approach 1:
The BPM engine architecture is segmented into distinct runtime environments for different business process languages (jPDL runtime, BPEL runtime, and custom runtime). Each language type has its own dedicated runtime environment, allowing the engine to manage complexity by dividing the system into independent, language-specific execution contexts while maintaining a unified entry point.
Solution Approach 2:
The engine dynamically selects and invokes the appropriate runtime environment based on the detected business process language type. This dynamic behavior allows the system to adapt its execution environment at runtime rather than being statically configured, managing complexity through flexible, context-dependent environment selection rather than rigid multi-language support.
Data Source
AI summary
A method and apparatus for supporting multiple business process languages in business process management (BPM). The method may include receiving user input identifying a definition of a business process, and determining which business process language was used for the definition of the business process. The method further includes invoking a runtime environment associated with the used business process language, and executing the business process in the invoked runtime environment.


