写点什么

“微软 SOA 参考模型”介绍章节初始草案

  • 2007-04-23
  • 本文字数:1366 字

    阅读完需:约 4 分钟

John Evdemon 微软架构策略团队的一个架构师,发布了一个微软 SOA 抽象参考模型(Microsoft Abstract SOA Reference Model)的介绍章节草案。根据 Evdemon 所说,这个文档以抽象参考的方式方便人们理解、设计、构建基于面向服务原则的软件架构。

在第一章节的开始部分,John Evdemon 声明说,对于 SOA 微软一直赞成“长到正好”(grow-to-fit)的方式:

在这个方式中,SOA 由战略远景和业务需要驱动,通过为传递业务需要而设计的增量、迭代的 SOA 项目达到目标。从 1999 年.NET 框架第一次发布以来,微软一直应用这一技术帮助客户实现他们的 SOA 诉求。

尽管被称为 SOA 抽象参考模型,这个文档也提供了可行的方法,比如通过所提供的用例驱动方式解释 SOA 的底层架构需求。Evdemon 解释了微软对 SOA 的理解——“在 SOA 里面存在三种抽象功能层”:

  • 表现 / 公开(Expose)——服务实现架构(Service Implementation Architecture)
  • 消费(Consume)——应用架构(Application Architecture)
  • 组合(Compose)——服务集成架构(Service Integration Architecture)

前两个层或者架构和传统的 Web 服务三角(Web services triangle)有关,即 Web 服务由一个或者两个参与者注册或者提供,而被其他参与者使用的地方。第三层则表示了 SOA 的松散耦合本质,在组合或者集成服务时它有很强的灵活性。

[…]SOA 架构模型是不确定的(fractal)。也就是说,一个服务可以用来表现 IT 资产(如一列业务系统),可以组成工作流或者业务流程(每一个都可以表示为一个服务),还可以被终端用户、系统或者其他服务消费等。SOA 是不规则的,那些层的模型不是。

三个架构中的每一个都包含五个架构功能:

  • 通信:在发送方和接收方之间是如何完成消息传输的;
  • 工作流和流程:基于工作流的流程和实现编制(orchestration)或者编排(choreography);
  • 数据:数据管理
  • 用户经验:和前后文需求相关的服务使用方法;
  • 认证:认证管理和生命周期。

通过这五种架构功能可以更好地理解目前的许多挑战,如将已经存在的 IT 资产表示为服务,组合服务到业务流程,和跨组织组合那些流程等。

关于服务设计,John Evdemon 指出四个原则,并总结出这个文档所表达的目的:

在这一章里,我们提供了一些理解 SOA 不确定实质的有用参考。服务是 SOA 的基本构建模块,尽管服务不一定必须是 Web 服务。理想的情况是,那些服务应都符合上述四个服务设计原则,因为这些原则描述了一系列服务范围的最佳实践、依赖、通信和基于策略的配置。在这些原则专注于服务设计时,认识到服务自己可以不必是方案架构就是非常重要的了——微软使用一个抽象的参考模型描述了 SOA 的不同方面。SOA 抽象参考模型提供了三个基本概念,以帮助大多数组织理解在他们的解决方案架构中,服务所扮演的角色。

尽管微软抽象参考模型没有推出一个实际的面向服务架构,SOA 的不同方面和这一章中介绍的每一个方面的底层架构功能都为构建 SOA 提供了一个更坚固的模型,而不是定义上的 OASIS SOA 抽象参考模型。接下来的章节会详细讨论每一个方面和功能。最终的文档更像是介绍几种微软的技术和产品(包括第一章中提到的几个),以根据微软抽象参考模型可以用它们来构建 SOA 应用。

查看英文原文: Microsoft SOA Reference Model, Initial Draft of the Introductory Chapter

编辑注:感谢台湾微软技术王森先生对本文部分专业术语翻译的指导。

2007-04-23 05:371082

评论

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

你的“数学潜意识”原来可以被唤醒!

博文视点Broadview

Meetup预告|云原生时代热门监控利器解析与应用

云智慧AIOps社区

运维 云原生 安全 监控工具

ABAP excel数据上传函数改造

Jasen Ye

Excel upload abap

地狱开局的2022,穿好你的安全铠甲

脑极体

从0到1落地电商小程序之微服务设计

晨亮

「架构实战营」

手把手教你从Apk中取出算法

奋飞安全

android 安全 java

云原生时代已来,计算机教育如何因「云」而变?

阿里云弹性计算

云原生 ECS 计算机教育

从多快好省到好快省多,您的项目管理走对了吗?

禅道项目管理

项目管理

Go 中的空白标识符(下划线)

宇宙之一粟

Go 语言 3月月更

项目管理标准化的武林秘籍

大智若愚

团队管理 项目管理 标准化 软技能 标准框架

加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源

华为云开发者联盟

软件 DevOps 代码托管 智能调度 华为云DevOps

从HDFS的写入和读取中,我发现了点东西

华为云开发者联盟

hdfs HDFS写入 HDFS读取 文件读取

【直播回顾】OpenHarmony知识赋能第四期第三课——I2C驱动开发

OpenHarmony开发者

OpenHarmony 驱动开发

Python 的排序方法 sort 和 sorted 的区别

AlwaysBeta

Python

Kubernetes中API的不同版本, Alpha, Beta, Stable 都是什么?

工程师薛昭君

Kubernetes API

windows下C与C++执行cmd命令并实时获取输出

DS小龙哥

3月月更

数仓如何设置大小写不敏感函数

华为云开发者联盟

MySQL DWS GaussDB(DWS) 大小写不敏感函数 GUC参数

详细的网站定制步骤有哪些?

源字节1号

网站开发 软件定制

无监控不运维—浅述各种监控方案使用场景

穿过生命散发芬芳

3月月更

ABAP 文件上/下载

Jasen Ye

upload abap download template GRAPHICS

微服务架构下消息服务多通道设计思路

全象云低代码

微服务 低代码 后端开发 消息中间件 后端技术

web前端培训如何用CSS来实现透明方格

@零度

CSS web前端

速度和质量不可兼得,为什么DevOps落地如此困难?

SoFlu软件机器人

【愚公系列】2022年03月 Docker容器 Kafka集群的搭建

愚公搬代码

3月月更

java培训如何用反射做简易 Spring IOC 容器

@零度

Java springloc

如何升级到 React 18

CRMEB

对于金融机构而言,为什么选择私有化IM比企业微信、钉钉更好?

WorkPlus

客户画像赋能百度推广生态实践

百度Geek说

前端 后端

Nginx限速模块初探

喀拉峻

nginx

网络安全入门5天速成教程: WEB安全渗透攻防技术

网络安全学海

网络安全 安全 信息安全 渗透测试 WEB安全

实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错

华为云开发者联盟

spring 容器 Spring Boot 测试 Mybatis-Plus

“微软SOA参考模型”介绍章节初始草案_SOA_Hartmut Wilms_InfoQ精选文章