SOA 一些基本概念

SOA---面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来;接口是采用中立的方式(没有强制绑定到特定的实现上,称为服务之间的松耦合)进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

基于 SOA 的系统可以使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象

SOA 不是Web服务,Web服务是实现SOA的方式之一,Web服务是技术规范,而SOA是设计原则。

特别是Web服务中的WSDL,是一个SOA配套的接口定义标准:这是Web服务和SOA的根本联系。

SOA有以下特性

  • SOA服务具有平台独立的自我描述XML文档。Web服务描述语言(WSDL, Web Services Description Language)是用于描述服务的标准语言。
  • SOA 服务用消息进行通信,该消息通常使用XML Schema来定义(也叫做XSD, XML Schema Definition)。
  • SOA服务通过一个扮演目录列表(directory listing)角色的登记处(Registry)来进行维护。应用程序在登记处(Registry)寻找并调用某项服务。统一描述,定义和集成(UDDI, Universal Description, Definition, and Integration)是服务登记的标准。
  • 每项SOA服务都有一个与之相关的服务品质(QoS, quality of service)。QoS的一些关键元素有安全需求(例如认证和授权),可靠通信(译注:可靠消息是指,确保消息“仅且仅仅”发送一次,从而过滤重复信息。),以及谁能调用服务的策略。

一个典型SOA的基础结构:(通用对象请求代理体系结构Common Object Request Broker Architecture,CORBA)

WSDL,UDDI和SOAP是SOA基础的基础部件。

  • WSDL用来描述服务;
  • UDDI用来注册和查找服务;
  • 而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。

  SOAP是Web服务的默认机制,一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。

WS-I Basic Profile 
  WS-I Basic Profile,由Web服务互用性组织(Web Services Interoperability Organization)提供,是SOA服务测试与互用性所需要的核心构件。服务提供者可以使用Basic Profile测试程序来测试服务在不同平台和技术上的互用性。

J2EE 和 .Net 
  SOA不仅限于此。像J2EE这类平台,不仅为开发者自然而然地参与到SOA中来提供了一个平台,还通过他们内在的特性,将可扩展性,可靠性,可用性以及性能引入了SOA世界。新的规范,例如 JAXB(Java API for XML Binding),用于将XML文档定位到Java类;JAXR(Java API for XML Registry)用来规范对UDDI注册表(registry)的操作;XML-RPC(Java API for XML-based Remote Procedure Call)在J2EE1.4中用来调用远程服务,这使得开发和部署可移植于标准J2EE容器的Web服务变得容易,与此同时,实现了跨平台(如.NET)的服务互用

服务品质 (QoS,quality of services)
  当一个企业开始采用服务架构作为工具来进行开发和部署应用的时候,基本的Web服务规范,像WSDL,SOAP,以及UDDI就不能满足这些高级需求。这些需求也称作服务品质。与QoS相关的众多规范已经由一些标准化组织(standards bodies)提出,像W3C(World Wide Web Consortium)和OASIS(the Organization for the Advancement of Structured Information Standards)。

  • 安全------ Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换, 消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准,例如,SAML(as Security Assertion Markup Language)来实现web服务消息的安全。OASIS正致力于Web服务安全规范的制定。
  • 可靠------- 服务消费者和服务提供者之间会有几种不同的文档在进行交换。具有诸如“仅且仅仅传送一次”( once-and-only-once delivery),“最多传送一次”( at-most-once delivery),“重复消息过滤”(duplicate message elimination),“保证消息传送”(guaranteed message delivery)等特性消息的发送和确认,在关键任务系统(mission-critical systems)中变得十分重要。WS-Reliability 和 WS-ReliableMessaging是两个用来解决此类问题的标准。这些标准现在都由OASIS负责。
  • 策略 -----服务提供者有时候会要求服务消费者与某种策略通信。比如,服务提供商可能会要求消费者提供Kerberos安全标示,才能取得某项服务。这些要求被定义为策略断言(policy assertions)。一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间的策略通信。
  • 控制----- 当企业着手于服务架构时,服务可以用来整合数据仓库(silos of data),应用程序,以及组件。整合应用意味着例如异步通信,并行处理,数据转换,以及校正等进程请求必须被标准化。在SOA中,进程是使用一组离散的服务创建的。BPEL4WS 或者 WSBPEL(Web Service Business Process Execution Language)是用来控制这些服务的语言。WSBPEL目前也由OASIS负责。
  • 管理 ----随着企业服务的增长,所使用的服务和业务进程的数量也随之增加,一个用来让系统管理员管理所有运行在多相环境下的服务的管理系统就显得尤为重要。WSDM(Web Services for Distributed Management)规定了任何根据WSDM实现的服务都可以由一个WSDM适应(WSDM-compliant)的管理方案来管理。
  • 其它的qos特性----比如合作方之間的溝通和通訊,多個服務之間的事務處理,都在WS-Coordination 和 WS-Transaction 標準中描述, 這些都是OASIS 的工作
时间: 2024-11-03 21:19:27

SOA 一些基本概念的相关文章

SOA 的基本概念及设计原则浅议

SOA是英文词语"Service Oriented Architecture"的缩写,中文有多种翻译,如"面向服务的体系结构"."以服务为中心的体系结构"和"面向服务的架构",其中"面向服务的架构"比较常见.SOA有很多定义,但基本上可以分为两类:一类认为SOA主要是一种架构风格;另一类认为SOA是包含运行环境.编程模型.架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命

遗留系统SOA之(2)——SOA架构基础概念与设计框架

SOA的设计框架 设计框架与架构相关的概念紧密相连,原则.模式和架构始终是与设计共舞的. SOA服务设计的原则中记录了一个基础的设计框架: 设计特性(Design Characteristic)——由设计产生的软件程序或技术架构的属性.它可以是任何具体的质量要求,比如程序组件化,功能粒度的粗细等. 设计原则(Design Principles)——一个针对具体设计目标且被业界接受的实践方式.面向服务的设计范式包括了一个以实现面向服务计算为目的的设计原则集合. 设计模式(Design Patter

SOA概念

浅析深究什么是SOA?[转] 金蝶中间件有限公司总经理 奉继承 博士 阅读提示: 本文探讨SOA概念背后的核心内涵,如何将SOA落地的实务方法. 金蝶中间件作为全球领先的SOA解决方案供应商,拥有中国唯一全球第四通过Java EE 5.0认证的SOA基础平台:中国唯一完整实现TOG-SOA标准模型的中间件解决方案:与北京大学合作,国家“核高基”科技重大专项成果,承担振兴国家基础软件的责任和使命: 中国唯一入选Gartner全球有能力提供SOA服务的十九家软件厂商.本文就是根据金蝶中间件ready

企业服务总线解决方案剖析,第 1 部分: 企业服务总线的基本概念

引言 "一切都在流动,没有什么是持久的.一切都在融化,没有什么是固定不变的" - 赫拉克利特(Heracleitus) 大约在2003年中的时候,SOA的概念逐渐进入人们的视野,一时间众人乐此不疲的发表各自对SOA的见解.SOA已经成为IT业,尤其是软件开发及系统集成领域从业者的热门话题.很多的权威机构也纷纷预测SOA的美妙前景,例如,Gartner 预言,到了 2008 年,至少 60% 的企业将使用 SOA 作为其IT架构.抛开喧嚣躁动以及随声附和,对于软件开发者而言,经过了一年多

SOA概述

SOA(Service-OrientedArchitecture) SOA的基本概念和设计思想 面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来. SOA就是采用web服务的架构吗 面向服务待变的是一种设计理念.和面向对象,面向主键(CO)一样,体现的是一种对关注点进行分解的西厢.面向服务和技术无关. Web服务是一种实现SOA理念的技术手段,倘若设计理念还停留在COM或DCom的层面,即使使用web服务来架构应用,也不能说应用

浅析深究什么是SOA?

阅读提示: 本文探讨SOA概念背后的核心内涵,如何将SOA落地的实务方法. 金蝶中间件作为全球领先的SOA解决方案供应商,拥有中国唯一全球第四通过Java EE 5.0认证的SOA基础平台:中国唯一完整实现TOG-SOA标准模型的中间件解决方案:与北京大学合作,国家“核高基”科技重大专项成果,承担振兴国家基础软件的责任和使命: 中国唯一入选Gartner全球有能力提供SOA服务的十九家软件厂商.本文就是根据金蝶中间件readySOA解决方案整理而成的通俗科普文章. 本文介绍的主要内容包括:为什么

使用 XML 实现 REST 式的 SOA

什么是 SOA? 如果公司有大量应用程序,这些程序供不同部门的承担不同责任的职员使用,那么就适合使用面向服务体系结构(Service Oriented Architecture,SOA).这些应用程序可以共享功能,但是功能的组合.用户界面细节和易用性需求是不同的.与许多企业体系结构一样,SOA 也采用一个多层模型,但是它不只如此.在服务器中,功能分散在单独的服务上.一个客户机可以使用其中的一个或多个服务,而一个服务也可以由许多客户机使用.由此形成了一个松散耦合的体系结构,这大大提高了现有软件的可

Oracle SOA套件12c

产品概览 随着基于云的应用越来越多的被企业所採用,以及移动技术与企业应用的集成的需求的增多,企业级应用集成的复杂度也前所未有的提升. Oracle SOA套件12c,业内最完整的统一应用集成解决方式的最新版本号,帮助用户应对这一挑战. Oracle SOA套件12c在单一的平台之上提供了与云.移动.企业内部应用和物联网进行集成的能力,帮助用户用最快的时间实现集成,提高生产效率.减少总体拥有成本. Oracle SOA套件是一个全面的,基于标准的软件套件,用于根据SOA架构的概念进行集成应用的创建

面向服务的架构(SOA)

SOA架构基础概念 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 技术架构(Technology Architecture)——某物的基础物理设计(The fundamental of physical design of something) 技术基础设施(Technology Infrastructure)——处于基础和支持地位的技术环境,包括软件和硬件(The underlying