写点什么

Open Group 的 SOA 资料卷

  • 2009-05-19
  • 本文字数:1416 字

    阅读完需:约 5 分钟

Open Group 组织刚刚发布了 SOA 资料卷,这是 Open Group 在对 SOA 设计与实现标准化过程中的一个缩影。这卷书中涉及了许多方面,从基本的 SOA 定义到 SOA 架构以及其与企业架构的关系,到 SOA 治理等等。

该书将 SOA 定义为“一种支持面向服务的架构风格”。如这本书所定义的,服务的主要特征是:

  • 是对一个可重复的有着特定结果的业务活动的一个逻辑表示(例如,检查消费者帐户;提供天气数据,整合钻井报表)
  • 是自包含的
  • 可由其它的服务组成
  • 对服务的消费者而言是“黑盒”

而 SOA 架构风格最独具一格的特点是:

  • 它基于服务的设计-反映了现实世界的业务活动-来组成企业(或企业间)的业务流程。
  • 服务表示利用业务描述来提供内容(例如,业务流程,目标,规则,策略,服务接口以及服务组件)以及使用服务编配来实现服务。
  • I 它对基础设施提出了独特的需求-它推荐使用开放标准来进行实现以保证互操作性与地理位置的透明。
  • 实现是环境特定的-它们由上下文所约束和支持,并且其描述必须在此范畴内。
  • 它对服务表示与实现提出了更高的治理要求。
  • 它还需要一个“石蕊试验”,以决定是否是“良好的服务”。

该书还定义了如下 SOA 的主要构建元件:

  • 服务 > …一个可重复的有着特定结果的活动。一个服务有一个提供者,一个或多个消费者,并产生对消费者有价值的效果。
  • 业务流程 > …是一个关系到企业业务使命的活动,并且以定义好的可重复的方式被执行。SOA 的软件服务支持企业的业务流程。这种关系可以并且应当是相辅相存的。分析业务流程是认定软件服务的主要方式。另一方面,存在合适的软件服务,就能够支持开发新的业务流程,满足新的业务机遇。
  • 人工执行者 > 人工执行者在当业务流程被建模的时候出现,同时在模型中也会展示系统的其它方面,比如管理与安全等。
  • 事件 > … 事件在当业务流程被建模的时候出现,同时在模型中也会展示系统的其它方面,比如管理与安全等。
  • 服务描述,契约,和方针 > SOA 当中的服务有一个重要的特性,它们的描述中清楚的陈述了它们会做什么以及如何与它们交互。一个服务契约可能是对于服务将会遵从于描述的一个隐式协议,或者一个更加正式的协议,可以被记录于签署的内部企业文档或者企业间执行的一个法定的合同。一个服务方针是服务提供者提供服务时计划遵循,或者服务消费者的应当遵循的一系列行为。服务描述,契约和方针构建元件在模型当中的出现展示了服务是如何被消费的。在 SOA 当中,这是系统实现和运营非常重要的一方面。
  • 服务组合 > 服务组合是一个提供商的概念。它不是关于服务是做什么的,而是关于服务如何执行的。服务可由其它的服务来组成。业务流程可由服务和其它业务流程来组成。服务组合出现在展示服务是如何支持业务流程的模型中。
  • 信息项目,数据项目,以及数据存储 > 数据可以被定义为“为适于通讯,理解或处理,对信息以正规化方式进行重新诠释的一种表示”…它们出现在展示服务如何被执行的模型中,展示服务如何相互集成以及与其它系统组件集成的模型中,展示架构化的系统如何处理数据在模型中,以及展示系统其它方面,比如性能,管理,安全和治理的模型中。

正如 Richard Veryard 在他的博文中所述:

SOA 资料卷中的许多思想在 SOA 的圈子里流传已久。

它们可以在诸如 CBDI 面向服务架构实践门户或者应用 SOA:面向服务架构与设计策略书中被找到。然而,就像Antony Reynolds 总结的那样,这本书“…对于启发人们关于SOA 的概念的思想来说是一个非常好的起点。值得一读。”

查看英文原文: The Open Group SOA Source Book

2009-05-19 02:281495
用户头像

发布了 133 篇内容, 共 36.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Kubernetes集群仪表盘dashboard&Kuboard安装Demo

山河已无恙

Kubernetes 2月月更

gopher成长之路(四):GO开发工程师写QT

非晓为骁

个人成长

基于51单片机室内灯光控制系统

DS小龙哥

2月月更

如何利用区块链改进金融系统身份验证?

CECBC

RPA进阶(一):走近 RPA 世界

No Silver Bullet

RPA 机器人流程自动化 2月月更

Go反射的三大法则

linlh

反射 元编程 Go 语言 2月月更

鸿蒙学习笔记之使用 XML 方式创建布局

宇宙之一粟

鸿蒙 java UI 2月月更

技术盘点:2022年云原生架构趋势解读

阿里巴巴云原生

阿里云 架构 云原生 趋势

The Rust Programming Language

Joseph295

LabVIEW生成应用程序(exe)和安装程序(installer)

不脱发的程序猿

LabVIEW 生成应用程序(exe) 安装程序(installer)

韵达基于云原生的业务中台建设 | 实战派

阿里巴巴云原生

阿里云 云原生 业务中台 合作案例

技术盘点:2022 年容器、Serverless、可观测、服务网格有哪些值得关注的趋势?

阿里巴巴云原生

阿里云 Serverless 云原生 趋势 可观测

从冬奥看中国科技(五):漫天塞地物联网

脑极体

技术盘点:云原生中间件的技术演进与未来趋势展望

阿里巴巴云原生

阿里云 云原生 中间件 趋势

消息队列存储消息数据的表结构

皓月

「架构实战营」

电子书《大型组织深入推广零代码应用平台的行动指南》正式发布!

明道云

【C语言】一维数组

謓泽

C语言 2月月更 一维数组

显示器选购总结-戴尔2705QM-明基PD2700U

李印

总结 经验分享

设计消息队列存储消息数据的 MySQL 表格

swallowluo

架构实战营 #架构实战营 「架构实战营」

LabVIEW跳转访问网页

不脱发的程序猿

LabVIEW 跳转访问网页

Lyft微服务研发效能提升实践 | 2. 优化快速本地开发

俞凡

研发效能 大厂实践 2月月更 lyft

如何打造一款得心应手的VS Code?

Jackpop

办公效率起飞了!Python终于解放了我的双手

Jackpop

总算彻底搞懂Python集合了

Jackpop

Kubernetes核心组件-ETCD详解

巨子嘉

容器 云原生 etcd

也许我们可以用另一种角度与观点看待世界所发生的事情,让你有所解答。

叶小鍵

Go语言图书管理RESTful API开发实战

Jackpop

DOM 节点的克隆和导入

编程三昧

JavaScript 前端 DOM 2月月更

为什么需要单元测试?

蜜糖的代码注释

单元测试 后端开发 2月月更

kube-scheduler源码分析(1)-初始化与启动分析

良凯尔

源码 Kubernetes 容器 源码分析 #Kubernetes#

工作想法小计2/7 - 2/11

非晓为骁

个人成长 开发 工作方式 Go 语言

Open Group的SOA资料卷_SOA_Boris Lublinsky_InfoQ精选文章