OFBIZ流程操作使用过程<!----><o:p></o:p>
1 流程定义<o:p></o:p>
一般用JaWe进行流程定义。根据查找的资料,使用JaWe生成的xpdl文件和workflow engine有少许不兼容的情况,摘抄总结如下:<o:p></o:p>
1)JAWE生成DataFields会和ofbiz Implementation Tool里的ActualParameter冲突, 导致runtime data不能正常的获取, 如果你的Tool需要ActualParameter的话,直接输入即可,不需要把它定义成为workflow relevant data.<o:p></o:p>
2)在Activity的TransitionRef部分, 由于FK的缘故,不能import到db
修改方法1: 注释掉 XpdlReader readTransitionRestriction 最后读取readTransitionRefs的代码(由于ofbiz workflow engine没有用到TransitionRefs, 故可以直接注释掉)
修改方法2:修改entity定义文件: WorkflowTransitionRef with WorkflowTransition's relationship type to "one-nofk" <o:p></o:p>
3)在Activity的TransitionRestriction部分,如果Join/Split transition只有唯一情况,JAWE是不会生成定义Join/Split Type的
修改方法1:手工加上:<Join Type="XOR"/> <Split Type="XOR"/>
修改方法2:修改 XpdlReader 代码,使其默认为XOR<o:p></o:p>
<o:p></o:p>
2流程装载<o:p></o:p>
ofbiz提供页面来实现流程装载,如下:
<!----><v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype>
图 流程装载
<o:p></o:p>
3 流程使用<o:p></o:p>
ofbiz没有提供自己的工具来说明流程的使用方法,要求开发人员找到相应的api来调用;另外,ofbiz的orderMgr模块,使用了工作流引擎,但不是纯工作流引擎的应用,它包含了自己的独立的复杂的业务逻辑。<o:p></o:p>
大致的流程使用步骤如下:<o:p></o:p>
1)启动流程<o:p></o:p>
首先,获取实体引擎和服务引擎,一般从页面的request中获取;然后,调用实体引擎新建工作流记录;最后,调用服务引擎启动流程。<o:p></o:p>
2)获取工作列表<o:p></o:p>
首先,用EntityExpr类构造约束List;然后,将约束List作为参数传递给实体引擎查找符合条件的记录;对于查找本部门的或本角色的或指定到本人的工作列表都采用同样的方法。<o:p></o:p>
3)执行活动<o:p></o:p>
首先,调用工作流引擎判断任务是否由该用户操作或是否已经被其他用户accept;其次,调用WorkflowClient类来获取流程实例号,定位流程;然后,调用实体引擎获取该流程实例号的数据;最后,按流程定义调用工作流引擎<o:p></o:p>
获取活动信息并执行相应的活动。<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
分享到:
相关推荐
Ofbiz的核心概念包括组件、服务、实体、工作流和事件。组件是Ofbiz中的基本组织单元,它们封装了特定的业务功能。比如,“产品”组件处理与产品相关的所有事务,而“订单”组件则负责订单管理。服务是Ofbiz中执行...
开发者可以定义工作流模板,自定义业务过程,使OFBIZ能适应不同企业的具体需求。 事件驱动模型是OFBIZ的另一大特色,它使得系统能够对特定事件作出反应,如用户操作、定时任务等。事件和监听器机制使得系统更具响应...
3. **用户界面**:演示环境中,用户可以看到OfBiz的Web界面,这通常包含了一系列页面和工作流,展示了如何与系统交互,完成各种业务任务。 4. **API与服务**:OfBiz提供了丰富的API接口和服务,允许开发者进行定制...
总之,"Ofbiz数据库全模型"是一个宝贵的资源,对于学习、开发和维护Ofbiz应用的人来说,它提供了对系统数据结构的全面了解,有助于提升工作效率并确保项目的稳定性和扩展性。无论是初学者还是经验丰富的Ofbiz开发者...
组件是Ofbiz中的基本构建单元,它包含了一系列相关的服务、实体、屏幕和工作流。在这个例子中,我们将创建一个名为"practice"的组件。以下是创建组件的步骤: 1. 在Ofbiz的"hot-deploy"目录下创建一个名为"practice...
2. **framework**:这是OFBiz的核心框架,提供了基础服务、数据模型、服务引擎、工作流系统等功能模块。 **六、OFBiz的组件架构** OFBiz采用了组件化架构,这意味着每个独立的应用(如销售、库存等)都是一个组件...
- **Ofbiz架构**:Ofbiz基于服务导向架构(SOA),由多个服务组件构成,如实体引擎(Entity Engine)、工作流引擎(Workflow Engine)和安全引擎(Security Engine)等,这些组件协同工作以支持各种业务流程。...
- **与Struts等框架的区别**:与只关注表示层的框架如Struts不同,OFBIZ提供了数据库访问和工作流控制等功能。它可以与现有的Struts等框架集成,作为补充完善应用的架构。 - **开源优势**:OFBIZ作为开源项目,...
7. **工作流与审批流程**:Ofbiz 集成了工作流引擎,可以定义复杂的审批流程。API 文档会讲解如何创建和管理工作流,以及如何在业务流程中插入审批节点。 8. **插件系统**:Ofbiz 允许通过插件扩展功能,开发者可以...
3. **工作流与事件处理**:OFBiz支持工作流模型,事件驱动的设计模式使得系统能灵活响应业务变化。 4. **界面设计**:使用Screen Widget和Form Widget等工具,开发者可以构建基于Web的用户界面,实现业务流程的可视...
其核心组件包括实体引擎(Entity Engine)用于数据管理,工作流引擎(Work Effort)处理任务和事件,以及调度器(Scheduler)来安排和执行定时任务。此外,还有服务引擎(Service Engine)处理业务逻辑,以及渲染...
1. **Ofbiz框架概述**:了解Ofbiz的基本架构,包括服务层、实体模型、工作流、事件驱动模型等核心概念。 2. **环境搭建**:如何配置Java环境,安装Ofbiz框架,设置数据库连接,以及启动和运行Ofbiz应用。 3. **...
5. **开发与定制**:指导开发者如何进行业务逻辑的定制,包括模型、服务、屏幕和工作流的创建与修改。 6. **示例与实战**:提供实际案例,演示如何利用OFBiz搭建特定的业务场景。 7. **问题排查与优化**:分享常见...
3. **工作流引擎**:处理业务流程的自动化,如审批流程、订单处理等,支持自定义工作流模型。 4. **调度器**:定时执行任务,如定期生成报告、清理数据等。 5. **事件驱动系统**:通过事件和监听器机制,实现组件...
5. **工作流系统**:学习OFBiz的工作流引擎,用于处理业务流程。 ### 四、开发实战 1. **组件开发**:了解如何创建自定义组件,包括组件结构、XML配置文件等。 2. **Web页面开发**:使用Freemarker模板语言创建...
- **流程中的更多细节**:深入探讨 OFBiz 中工作流的其他方面。 - **运行中的引擎可进行的更改**:讲解在系统运行状态下可进行的某些修改。 - **快速重置工作区域**:提供快速恢复初始状态的方法。 - **跳过某些...
4. **工作流(Workflows)**:OFBiz的工作流引擎提供了自动化业务流程的能力。它允许开发者定义和管理业务流程,如审批流程、订单处理等。 5. **UI(User Interface)**:OFBiz提供了丰富的Web应用程序界面,包括...
文档还会涵盖OFBiz的工作流系统,它基于Apache ODE(OpenDESL)。理解工作流定义语言(WSDL)和BPEL(Business Process Execution Language)对于管理复杂的业务流程至关重要。开发者将学会如何定义、部署和监控工作...
OFBiz使用Extensible Markup Language (XML)来定义实体(Entity)、服务(Service)和工作流(WorkEffort)。实体定义了数据库表结构,服务定义了业务逻辑,而工作流则处理流程控制。初学者需要熟悉这些XML文件的...
- 它不仅仅是一个简单的工作流或展示其他开源技术的演示网站,而是面向复杂的企业级电子商务场景。 ##### 4.2 目录结构解析 - **根目录**:OFBiz的根目录包含了各种必要的文件和子目录,例如`classpath`、`project...