论文部分内容阅读
摘 要:面向服务架构(SOA)具有松耦合、平台和开发语言相独立、粗粒度服务接口等优势,能够方便、快捷地整合提供不同类型服务的应用系统。本文介绍了SOA的概念及实现技术,并给出了一个基于SOA的系统集成框架设计的实例。
关键词:SOA Web Service 系统集成
中图分类号:TP303 文献标识码:A 文章编号:1673-8454(2008)23-0040-02
随着软件技术的不断向前发展,软件系统呈现多样化的趋势。但是很多系统采用先开发后集成的模式,导致系统之间的接口存在定义混乱、缺乏统一的开发规范等问题。为了解决这些矛盾,需要对软件进行集成。而传统的基于CORBA、COM、EJB等组件开发的系统在平台、开发工具和系统上是紧耦合的,难以满足现今业务流程动态改变的需要。
面向服务架构(Service Oriented Architecture,SOA)的设计目标就是以服务为基础。SOA可以更好地重用已有模块。这种重用可以不用考虑各自运行平台和开发环境的差异,并使被重用的模块可以方便地将旧系统纳入新系统,从而大大加快软件开发速度。
三、基于SOA的E-learning系统集成
下面给出一个基于SOA的系统集成的具体案例。以某公司为例子,目前存在交互系统、直播录播系统和网络课件制作系统三个独立的系统,它们分别提供面向不同用户、不同内容的多项服务。其中网络课件制作系统提供的服务为发布课件和在线学习,交互系统提供的服务为文字交互和语音交互,直播录播系统提供的服务为组播发送。
现在需要将这些系统集成,形成一个E-learning学习系统。基于SOA的原则和思想,构建了一个基于SOA的远程教育系统的框架,如图2所示。
SOA要求服务之间采取松耦合的方式。对于松耦合,具体来说可以概括为两点:
(1)服务B的实现不需要调用服务C,这样服务B和C的实现是完全无关的,一个服务停止了也不会影响另一个服务。
(2)服务B的实现不得不调用服务A时,服务B通过服务A的服务接口描述去调用服务A,只要接口描述不变,服务A的任何变化都和服务B无关。
由于服务B需要添加服务A中的发布课件和在线学习功能,因此将服务A的接口提供给服务B,使服务B能够调用服务A。服务B和服务C之间无任何关系。这样就可以将文字交互、语音交互、发布课件、在线学习、组播发送等功能使用统一的Web Service进行封装和转换,而对于新添的功能视频交互则直接设计为Web Service。
在定义完接口后,需要定义WSDL文档,并将WSDL映射到UDDI数据结构中,从而对Web Service进行注册。这样远程教育系统首先到UDDI注册中心访问Web Service的注册信息,通过访问相对应的WSDL文档,在本地生成代理对象。这样,只要WSDL接口不改变,Web Service内部做任何改变都不会影响系统。
四、结语
SOA是一种面向服务的架构,它具有松耦合、平台无关、粗粒度服务接口等优点,其使用可以大大节省多服务软件系统的维护和管理费用。目前SOA还处于快速发展的阶段中,有很多地方需要完善。随着相关技术的不断进步,SOA在将来必定还能发挥更加重要的作用。
参考文献:
[1]冯健文.基于SOA的校园信息系统集成研究[J].电脑知识与技术,2008(11).
[2]雷彬,张洪伟,汪怔江.基于SOA的企业分布式系统的研究域应用[J].开发案例, 2007(9):97-99.
[3]孟海涛,殷旭.基于SOA的数字化校园网研究[J].中国科技信息,2007(16):92-94.
[4]曾洋,张艳梅.面向服务的体系结构[J].软件导刊, 2008(7):77-78.
关键词:SOA Web Service 系统集成
中图分类号:TP303 文献标识码:A 文章编号:1673-8454(2008)23-0040-02
随着软件技术的不断向前发展,软件系统呈现多样化的趋势。但是很多系统采用先开发后集成的模式,导致系统之间的接口存在定义混乱、缺乏统一的开发规范等问题。为了解决这些矛盾,需要对软件进行集成。而传统的基于CORBA、COM、EJB等组件开发的系统在平台、开发工具和系统上是紧耦合的,难以满足现今业务流程动态改变的需要。
面向服务架构(Service Oriented Architecture,SOA)的设计目标就是以服务为基础。SOA可以更好地重用已有模块。这种重用可以不用考虑各自运行平台和开发环境的差异,并使被重用的模块可以方便地将旧系统纳入新系统,从而大大加快软件开发速度。
三、基于SOA的E-learning系统集成
下面给出一个基于SOA的系统集成的具体案例。以某公司为例子,目前存在交互系统、直播录播系统和网络课件制作系统三个独立的系统,它们分别提供面向不同用户、不同内容的多项服务。其中网络课件制作系统提供的服务为发布课件和在线学习,交互系统提供的服务为文字交互和语音交互,直播录播系统提供的服务为组播发送。
现在需要将这些系统集成,形成一个E-learning学习系统。基于SOA的原则和思想,构建了一个基于SOA的远程教育系统的框架,如图2所示。
SOA要求服务之间采取松耦合的方式。对于松耦合,具体来说可以概括为两点:
(1)服务B的实现不需要调用服务C,这样服务B和C的实现是完全无关的,一个服务停止了也不会影响另一个服务。
(2)服务B的实现不得不调用服务A时,服务B通过服务A的服务接口描述去调用服务A,只要接口描述不变,服务A的任何变化都和服务B无关。
由于服务B需要添加服务A中的发布课件和在线学习功能,因此将服务A的接口提供给服务B,使服务B能够调用服务A。服务B和服务C之间无任何关系。这样就可以将文字交互、语音交互、发布课件、在线学习、组播发送等功能使用统一的Web Service进行封装和转换,而对于新添的功能视频交互则直接设计为Web Service。
在定义完接口后,需要定义WSDL文档,并将WSDL映射到UDDI数据结构中,从而对Web Service进行注册。这样远程教育系统首先到UDDI注册中心访问Web Service的注册信息,通过访问相对应的WSDL文档,在本地生成代理对象。这样,只要WSDL接口不改变,Web Service内部做任何改变都不会影响系统。
四、结语
SOA是一种面向服务的架构,它具有松耦合、平台无关、粗粒度服务接口等优点,其使用可以大大节省多服务软件系统的维护和管理费用。目前SOA还处于快速发展的阶段中,有很多地方需要完善。随着相关技术的不断进步,SOA在将来必定还能发挥更加重要的作用。
参考文献:
[1]冯健文.基于SOA的校园信息系统集成研究[J].电脑知识与技术,2008(11).
[2]雷彬,张洪伟,汪怔江.基于SOA的企业分布式系统的研究域应用[J].开发案例, 2007(9):97-99.
[3]孟海涛,殷旭.基于SOA的数字化校园网研究[J].中国科技信息,2007(16):92-94.
[4]曾洋,张艳梅.面向服务的体系结构[J].软件导刊, 2008(7):77-78.