SOA中服务建模与设计的原理及方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
面向服务的体系结构(Service Oriented Architecture,SOA)是一种新型的软件体系结构,它具有可重用性、松散耦合、粗粒度、互操作性等优点。SOA已经成为企业应用系统架构设计的主要方法,得到了广泛应用。目前服务建模主要采用三种建模规则:面向对象的分析与设计、企业体系结构框架和业务流程建模。但是早期的SOA项目经验表明,上述三种建模方法各自单独使用时均达不到SOA的要求。有必要研究服务建模的新方法,使得容易、成功地进行SOA开发。
     本文首先阐述了SOA的概念、基本框架和原则,分析了SOA中的服务及SOA架构所带来的优点。研究了SOA架构当前最好的实现方式—Web服务技术。
     接着,描述了面向服务的开发流程,明确了服务建模和设计在SOA交付周期中所处的位置,分析了面向服务的设计和分析过程。重点研究服务建模与设计的原理与方法。通过研究已有的服务建模方法的不足,论文提出了一个基于SOA交付周期的、自顶向下发现服务的建模方法,用于指导系统的建模。
     在服务设计的研究中,分析了服务设计的过程,研究了服务粒度的划分对SOA质量的影响。重点从服务层次和操作层次对设计合适粒度的服务做了研究,总结出了服务设计的原则。
     采用Web服务技术开发和实现了一个基于SOA的在线医药销售系统应用实例。实践表明,本文提出的服务建模与设计的方法是先进的,可行的。
Service Oriented Architecture (SOA) is a new software architecture with many advantages, such as reusability, loose coupling, course granularity, interoperability and so on. Adoption of the SOA design ideas can get the greatest extent to reduce the coupling between systems, enhanced reusability, and better integration of legacy systems, enhancing the system's flexibility and interoperability. SOA has a wide range of applications and has become the main method of enterprise application system architecture design.
     By introducing the concepts of the SOA, basic framework and principles, the advantages of SOA are discussed in detail in this paper, and the important concept "service" is explained in detail. Web Services as the best implementation of SOA is studied in-depth as well.
     Service-oriented application development process is presented. This helps us to fully understand the location of modeling and design service in the SOA life cycle. Principles and methods of service modeling and design have been studied in-depth. By analysising the shortcomings of existing modeling methods, a new method of service modeling is described, which is based on Service-oriented application development process and service discovery from top to down. Since service design is one important process of service-oriented design, service-oriented design process is presented in detail. Aiming to find methods used to design appropriate services granularity, those issues from service level to operational level definitions and principles of service design are studied in detail.
     As a demo, an on-line medicine sales system based on SOA is analyzed and designed by using principles and methods of services decomposition and design. The practical project shows that the methods described in this paper are good and useful.
引文
[1]BEA系统有限公司编著.BEA WebLogic Platform 8.1实战指南[M].北京:电子工业出版社,2004.
    [2]申德荣,于戈,等.应用于Web服务合成的一种有效的Web服务发现策略[J].小型微型计算机系统,2005,26(10):1803-1806.
    [3]房鼎益,安娜,魏东,符凯,张建中.一个基于SOA的大型分布式计算机辅助教学系统[J].计算机应用与软件,2005,22(10):130-132,141.
    [4]麻志毅,陈泓婕.一种面向服务的体系结构参考模型[J].计算机学报,2006,29(7):1011-1018.
    [5]Mark Endrei,Jenny Ang,etc.Patterns:Service-Oriented Architecture and Web Services.IBM.2004.
    [6]Gartner.Service-oriented Architecture Scenario.April 2003.
    [7]叶钰,应时,李伟斋.面向服务体系结构及其系统构建研究[J].计算机应用研究,2005,22(2):32-34
    [8]Sprott D,Wilkes L.Understanding Service-Oriented Architecture.http://www.microsoft.com/china/MSDN/library/architecture/USOA.mspx.2005.
    [9]伊尔(Erl,T.).SOA概念、技术与设计[M].王满红,陈荣华译.北京:机械工业出版社,2006.10.
    [10]邓水光.Web服务自动组合与形式化验证的研究[D].博士学位论文,浙江大学,2007.
    [11]胡春华,吴敏,谢勃,王建明.SWES:一种基于QoS的Web服务工作流调度性能评价系统[J].中南大学学报(自然科学版),2007,38(5):962-969
    [12]Maarten Mullender,Mike Burner.服务[C/OL].(2004-04-01)[2008-04-05]http://msdn2.microsoft.com/zh-cn/library/ms978004.aspx#ECAA
    [13]William Moore,Corville Allen,Ralf Bracht,Sook Chua.Managing Information Access to an Enterprise Information System Using J2EE and Services Oriented Architecture[M].U.S.:International Business Machines Corporation,2005.
    [14](美)纽康莫,(美)劳莫,徐涵 译.Understanding SOA with Web Services 中文版[M].北京:电子工业出版社,2006.06.
    [15]Web Services architecture[EB/OL].http://www.w3.org/TR/ws-arch/,2006
    [16]XML 1.0,Extensible Markup Language(Third Edition).http://www.w3.org/TR/2004/REC-xml-20040204/.
    [17]Web Services Description Language(WSDL)Version 2.0 Part 0:Primer.http://www.w3.org/TR/2007/REC-wsdl20-primer-20070626
    [18]Geoffrey Fox;Shrideep Pallickara;Savas Parastatidis,"Toward Flexible Messaging for SOAP-Based Services",ACM/IEEE SC 2004Conference(SC'04)
    [19]UDDI Specification.http://www.uddi.org/
    [20]Business Process Execution Language for Web Services version 1.1[EB/OL].http://www.ibm.com/developerworks/library/specification/ws-bpel/
    [21]李艳阳.一个SOA框架的设计、实现和应用[D].硕士学位论文,吉林大学,2007.
    [22]Olaf Zimmermann,Pal Krogdahl,Clive Gee.面向服务的分析与设计原理http://www-128.ibm.com/developerworks/cn/webservices/ws-soad1/,2004.
    [23]朱振杰.SOA的关键技术的研究与应用实现[D].硕士学位论文,电子科技大学,2006.
    [24](美)惠腾(Whitten,J.L.)等著,肖刚 等译.系统分析与设计方法[M].北京:机械工业出版社,2004.
    [25]张伟,梅宏.一种面向特征的领域模型及其建模过程[J].软件学报,2003,14(8):1345-1354
    [26]王辉,邵贝恩.用SOA和BPM组合架构实时企业[J].计算机应用研究,2007,24(6):220-223
    [27]SOA快速指南123,第2部分:服务建模.http://www.ibm.com/developerworks/cn/webservices/0610_jinge/index2.html. 2006
    [28](美)拉曼(Larman,C.)著,李洋等译.UML和模式应用(第三版)[M].北京:机械工业出版社,2006.
    [29]Hong Cai.A Two Steps For Analyzing Dependency of Business Services On IT Services With A Service Life Cycle,IEEE International Conference on Web Services(ICWS'06),2006
    [30]Bloomberg J.The role of the service-oriented architecture,http://www.ib m.com/developerworks/rational/library/content/RationalEdge/may03/bloombe rg.pdf.2003.
    [31]江丹.面向服务的企业级应用开发框架的架构与设计[D].硕士学位论文,浙江大学,2007.
    [32]Gianpaolo Carraro,Fred Chong.软件即服务(SaaS):企业角度[C/OL].(2007-05-25)[2008-03-22]
    [33]孙福权,陈廷斌.基于J2EE与Web服务的第三方物流动态整合设计与实现[J].计算机应用研究,2007,24(2):233-237
    [34]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
    [35]邵欢庆,康建初.企业服务总线的研究与应用[J].计算机工程,2007,33(2):220-222.
    [36]梁爱虎.精通SOA:基于服务总线的Struts+EJB+Web Service整合应用开发[M].北京:电子工业出版社,2007.
    [37]李慧盈,李德昌,段羽,等.利用J2EE构建XML Web Services的研究[J].计算机工程与应用,2004,40(5):128-130
    [38]许国艳.J2EE平台上基于Web Services的数据集成研究[J].计算机工程与设计,2006,27(10):1791-1792,1796
    [39]梁爱虎.SOA思想、技术与系统集成应用详解[M].北京:电子工业出版社,2007.
    [40]马廷淮,赵亚伟,刘忠.用EJB开发J2EE应用[J].计算机应用,2002,22(4):109-110
    [41](美)斯瑞格奈斯(Sriganesh,R.P.)等著.精通EJB3.0[M].罗时飞译:北京:电子工业出版社,2006.12.
    [42]使用BPEL调用同步业务服务.http://www.oracle.com /technology/global/cn/products/ias/bpel/htdocs/dev_support.html
    [43]使用BPEL调用异步业务服务.http://www.oracle.com/technology/global/cn/products/ias/bpel/htdocs/dev_support.html
    [44]BPEL实例教程.http://www.oracle.com/technology/software/cn/produc ts/ias/bpel/index.html.2007
    [45]BEA Systems,IBM,MicroSoft,SAPAG and Siebel Systems.Business Process Execution Language for Web Services versionl.1.http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/.2005.