基于SCA的SOA架构研究与实现 —— 开题报告
一.研究背景、概况及意义
1.研究背景
业务模式的变迁和技术趋势的发展,使得企业的IT部门必须认真思考,选择一个符合公司规划发展的IT战略,并落实到一个能够和业务真正对齐的技术策略和模型[1]。IT世界是一个异构的世界,技术种类繁多。每种技术背后都有一个或者几个该技术所擅长解决的问题。这个现状是客观存在的,而全球化的大潮使得世界又不得不是平的,因此异构的IT系统之间的互操作需求日益迫切。在这样的环境下,一种软件架构模型:SOA应运而生,SOA正视IT系统的异构现实,尊重不同IT技术存在的合理性,不为替代现有技术而生,而是致力于克服技术之间互操作的困难。
SOA将应用程序的各个功能单元间通过定义良好的接口和契约联系起来,而这种不同功能单元被称作为服务。服务间接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言等环境。这样,服务间将采用通用的、统一的和与系统平台无关的方式进行交互。
TuscanySCA提供了一个基于SOA的构建应用程序和系统的编程模型。把业务功能映射为一个组件的集合,这些组件装配在一起,为特定的业务需求提供解决方案[4]。SCA致力于为服务构件以及连接各服务构件的访问方式而包容各种广泛的技术模型。对于构件,不仅仅只是不同的编程语言,还包括那些编程语言普遍使用的框架和环境。对于访问方式,SCA组合允许使用广泛采用的各种通讯和服务访问技术。其中包括如WebService、Messaging系统以及远程过程调用(RPC)技术等[3]。
信息孤岛和遗留系统是现代IT业界面临的问题。解决这两个现象是企业走向大软件过程中必须的一步。从上个世界七八十年代开始,随着信息化建设的深入,许多企业开始建立计算机信息系统由于各个信息系统都是独立开发的,并且大多数是从单项业务系统开始的,所采用的开发方式和平台各不相同,因此系统之间独立性很强而沟通性严重缺乏,而以此系统为基础的企业职能部门,相互之间无法进行有效的通信,从而形成一个一个孤立的信息系统,俗称“信息孤岛”。同时,随着企业职能部门、企业之间的合并,所服务的流程和对象发生变化,旧的信息系统之间无法满足新的业务需求,而且需要进行的修改又远远超出维护范畴,这种系统就已经成为了遗留系统。现代企业为了降低成本,提高资源利用率;适应不断增长的客户、客户需求的不断变更以及激烈的市场竞争,迫切需求各个部门以及商业伙伴之间能够及时获取实时信息,解决信息孤岛和遗留系统问题。
在基于SOA的企业集成应用的体系结构中包括了一个Web服务的三个组件:服务提供者、服务请求者和服务中介者。客户端通过Internet或者企业portal访问应用服务器,应用服务器作为客户端代理,作为Web服务的请求者,向注册中心查找所需的服务。可用的Web服务时用平台无关的Web服务描述语言WSDL描述,从而支持平台无关的通信。从而满足企业信息系统的集成需求,解决了信息孤岛和遗留应用系统的问题。2.国内外研究概况
目前两大关键技术服务构架架构(ServiceComponentArchitecture,SCA)和服务数据对象(ServiceDataObjects,SDO)的草案已经宣布完成,并正式提交给结构信息标准化组织[6]。SCA简化了服务的创建和组合;SDO制定了对不同地方和格式的数据的统一存取标准。这两个标准无疑会推动原有应用系统向SOA进化,增强服务的重用能力,提高企业应用系统对业务需求变化的快速应对能力。
随着各种标准的完善,国外许多大型公司都推出了自己的SOA产品。SAP公司于2006年发布了第一个面向服务架构的企业应用SAPERP2005。Oracle公司也正式推出了一套完整的用于创建、部署和管理SOA服务的服务基础设施组件——SOA套件,此套件支持服务的创建和管理,并可将服务组合为复合应用和业务流程。与此同时,许多公司在实现各种Web服务和将已有应用转换成面向服务架构上也取得了重大的进展。已经有一些将SOA设计思想应用到医疗、电信、金融等行业的案例。如德国邮政系统和金融行业,IBM公司在企业信息集成方面进行SOA应用,也取得了显著成效。
国内对SOA及Web服务相关技术的研究工作开展的要晚些,目前尚未取得突出的研究成果。在SOA方面,软件公司推出的产品也比较少,但很多公司已经开始积极投入到这方面的研究中,新中大发布了国内首款基于SOA的管理软件,国内ERP巨头用友集团从2003年开始研发的下一代产品U9也是基于SOA架构的。大多数企业已经意识到部署SOA的作用和价值,并对SOA的发展前景抱有信心。在发展SOA的过程中,中国和国外信息化发达国家(如美国)有着不同的发展基于和条件。在大多数美国企业中已经具备完善的应用系统,SOA的实施只需要对已有系统中的功能进行提取和包装,形成标准的服务,而非用高成本的标准方法全新构造服务。而在中国企业,信息化建设正由生产系统转向营销服务系统,因此中国SOA的首要任务是全新构造大量的服务。
赛迪顾问对中国536家企业机构的问卷调查显示:25%左右的企业已经针对SOA采取行动,包括进行内部SOA相关培训、规划SOA系统架构蓝图以及SOA应用[7]。
3.现实意义
目前商业企业只能通过不断开发新应用、扩展现有应用来支撑其现有的业务需求。
本课题拟开发一个组件化开发平台,其意义在于:
1.企业级软件架构,今后新建系统可直接套用,不会因新增系统或系统架构的差异产生影响
2.业务功能和业务流程重用(不仅仅代码重用)
3.支持业务功能标准化和模块化的推进,使重用达到最大化
4.灵活、快速应对业务流程的优化和改善(变更),而系统运行影响减小
5.简化系统间接口(数量及复杂度均得到简化)
因此,可以良好的解决信息孤岛和遗留系统问题,实现IT和企业业务之间的“业务驱动服务,服务驱动技术”。二.研究主要内容
研究内容:
本研究拟基于TuscanySCA的服务构件架构,以Spring拓展实现POJO作为SCA组件实现,并用Hibernate屏蔽底层JDBC,给上层业务逻辑提供统一调用接口,以此分层结构,构建一组件化开发平台,并在此平台上开发一工作流组件作为平台基础设施。
1.搭建组件化开发平台
1)搭建EclipseSOAPlatform
2)添加MyEclipse插件构成基本IDE开发
3)集成JBossServer
4)创建Eclipse下的TuscanySCAUserLibrary
5)创建Eclipse下的SpringFrameworkUserLibrary
6)创建Eclipse下的HibernateFrameworkUserLibrary
7)支持TuscanySCA和Spring的互访功能
2.开发基于jBPM的工作流组件
在上述系统中添加JBossjBPM套件,开发jBPM组件,并在此组件上实现公文审批系统。
研究目标:
1.通过对ApacheTuscany核心实现之一的SCA服务架构的调研及相关技术的调研,构建一个SOA组件化开发平台,并在此平台上实现一个BPM组件。
三.研究步骤、方法及措施
研究步骤与方法
本课题将先从理论上提出平台模型,再从搭建过程中不断验证修正模型最后构建出出一个初步的开发平台。立足于企业级信息系统集成的应用,致力于构建一个基于SCA的SOA架构开发平台,并实现一个基于jBPM的工作流组件作为基础设施。
可能遇到的问题及采取的措施
1.开源项目种类繁多,前期技术选型需要对相关技术、框架进行预研。
2.本课题选用的IDE是MyEclipse8.6,在配置Plugins、集成选择的框架中,因为开源项目多数是独立的,需要解决环境冲突问题。
3.初次接触SOA,在确定业务组件粒度、边界的时候需要深入理解SOA架构思想。
四.研究进度计划
研究工作的总体安排和进度:
1.2011.2.21-2011.3.6查阅相关文档、确定论文题目
2.2011.3.7-2011.3.20撰写开题报告,调研项目所用的XXX技术
3.2011.3.21-2011.3.23文献综述
4.2011.3.24-2011.4.19项目开发,大体完成
5.2011.4.20-2011.4.24外文翻译
6.2011.4.25-2011.5.6论文一稿
7.2011.5.7-2011.5.8中期检查
8.2011.5.9-2011.5.31论文二稿
9.2011.6.1-2011.6.5论文三稿
10. 2011.6.6-2011.6.10 论文定稿,准备答辩材料五.参考文献
[1]王紫瑶,南俊杰,段紫辉,钱海春等.SOA核心技术及应用.北京:电子工业出版社,2008.
[2]MichaelBeisiegel,IBM;NickolasKavantzas,Oracle;AshokMalhotra,Oracle;GregPavlik,Oracle;ChrisSharp,IBMSCAPolicyAssociationFramework
[3]ApacheSoftwareFound:Tuscanyhomepage,WEB(2008),http://tuscany.apache.org/
[4]MarcoAldinucci,HindeLiliaBouziane,MarcoDanelutto,andChristianPérezSTKMonSCA:AUnifiedFrameworkwithComponents,WorkflowsandAlgorithmicSkeletons2009
[5]凌晓东.计算机应用与软件.弟24卷第10期,2007.
[6]焦美.SOA在B2B电子商务中的应用[硕士学位论文].辽宁:大连海事大学.2007.
[7]张凯.基于面向服务体系结构的安全代理系统的研究[硕士学位论文].北京:北京工业大学.2007.