全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SOA信息系统生成工具的研究与实现基于SOA信息系统代码生成工具的研究与实现摘 要:为满足当前信息系统领域面临的个性化和根据业务模式变更快速构建业务系统的需求,在该领域引入SOA,Web服务,工作流技术。文章首先结合Web服务技术,提出基于SOA架构的信息系统的体系结构,在传统的B/S结构基础上,采用Ajax技术构造客户端,增强交互性与易用性;并在体系结构的基础上抽象出快速构建业务系统的方法,基于方法提出流程控制与生成工具的核心算法;最后,在算法的基础上,提出代码生成工具的研究与实现,有效简化该领域软件开发过程。关键词:SOA;Web服务;工作流; Ajax技术; BPEL商业流程执行语言Research and Implementation of Code Generation Tools for Information System based on SOA Architecture Abstract: To meet the requirements of rapid building business system for personality and high-speed changes based on business model, SOA, Web Services, Workflow technology was introduced. In this paper, firstly, the information system architecture based on SOA was built, moreover, comparing to the traditional Browser/Server structure, Ajax technology was adopted to create clients, which enhanced interaction and feasibility; Secondly, the method for rapid building business system was proposed, also the algorithm for workflow control and tools was brought forward; Finally, the code generation tools, to reduce the complexity of the software development, were also provided.Key words: SOA;Web services;Workflow; Ajax; BPEL;XML-0 引言 Web Service 是一种以SOAP 为轻量型传输协议、以XML为数据封装标准、基于HTTP 的组件集成技术。Web Service技术能有效地封装分布的数据源,从而极大提高系统的延展性,从根本上保护了业已存在的信息投资,这种松耦合、动态集成的新的分布式计算方式正是今后计算机网络应用的发展方向。SOA 是一种面向服务的、松耦合架构,能够方便地将Web 服务整合集成,以提供系统级的数据集成和转换,提供了一个更加灵活的开发模式,屏蔽了业务逻辑组建的复杂性。SOA的业务敏捷性使流程服务能够快速组合,对业务流程的变更能够进行快速有效地响应。各个机构的业务处理方法和管理过程的复杂、多样性导致信息管理系统规模不统一,很难通用。信息管理系统应该个性化地体现出特定机构的管理和业务模式,同时能灵活地随着不同机构的发展而调整和优化。因此如何快速构建符合不同机构个性需求,能够随着管理和业务流程变更优化调整的信息管理系统成为信息管理系统实施和应用效果的关键因素,也是本文提出代码生成工具研究的需求。1 Web Services与BPEL4WSWeb Services技术是一种新的面向服务的体系架构2,它提供了在互联网的松耦合环境下完成应用之间互操作和集成的技术框架。Web Services的体系结构是基于服务提供者、服务请求者和服务中介代理三个角色和发布、发现、绑定三个操作构建的。Web Services以XML为技术核心,在此基础上定义了相关的规范。其中主要包括三个规范:简单对象访问协议(简称SOAP),Web服务描述语言(简称WSDL),通用描述、发现和集成协议(简称UDDI)。同传统的分布式模型相比,Web Services体系有三大优势,主要体现在: (1) 应用的分布式。 松散耦合。 跨平台性与高度集成性。由IBM、BEA、Microsoft提出的业务流程执行语言(Business Process Execution Language for Web Services,BPEL4WS)是一种基于XML的流程描述语言,是专为整合Web Services 而制定的一项规范标准。BPEL4WS 语言是一种抽象程度较高的流程描述语言,整个BPEL4WS 语言规范中没有出现任何与底层网络协议相关的部分,所有的信息传输都是基于SOAP协议来完成的。通过BPEL4WS构建标准流程模型来集成复杂的交互,能发挥Web 服务作为集成平台的全部潜力。2 基于SOA信息系统体系结构在基于BPEL4WS规范的工作流管理系统提供的软件支撑环境中,使用JAVA对信息管理系统进行开发和实现,采用基于B/S的四层结构,如图1所示。图 1 系统体系结构 客户端信息系统在B/S结构的基础上采用Ajax(Asynchronous Javascript and XML)技术构造客户端5,6。Ajax的主要功能在于,将浏览器端和服务器端传统的同步交互通信方式改变为异步通信交互方式,无刷新更新页面,减少用户等待时间,优于传统的B/S结构。Ajax客户端采用直接从浏览器访问第三方服务器方式,直接调用第三方的Web服务。实现过程如图2所示。图 2 调用Web服务模式图 业务层包括支持BPEL的过程建模工具和工作流引擎。它的主要功能就是支持过程定义,为BPEL流程实例的运行、调度、管理监控提供相应的环境。工作流建模工具是一个基于Web服务组合的过程建模工具,它通过提供图形界面,可视地实现Web Services组合即业务流程定义,并将模型以一个符合BPEL规范的XML文档的形式持久化。 服务层在系统实现过程中,服务层的主要功能是提供一个Web服务运行环境,即Web服务容器。各种基础的Web服务部署在Web服务容器中。基础服务是系统实现的核心,它们负责对数据的访问、提交、传输、过滤等。 数据层系统使用数据库管理系统对数据进行存储和管理,通过Web服务访问数据库。数据层存储的数据主要为信息管理系统数据,与工作流相关的数据由业务层管理。3 快速构建业务系统的方法下述为快速构建业务系统方法的组成要素,可以对共性的地方应用代码生成技术,设计出相应的灵活的面向程序员的代码生成工具。快速生成构建业务流程核心的基础Web服务。基础的Web服务是BPEL流程定义的基础,由于业务管理系统的特点主要是对数据库的操作,基础Web服务主要是对数据库的增删改查,或是完成数据在不同部门的传递。快速定义构建系统的BPEL业务处理流程。由于业务流程越来越呈现动态的特点,系统的业务流程定义机制必须拥有灵活快速定义各种业务流程,快速响应业务变化的能力。快速生成与业务流程执行结合的业务逻辑。由于流程执行过程中需要返回数据或监听数据库变化等业务逻辑,抽取业务逻辑处理的共性。快速生成验证业务流程正确性的客户端测试逻辑。完成业务流程和业务逻辑定义后,需要生成大量的客户端来测试流程定义与业务逻辑定义的正确性。快速生成用于客户端展示页面。业务管理系统的很多功能以及流程的启动都是通过Web浏览器提供的,因此需要生成基于某个数据库表格的大量复杂的Web页面,包括HTML页面,JSP页面等。4 流程控制与代码生成工具的核心算法根据快速构建业务系统的方法提出流程控制与代码生成工具的算法,算法指导代码生成工具的实现。 监控管理算法监控管理算法描述:首先定义一个定时器,如果没有异常就按定时器的时间反复执行以下操作:从源数据库中获取相应的数据,对数据进行分析处理,然后将处理后的数据插入到目标数据库,最后删除源数据库中相应的数据。如果出现异常则跳出循环。算法变量:与源数据建立连接的属性集用asp表示,与目标数据库连接的属性集用atp表示,sxp代表从源数据库中取出的数据对象,代表操作条件,uxp代表对从源数据库中取出数据对象修改后的数据对象,Ep代表错误处理集合,timep代表定时器的时间间隔,rp代表目标数据库中的数据模型。 AutoReturn算法AutoReturn算法描述:首先定义一个定时器,如果没有异常就按定时器的时间间隔反复执行以下操作:从交换库中取出数据并清空交换库,定义返回工作流的变量名和变量类型,定义返回工作流的变量值,然后构造返回给工作流的相关集,定义工作流接收返回变量的操作名称,判断数据是否满足返回工作流的条件,如果满足将数据返回给工作流。如果出现异常则跳出循环。算法变量:交换库的数据库对象用dop表示,清空交换库后返回的结果集用rsp表示,相关集用csp表示,vp代表返回工作流的变量,tp代表返回工作流变量的类型, np代表返回工作流变量的名称,valp代表返回工作流变量值,rp代表将数据返回给工作流后的结果集,Ep代表错误处理集合,timep代表定时器的时间间隔,cp代表操作条件。代码生成工具转换算法代码生成工具转换算法描述:首先解析类型文件,获取代码生成工具类型信息,获取代码模板类型信息。判断生成工具类型,如果生成工具类型为页面生成工具,根据工具类型生成相应的表单数据模型的对象表示,从数据模型对象表示中获取和数据库解析相关的属性,调用数据库解析获取数据库中数据模型的对象,调用生成页面的代码模板,根据数据库解析获得的数据模型对象生成相应的页面文件;如果生成工具类型不是页面生成工具,根据工具类型生成相应的表单数据模型的对象表示,从数据模型对象表示中获取代码生成模板生成源代码需要的参数,调用生成页面的代码模板,根据输入参数生成相应的源代码文件。算法变量:类型文件用typefilep表示,生成工具类型用tooltypep表示,代码模板类型用codepaneltypep表示,表单数据对象用formobjectp表示,数据库解析属性对象用connectattributesp表示,数据库中数据模型对象用databaseobjectp表示,attributesp代表生成源代码需要的属性集合,typedocumentp代表生成工具类型集合,其取值为WebService,Listenner,Autoreturn,Client,Pages,Ep代表错误处理集合,codefilep代表通过工具生成的源代码文件。 WsdlToAjax算法WsdlToAjax算法描述:首先获取WSDL文档,获取WSDL的部署端口,操作,请求变量相应变量等,然后调用WS.js框架构造调用Web服务的SOAP,定义启动工作流变量,实现Web服务调用,返回调用结果。算法变量:WSDL文档对象用wsdlp表示,端口用portp 表示,请求对象用requestp 表示,responsep代表返请求响应变量,soapp代表SOAP消息对象, opp代表操作名称,crp代表调用返回结果对象。5 代码生成工具的实现(1)代码生成工具的概念模型代码生成工具的实现基于第四节提出的流程控制与代码生成工具转换算法,主要包括:服务生成工具、监控管理工具、AutoReturn生成工具、客户端生成工具、动态页面生成工具等。通过代码生成工具的图形化界面,输入简单的信息即可生成实现流程的源代码。代码生成工具概念模型如图3所示,生成工具基于用户提供的服务生成参数集、页面生成参数集等各类输入参数集以及生成工具类型文件GeneratingType.xml等来生成各种代码。 图 3代码生成工具概念模型GeneratingType.xml定义代码生成工具类型的信息,它告诉生成工具要生成哪一类的生成工具,采用什么代码模板生成。下面为GeneratingType.xml的一个例子: (2)代码生成工具的实现代码生成工具的实现模型包括主程序,配置解析、FormSchema解析及表示、数据库解析、代码模板五个部分。主程序。主程序以类型文件为参数,调用配置解析模块来解析类型文件和配置生成工具的行为,然后执行相应类型的生成工具生成任务。配置解析模块。配置解析负责解析类型文件GeneratingType.xml,封装类型信息。FormShema解析模块。FormShema解析模块负责将通过表单输入的数据模型解析成对象表示。考虑到Web 服务生成工具等五种生成工具对应五种表单输入界面,定义了FormShema五种类型:WebServicesFormShema,ListenerFormShema,AutoReturnFormShema,ClientFormShema,PageFormShema。数据库解析模块。数据库解析模块负责与数据库进行连接,并将数据库返回的结果封装成数据库对象表示。代码模板。代码模板能够完成一些较复杂的代码生成逻辑。代码模板的类型与生成工具的类型相对应,有WebServicesCodepanel,ListenerCodepanel,AutoReturnCodepanel,ClientCodepanel,PageCodepanel五种类型的代码模板。(3)一个代码生成工具的例子Web服务生成工具的图形化向导图4所示:图 4 Web服务生成工具6 结束语SOA架构提供了一个更加灵活的开发模式,屏蔽了业务逻辑组建的复杂性,具有跨平台和重用性;SOA的业务敏捷性使流程服务能够快速组合,对业务流程的变更进行快速有效地响应。使用基于SOA的信息系统代码生成工具能够快速构建业务系统,这种方式解决了目前在这个领域中信息系统功能上的不足,对信息系统的快速构建具有积极的推动作用,为软件开发人员提供了一种简化软件开发过程的机制。参考文献: 1 AhmetSayar,MarlonPierce,Geoffrey Fox.Integrating Ajax Approach into GIS Visualization Web ServicesC.Proceedings of the Advanced International Conference on Telecommunications and International Conference on Internet and Web Applications and Services.2006.2 Curbera F, Goland Y, Klein J.Business ProcessExecution Language for Web Services. version1.0EB/OL./developerworks/library/wsbpel/,2006.9.3 David Booth,Canyang Kevin Liu. Web Services Description Language(WSDL) Version1.2EB/OL ./TR/wsdl12, 2006.9.4 Dave Crane,Eric Pascarello,Darren James.Ajax实战.北京:人民邮电出版社,2006.196-221.5 Yen-Liang Chang, Sa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国汽车晴雨挡行业市场运营模式及未来发展动向预测报告
- 2024-2030年中国汽车型材密封件行业产销需求与投资盈利预测报告
- 2024-2030年中国水转印纸行业发展状况及前景趋势分析报告
- 2024-2030年中国水域水面清扫船行业发展态势及未来投资策略建议报告
- 2024年氮气项目提案报告
- 2022年大学统计学专业大学物理下册月考试卷B卷-附解析
- 2022年大学土建专业大学物理二月考试题B卷-附解析
- 公司项目部施工现场管理通知
- 《宏观观察》2024年第47期:以科技金融为主要抓手支持新质生产力发展
- 2022年大学药学专业大学物理二月考试题-附答案
- 金属材料试样制作规范
- 110KV变电所竣工初步验收方案
- 统编语文一上《江南》课例点评
- 《一元二次方程》(复习课)说课稿
- 律师事务所金融业务部法律服务方案
- 施工人员计划配置表(共1页)
- 装修工程施工进度计划表excel模板
- 发电机组自动控制器
- 宿舍管理流程图
- 骨科复试问答题
- 新版慢病随访表3页
评论
0/150
提交评论