`
blueskylan
  • 浏览: 99143 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

soa概述

    博客分类:
  • soa
阅读更多
SOA的定义:
"人是面向服务并受事件驱动的,系统也应该是面向服务并受事件驱动的。"
SOA不是某个产品,也不是某个技术,而是一种软件设计架构和方法。SOA要求开发者从服务集成的角度来设计应用软件,它将应用程序的不同功能组件定义为"服务",通过"服务"之间的良好接口联系起来。(也就是"服务"之间的松耦合。)接口是采用中立方式进行定义的,独立于实现"服务"的硬件平台、操作系统和编成语言。而且这些构建在各种各样系统中的"服务"可以以一种统一和通用方式进行交互。保证系统灵活性,另外,还可以保证"服务"的重复利用。
由此可以看出,SOA的核心概念是"重用"和"互操作",从而使企业的IT系统拥有极大的灵活性。SOA的另一层意义就是整合,它将企业的IT资源整合成标准的、可操作的服务,使其能被重新组合和应用。在这种架构下,IT系统的复杂性并没有增加,相反,随着系统的不断完善,整个系统的架构将变得更加清晰。
SOA架构定义了搭建企业软件架构的一种新方法,它的出现使所有应用在交换数据和处理过程中,不需要考虑应用软件是用什么编程语言开发的或在什么操作系统下运行。
在这种模式下,一个应用或应用的一部分其实是一种服务,其他的应用和客户都可以在无需编写大量代码的情况下使用这些服务,这一切都使一些大企业或在地理上分布范围比较广的开发队伍能够更好地合作,因为这些SOA架构下的中间件业务模块都能够被重新配置或以新方式优化来满足新的需求。正是SOA的重用性和互操作性所带来的灵活性实现了企业IT资源整合,使企业IT资源真正面向于服务。

SOA的基本要求和原则:
1)SOA在相对较粗的粒度上对应用服务或业务模块进行封装与重用;
2)服务间保持松散耦合,基于开放的标准, 服务的接口描述与具体实现无关;
3)灵活的架构,服务的实现细节,服务的位置乃至服务请求的底层协议都应该透明。

SOA的主要特性:
1)SOA服务具有平台独立的自我描述XML文档。Web服务描述语言(WSDL, Web Services Description Language)是用于描述服务的标准语言。
2)SOA 服务用消息进行通信,该消息通常使用XML Schema来定义(也叫做XSD, XML Schema Definition)。消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通讯也可以看作企业内部处理的关键商业文档。
3)在一个企业内部,SOA服务通过一个扮演目录列表(directory listing)角色的登记处(Registry)来进行维护。应用程序在登记处(Registry)寻找并调用某项服务。统一描述,定义和集成(UDDI, Universal Description, Definition, and Integration)是服务登记的标准。
4)每项SOA服务都有一个与之相关的服务品质(QoS, quality of service)。QoS的一些关键元素有安全需求(例如认证和授权),可靠通信(译注:可靠消息是指,确保消息"仅且仅仅"发送一次,从而过滤重复信息。),以及谁能调用服务的策略。

SOA与webservice的区别:
在理解SOA和Web服务的关系上,经常发生混淆。根据2003年4月的Gartner报道,Yefim V. Natis就这个问题是这样解释的:"Web服务是技术规范,而SOA是设计原则。特别是Web服务中的WSDL,是一个SOA配套的接口定义标准:这是Web服务和SOA的根本联系。"从本质上来说,SOA是一种架构模式,而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。用Web服务来实现SOA的好处是你可以实现一个中立平台,来获得服务,而且随着越来越多的软件商支持越来越多的Web服务规范,你会取得更好的通用性。

SOA的服务架构:
为了实现SOA,企业需要一个服务架构,服务消费者(service consumer)可以通过发送消息来调用服务。这些消息由一个服务总线(service bus)转换后发送给适当的服务实现。这种服务架构可以提供一个业务规则引擎(business rules engine),该引擎容许业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础(service management infrastructure),用来管理服务,类似审核,列表(billing),日志等功能。此外,该架构给企业提供了灵活的业务流程,更好地处理控制请求(regulatory requirement),例如Sarbanes Oxley(SOX),并且可以在不影响其他服务的情况下更改某项服务。

SOA基础结构:
1)SOAP, WSDL, UDDI
WSDL,UDDI和SOAP是SOA基础的基础部件。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。
2)WS-I Basic Profile
   WS-I Basic Profile,由Web服务互用性组织(Web Services Interoperability Organization)提供,是SOA服务测试与互用性所需要的核心构件。服务提供者可以使用Basic Profile测试程序来测试服务在不同平台和技术上的互用性。
3)服务品质
    在企业中,关键任务系统(mission-critical system,译注:关键任务系统是指如果一个系统的可靠性对于一个组织是至关重要的,那么该系统就是该企业的关键任务系统。比如,电话系统对于一个电话促销企业来说就是关键任务系统,而文字处理系统就不那么关键了。)用来解决高级需求,例如安全性,可靠性,事物。当一个企业开始采用服务架构作为工具来进行开发和部署应用的时候,基本的Web服务规范,像WSDL,SOAP,以及UDDI就不能满足这些高级需求。正如前面所提到的,这些需求也称作服务品质(QoS,quality of services)。与QoS相关的众多规范已经由一些标准化组织(standards bodies)提出,像W3C(World Wide Web Consortium)和OASIS(the Organization for the Advancement of Structured Information Standards)。
4)安全
   Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换, 消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准,例如,SAML(as Security Assertion Markup Language)来实现web服务消息的安全。OASIS正致力于Web服务安全规范的制定。
5)可靠
   在典型的SOA 环境中,服务消费者和服务提供者之间会有几种不同的文档在进行交换。具有诸如"仅且仅仅传送一次"( once-and-only-once delivery),"最多传送一次"( at-most-once delivery),"重复消息过滤"(duplicate message elimination),"保证消息传送"(guaranteed message delivery)等特性消息的发送和确认,在关键任务系统(mission-critical systems)中变得十分重要。WS-Reliability 和 WS-ReliableMessaging是两个用来解决此类问题的标准。这些标准现在都由OASIS负责。
6)策略
   服务提供者有时候会要求服务消费者与某种策略通信。比如,服务提供商可能会要求消费者提供Kerberos安全标示,才能取得某项服务。这些要求被定义为策略断言(policy assertions)。一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间的策略通信。
7)控制
   当企业着手于服务架构时,服务可以用来整合数据仓库(silos of data),应用程序,以及组件。整合应用意味着例如异步通信,并行处理,数据转换,以及校正等进程请求必须被标准化。在SOA中,进程是使用一组离散的服务创建的。BPEL4WS 或者 WSBPEL(Web Service Business Process Execution Language)是用来控制这些服务的语言。WSBPEL目前也由OASIS负责。
8)管理
   随着企业服务的增长,所使用的服务和业务进程的数量也随之增加,一个用来让系统管理员管理所有运行在多相环境下的服务的管理系统就显得尤为重要。WSDM(Web Services for Distributed Management)规定了任何根据WSDM实现的服务都可以由一个WSDM适应(WSDM-compliant)的管理方案来管理。
分享到:
评论

相关推荐

    SOA 概述-中文版

    **SOA(Service-Oriented Architecture)概述** SOA是一种软件设计和集成的架构风格,其核心思想是将复杂的业务逻辑拆分为独立、可重用的服务,这些服务通过标准接口进行交互,以实现灵活的系统集成和业务流程编排...

    SOA概述SOA基础

    ### SOA概述与基础知识 #### 一、服务 **1.1 什么是服务?** 服务在理想的场景下指的是一个自给自足、无状态的业务功能单元,它通过定义良好的标准接口接收请求并返回响应。服务能够独立完成特定的任务,并且不...

    SOA概述:面向服务的架构

    面向服务的架构(SOA) 面向服务的架构(SOA)是一种软件架构风格,它将软件系统设计为一个服务集合,每个服务都是一个独立的功能单元,可以被复用和组合以满足不同的业务需求。SOA架构的核心思想是将软件系统分解...

    SOA概述

    面向服务的架构(SOA)是一种IT策略,旨在通过将企业应用中的分散功能整合成一组可互操作的服务,以服务于业务需求。SOA的核心理念是将业务逻辑组织为独立、可重用的服务,这些服务之间通过标准接口进行通信,允许...

    soa pdf 关于soa的文章

    #### 二、SOA概述 **服务导向架构(SOA)**是一种设计思想,旨在通过定义、实现、管理和监控一组服务来构建可重用的应用程序组件。这些服务可以跨越不同的平台和技术栈进行通信和协作。SOA强调的是业务流程的灵活性...

    吉林大学SOA课件.zip

    9. **第1章+SOA概述.ppt** - 这是SOA的入门介绍,可能涵盖了SOA的基本概念、优势和挑战。 通过这些文件,学习者可以系统地了解SOA的各个方面,包括其基本理念、架构设计、实施策略、行业应用和案例分析,从而掌握...

    soa 概念总结精华

    #### 一、SOA概述 **SOA**(Service-Oriented Architecture,面向服务的架构)是一种设计思想和技术架构方法,它强调以服务的形式组织和实现企业的业务逻辑,使得这些服务可以在不同的应用环境中被重用、组合以满足...

    aqualogic service bus soa

    - **第1章:SOA 概述**:介绍SOA的概念、优势以及实施SOA的关键步骤。 - **第2章:BEA AquaLogic Service Bus 介绍**:详细介绍BEA AquaLogic Service Bus 的核心组件、架构和工作原理。 - **第3章至第X章**:分别...

    sap的soa开发白皮书

    #### 二、SOA概述与背景 在进入具体的技术细节之前,我们先了解下SOA的基本概念。SOA是一种设计思路,它将应用程序的不同功能单元通过服务接口联系起来。这种接口采用中立的方式进行定义,使构建在各种系统中的服务...

    soa的架构理念关于soa面向服务架构的设计理念

    #### 一、SOA概述 面向服务架构(Service-Oriented Architecture,简称SOA)是一种设计模式,它强调通过服务接口将应用程序的不同功能单元进行连接,以此来构建分布式系统。SOA的核心理念是使各种服务能够互相独立地...

    SOA模式 SOA模式

    #### 一、SOA概述与目标 面向服务架构(Service-Oriented Architecture,简称SOA)是一种设计思路和技术框架,它强调以服务的形式组织和提供功能,以达到软件系统的模块化、灵活性和复用性。SOA的核心目标之一就是...

    架构设计师与SOA 文档 .docx

    【SOA概述】 SOA(Service-Oriented Architecture),即面向服务的架构,是一种软件设计范式,旨在创建可重用、松耦合且独立的软件组件,这些组件以服务的形式提供,允许不同系统间的互操作性和灵活性。SOA的核心...

    SOA技术白皮书,一本介绍SOA架构的PDF

    #### 一、SOA概述与基本概念 **1.1 术语** - **SOA (Service Oriented Architecture)**:面向服务的架构,是一种设计思想,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来...

    SOA(面向服务架构):实现上的挑战

    #### SOA概述 SOA是一种架构范式,强调服务之间的解耦合性以及服务的复用性。它允许不同技术背景下的应用程序通过标准协议进行通信,从而实现了平台间的交互。为了成功实施SOA,企业需要建立一套灵活的路线图,并...

    soa 转载整理的一点资料 打印版

    ### SOA概述与核心特性详解 #### 一、SOA的概念与价值 SOA(Service-Oriented Architecture,面向服务架构)近年来成为了企业级应用开发领域的重要话题之一。随着技术的发展和企业对灵活性、可扩展性的追求,SOA...

    SOA入门资料

    #### 一、SOA概述 **面向服务的体系结构(Service-Oriented Architecture,简称SOA)**是一种架构方法论,它通过定义良好的接口和服务契约,将应用程序的不同功能单元(服务)连接起来。这些服务可以跨越不同的硬件...

    SOA 解决方案设计师认证考试准备(英文)

    #### 一、SOA概述与发展趋势 - **定义**:面向服务的架构(Service-Oriented Architecture,简称SOA)是一种设计方法论,它强调通过服务来实现软件组件的设计与组合,以便于在分布式环境中实现不同应用程序之间的互...

    IBM SOA Instructor Guide

    - SOA概述 - SOA的好处与挑战 - SOA的关键组件 - **单元二:SOA基础知识** - 服务的定义 - 服务的生命周期 - 服务接口和消息格式 - **单元三:SOA设计原则** - 服务粒度 - 服务抽象 - 服务复用 - **单元四...

Global site tag (gtag.js) - Google Analytics