andyj2ee

          java tec sky

          統計

          留言簿(4)

          activemq

          aop

          design pattern

          other blog

          spring

          workflow

          多線程

          軟件架構師

          閱讀排行榜

          評論排行榜

          Integrating workflow engines with other system modules

          Hi all,

          This is probably a newbie question so please be tolerant :-)

          I am involved in the development of a system that has a business process management component. The system is based on Spring, Hibernate and Web Work 2. The question is, out of all those available BPM engines, which ones can easily be integrated into other infrastructures? My first impression is that BPM engines designed to be the infrastructure itself, so that functions such as data access, business logic and user interface are specified around it. As opposed to using another infrastructure (in our case, Spring + Hibernate + Web Work) where the BPM engine is merely a component.

          Is this distinction real? Should BPM engines logically be the center-piece of the system? Or am I grossly misunderstanding the issues?


          --->

          I feel that the best way to use a Workflow/BPM system is as a database is : something external that you access with some system users.

          Sometimes an embedded workflow engine is necessary, but in this case, the application that embeds should dictate the infrastructure

          --->

          I think it should be implemented as an aspect

          I have implemented a workflow engine before. I made it completely independent of the business objects etc. However, I had to modify business facades to call into the workflow engine; for example, to start a new process for a new request. At this point, I am thinking of doing it as an aspect in Spring, and I believe this will work out nicely.

          --->

          I am currently building a project using Struts, Spring and Hibernate with OSWorkflow. The current development build (2.8) has built-in support for a Spring / Hibernate environment. In this case, performing an action in the workflow can check against a set of pre-conditions, which can refer to logic in the business layer and can then call some functions if the conditions hold, which can also refer to business logic. This is nice because Spring deals with the dependencies for the conditions and functions. The end result is my business logic is protected by the workflow engine, which prevents any action being performed in the wrong stage of the process.

          The only downside of OSWorkflow is that you have to call the workflow action by passing the action's id (an int) and a map of all the inputs to the engine. I'm getting around this by writing an abstraction layer that provides nice method signatures (the business facade) for my struts actions (or any other client). These methods will map to an action id, take all the arguments from the signature and wrap them in a map and call the action.

          I hope this is helpful.

          Adam

          http://www.manageability.org/blog/stuff/workflow_in_java/view



          方向:分布式系統設計

          posted on 2005-04-28 18:49 java光環 閱讀(538) 評論(0)  編輯  收藏 所屬分類: workflow

          主站蜘蛛池模板: 遵义县| 额尔古纳市| 改则县| 舞阳县| 象州县| 宜宾市| 康乐县| 若羌县| 绿春县| 隆回县| 临海市| 遂昌县| 长顺县| 长岭县| 松潘县| 裕民县| 绍兴市| 措美县| 闽侯县| 余庆县| 昂仁县| 饶阳县| 常宁市| 红原县| 高雄县| 阿鲁科尔沁旗| 双城市| 临邑县| 湖北省| 喜德县| 成都市| 马尔康县| 故城县| 西城区| 赤城县| 久治县| 名山县| 芜湖市| 股票| 扎兰屯市| 高阳县|