AnsweredAssumed Answered

Invoke OSGi Service from Workflow

Question asked by timo.rohrberg on Jan 11, 2016
Latest reply on Jan 21, 2016 by timo.rohrberg
Hello everybody,

I'm currently investigating possible solutions for invoking OSGi services directly from workflow definitions. I'm working with an Eclipse Equinox based OSGi environment and my OSGi services are registered declaratively via the Equinos Declarative Services framework. I would now like to be able to specify for example the interface of such a registered service within my workflow definition XML and have the Activit Engine to load and execute that service.

The central motivation behind that is that I would like to keep the actual implementation of Java Service Tasks in a different bundle than the workflow engine instantiation, execution, and so on. However, with that I would have to import the bundle with the Java Service Tasks into the bundle with the Activiti workflow engine via Import-Package statements in the MANIFEST.MF in order to load task classes with the activiti:class attribute of a service task declaration. And it's exactly that dependency that I would like to avoid.

Researching the web, I found the following discussion - however, it is already a couple of years old and I wondered if there is another solution in the meantime. I also played around a bit and managed to implement my own ELResolver, but somehow that way does not completely feel good. Also, I would like to avoid to integrate the Apache Aries Blueprint into my project - I would rather like to stick with the Equinox Declarative Services framework.

https://forums.activiti.org/content/osgi-service-task

Do you guys have any further hints?

Outcomes