Ofbiz框架在电力工程管理中的应用
摘要 电力工程管理是供电企业的重要工作内容,如何借助现代信息技术提高电力工程的管理水平,是摆在面前的重要课题。本文探讨了采用多层体系架构技术,基于ofbiz框架,结合供电企业的工程管理业务,开发高质量、
目前,基于J2EE技术的多层应用体系结构已成为WEB应用中主流,其良好的可扩展性、可移植性及易于维护等特点,使得越来越多的企业应用采用其规范标准。本系统采用基于J2EE技术的多层架构,并对ofbiz框架做了重要的核心重构,研发了拥有自己版权的应用开发平台--ALT工作流平台。该平台严格遵循MVC模式,同时整合了ofbiz的实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎的功能。
该平台同时具有如下特点:
l 基于灵活的和通用的数据模型
l 灵活有效地使用数据层
l 松耦合多层组件体系结构
l 高级web应用框架
l 基于ALT工作流引擎的流程控制
4.技术核心结构——alt 工作流平台
alt 工作流应用开发平台是在ofbiz框架的基础上,进行了一些具体开发,能够支持工作流引擎、支持服务引擎、支持实体引擎,有良好的可维护性、可扩展性的一个应用开发的平台。
CSF说明:
定义于/WEB-INF/web.xml文件中,用于限制用户对web应用文件的直接存取,此为所有web请求的起点。当请求一个受保护的路径时,如果在web.xml中定义了redirectPath,则重定向此,如果未定义redirectPath而定义了errorCode,则抛出错误,如果二者均未定义,则抛出404错误。
ControlServlet说明:
采用前端控制器模式,为所有请求处理的核心,用于分割表示层逻辑与页面显示,通过CSF的合法请求开始在此处理,它用事件(命令)和ViewHelper类实现表示层逻辑,在controller.xml中配置web应用流程。ControlServlet初始加载时,在ServletContext中创建Delegator、Security、Dispatcher、RequestHandler对象,可使用JSP <useBean>标签使用这些对象。
RequestHandler说明:
使用助手类RequestManager收集在Controller.xml中定义的请求映射为一List。
实体引擎说明:
实体引擎有三个主要的类,即GenericDelegator、GenericValue、GenericPK,其中GenericValue为数据库记录的封装,方法与SQL对照关系为create<-àInsert,storeß->Update,removeß->Delete。
在事务处理方面,用TranactionUtil类的beign、commit、rollback方法分割事务。
处理流程简图:
要求输入参数为一Map和DispatchContext,输出结果在Map中,采用Map主要考虑到Map可序列化以利于通过Soup协议传输,服务可通过JobScheduler调度。JobScheduler为一多线程组件,包括一个poller线程和多个revoker线程,在ServiceEngine.xml中可配置相应资源占用情况,作业保存在JobSandBox表中,它主要完成异步服务及定时服务的调度。
接口服务定义主要用于继承,以实现服务定义的层次化。
ECA(Event Condition Action),与数据库触发器原理类似。即当一个服务被调用时,服务引擎查看是否有ECAs为此事件定义了,如果定义了,当条件计算结果为true时,action被执行。Workflow Engine不是线程模式,而是由一组API及通用对象组成,它与实体引擎紧密结合,流程和活动的改变实时持久化,流程定义数据保存在entitymodel_workflow.xml中定义的实体中,运行数据保存在entitymodel_workeffort.xml定义的实体中。流程定义语言采用XPDL,并对其做了一些扩展。
该平台同时具有如下特点:
l 基于灵活的和通用的数据模型
l 灵活有效地使用数据层
l 松耦合多层组件体系结构
l 高级web应用框架
l 基于ALT工作流引擎的流程控制
系统技术框架
4.技术核心结构——alt 工作流平台
alt 工作流应用开发平台是在ofbiz框架的基础上,进行了一些具体开发,能够支持工作流引擎、支持服务引擎、支持实体引擎,有良好的可维护性、可扩展性的一个应用开发的平台。
CSF说明:
定义于/WEB-INF/web.xml文件中,用于限制用户对web应用文件的直接存取,此为所有web请求的起点。当请求一个受保护的路径时,如果在web.xml中定义了redirectPath,则重定向此,如果未定义redirectPath而定义了errorCode,则抛出错误,如果二者均未定义,则抛出404错误。
ControlServlet说明:
采用前端控制器模式,为所有请求处理的核心,用于分割表示层逻辑与页面显示,通过CSF的合法请求开始在此处理,它用事件(命令)和ViewHelper类实现表示层逻辑,在controller.xml中配置web应用流程。ControlServlet初始加载时,在ServletContext中创建Delegator、Security、Dispatcher、RequestHandler对象,可使用JSP <useBean>标签使用这些对象。
RequestHandler说明:
使用助手类RequestManager收集在Controller.xml中定义的请求映射为一List。
实体引擎说明:
实体引擎有三个主要的类,即GenericDelegator、GenericValue、GenericPK,其中GenericValue为数据库记录的封装,方法与SQL对照关系为create<-àInsert,storeß->Update,removeß->Delete。
在事务处理方面,用TranactionUtil类的beign、commit、rollback方法分割事务。
处理流程简图:
服务引擎说明:
常用服务引擎类型为java、workflow、jms(用于远程异步调用)、group、simple、route。要求输入参数为一Map和DispatchContext,输出结果在Map中,采用Map主要考虑到Map可序列化以利于通过Soup协议传输,服务可通过JobScheduler调度。JobScheduler为一多线程组件,包括一个poller线程和多个revoker线程,在ServiceEngine.xml中可配置相应资源占用情况,作业保存在JobSandBox表中,它主要完成异步服务及定时服务的调度。
接口服务定义主要用于继承,以实现服务定义的层次化。
ECA(Event Condition Action),与数据库触发器原理类似。即当一个服务被调用时,服务引擎查看是否有ECAs为此事件定义了,如果定义了,当条件计算结果为true时,action被执行。Workflow Engine不是线程模式,而是由一组API及通用对象组成,它与实体引擎紧密结合,流程和活动的改变实时持久化,流程定义数据保存在entitymodel_workflow.xml中定义的实体中,运行数据保存在entitymodel_workeffort.xml定义的实体中。流程定义语言采用XPDL,并对其做了一些扩展。
责任编辑:和硕涵
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞
-
现货模式下谷电用户价值再评估
2020-10-10电力现货市场,电力交易,电力用户 -
PPT | 高校综合能源服务有哪些解决方案?
2020-10-09综合能源服务,清洁供热,多能互补 -
深度文章 | “十三五”以来电力消费增长原因分析及中长期展望
2020-09-27电力需求,用电量,全社会用电量
-
PPT | 高校综合能源服务有哪些解决方案?
2020-10-09综合能源服务,清洁供热,多能互补 -
深度文章 | “十三五”以来电力消费增长原因分析及中长期展望
2020-09-27电力需求,用电量,全社会用电量 -
我国电力改革涉及的电价问题
-
贵州职称论文发表选择泛亚,论文发表有保障
2019-02-20贵州职称论文发表 -
《电力设备管理》杂志首届全国电力工业 特约专家征文
2019-01-05电力设备管理杂志 -
国内首座蜂窝型集束煤仓管理创新与实践
-
人力资源和社会保障部:电线电缆制造工国家职业技能标准
-
人力资源和社会保障部:变压器互感器制造工国家职业技能标准
-
《低压微电网并网一体化装置技术规范》T/CEC 150
2019-01-02低压微电网技术规范
-
现货模式下谷电用户价值再评估
2020-10-10电力现货市场,电力交易,电力用户 -
建议收藏 | 中国电价全景图
2020-09-16电价,全景图,电力 -
一张图读懂我国销售电价附加
2020-03-05销售电价附加
-
电气工程学科排行榜发布!华北电力大学排名第二
-
国家电网61家单位招聘毕业生
2019-03-12国家电网招聘毕业生 -
《电力设备管理》杂志读者俱乐部会员招募
2018-10-16电力设备管理杂志