title: Is there a mature Java Workflow Engine for BPM backed by NoSQL?
body: <p>I am researching how to build a general application or microservice to enable building workflow-centric applications.  I have done some research about frameworks (see below), and the most promising candidates share a hard reliance upon RDBMSes to store workflow and process state combined with JPA-annotated entities.  In my opinion, this damages the possibility of designing a general, data-driven workflow microservice.  It seems that a truly general workflow system can be built upon NoSQL solutions like MondoDB or Cassandra by storing data objects and rules in JSON or XML.  These would allow executing code to enforce types or schemas while using one or two simple Java objects to retrieve and save entities.  As I see it, this could enable a single application to be deployed as a Controller for different domains' Model-View pairs without modification (admittedly given a very clever interface).</p>
  
  <p>I have tried to find a workflow engine/BPM framework that supports NoSQL backends.  The closest I have found is <a href="https://github.com/jbarrez/activiti-neo4j" rel="nofollow noreferrer">Activiti-Neo4J</a>, which appears to be an abandoned project enabling a connector between Activity and Neo4J.</p>
  
  <p><strong>Is there a Java Work Engine/BPM framework that supports NoSQL backends and generalizes data objects without requiring specific POJO entities?</strong></p>
  
  <p>If I were to give up on my ideal, magically general solution, I would probably choose a framework like <a href="https://www.jbpm.org/" rel="nofollow noreferrer">jBPM</a> and <a href="https://www.activiti.org/" rel="nofollow noreferrer">Activi</a> since they have great feature sets and are mature.  In trying to find other candidates, I have found a veritable graveyard of abandoned projects like <a href="https://java-source.net/open-source/workflow-engines" rel="nofollow noreferrer">this one on Java-Source.net</a>.  </p>