COPPER (COmmon Persistable Process Excecution Runtime) is a free and open-source workflow engine, which persists the workflow instances (process) state into a database.
With COPPER, there is no limit to the runtime of a process. It can run for weeks, month or years. Also, this strategy leads to crash safety.
Some advantage of the COPPER utility are:
· any Java developer is able to design workflows
· many Java libs can be integrated within COPPER
· many Java tools, like IDEs, can be used
· with COPPER your productivity will be increased when using a workflow engine
· using Java solutions will protect your investment
COPPER is a cross-platform utility capable of running on any operating system that comes with Java support (e.g. Mac OS X, Windows, Linux).
Here are some key features of "COPPER":
· High Performance Workflow Engine for Java
· Open Source
· Describe Workflows in Java
· Running in any container, e.g. Spring
· Run multiple engines within one java process if needed
· Dependency Injection for Workflow instances
· Change Workflows dynamically at runtime
· Transient or Persistent Workflows supported
· Support for long running persistent Workflows, runnning for days, months, years
· Support for multiple RDBMS
· NoQueue overflows (as lang as the data fits into the underlying database)
· Distributed Execution on multiple coupled engines enables
· Load Balancing
· Redundancy
· High Availability (requires a high available DBMS, e.g. Oracle RAC)
· Fast and generic Audit Trail
· Support for short running transient Workflows
· Minimal processing overhead enables real time processing
· Enables asynchronous waits for one or more responses from partner system calls
· Supports early responses (response arrives before wait is called)
· Supports any (unique) correlation id
· Asynchronous processing enables processing of many thousand workflow instances in parallel without facing thread count limitations
· Management & Monitoring via JMX
· Configurable amount of processor pools with a dynamic count of worker threads
· Logging in COPPER uses slf4j, which enables seamless logging integration into your container/environment
· Tested with java version 6 and version 7
· javadoc documentation for the engine API available
· Enables debugging of Workflows with any Java Debugger
Requirements:
· Java
What's New in This Release: [ read full changelog ]
· Now using gradle instead of ant for build
· New feature: Refactoring of StandardJavaSerializer to enable easy subclassing
· New feature: Batching latency time now configurable
· New feature: Extendable/customizable AuditTrail, see issue #38
· New feature: Disengageable early response handling, see issue #37
· New feature: Versioning of Workflows now supported by COPPER
· New minor feature: LoggingStatisticCollector.setResetAfterLogging
· Documentation enhancement: Compatibility rules for workflow modifications
· Documentation enhancement: Revised example copper project