论文研究-一种基于SOA的模型驱动快速开发架构.pdf

所需积分/C币:5 2019-07-22 18:31:32 604KB .PDF

SOA与MDA的结合是现代软件开发理论与方法的主要发展趋势,其实现的关键在于正确地服务建模、应用敏捷开发技术来实现模型驱动。结合SOA和MDA,融入迭代开发方法,提出了一种基于SOA的模型驱动快速开发架构——SMRDA。将SMRDA应用到软件教育管理支撑平台开发中,提升了系统的开发效率以及服务的可重用性。
第10期 盛津芳,等:一种基SOA的模型驱动快速开发架构 3765 关注点,牛成的服务如表1所示。 表2服务元模型的 UML profile 总部 meta Class of uMI 信息展现 service 信息汇总 信息审北 interface service interface operation service opt composition service component atomie service compo 匚。信息表现 信息汇总 coin ponent nent service providing component ence diagram or seivice inleraction proloco 匚。信总展现 信息处理 服务是根据 SMRDA水平维度的四个步骤来开发的。涉 信息汇总 及到总部和中心的业务中请安排考试的业务流程如图6所示 图4三级信息链管理结构 由于考试由总部统一安排,中心必须首先申请考试,总部根据 表1系统的核心服务 中心向总部提交的学生缴赀情况进行审批:只有确认缴清费 services description 用,才能给中心的学生安排考试,否则申请失败。 Exan Service Classservice Covering all business processes for teachi Studentlnfcrservice management. It includes students, informa lapply for exam management Course service feedback and certificate managemen/ aching tion class. course. examination Feedback Service Imit payment contnue to Certificatescrvicc fill out exam forms market Providing available services for marketers. It management Consultservice includes market expanding, students consulting [ccepted] and registering btain exa Recommendservice rejected employment Provi Interview service lent process service far grad- managenent 图6申请安排考试的业务流程 performance Assess Flow Service Assessing the performance of all organization assessinent Assess Mark Service stalf 从图6中可以看出,该流程主要使用的服务操作包括核对 eaching Check Modulescrviec king subordinate by supervisors or education学生缴费情况和安排考试,分别用 check Feerecords(核对缴费 experts Saving syslem operation records 情况)和 examarrange(考试申请)表示,涉及到三个组件,这里 management AuthenticationService Easuring system security and implements single 负责存储数据的三个数据库组件用 studenti、 studentFeeDB和 manager sSOService SIun examInforDB表示。其中; student DB通过接口 student提供服务 在业务流程层,根据领域模型得到基本的业务流程,从业 student,可进行查询学生基本信息的操作; studentFeeDB通过接 务服务层选取合适的服务进行组合编排,生成可用的组合服务口 studentFee提供服务 student fee,可进行核对学生缴费情况 以供调用。其中,每个业务流稈对应的组合服务的产生都要经的操作; examInforDB通过接口 examlnfor提供服务 examInfor, 历 SMRDA中水平轴X的四个开发步骤,下面选取涉及到总部可进行安排考试的操作。此外,由于涉及到总部和中心两个不 和中心的考试申请业务作为 SMRDA服务开发的实例研究。 同层次的企业机构,需要调用提供安全管理的认证服务au 2) SMRDA服务开发实例 Thernlicalion进行安全认证的支持。本文将这四个服务视为原 下面选取软件教育管理支撑平台中的一个具体应用场景子服务,建模如图7所示。 来介绍应用 SMRDA指导服务开发的方法和过程。其中服务 interface?)O((service interface ,o<(service interfa 的建模过程采用图5所示的基于UML的服务元模型。这 student student上 examIne authentication ((service ((service>> <(service>> ((service>> stude student examlnfor anthentication 个元模型允许原子服务( atomic service component)和组合服务 tudent DB tudent Feel形H examInforDB authentication composition service component)的全面建模。此元模型的核心 部件是服务( service),它提供了一组服务接口( service inter 图7原子服务的服务模型 face),其屮每个服务接口都包含服务操作( service operation), 然后,组合图7所示的四个服务来实现已经识别出的两个 这种包含关系必须严格执行。服务的功能部分定义为服务提可执行的服务 checkFee records和 exam arrange,如图8所示。 供组件( service providing component)。服务交互协议( servIc提供 checkFeerecord的组件 check Fee Records Provider需要调 Interaction protocol)指的是抽象的过程或编排,并定义∫操作用的服务接口为 studentFee;提供 examArrange的组件exam 调用序列。这些部件与UMI元类(MCns)的对应关系如 rrangeProvider需要调用的是 examInfor;两个组件共同调用的 表2所示 服务接口为 student和 authentication。最后,通过图6定义的业 务流程,可以根据服务模型生成叮调用的Wd服务代码,并提 service interfa 供服务接口供外部应用程序调用。在开发过程中,如果业务流 程发生了变化,可以根据需求的变更即时地更新业务模型,迭 service interaction protoco 代进行各模型的转换工作。 lame 3相关研究工作 service operation scrvicc providing component 最近几年也有其他一些饼究人员试图使用模型驱动的方 composition service component atomie service componen 法开发SOA系统。Wag等人分析了现有的一些服务组合 方法的优势、缺陷和挑战。讨论了一些重要的概念和原则,进 5服务元模型 3766 计算机应用研究 第27卷 而导入一种新的模型驱动方法来应对服务工程和面向服务计用服务建模的新元素扩展了UMI2.0配置文件。 算( service- oriented computing,SOC)的这些挑战。这种方法被 应用丁一个现实世界中的案例研究。它表现出一些优势,如提 结束语 高了开发效率,支持需求工程决策和知识重用。然而,案例研 SOA与MDA的结合是现代软件开发理论与方法的主要 究还发现了一些问题和局限性。 ((service interface)) 发展趋势。为了实现两者的最仕结合,给异构系统交互提供理 〈 cervice interface)〉 hcekfccrecorda examArrang 想的解决方案,本文在结合两种架构技术优势的基础上,融入 <service)) heckfeerecord 迭代开发方法,提出了一种基于SOA的模型驱动快速开发架 check Feerecors provider L exam Arrange Provider 构 SMRDA:并通过一个业务流程实例,验证了该架构的可行 吽。软件教育管理支撑屮台的开发实践证明了 SMRDA能够 很好地将业务映射到TT,并能支持业务流程的变更和T资产 <<service interface))((service interface))((service interface))'service interface student Fe authentication 的复用,对基丁SOA架构的软件开发具有指导意义。 图8组合服务的服务模型 参考文献: 事实上,UML是一种广泛应用于特定企业应用的建模语1 WANG Y2, AYLOR K. A model-driven approach to service compo 言,其强大、且观且可扩展。最近,一种LML2.0的配置文件名 sition[C]//Proc of the 4th IE F. International Symposium an Service Oriented System Engineering. Washington DC: IEEE Computer Socie- y UMLASOA( unified modeling language for service oriented ar ty,2008:8-13 chitecture)被涉及来建模SOA物件,而WS-BPEL( Web ser-「21 KAMBHAMPATY S, CHANDRA S. Service oriented architecture for vIce business process execution language )、Java和 Jolie是业务层 enterprise applications C]//Prac of the 5th WSEAS International 面的目标语言。UⅦ4S0A专注于“对服务交互补偿、异常和 Conference on Software Engineering, Parallel and Distributed Sys tems. Stevens point Wisconsin. World scientific and engineering a 事件处理建模”。 Mayer等人在SOA设置中将活动图翻译成 caueny and Sociely, 2006: 48-54 WS-BPEL和Jva,并用一些新的元素扩展LML,但没有提出自3] HLANG S X, FAN Y S. Model driven and service oriented enterprise 己的语言来建模行动。 UMLASOA缺乏形式化语义,从而必须 ntegration-the method, framework and platform[ C]//Proc of the 6th 被视为一种非形式化的建模语言。此外,由于它是一种静态模 ional conference on adyanced lar Processing and Wch Information Technology. Washington DC: IEEE Computer Society 型,UM4SOA不适合直接白动化分析,生成的Jaa代码仍然 2007:504-509 不可运行。 I ANDREA D, PAOLO B. A model-driven approach to describe and Skogan等人在他们的工作中重点关注一个服务的模型 predict the performance of composite services C//Proc of the 6th 驱动方法,基于UML模型和到可执行的服务措述的转换。使 InLernaliunal Workshop un Soflw are and Performance. New York ACM,2007:78-89 用比方法主要的困难在于建模服务组合。他们确定模式以缓[5] MAYER P, SCHROEDER A, KOCH N.MDD4SOA:md-iven 解转换,但是这种方法仍然缺乏一个适当的UML配置文件,防 service orchestration[C]//Proc of the 12th IEEE International Con 止在抽象的高层次创建模型,因此产生负载图。 ference on Enlerprise Distributed Object Computing. Washiinglun DC IEFF Computer Society, 2008: 203-212 在企业应用研究领域还有其他一些相关的提议。例如,文 [6 LIU Y, GORTON I, ZHU L M. Perfarmance prediction of service-ori- 献[9]提出了一种基于Web服务的领域服务原型系统的快速 ented applications based on an enterprise service bus[C//Proc of 模型驱动建模框架,介绍了一种基于UML扩充机制的面向 Conference on International Computer Software and Applications Web服务描述语言( Web service description language,WSDL)的 Washington DC: IF.. Computer Society, 2007: 327-334 建模技术,并通过一个流通领域的面向服务企业资源计划(em 7] ERMAGAN V, KRUGER I H A UML2 profile for service modeling model driven engineering languages and systems C/Proc of the terprise resource plan,FP)系统的实际建模,展示了所提方法 10th InlernaLiunal Conferenee. Heidelberg: Springer-Verlag, 2007 是切实可行的。文献10讨论了模型驱动架构技术在We服 360-374 务开发与集成中的应用,引出开发流程并且提出一个两者结合 [8 SKOGAN D, GRONMO R, SOLHEIM UMLLC//Proc of the &th IE EE International Enterprise Distributed 的模型集成架构,最后使用支持MDA的工具 OptimalJ开发与 Objecl GuImpuling Conference. Washington DC: IEEE CuIIPuler Socie 集成了一个Web服务,从实例中分析它们结合的可行性与 ty,2004:47-57 优势 [9]蒋哲远,将建彐.面向服务领城软件系統的模型驱动建模方法 与这些方法不同, SMRDA着眼于服务架构层次和模型驱 J」.计算机科学,2008,35(5):27 [10]李长英,曹宝香,杨成伟.MDA技术在W服务开发与集成中的 动法的结合,核心在于其在现实世界屮的应用。此外,也使 应用[J.计算机技术与发展,2008,18(5):212-215 (上接第3753页) 9」赵倩,任磊,滕东兴,基于笔式界面的交互式可視化分析系统[J」 [6 JEONG C-S, PANG A. Reconfigurable disc trees for visualizing large 计算机工程与应用,209,45(6):78-81 hierarchical inform ation space[C/ roc of IEEE Symposium on In-「101任磊,王威信,周明骏,等,一种模型驱动的交互式信息可视化开 formation Visualization. Washington DC: IEEE Computer Society 发方法[J].软件学报,2009,19(8):1947-1964 1998:19-25 [7] WALKER J Q. A node-positioning algorithm for general trees [J] [1]任磊.信息可视牝中的交互技术研究[D].北京:中国科学院研究 生,2009 Sottware Practice and Experience, 1997, 20(7): 685-705 [8 SARKAR M, BROWN M H Graphical fisheye views of graphs[ C]// [12 THOMAS J J, COOK K A. Illuminating the path: research and Proc of the SIGCHI Conference on Human Factors in Computing Sy development agenda for visnal analytics [ M. Ios A lametos, CA tems. New York: ACM.1992.83-91 IEE,2005:8-15

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐