• SOA体系结构


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

    摘要本文简单介绍了SOA的定义、技术基础、主要特征和我所参与分析和开发的软件系统项目。在此基础上,分析一个整合现有非SOA 系统和SOA系统的应用。随后就SOA的优势展望了其应用前景。最后提出SOA研究中还应该解决的问题。

    引言软件的本质决定了它的复杂性。人们已经想出很多方法处理这种复杂性,如面向过程、面向对象、面向组件、面向集成等方法。但这些方法都只在某些方面有限地减小了复杂性,不断变更的多样化需求使得传统软件架构已经无法满足当前的需要。面向服务的软件架构(SOA)为处理这种复杂性提供了一种有效的解决方案。

    SOA定义

    SOA (Service Oriented Architecture)即而向服务的体系架构。现在,SOA并没有确切的定义,它是-一个概念,是说一个应用可以由一系列独立但又相互协作的子系统或者服务组成。这样的结构将各个服务独立出来,只把需要声明的接口告诉给其它的服务。接口定义采用中立的方式,独立于实现服务的硬件平台、操作系统和编程语言,使得这些服务可以使用统一和标准的方式进行通信。任何面向服务的架构包含三个角色:一个服务申请者(service requestor), -一个服务提供者(service provider),和一个服务注册器(service registry)。

    服务请求者负责寻找发布在一个或多个服务注册器那里的一个服务描述,并负责使用服务描述来bind或者invoke服务提供者所提供的服务。一个服务的任何用户都叮被看作服务请求者。

    服务注册器负责将服务提供者发布在其上的服务描述广而告之,并允许服务请求者在本服务注册器所拥有的服务描述里搜寻。一旦服务注册器将服务请求者和服务提供者配对,服务注册器就不需要再参与交互过程。

    SOA的主要支撑技术

    SOA技术实施中涉及的主要技术包括以下几个: ESB. Web Service, XML.SOAP. WSDLUDDI。其中ESBWebService. XML尤为重要。ESBI21( Enterprise Service Bus)企业服务总线(ESB), 它是SOA架构的支柱技术。它提供-种开放的、基于标准的消息机制,完成服务与服务、服务与其它组件之间的互操作。XMUl(Extensible MarkupLanguage)可扩展的标记语言(XML), XML是由万维网协会( W3C)创建的- -种基于文本的规范标记语言,是Web Service 平台中表示数据的基本格式。

    Web service是建立可互操作的分布式应用程序的新平台,它定义了应用程序如何在Web.上实现互操作性。Web Service 是就现在而言最适合实现SOA- -些技术的集合,Web Service标准的成熟和应用的普及为泛的实现SOA架构提供5基础。

    SOA参考模型(SOA-RM)及应用整合模型

    以我之前参与分析和开发的一个软件来说,我在其中主要担任软件前端页面UI设计,以及后期的软件测试工作。

    当时我们小组在构建SOA架构时主要遇到了这几点问题:

    1. 子功能模块的相关接口统一定义模板。
    2. 程序的不同功能单元的相关服务拆分。

    一直以来SOA没有一个统一的标准。 为了统一标准,OASIS作了很多工作,也取得了一定的成果,于2006年底通过了一套SOA参考模型,其他相关标准预计在2007年完成。基于现有工作,本文给出一种解决方案。它在保证传统系统正常的前提下,将系统或者功能模块包装成服务,组成符合SOA模型的系统。大大提高了软件复用性,节约了成本。不同类型的用户通过各自的用户界面进入系统,并向ESB提出服务请求,ESB将请求经由通用接口层分发,最后由特定的程序或者模块处理。

    SOA 是一个低成本、易于集成的有“生命力”的架构。低成本,主要是它是有什么需

    求就做什么服务,需求变化服务也随之变化。易于集成,它可以整合、协同互联网上的一切

    可用资源,无论是同构系统还是异构系统,都可以实现基于 XML 的信息交换。有“生命力”,

    Web Service 根据业务需求的变更而随时改变。正是由于 SOA 的诸多优势,可以说下一个十年将是 SOA 的十年。

    结语

    SOA成本低易集成,它可以整合现有资源,并且有了新的应用时也很容易扩展而无须对现有系统作大的改动,只需将新的功能注册为服务即可。这样既提高了复用性,又有很好的扩展性。SOA的松耦合性和灵活的特点必将使它成为占有绝对优势的软件工程实践方法 当然,要真正SOA,还有很多问题和面临的挑战。如最急待解决的,统SOA标准问题

    参考文献:

    ~百度百科

    ~SOA是什么?http://www.zdnet.com.cn/techupdate/keywords/soa

    ~实现SOA的相关技术,http://searchwebservices.techtarget.com.cn/158/2116658.shtml

  • 相关阅读:
    Maven 项目管理工具基础入门系列(二)
    Python OJ 从入门到入门基础练习 10 题
    Maven 项目管理工具基础知识系列(一)
    Markdown 编辑器使用指南
    解决:GitHub 远程端添加了 README.md 文件后,本地 push 代码时出现错误
    CentOS7.4搭建基于用户认证的MongoDB4.0三节点副本集集群详细文档
    Redhat 6.7 x64升级SSH到OpenSSH_7.4p1完整文档
    RHEL6.7 x64双节点安装Oracle 11g R2 RAC
    局域网下通过代理实现服务器的互联网访问
    RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/13151059.html
Copyright © 2020-2023  润新知