SOA+BPM using Switchyard and jBPM6
wpilar Nov 12, 2013 3:58 AMHello!
I tried to check, if JBPM6 and Switchyard is a platform for SOA+BPM used in the classical way:
1) Switchyard is providing services
2) JBPM is orchestrating them
In addition I tried to check, if this is possible:
3) KIE workbench is the tool for the business users working on the conceptual level
4) Eclipse is a tool for developer, who reifies business level concepts
I would like to describe my efforts and ask for advise and hints from anybody knowing anything about it, what went wrong and how to do it better.
Software is still under development and therefore quite chaotical. I was using many different versions and also latest snapshots,
looking here and there for something that works at all. In the end I don't know what I have, but I must wait until the final version arrives to clean it up.
I hope also, that many of my problems described below will then disappear. But I don't regret my efforts, I have learnt a lot and I plan to drill down into the questions enumerated below.
I couldn't find any sample which would fit. So I have started from switchyard-quickstart-bpm-service.
SwitchYardServiceTaskHandler in this example is using local SwitchYardServiceInvoker.
I wanted to separate BPM server from the Switchyard server, so I have changed it to RemoteInvoker.
BPM process is not concerned about how the service is implemented, it just sends the request to Switchyard.
Switchyard with its Camel can adapt the request and invoke any service implemented in any technology.
For kie-wb I have added inside of jboss-deployment-structure.xml the needed Switchyard dependencies, but
the registration of my SwitchYardRemoteServiceTaskHandler using CustomeWorkItemHandler.conf has failed.
5) What is the problem?
When searching for the resolution, I have found out, that I can register it using an implementation of WorkItemHandlerProducer and it worked.
I have propomoted services from switchyard-quickstart-bpm-service using SCA binding to be able to invoke them remotely.
Switchyard part was ready, process had to be created inside the BPM part.
6) BPMN Designer is not a tool for the business user. It contains too many technical details difficult even for an experienced developer.
7) There is no any tool for conceptual modeling present.
Next challenge: in kie-wb importing of the Java model disappeared in comparison with previous versions.
8) Is it by design? I am suspecting, that it can be provided as a Maven dependency.
Not knowing what is the situation, I have decided to create the data model using the Data Modeler.
(This is not what I wanted. I would rather expect, that data modelling is provided by specialized tools like TEEID).
I have cloned the kie-wb into Eclipse, but the project doesn't build, pom.xml is not complete.
9) Is kie-wb build using Maven build at all?
I have adjusted pom.xml and recreated Switchyard services (They are not supposed to be touched, because they can come from anywhere).
With Form Modeler I have created a process start form, which creates an object, object is passed to the process and used as the input parameter in a Switchyard task and it works.
Things to explore:
11) How to use service registry? I don't need service repository. I need only one work item handler, which invokes Switchyard, Switchyard is using service repository to
find the service implementation.
12) Far future: how to use ontological tools for conceptual modeling.
Conclusions:
1) and 2) are possible. Now it's very hard, let's wait for the final version.
3) and 4) can be dismissed.
Wieslaw