如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
技术应用SOA研究初探马文婕(曲阜师范大学信息技术与传播学院,山东日照276826)摘要:对SOA及其优势进行阐述,描述了SOA的基本结构及角色功能,介绍了SOA最典型的实现方式及Web服务应用于SOA的优点和不足。关键词:SOA;系统架构;松耦合;Web服务中图分类号:G434文献标识码:A文章编号:1672-7800(2009)12-0074-030引言随着计算机及网络技术的发展,越来越多的单位采用各种结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。”SOA的关键是“服务”的概念,W3C将服务定义为“服务提供者完成一组工作,为服务使用者交付所需的最终结果”[2]。信息化系统进行现代化管理,诸如高校的学籍管理系统、选课管理系统、教师管理系统等。实际上,在一个单位的诸多管理系统中,甚至是相关单位的管理系统中,有许多业务功能和数据信息是相互交叉甚至是重复的。然而,现有的系统架构思想在开发系统时,所有数据都要重新输入和管理,造成资源浪费,效率低下,而已有的相关部门系统由于缺乏总体规划,其开发技术、平台和数据库都各不相同,造成业务数据和功能共享、整合困难。为了更好地重新采用已有模块,实现信息共享和交互,使重用不必考虑各自运行平台和开发环境的差异,系统更为高效、可靠、灵活、开放,人们提出了各种软件复用和共享方法。但是,目前的方法诸如面向构件等经常局限于特定的平台,给信息共享和软件复用造成了困难。面向服务的架构(SOA)应运而生,它把各系统实现的功能划分为不同粒度的服务,使得系统之间的功能调用转换为服务的调用,并可以将服务的标准接口发布到互联网,实现跨平台的资源共享。SOA不是一款产品,更不是一种技术,它只是一种思维方式,一种系统平台架构设计中的方法和理念。它把包含在各种应用中的分散的功能单元组织为可互操作的、基于标准的服务,这些服务可以被迅速组合和重用以满足需求;可在需要时通过网络访问这些服务,这个网络可能完全包含在本地网络中,也可能分散于各地且采用不同的技术,通过对服务进行组合,可让最终用户感觉这些服务就像在本地桌面上一样。在必要时,这些服务还可以将自己组装为按需应用程序,即相互连接的服务提供者和使用者集合,彼此结合以完成特定任务,从而能够适应不断变化的情况和需求[3]。2SOA的优势SOA以其高度的抽象性和灵活性,无论是从开发技术的角度还是从原有资源整合的角度,都有诸多优势[2]。从技术开发的角度讲,SOA提供了一个更加灵活的开放架构模式,无论是开发方法、实现技术还是开发效率都有革命性的变革。(1)屏蔽业务逻辑组件的复杂性。SOA作为一种分布式系统,将服务与描述等概念相结合。SOA中的服务用标准的语言(XML)来描述,并通过某种传输协议(SOAP)来达成交互,从而实现松耦合的软件架构。正是服务提供者和使用者间的松耦合关系,屏蔽了系统内部复杂的业务逻辑。系统的表示层只能看到服务接口,至于接口内部的具体实现细节则不需要关注。当组成整个应用程序的每个服务的内部结构和实现逐渐发生改变时,架构能够继续存在且不影响用户使用。(2)跨平台和重用性。通过标准接口,不同服务之间可以自1面向服务的架构(SOA)简介面向服务的架构(service-orientedarchitecture,简称为SOA)是一种分布式的软件模型,它将应用程序的不同功能单元(称为服务)通过定义良好的接口和契约联系起来。接口是采用中立的方式定义的,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。[1]W3C把SOA定义为“一种应用程序体系结构,在这种体系收稿日期:2009-11-04作者简介:马文婕(1983-),女,山东苍山人,硕士,曲阜师范大学信息技术与传播学院助教,研究方向为计算机辅助教育。742009年第12期(下半月)软件导刊·教育技术技术应用由引用,而不必考虑所引用的服务在什么地方、处于什么平台、由什么语言开发,从而实现了真正意义上的远程、跨平台和跨语言。SOA的核心思想是通过松耦合的服务组合来完成系统,从而提供了更高层次的重用性。(3)易维护和良好的伸缩性。依靠服务设计、开发和部署所采用的架构模型实现了伸缩性。服务提供者可以独立调整服务以满足新的需求,服务使用者可以通过组合变化的服务来实现新的需求7裉峁┱吆褪褂谜呒涞乃神詈瞎叵导岸钥疟曜?的采用确保了系统的易维护性和良好的伸缩性。(4)开发角色更加明确。SOA要求应用程序分层,业务流程组织人员只专注于高层的服务组织来实现业务,服务组件开发人员只负责服务组件的实现,而客户端开发人员则只根据