Flowable between two databases

Hi,

I have an application which has its own nosql DB. Now some objects in nosql DB need to be linked to Workflow objects and a comm layer needs to be created.

What I am looking at is running the flowable Rest in tomcat and communicating through REST between other software and this one. Can you please advise if it is a good way to do so?

Or if I should think of other ways?

PS : I am new to Flowable and Spring.

Thanks,
DP

Hi,

Using the HTTP task you can easily interact with other REST services:

https://flowable.org/docs/userguide/index.html#bpmnHttpTask

You can also implement service tasks and do the REST communication in Java yourself.
Using REST as a communication layer to the NoSql DB is a good solution, and then you can safe the unique identifiers to the objects as process variables.

As an alternative, you could also use an embedded approach, where the communication to the NoSQL DB is done directly in the service tasks (or by calling a Java class from the service task). This gives you a bit more options for custom logic.

Best regards,

Tijs

Thanks tijs. I am probably going to use a combination of both. I have another query that when I open flowable-tasks app deployed using tomcat the page just keeps on reloading. It only happens if there are open tasks. Following is the error in server console. Any pointers will be helpful.

2018-09-24 23:15:14.725 INFO 13120 — [nio-8080-exec-3] o.s.w.s.DispatcherServlet : FrameworkServlet ‘dispatcherServlet’: initialization started
2018-09-24 23:15:14.811 INFO 13120 — [nio-8080-exec-3] o.s.w.s.DispatcherServlet : FrameworkServlet ‘dispatcherServlet’: initialization completed in 86 ms
2018-09-24 23:15:34.126 ERROR 13120 — [nio-8080-exec-7] o.s.b.w.s.s.ErrorPageFilter : Cannot forward to error page for request [/libs/ui-grid_3.0.0/ui-grid.js] as the response has alrea
dy been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.w
s.webcontainer.invokeFlushAfterService to false

org.apache.catalina.connector.ClientAbortException: java.io.IOException: An established connection was aborted by the software in your host machine
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:333) ~[catalina.jar:9.0.10]
at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:758) ~[catalina.jar:9.0.10]

Hey @pahujadeepanshu,

It would be good if we can separate posts fir different topics / problems.

In any case which version of Flowable are you using?

Hi @filiphr,

Sorry about that. I just got too excited :slight_smile:
I am using 6.3.0. Following are the contents of version.properties in flowable-task

type=task
version.major=6
version.minor=0
version.revision=0
version.edition=Flowable

Thanks for your help.

No worries, excitement about Flowable is always good :slight_smile:.

Regarding the problem you had we’ll need to look into it. From what I see you are using tomcat 9.0.10, right? The application is a Spring Boot application that supports Tomcat 8.5.x. Can you please try with that one?

In the meantime we are going to look at making the application work with Tomcat 9.x.

Cheers,
Filip

@filiphr , Sure man . Thanks :slight_smile:

@pahujadeepanshu my colleagues just told me that they are running the apps on Tomcat 9 without a problem. So I presume the problem is not with that, it should work on Tomcat 9 without problems

It is not working for me even with Tomcat 8.5. Any ideas what could be causing it?