2018面向服务的架构(SOA)在电子商务中的应用
[摘要]本文具体先容了SOA的定义、技术基础。在此基础上,给出了一个利用SOA整合现有系统的模型。最后就SOA的应用远景进行了展看并指出了SOA研究中还急需解决的题目。[关键词]面向服务的架构(SOA)Web ServiceXML ESB
一、引言
软件的本质决定了它的复杂性,而电子商务中应用到的软件不仅复杂而且多变,不断变更的多样化需求使得传统软件架构已经无法满足当前的需要。面向服务的软件架构(SOA)为处理这种复杂性提供了一种有效的解决方案。
二、SOA的定义
SOA(Service Oriented Architecture)即面向服务的体系架构。现在,SOA并没有确切的定义,它是一个概念,是说一个应用可以由一系列独立但又相互协作的子系统或者服务组成。这样的结构将各个服务独立出来,只把需要声明的接口告诉给其它的服务。接口定义采用中立的方式,独立于实现服务的硬件平台、操纵系统和编程语言,使得这些服务可以使用同一和标准的方式进行通讯。任何面向服务的架构包含三个角色:一个服务申请者(service requestor),一个服务提供者(service provider),和一个服务注册器(service registry),角色关系如图1所示。
其中服务提供者负责建立一个有用的服务,并为它创建一个服务描述,然后将这个服务描述发布给一个或多个服务注册器,并从一个或多个服务注册器那里接收服务请求信息。
服务请求者负责寻找发布在一个或多个服务注册器那里的一个服务描述,并负责使用服务描述来bind或者invoke服务提供者所提供的服务。一个服务的任何用户都可被看作服务请求者。
服务注册器负责将服务提供者发布在其上的服务描述广而告之,并答应服务请求者在本服务注册器所拥有的服务描述里搜寻。一旦服务注册器将服务请求者和服务提供者配对,服务注册器就不需要再参与交互过程。
三、SOA的主要支撑技术
SOA技术实施中涉及的主要技术包括以下几个: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤为重要。
ESB(Enterprise Service Bus)
企业服务总线(ESB),它是SOA架构的支柱技术。它提供一种开放的、基于标准的消息机制,完成服务与服务、服务与其它组件之间的互操纵。XML(Extensible Markup Language)
可扩展的标记语言(XML),XML是由万维网协会(W3C)创建的一种基于文本的规范标记语言,是Web Service平台中表示数据的基本格式。
Web service
Web service是建立可互操纵的分布式应用程序的新平台, 它定义了应用程序如何在Web上实现互操纵性。Web Service是就现在而言最适合实现SOA的一些技术的集合, Web Service标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。 四、SOA参考模型(SOA-RM)及应用整合模型
一直以来SOA没有一个同一的标准。为了同一标准,OASIS作了很多工作,也取得了一定的成果,于2006年底通过了一套SOA参考模型,其他相关标准预计在2007年完成。
基于现有工作,本文给出一种解决方案,如图2所示。它在保证传统系统正常的条件下,将系统或者功能模块包装成服务,组成符合SOA模型的系统。大大进步了软件复用性,节约了本钱。
在这一方案中,不同类型的用户通过各自的用户界面进进系统,并向ESB提出服务请求,ESB将请求经过通用接口层分发,最后由特定的程序或者模块处理,处理结果逆向反馈给用户。
五、结束语
SOA本钱低、易集成,它可以整合现有资源,并且有了新的应用时也很轻易扩展而无须对现有系统作大的改动,只需将新的功能注册为服务即可。这样既进步了复用性,又有很好的扩展性。SOA的松耦合性和灵活的特点必将使它成为电子商务应用中占有尽对上风的软件工程实践方法。
页:
[1]