SOA之(3)——面向服务计算基础
面向服务计算基础(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)——面向服务计算基础的更多相关文章
- SOA(Service-Oriented Architecture):面向服务的架构
SOA (Service-Oriented Architecture):面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联 ...
- 面向服务的架构(SOA)
SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...
- 面向服务的架构SOA
SOA简介 SCA实现SOA的最佳方式 Apache开源框架Tuscany实现SCA架构 SOA简单描述: SOA(Service-Oriented Architecture)面向服务的体系架构.为了 ...
- SOA (面向服务的架构)-Service Oriented Architecture
SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...
- 架构-SOA:SOA(面向服务的架构)
ylbtech-架构-SOA:SOA(面向服务的架构) 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来.接口是采 ...
- SOA(面向服务的体系结构)
SOA(面向服务的体系结构) 面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务 ...
- 通俗地理解面向服务的架构(SOA)以及微服务之间的关系
SOA是一种软件的应用架构方法,它基于面向对象,但又不是面向对象,整体上是面向服务的架构.SOA由精确的服务定义.松散的构件服务组成,以及业务流程调用等多个方面形成的一整套架构方法. 这话是不是听起来 ...
- SOA——面向服务的体系架构
上一篇博文中提到了"紧耦合"的现象.怎样解决?SOA.採用面向服务的体系架构. 一.What? SOA=Service-oriented Architecture面向服务的体系结构 ...
- 面向服务开发(SOA)
面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语言 ...
随机推荐
- DevExpress LookUpEdit和ComboBoxEdit部分用法
LookUpEdit 1.绑定列 (注意点:LookUpEdit1的FieldName要和绑定的列明一致) 方式一: LookUpEdit1.Properties.DisplayMember = &q ...
- 一个封装好的CSV文件操作C#类代码
using System.Data; using System.IO; namespace DotNet.Utilities { /// <summary> /// CSV文件转换类 // ...
- mongodb 3.2存储目录结构说明
[root@hadoop1 mongodb]# tree ./data ./data |-- WiredTiger | |-- WiredTiger.lock | |-- WiredTiger.tur ...
- 自适应游标共享技术02(一个简单的例子来走近ACS)
为了不让其他因素干扰实验,参数设置如下: optimizer_mode=ALL_ROWS(使用CBO) optimizer_features_enable=11.2.0.3(使用最新的优化参数) op ...
- apache 403错
<Directory />Options FollowSymLinksAllowOverride NoneOrder deny,allowAllow from all</Direct ...
- WPF Event 在 Command 中的应用初级篇,支持所有Event 展示松耦合设计的全部代码 - 解决TextBoxBase.TextChanged或者TextBox.TextChanged等类似事件绑定问题。
做过WPF开发的人,都知道做MVVM架构,最麻烦的是Event的绑定,因为Event是不能被绑定的,同时现有的条件下,命令是无法替代Event.而在开发过程中无法避免Event事件,这样MVVM的架构 ...
- Ubuntu下部署java JDK和eclipse IDE
安装Java编程开发环境: Ubuntu默认安装openjava,可以通过java -version查看是否安装.但我使用Ubuntu9.10升级到10.04LTS时,openjava没有了.另外,如 ...
- hdu 4150 Powerful Incantation
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4150 Powerful Incantation Description Some dangerous ...
- 【javascript】html5中使用canvas编写头像上传截取功能
[javascript]html5中使用canvas编写头像上传截取功能 本人对canvas很是喜欢,于是想仿照新浪微博头像上传功能(前端使用canvas) 本程序目前在谷歌浏览器和火狐浏览器测试可用 ...
- golang的内存模型与new()与make()
要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|data|bss|heap-->|unu ...