Extending Java with Workflow Constructs for Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing workflow languages are incomplete and require developers to learn new programming languages, leading to inefficiencies and resource wastage, as they often rely on proprietary information and lack essential constructs like parallelism and efficient handling of XML.
Innovation Solution
Extending the JAVA programming language with constructs such as parallelism, asynchrony, and flexible XML handling to create a workflow definition language that allows for efficient orchestration of business processes, enabling developers to define virtual programs and manage workflows using familiar syntax.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If developers use existing workflow languages, then workflows can be automated, but developers must learn new proprietary languages and reinvent existing programming concepts
Solution Approach 1:
The patent applies universality by making the workflow language compatible with and extendable from Java, allowing the same language to serve both general programming and workflow automation purposes. This eliminates the need for developers to learn a completely new proprietary language, as they can leverage their existing Java knowledge while gaining workflow capabilities through extensions.
2Ease of manufacture
If existing workflow languages are used, then basic workflow tasks can be performed, but essential constructs like parallelism and efficient XML handling are missing
Solution Approach 1:
The patent applies segmentation by dividing the workflow language into core Java constructs and workflow-specific extensions. This allows essential constructs like parallelism and XML handling to be added as modular extensions to the base Java language, maintaining ease of implementation while enhancing adaptability and versatility.
3Adaptability or versatility
If proprietary workflow languages are used, then complete programming functionality can be achieved, but resource efficiency decreases due to language redundancy
Solution Approach 1:
The patent applies merging by combining workflow automation capabilities with the existing Java programming language. Instead of maintaining separate proprietary workflow languages that reinvent programming concepts, the solution merges workflow functionality into Java extensions, eliminating redundancy and improving resource efficiency while preserving complete programming functionality.
Data Source
AI summary
An easy-to-use workflow language can be created by extending an existing, common language such as JAVA. The language can be extended by adding those constructs that are missing but desirable. Such desirable constructs can include parallelism, asynchrony, loops over asynchronous events, and flexible handling of XML. Such constructs can allow a user to define a virtual program using the extended JAVA syntax. For example, XML can be placed inside a JAVA class that defines the high-level orchestration logic a workflow should follow. That orchestration logic can refer to the JAVA class to carry out work, such that the logic to handle an incoming message is really in JAVA. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.


