基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文

上传人:无*** 文档编号:203507554 上传时间:2023-04-24 格式:DOC 页数:30 大小:1.49MB
收藏 版权申诉 举报 下载
基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文_第1页
第1页 / 共30页
基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文_第2页
第2页 / 共30页
基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文_第3页
第3页 / 共30页
资源描述:

《基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文》由会员分享,可在线阅读,更多相关《基于jboss的信贷审批流程在jbpm上的实现--毕业设计论文(30页珍藏版)》请在装配图网上搜索。

1、基于JBoss的信贷审批流程在jBPM上的实现摘要 J2EE体系包括JSP, Servlet, EJB, Web Service等多项技术,这些技术的出现给电子商务时代的Web应用开发提供了一个非常有竞争力的选择。随着J2EE技术的逐渐成熟,越来越多的框架开始出现。框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。大多数的这类框架采用了流行的MVC (Model-View-Controller:模型一视图一控制器)设计模式。在某些方面使用别人成熟的框架,只需要集中精力完成系统的业务逻辑设计,而不用考虑系统细节问题,比如,事务处理,安全性,数据流控制等问题。然而,面向大规模企业应

2、用程序的应用框架,在定义和实现复杂业务流程方面仍存在很多不足。工作流技术与Internet的结合使工作流的发展和应用进入了崭新的阶段。Internet前所未有的信息交换能力和工作流引擎的业务处理自动化和集成能力相得益彰,不仅推动了生产力的巨大发展,也为一些新兴行业和工作方式的出现铺平了道路,家庭办公、移动办公和虚拟企业的发展都得益于工作流及相关技术的发展。本文通过基于工作流管理系统jBPM,实现在银行领域的信贷审批流程来说明工作流技术的优越性。关键字 J2EE jBPM 工作流管理系统 struts hibernateThe loan process realizing in the basi

3、s on JBoss by jBPMAbstract The J2EE system contain many technologies like JSP, Servlet, EJB, Web service, and these technologies give us a wide choice when we develop web applications at the age of e-business. With the development of J2EE technologies, more and more frameworks come into being. They

4、are in the middle of lower application platform (J2EE)and higher business logic layer. Most of these frameworks are MVC design pattern. We can concentrate our business logic design,when using others mature framework. Usually, these frameworks are mature, robust, and they can do many details like tra

5、nsaction, security and data flow control. While, there are still many shortages in defining and implementing the complex workflow on many large scale enterprise web applications.By closely combining the unprecedented information communication capabilities of the Internet with the strategic business

6、processes automation and integration capabilities of Workflow engines, significant changes will be realized.These will enable a real acceleration of productivity improvement within information related activities, and will pave the way for some totally new forms of work. These will include home work,

7、 mobile work and virtual enterprisesBased on workflow manager jBPM,this thesis shows the advantage of workflow technologies by realizing the loan process in banking area.Keywords J2EE jBPM workflow struts hibernate目录第 一 章 引 言511 工作流的出现与发展512 工作流管理系统的分类613 J2EE体系结构简介和web应用框架7131 J2EE体系结构简介7132 Web应用框

8、架8133 Web应用框架Struts简介9134 Struts的实现原理10第 二 章 系统总体设计1121 系统的逻辑架构1122 用例描述(信贷审批流程)1223 jBPM工作流管理系统工作机制15231 jBPM工作流管理系统概述15232 工作流引擎与应用的接口原理15第 三 章 系统详细设计1631 表现层详细设计16311 系统输入16312 系统输出1632 Web应用框架struts在信贷审批流程上的实现1733 信贷审批流程在jBPM工作流管理系统上的实现18331 jBPM工作流定义语言18332 Form表单与流程定义文件19333 与Form表单相关类的建模1934

9、数据持久层O/R Mapping框架 hibernate2235 移植jBPM数据库22第 四 章 系统的演示运行2341 系统演示的场景描述23第 五 章 结束语33致 谢 语34参 考 文 献35第 一 章引 言11 工作流的出现与发展在工作流管理系统出现之前的很长一段时间里,我们的工作依赖于人类的手工劳动和脑力管理,管理者根据参与者的技能或经验分配工作。随着社会的发展,越来越多的工作脱离了人的手工劳动,特别是那些单调的重复性劳动和危险性的工作,可以由机器来完成。在近15年来,我们依赖计算机来逐步实现任务处理和工作流程调度的自动化,通过工作流管理系统来实现任务的自动分配、执行、传递和监控。

10、工作流技术发展到现在己经比较成熟,任务处理本身和任务之间的调度都实现了自动化。现在很多工作流引擎能够处理很复杂的流程,任何能用数学方法表示的逻辑都可以由工作流管理系统来处理。工作流建模技术作为工作流领域中的一个重要分支,处理工作流逻辑日益增长的复杂性。工作流技术和Internet的结合使工作流的发展和应用进入了崭新的阶段。Internet前所未有的信息交换能力和工作流引擎的业务处理自动化和集成能力相得益彰,不仅推动了生产力的巨大发展,也为一些新兴行业和工作方式的出现铺平了道路,家庭办公、移动办公和虚拟企业的发展都得益于工作流及相关技术的发展。工作流技术综合了计算机科学和管理科学中诸多研究领域的

11、原理、方法和技术,如数据库管理、面向对象技术、客户/服务器计算、编程语言、应用和子系统集成、图形化用户界面、系统集成、消息传递,文档管理、商业业务重建等等。众多领域的方法和技术的集成使得工作流技术在一些行业中的应用已获得了较好的应用,取得了较好的经济效益。本文将基于工作流管理系统jBPM,实现在银行领域的信贷审批这个流程来说明工作流技术的优越性。12 工作流管理系统的分类根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为三类:基于文件的工作流系统:以共享文件的方式来完成任务项传递。这种类型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FileNet的Visu

12、al WorkFlo, IBM的FIowMark, InConcert的InConcert.基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。代表产品有Novell与FileNet合作开发的Ensemble, JetForm公司的InTempo, Keyfile公司的Keyflow.基于Web的工作流系统:通过WWW来实现任务的协作。这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供应商纷纷改进原有产品或开发新产品以增加对Web的支持。代表产品有Action Technologies公司的Actio

13、nWorks Metro, Ultimus公司的UltimusSim0113 J2EE体系结构简介和web应用框架131 J2EE体系结构简介1997年4月12日,Sun宣布了一项一组标准的Java扩展平台的创新成果。使用开放式的Java Community Process, Sun促进了一组标准的Java扩展的开发,称为Enterprise Java API。这些应用程序编程接口(API)为各种各样的中间件的实现提供了不依赖供应商的编程接口。Enterprise Java API的要点是Enterprise JavaBean API,后者为Java应用程序服务器定义了一个服务器端组件模型,以

14、及一个不依赖提供商的编程接口。 J2EE体系包括以下技术:Enterprise JavaBeans (EJB)Java Interface Definition Language (IDL)Java Message Service (JMS)Java Naming and Directory Interface (JNDI)Java Remote Method Invocation(RMI)和Object SerializationJava Servlet APIJava Transaction API (JTA)Java Transaction Service (JTS)Java Serve

15、r Pages (JSP)JDBC数据库访问APIJ2EE是一种利用Java 2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。J2EE技术的基础就是核心Java2平台。J2EE不仅巩固了标准版中的许多优点,例如“编写一次,随处运行”的特性,方便存取数据库的JDBC API, CORBA技术,以及能够在Internet应用中保护数据的安全模式等,同时还提供了对EJB (Enterprise JavaBean)、Java Servlets API. JSP(Java Server Pages)及XML技术的全面支持。J2EE目前得到了广泛的应用,其优势主要是为搭建具有可伸缩性、灵活

16、性、易维护性的业务系统提供了良好的机制。其主要优势有:保留现存的IT资产;高效的开发;可伸缩性;稳定的可用性;132 Web应用框架J2EE的各种技术的出现给电子商务时代的Web应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。J2EE应用程序架构在发展的路程中经历了两个大的阶段:模型1和模型2.模型1其实不是一个什么稳定架构,甚至谈不上形成了架构。模型1的基础是JSP文件。它从HTTP的请求中提取参数,调用相应的业务逻辑,处理HTTP会话,最后生成HTP文档。在经过一番实践,并广泛借鉴和总结经验教训之后,J2EE应

17、用程序终于迎来了MVC(模型一视图一控制)模式。MVC模式并不是J2 EE行业人士标新立异的,所以前面我谈到广发借鉴。MVC的核心就是做到三层甚至多层的松散祸合。它在浏览器(本文对客户代理都称浏览器)和JSP或Servlet之间插入一个控制组件。这个控制组件集中了处理浏览器发过来的HTTP请求的分发逻辑,也就是说,它会根据HTTP请求的URL,输入参数,和目前应用的内部状态,把请求分发给相应的Web层的JSP或Servlet。另外它也负责选择下一个视图(在J2EE中,JSP, Servlet会生成回给浏览器的html从而形成视图)。集中的控制组件也有利于安全验证,日志纪录,有时也封装请求数据给

18、下面的Web应用层。这一套逻辑的实现形成了一个像MFC的应用框架。Client tier(客户层)一般为浏览器或其他应用。客户层普遍地支持HTTP协议,也称客户代理。Web tier (Web应用层)在J2EE中,这一层由Web容器运行,它包括JSP, Servlet等Web部件。EJB tier(企业组件层)企业组件层由EJB容器运行,支持EJB, JMS, JTA等服务和技术。EIS tier(企业信息系统层)企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。应用框架目前主要集中在Web层,旨在规范这一层软件的开发。其实企业组件层也可以实现这个模型,但目前主要以

19、设计模式的形式存在。而且有些框架可以扩充,有了企业组件层组件的参与,框架会显得更紧凑,更自然,效率会更高。图1 J2 EE体系中典型的多层应用模型133 Web应用框架Struts简介Struts是一个免费的开源的Web层的应用框架,apache软件基金致力于struts的开发。Struts具有高可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端Java bean的自动填充,支持验证的Web表单,国际化支持,生成HTML,实现表现逻辑和模版组成了struts的灵魂;图2.1体现了Struts的运作机制图2 struts框架的组件结构

20、图134 Struts的实现原理用户发出一个的HTTP请求,控制组件接收到这个请求后,查找针对这个请求的动作映射,再检查是否曾创建过相应的动作对象(action实例),如果没有则调用actionmapping生成一个动作对象,控制组件会保存这个动作对象供以后使用。接着调用actionMapping的方法得到ActionForm对象。之后把ActionForm作为参数传给动作对象的perfonn方法,这个方法结束之后会返回给控制组件一个actionforward对象。控制组件接着从这个对象中获取下一个视图的路径和重定向属性。如果为重定向,则调用HTTPServletResponse的方法来显示下

21、一个视图,否则相继调用:equestdispatcher, Servletcontext的方法续传HTTP请求到下一个视图。当动作对象运行perform方法时,可能出现错误信息。动作对象可以保存这些错误信息到一个erro:对象中,接着调用自身的saveerrors方法把这个错误保存到request对象的属性中。接着动作对象调用actionmapping对象的getInput方法从动作映射中获取input参数,也就是产生输入的视图,并以这个input为参数生成一个actionforward对象返回。这个input参数的JSP中一般有HTTP:errors定制标签读取这些错误信息并显示在页面上。第

22、 二 章 系统总体设计21 系统的逻辑架构我们的信贷审批系统可以从多个维度进行观察:功能维度授信审批非功能维度日志任务调度安全校验状态管理设计的垂直维度公用基础层(Foundation Layer)公用基础层是与应用无关的基础类,一般提供诸如对于String,Date,Collection等JDK底层API的封装操作框架层(Framework Layer)框架层是针对应用的需求而抽象出的层次,主要用于满足应用的非功能性需求,在这里我们引入struts为 web framework,hibernate 为O/R Mapping persistence framework,一般不需要自己开发应用基

23、础层(Common Layer)应用基础层是针对应用的公共需求而独立出来以便于公用的类,一般包括一些基类,常量定义等应用层(Application Layer)我们编写的绝大多数应用代码处于应用层,它负责实现我们的用例(信贷审批流程) 设计的水平维度客户端(Client Tier) 对应于用户的浏览器(IE) 一般使用HTML及JSP技术服务器端(Server Tier) 表现层(Presentation Tier)) 系统的表示逻辑主要处理http request,从中抽取业务数据,进行合法性校验,调用对应的业务逻辑层的业务逻辑,根据返回结果,决定画面迁移,产生http response。对

24、应于MVC的V(View)。主要响应前台用户的操作和提供适当的数据的表现形式 业务逻辑层(Business Tier) 体现系统的业务逻辑 集成层(Integration Tier) 系统的集成逻辑 与persistence store进行具体的操作 数据/资源层(Resource Tier) 系统的数据储存,主要指数据库22 用例描述(信贷审批流程)信贷审批流程的具体过程为:客户登陆中国建设银行网上信贷申请平台,填完申请信息后递交信贷申请;主办客户经理登陆审批客户信贷申请书,填入授信金额后递交给客户经理主管;客户经理主管查看客户经理主管递交的申请书和授信金额,进一步确定授信金额后递交给分行行

25、长;最后由分行行长来决定是否同意客户的信贷申请,这个用例建模如下:图3 信贷流程建模用例图具体的流程图如下:图4 信贷审批流程图23 jBPM工作流管理系统工作机制231 jBPM工作流管理系统概述jbpm是轻量级,可扩展的工作流管理系统。Jbpm的业务流程的定义是用jPdl(Process definition language)来描述的。系统的原理是:由流程管理员装入流程,用户或者系统执行流程中的步骤,jbpm引擎负责维护流程的状态,日志以及执行流程中定义的自动动作。232 工作流引擎与应用的接口原理应用调用ExecutionService. StartProcessInstance()启

26、动流程,引擎产生任务。等待任务的所有者调用ExecutionService. endOfState ()指令来完成任务。当endOfState指令被调用后,引擎就进行运算产生的新的任务,然后继续等待endOfState指令的调用直到流程结束。引擎只对State产生任务,对其他的节点比如:process-state,fork,decision,join都不产生任务。只对他们进行运算,执行每个节点的Delegation和Action.第 三 章 系统详细设计31 表现层详细设计311 系统输入表一 系统输入参数角色用户名密码申请理由申请金额授权金额申请客户字符串类型字符串类型字符串类型浮点类型浮点

27、类型主办客户经理字符串类型字符串类型字符串类型浮点类型客户经理主管字符串类型字符串类型字符串类型浮点类型分行行长字符串类型字符串类型字符串类型浮点类型312 系统输出表二 系统输出参数角色页面反馈信息申请客户字符串类型主办客户经理字符串类型客户经理主管字符串类型分行行长字符串类型32 Web应用框架struts在信贷审批流程上的实现 Web应用框架Struts关于信贷审批流程的配置文件struts-config.xml关键代码: 指定了系统根据URL跳转到相应的页面来显示结果; 接下来,struts根据path使流程跳转到与之相对应的action类去处理具体的业务逻辑;这样struts就很好地

28、把业务逻辑和显示页面分离开来,为我们的编写代码提供了很大的方便,下图是和struts有关类的建模:图5 struts相关建模33 信贷审批流程在jBPM工作流管理系统上的实现331 jBPM工作流定义语言 jBPM有自己专门地用于定义流程的语言:jPdl。jPdl描述的是流程的过程,是通过状态表示,流程由几个元素组成。流程的走向由transition元素指定。Start-state就是开始节点State就是流程的活动Process-state就是子流成Decision是判断节点Fork是分支节点Join是联合节点(注意fork和join必须成对出现)End-state是结束节点这样我们就可以把

29、信贷审批流程用jPdl描述出来,写成一个流程定义文件processdefine.xml.332 Form表单与流程定义文件在jBPM中,每个流程的状态对应于一个相应的表单,例如客户申请贷款这个状态就和申请表单对应起来了;333 与Form表单相关类的建模与Form表单相关的类主要有: Form类:用于初始化一个表单 FormGenerator类:用于产生一个表单 FormParser类:解析一个表单 ImageElement类:生成一个图像元素 TextElement类:生成文本元素 ParserElement类:解析一个表单里的元素Form表单相关类的时序图如下:图6 form表单相关的时序

30、图建模Form表单相关类的类图如下:图7 form表单相关类建模图8 form表单相关类的协作图34 数据持久层O/R Mapping框架 hibernate 像表单这类的对象我们该如何储存到数据库,并很好的维护这些数据呢?在jBPM中实现了hibernate,能够自动把对象一一映射到数据库相应的字段,这样就替我们省去了重复编程35 移植jBPM数据库 jBPM自带了数据库hibersonic,但这种数据库只适合测试jBPM是否顺利安装,并不能真正用于应用;我们选择MS SQLServer2000 作为我们的数据库第 四 章 系统的演示运行41 系统演示的场景描述图9 客户登录中国建设银行网上

31、信贷平台图10 客户进入主页面图11 客户填写申请贷款单并提交图12 客户返回主页面,显示申请贷款单已提交给主办客户经理图13 主办客户经理登录系统图14 主办客户经理进去主页面后发现有新的申请贷款单需要评估图15主办客户经理点击评估,进入评估界面图16主办客户经理查看申请贷款单,填写授信金额后提交给客户经理主管图17 主办客户经理返回主页面,页面显示申请贷款单已提交给客户经理主管图18 客户经理主管登陆主界面 图19 客户经理主管看到有新的信贷评估单 图20客户经理主管查看客户经理主管提交的评估单,重新填写授信金额,提交给分行行长 图21 分行行长登陆 图22 分行行长进去主页面,发现有新的

32、评估单 图23分行行长查看客户经理主管递交的评估单及授信金额,在此基础上重新填写授信金额(到此,信贷审批流程结束)第 五 章 结束语经过以上系统演示,我们可以发现这个信贷审批流程如果通过以前的老办法,将需要浪费很多的人力,物力和时间,现在有了基于工作流的信贷审批网上平台,这个信贷审批流程变得不再那么繁琐;虽然这个系统不能直接满足企业的需要,但在开发系统的过程中我们发现,jBPM具有很强的可扩展性,能够适应企业的需求,因此,只要对现有的系统进行一些必要的修改和加工,基本上能够满足企业的需求;但同时我们也不得不看到,现有的系统未能实现主流程调用子流程的功能,例如:在该用例中,如果主办客户经理审批的

33、金额大于100万,系统自动调用评估申请贷款客户的信用等级,若等级符合要求则放款,否则拒绝放款;像这样的功能现有的系统就不能实现,这是未来该系统需要改进的地方;另一方面,系统的界面太过于单薄,也是系统不尽如人意的地方,这也是需要改进的; 致 谢 语首先要感谢软件学院这两年来对我的悉心栽培,院领导无微不至的关心,感谢他们提供了这么好的校外实习机会,在实习过程中学到了很多学校所学不到的东西,也因为这样我才能顺利的完成这个系统 其次要感谢我的辅导老师,校内辅导老师给予了不少宝贵的意见;校外辅导老师李老师在整个实习过程中,严格要求,学术上的严谨,求实创新的科研态度和丰富的实践经验,使我受益匪浅,正是在他

34、悉心的指导下,我才能顺利地完成毕业论文. 最后要感谢我的家人,是他们在我求学过程中基于了莫大的支持. 参 考 文 献Sim01 Simflo工作流管理系统分类.2001-9范01 范玉顺.工作流管理技术基础,清华大学出版社2001龚02 龚永生.当前流行的J2EE Web应用架构分析.BM开发者网站.2002-07.WfMC99 Workflow Management Coalition.Interface 1: process definition interchange and process modelEB/OL.WFMC-TC-1016-P,htp:/www.wfmc.org, 1999-10.MD01 Malcolm G. Davis. Struts. MVC的一种开放源码实现一用这种Servlet和JSP框架管理复杂的大型网站.IBM开发者网站.2001.30

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!