I intend to implement a specialized SQL Connector for Camunda, which would enable process analysts to execute generic select queries and stored procedure calls against a current Oracle DB straight from the BPMN process, with minimal configuration overhead.
The plan is to allow the connector to be called from service tasks with certain predefined input parameters. These can either be a select queries or stored procedure calls.
The connector will return the results of the SQL query as key-value pairs. The values can be one of the following data types: Boolean, String, Long, Double or Date. The keys represent the column names, the values represent the actual values from the db. Each result list corresponds to an SQL result row.
This means that the connector will return a properly serialized list with the following structure List<Map<String,Object>>, which can then be accessed via Unified Expression Language within the BPMN process.
Regarding the actual implementation, I intend to use JDBC wrapped by Spring JDBC-Template, focusing on Oracle for the moment, but with a more generic approach in mind.
We have an actual customer with this set of requirements and they are actually keen on us contributing the solution to the Camunda community. Which is why I am genuinely interested in what your opinion is about this approach.
Obviously the are still a couple of architectural kinks to be worked out, but I would really like to know what you think about the idea in general. Any and all feedback is welcome, be it positive or otherwise.
Thank you!
Bogdan