Recently, due to project requirements, I have also participated in the development of jbmp workflows, and I have not participated in the development of underlying Java code much. I mainly made a process dashboard. I checked the process editor of other friends on the Internet, and it looks good. However, I always think that the actual jbpm process editing effect is coming soon. Flex is now a mature solution on the PC side, but few people have developed a mature and fully functional process editor.
First, let's take a look at the effect I have shown:
XML data source design:
<? XML version = "1.0" encoding = "UTF-8"?> <Process name = "incidentprocess"> <start G = "276,12, 136,52"> <transition to = "evaluateposition"/> </start> <demo-g = "276,84, 48, 48 "name =" evaluateposition "> <transition G ="-76, -22 "name =" toleaderfirstapprove "to =" leaderfirstapprove "Description =" position <zhengke "> <condition expr =" # {owner. dutyid> 3} "/> </transition> <transition G ="-88, -22 "name =" totechaccept "to =" techaccept "Description =" position >=zhengke "/> </demo-> <task assignee =" # {leader} "G =" 462,135, "Name =" leaderfirstapprove "Description =" "> <transition G ="-88, -22 "name =" totechaccept "to =" techaccept "Description =" agree "/> <transition G ="-78, -22 "name =" toendreject "to =" endreject "Description =" "/> </task> <task candidate-groups =" tech-Dept "G =" 47,180, 117 "name =" techaccept "Description =" "> <transition G =, -22 "name =" toevaluateexpense "to =" evaluateexpense "Description =" budget "/> </task> <demo-g =" 279,305,136, 52 "name =" evaluateexpense "> <transition G ="-76, -22 "name =" toleadersecondapprove "to =" leadersecondapprove "Description =" cost> 0 and position <zhengke "> <condition expr =" # {expense> 0 & owner. dutyid> 3} "/> </transition> <transition G ="-93, -22 "name =" totechleaderapprove "to =" techleaderapprove "Description =" cost> 0 and position> = zhengke "> <condition expr =" # {expense> 0 & owner. dutyid <3} "/> </transition> <transition G ="-81, -22 "name =" totechhandle "to =" techhandle "Description =" cost = 0 "/> </demo-> <task assignee =" # {leader} "G =" 465,261, "Name =" leadersecondapprove "Description =" "> <transition G =" 88,22 "name =" totechleaderapprove "to =" techleaderapprove "Description =" agree "/> <transition G = "-78, -22 "name =" toendreject "to =" endreject "Description =" "/> </task> <task assignee =" # {techleader} "G =" 462,365, 98,52 "name =" techleaderapprove "Description =" "> <transition G ="-93, -22 "name =" tofinanceleaderapprove "to =" financeleaderapprove "Description =" agree "/> <transition G ="-78, -22 "name =" toendreject "to =" endreject "Description =" "/> </task> <task assignee =" # {financeleader} "G =" 465,485, 98,52 "name =" financeleaderapprove "Description =" approved by the finance division "> <transition G ="-142, -52 "name =" toevaluateexpensive "to =" evaluateexpensive "Description =" agree "/> <transition G ="-78, -22 "name =" toendreject "to =" endreject "Description =" "/> </task> <demo-g =" 289,477,136, 52 "name =" evaluateexpensive "> <transition G ="-81, -22 "name =" topresidentapprove "to =" presidentapprove "Description =" cost >=500 "> <condition expr =" # {expense >=500} "/> </transition> <transition G = "-81, -22 "name =" totechhandle "to =" techhandle "Description =" cost <500 "/> </demo-> <task assignee =" # {President} "G =" 473,641, 91,52 "name =" presidentapprove "Description =" "> <transition G ="-81, -22 "name =" totechhandle "to =" techhandle "Description =" agree "/> <transition G ="-78, -22 "name =" toendreject "to =" endreject "Description =" "/> </task> <task candidate-groups =" tech-Dept "G =" 42,480,101, 52 "name =" techhandle "Description =" "> <transition G ="-81, -22 "name =" toapplyerconfirm "to =" applyerconfirm "/> </task> <task candidate-groups =" # {owner. account} "G =" 41,603,104, 52 "name =" applyerconfirm "Description =" Applicant confirmation "> <transition G ="-61, -22 "name =" toendok "to =" endok "Description =" end "/> </task> <End G =" 70,718,136, 52 "name =" endok "/> <End G =" 680,320,136, 52 "name =" endreject "/> </process>
If Flex is used for demonstration, it will fail.
First, jbpm is a development component of a custom workflow. Flex can implement on-site implementation by engineers and deploy relevant workflows for users because it provides custom effects for the jbpm process;
Second, flex should take on a huge job to customize the form operation, because the custom form is the core part of a workflow, we must learn to use flex to locate and define Custom forms and perform related operations;
Third, flex should be more interactive and can be played or more effectively;
Fourth, the effect of multi-process interaction;
SVN: http://code.google.com/p/ken-javaframeword/source/browse/#svn%2Ftrunk%2FFeaturesView