cancel
Showing results for 
Search instead for 
Did you mean: 

Integration with Vaadin 7 & using Project domain tables

rajeesh_k
Champ in-the-making
Champ in-the-making
Hello Activti Experts,

I am building a new web application. This includes a moderate complex workflow where multiple user approvals are required with different user roles (project specific).

Workflow Scenario is like:
1) There is a Approval Sequence (Parent) where there are N Approval Stages required.
2) In this Approval Sequence we have N number of line items involved (children).
3) Each line item (child) has a set of Approval steps. number of line items involved.
4) Sequence gets finally approved only when all line items approved.
4) Each line item can back track to any stage with in line item. Meaning process repeat again. For example pls refer the attached image from (Step 4 to Step 1.1 or 1.2)
5) Each line item can even trigger a re approval of parent from starting.

We are building the web user interface in vaadin 7 and spring for Dependency Injection. Also we have a set of project domain tables in the database to store the data.  Currently as a Proof of concept I able to tie activiti to the vaadin project using spring.
Questions have in front to opt for a solution:
1) Will activiti will be a good solution to implement the workflow than using Spring beans to configure the workflow and implement i in Java.
2) How hard is implementing this in activiti and benefits.
3) How the linkage between the activiti workflow data and project domain tables? Can activiti database tables be modied to have refernce to domain tables or vice versa? Which is the best approach?
4) How to application flow will happen?

I am totally new to BPM and activiti. Please give us your valuable guidelines to proceed further. I can provide any further clarification required from my side. Thank you.
4 REPLIES 4

rajeesh_k
Champ in-the-making
Champ in-the-making
The workflow image added in share as we cant upload it here. http://postimg.org/image/f2ahs7zen/

frederikherema1
Star Contributor
Star Contributor
1) Activiti and Spring are best friends, they even sit together at lunch time Smiley Wink No seriously… You can use existing spring-beans in expressions in your process, this makes it easy to use a spring-bean as a delegate (<serviceTask id="serviceTask" activiti:delegateExpression="${delegateExpressionBean}" />) or call methods on spring-beans from within the process (<serviceTask id="javaService"  name="My Java Service Task" activiti:expression="#{printer.printMessage(execution, myVar)}" />).

2) The process you're describing is a perfect fit for activiti and would take more time if you would write your own state-machine for this…
3) Since you're using spring, activity makes use of the PlatformTransactionManager, so any changes done in your services/model can participate in the same transaction as activiti does, without any hassle. We also have a pluggable variable-mechanism to allow to use your domain-model in the process-context (as variables) without storing duplicate data in activiti, but only pointers to your objects. We have a JPA-integration as an example of this shipped OOTB.

4) That's up to you. We offer an API to do everything you want with processes - management, runtime, history, … - so your services/UI should consume the API, adding some additional logic, specific for your use cases on top of our API.

ashutosh1
Champ in-the-making
Champ in-the-making
Hi,

I want to change the Vaadin UI (screen) after completion of a service task.
How to do this ?

trademak
Star Contributor
Star Contributor
Hi,

Please provide more details about your question, because it's very difficult to answer it now.

Best regards,