SOA课堂练习

论面向服务架构设计及其应用

李琼

(石家庄铁道大学 河北省石家庄市 050000;)

摘  要:SOA的概念最初由Gartner公司提出,是面向服务的系统架构和组件模型,是面向对象软件技术的继承和发展,是目前国际大型软件公司普遍采用和推崇的选进软件架构和软件开发、集成技术,有多个相关国际标准支持,代表了软件技术的最新发展方向。SOA 将业务单元封装为服务,通过 Web 方式暴 露出来,利用 W3C 的 Web 服务描述语言( WSDL) 国 际标准进行描述。由于将业务封装为服务,而服务又 可通过配置来进行灵活地装配,使得企业级应用可以 不需修改软件系统代码实现对实际业务的快速响应

关键词:SOA;企业;            

中图分类号:               文献标识码:A      文章编号:

On service oriented architecture design and its application

LiQiong

STD  University of Technology,hebei 050000,China

Abstract:The concept of SOA was first proposed by Gartner company. It is a service-oriented system architecture and component model. It is the inheritance and development of object-oriented software technology. At present, it is widely used and respected by large international software companies to select software architecture, software development and integration technology. It is supported by several relevant international standards and represents the latest development direction of software technology. SOA encapsulates business units as services, exposes them through web, and describes them by using the international standard of web service description language (WSDL) of W3C. Because the business is encapsulated as a service, and the service can be flexibly assembled by configuration, the enterprise application can realize rapid response to the actual business without modifying the software system code

Key words:SOA ; enterprise

 

 

 

 

SOA的概念

从概念上来讲,面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互[2]。 同以往以技术实现为核心的组件模式、对象模式相比, SOA不再考虑这种细粒度的方式,而是更注重以服务为模块的粗粒度的实现。它根据用户所需的服务对服务组件进行松散耦合的粗粒度的分布式部署,从而对不同的服务模块进行组合和使用。SOA是一种松散耦合的、粗粒度的服务框架。该框架不涉及底层编程和底层通信,它只是对服务之间的通信进行简单、 精确的接口定义。所以SOA框架可以快速、高效的设计出 WebService所需的各种组件及部署形式,从而可以搭建出一个更加可靠、更具有重用性的业务系统。

SOA的体系架构

SOA是一种松散藕合的软件体系结构,在这种体系结构中,由各自独立可重用的服务去构成系统功能。这些服务向外公布的接口有着明确的意义,软件的开发是通过对这些实现透明的接口的调用来完成。其体系结构由服务请求者、服务提供者、服务注册中心这三层构成,如图4所示[3]。

在SOA体系结构中,层次体系包括服务请求者、服务注册中心、服务提供者这三层。服务请求者一般是指进行服务请求的应用程序或服务,包括浏览器、客户端等。它对注册中心所记录的服务信息进行查询后,若找到所需服务便会根据查询到的接口说明信息将与服务提供者所对应的服务进行绑定并调用该服务。 服务注册中心处于中心位置,该层提供了展示服务的功 能[4]。服务请求者通过查询存储有服务信息的注册中心发现所要调用服务的接口信息,并将查询结果返回给服务请求者。同时,服务注册中心存储服务提供者所发布的服务信息,且服务提供者可以对服务注册中心进行相关操作。服务提供者是创建服务的实体。该层向服务注册中心发布服务接口信息以供服务请求者在服务注册中心发现该服务。同时,从服务请求者处接受服务绑定请求,若绑定请求通过则 向服务请求者提供服务,并且可以远程执行所请求的服务。[3]

基于SOA的WEB框架

WebService系统执行流程从逻辑上总体可分为应用层、业务层和数据层,对应的业务层和数据层也可划分为更加详细的层次,但这种分层从本质上来说是面向功能的分层,它更注重的是需求的实现,所以我们将SOA架构与WebService体系相结合,将WebService重新划分为一个基于SOA的三层模型结构,使其面向流程,并且可以很好地适应需求的变化,在需求改变的基础上,只需要增加新需求的功能模块,而不是将整个体统都进行重新搭建。基于SOA的Web系统架构如图5所示,这样就为具体的WebService系统的搭建提供了一个定义良好、可操作的技术框架。[3]

软件项目主要工作概述

目前,大多数电子商务网站是基于传统架构来进行开发,在电子商务应用中,底层结构上保持一致。每个电子商务应用都是建立在本身独有的基础架构之上,从而限制了基于Internet网上销售系统和企业内部信息系统或第三方系统的集成。

 我做过一个网上书店系统。如果用SOA的体系架构来设计的话。系统采B/S(Browser/Server)结构,客户可以通过Internet访问网上书店系统,在线购买书籍。客户可以通过系统提供的搜索服务来查询书籍,书籍的来源是本地库存中的书籍或第三方供应商的书籍。系统中,网上书店系统的各个业务功能均以Web服务形式,成为可重用的组件;通过引入可视化建模工具,实现对网上购物流程的动态建模。同时,通过与第三方系统的服务接口集成,实现网上销售系统的应用集成,从而达到动态电子商务的目的,系统利用本地Web服务与第三方服务实现自动化的系统集成,一方面可以方便、迅速地调用它所提供的服务,从而为用户提供更加丰富的商品选择。另一方面,也能以Web服务的方式发布自身的核心商务功能,吸引更多的商机。

SOA 的架构主要技术与标准

第1类是以W3C的Web服务架构工作组为代表,它是通过定义一些具体的功能组件和其它抽象实体来研究这些组件及实体之间的关系。它特定于Web服务技术背景,故其架构分析具有局限性。同时它定义了架构模型中的5个基本概念――服务、Agent、人员/组织、元数据和消息,Agent和人员/组织属于模型实现的范畴。由于将架构的抽象实体和与具体组件综合分析,导致了概念的重叠性和关系的复杂化问题。

第2类则以OASIS在2005年2月成立的SOA-RM技术委员会为代表,它主张以SOA中相关的抽象概念和实体为出发点,来研究它们之间的关系。它认为SOA涉及的元素包括服务与服务的描述,服务的发布与发现机制,服务的相关规范,相关的数据模型和服务协约等。该组织的工作目前仍处于较早的阶段,它对SOA-RM的基本概念和模型的表现形式进行了有益的探索。

第3类则是以软件组件为基础进行系统架构的研究。在目前工业界进行的大规模企业应用框架(EAF)开发的背景下,以IBM、BEA、微软等企业为代表,它们进行着自己的应用平台以及解决方案的SOA研究。如IBM的企业应用框架BlueCore,以及微软的微软商业框架MBF等。由于框架与架构的差异性,它们的模型依赖于特定的技术平台,因此它们不是理想的SOA通用模型

总结

作为一个新兴的软件体系架构,目前SOA正越来越受到人们的重视,其技术也正处于不断的发展和更新过程中。随着它的应用范围越来越广,面向服务架构(SOA)方法的研究范围也日益拓宽。 “网上书店”系统对基于SOA的应用系统做了探讨,当然也会遇到一些问题,需要进一步加强和完善:

(1)服务的安全性和可靠性保障研究。在复杂的Internet环境下,服务的安全性和可靠性保障问题研究具有极大的现实意义。

(2)异构平台间的服务集成问题。不同技术标准的服务封装与交互,将面临更大的复杂性。

(3)复杂业务流程的支持。对于复杂的业务流程,还需要进行服务搜索、动态服务组合。

 

参考文献

[1]BEA系统有限公司编著.BEA Weblogic Platform 8.1实战指南【M].北京:电子工业出版社,2004

[2]毛新生.SOA原理、方法、实践「M].北京:电子工业出版社,2007.

[3]陈龙飞. 基于MVC的图书管理系统的研究与实现[D].云南大学,2014.

[4]习王毅芳,基于SOAD的应用系统设计方法研究与应用:【硕士学位论文1.北京:清华大学,2005

[5]房鼎益,安娜,魏东,等.一个基于SOA的大型分布式计算机辅助教学系统

[6]叶云  基于SOA的应用系统的设计与实现. 【硕士学位论文1.中南大学,201

posted @ 2020-05-14 14:34  Evak  阅读(139)  评论(0编辑  收藏  举报