面向服务计算基础(Service-Oriented Computing Fundamentals)

面向服务的计算(Service-Oriented Computing)

面向服务的计算是一个伞状术语(umbrella term),它代表下一代分布式计算平台。面向服务的计算包括很多东西,包括它自己的设计范式、设计原则、设计模式、独特的架构模型和相关的概念、技术和框架。

注:伞状术语,意即广泛的观点和看法可以汇集于此,就像不同块的伞布,虽相对独立,但只有相连构成完整的伞才有意义

面向服务的计算构建在过去的分布式计算平台之上,同时加入了新的设计层面,治理因素以及一个庞大的技术实现集合,其中有一些是基于Web服务框架的(Web services framework)。

面向服务(Service-Orientation)

面向服务是一种设计范式,它的目的在于创建独立的解决方案逻辑单元,这些逻辑单元具有可聚集性和可复用性,用以支持实现SOA和面向服务计算的具体目标和好处。

符合面向服务设计思想的解决方案逻辑可以被认为是面向服务的,这些面向服务的逻辑单元可以被称作“服务”。就如分布式计算的范式,面向服务与面向对象相对应。面向服务与面向对象有较深的关联,也被其他的业内开发方式影响着。

面向服务的架构(SOA)

面向服务的架构(Service-oriented architecture)指的是一个架构模型,它目的在于增强一个企业的灵活性和成本有效性,从而降低整个组织的IT负担。为了到达这个目的,它将服务作为逻辑方案的主要表达形式。SOA以实现面向服务计算的战略目标来支持面向服务。历史上,SOA这个词被广泛应用与媒体、供应商的营销中,以至于它几乎可以作为面向服务的计算的代名词。

作为技术架构的一种形式,SOA的实施包括了技术、产品、应用程序接口(APIs)、基础设施支持以及其他很多方面相结合。每个企业实施SOA的复杂程度都有所不同。

服务(Service)

一个服务是一个逻辑单元有其自己的(业务)意义。我们应用面向服务的设计原则来区分逻辑单元和逻辑单元集,后者可以独立作为组件存在。

服务能力(Service Capability)

每个服务都被赋予它独特的功能环境中,它包括了一组与这个环境相关的功能或能力。因此服务可以被当作是具有通用目的能力集合的容器。服务能力这个术语,不包括如何实现服务,所以这个词通常在服务的模型设计阶段使用到。

服务消费者(Service Consumer)

当一个程序调用一个服务或者与一个服务交互的时候,这个服务可以称之为服务消费者。比较重要的是这个术语通常指的是处于服务数据交换中运行时的角色 (temporary runtime role)。

比如,一个桌面应用程序可以与服务进行消息交换,这个桌面程序可以被认为是一个服务消费者。

服务消费者的另外一个名称叫服务请求者(service requester)

服务组合(Service Composition)

一个服务组合是一组聚合的服务,它代表了一个自动化的任务或业务流程。一个组合至少需要一个组合发起者已经两个参与者服务组成,否则只是一个点对点的交换。

与服务组合相关的还有其他一些概念:

组合控制者(composition controller)

组合控制者的能力(composition controller capability)

组合发起者(composition initiator)

组合成员(composition member)

组合成员的能力(composition member capability)

组合子控制者(composition sub-controller)

服务活动(service activity)

服务仓库(Service Inventory)

一个服务仓库是一个独立的、标准化的、处于治理下的一组最新的服务,它有自己的边界,这个边界可以代表一个企业,也可以是有意义企业内部的划分。当一个组织有多个服务仓库时,这些服务仓库可以被称为领域服务仓库(domain service inventory)。

面向服务的分析(Service-Oriented Analysis)

面向服务的分析处于SOA工作的起始阶段,它是服务交付周期的第一阶段。它是一个准备与收集信息的流程,概念上的服务候选者、服务能力候选者和服务组合的候选者都是这一阶段的产物,可以对服务建模子流程起到支持作用。

服务候选者(Service Candidate)

在用面向服务的分析方法对服务进行建模的过程中,,在它们交付于设计阶段之前,服务还处于定义过程中,依然在不断修改和完善。术语“服务候选者”是用来区分处于概念阶段的服务和已经真实实现的服务。

参考:《SOA设计模式》 由Thomas Erl及其他供稿者合著,作为Thomas Erl关于面向服务计算丛书的一部分,于2009年1月由Prentice Hall出版,ISBN 0136135161,版权所有2009 SOA System Inc.。

SOA之(3)——面向服务计算基础的更多相关文章

  1. SOA(Service-Oriented Architecture):面向服务的架构

    SOA (Service-Oriented Architecture):面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联 ...

  2. 面向服务的架构(SOA)

    SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...

  3. 面向服务的架构SOA

    SOA简介 SCA实现SOA的最佳方式 Apache开源框架Tuscany实现SCA架构 SOA简单描述: SOA(Service-Oriented Architecture)面向服务的体系架构.为了 ...

  4. SOA (面向服务的架构)-Service Oriented Architecture

    SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...

  5. 架构-SOA:SOA(面向服务的架构)

    ylbtech-架构-SOA:SOA(面向服务的架构) 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来.接口是采 ...

  6. SOA(面向服务的体系结构)

    SOA(面向服务的体系结构) 面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务 ...

  7. 通俗地理解面向服务的架构(SOA)以及微服务之间的关系

    SOA是一种软件的应用架构方法,它基于面向对象,但又不是面向对象,整体上是面向服务的架构.SOA由精确的服务定义.松散的构件服务组成,以及业务流程调用等多个方面形成的一整套架构方法. 这话是不是听起来 ...

  8. SOA——面向服务的体系架构

    上一篇博文中提到了"紧耦合"的现象.怎样解决?SOA.採用面向服务的体系架构. 一.What? SOA=Service-oriented Architecture面向服务的体系结构 ...

  9. 面向服务开发(SOA)

    面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语言 ...

随机推荐

  1. linux内核SPI总线驱动分析(二)(转)

    简而言之,SPI驱动的编写分为: 1.spi_device就构建并注册  在板文件中添加spi_board_info,并在板文件的init函数中调用spi_register_board_info(s3 ...

  2. sizeclass

    横竖9种组合,代表所有大小屏幕,在storyboard中可以把contrans与不同组合绑定,也就是说,可能横向有多一个约束,纵向就没了... 实现不同屏幕不同约束,这应该是sizeclass 的存在 ...

  3. WPF中线性渐变画刷的一个小窍门

    最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...

  4. 线程操作API

    线程操作API 1.currentThread 2.getId() .getName().getPriority().getStart.isAlive().isDaemon().isInterrupt ...

  5. 转载: android 学习架构

    http://www.cnblogs.com/forlina/archive/2011/06/29/2093332.html 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWor ...

  6. 浅谈HAL

    参考:http://blog.csdn.net/mr_raptor/article/details/8074549 代码实现:http://blog.csdn.net/mr_raptor/articl ...

  7. App创意项目助跑计划

    APP创意项目助跑计划 该计划旨在帮助同学们将各种脑中稀奇古怪的想法借助互联网/移动互联网 相关的技术变成真实的项目. 谱写你的故事,从此刻开始! 我们帮助你提高编程(Java.C++.Objecti ...

  8. sychronized面试问题浅析

    先说下面试吧,整体来说基础准备好点,简历别太假,然后回答起来实事求是,表现自然的点基本上都没问题吧(针对初级职位,记得有个hr说过对于新人基础扎实和为人真诚是最关键的),两天时间跑起来挺累,反而觉得面 ...

  9. Go append方法

    append用来将元素添加到切片末尾并返回结果.看代码: package main import "fmt" func main() { x := [],,} y := [],,} ...

  10. iOS学习之C语言数组

    一.一维数组     数组:具有相同类型的成员组成的一组数据     1.定义     元素:数组中存放的数据成为数组的元素     数组是构造类型     用{}来给构造类型赋初始值     类型修 ...