HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

架构面向服务的技术

  • 2011-12-23
  • 本文字数:2535 字

    阅读完需:约 8 分钟

在其新作《架构面向服务的技术》中,Philip Wik 总结了使用面向服务的技术搭建解决方案的三大阻力:

  • 复杂性 如何在恰当的细节和抽象层次上为复杂的事物建模?
  • 沟通——设计元素 服务技术架构(Service Technology Architecture,后简称 STA)的基础元件是什么?
  • 执行——为成功而做调整 如何提升 STA 解决方案的速度和质量?

在 Wik 看来,最重要的事情是,要记住在处理实际问题时:

……我们必须承认,有些问题是不需要答案的,我们也无法弄清出所有事物的本质,因为思维和符号是有限的……我们必须面对高深莫测的未知。但是,我们只能在这迷一般的世界里行动,不过我们有框架的帮助。框架是蓝图,它指引我们想象、计划、开发、测试、部署并稳固我们的架构。

Wik 认为,面向服务技术解决方案的两个最重要的框架是开放组织服务集成成熟度模型(OSIMM)开放组织架构框架(TOGAF)

OSIMM 之所以重要,是因为它一个用于创建增量 SOA 实施路线图的流程,而且它清晰地定义了每个阶段的业务收益。此外,它还包含一个用来评估当前及未来的 SOA 成熟度的量化模型。至于 TOGAF ,其企业架构框架有助于回答下列问题:如何构建可达成业务目标的系统?

接着,Wik 介绍了 STA 设计的两个基本元素——原则和模式。他说:

原则是强制性标准……他们来自于常识及人们的共识。原则又是一个先验命题,可能合理但却无法证实……即便我们未能符合某个原则,或者我们忽略了它,它一样在那里。

谈及指导 STA 的主要原则时,Wik 搬出了著名的《SOA 设计原则》,其中包括服务松耦合、标准化服务契约、服务自治、服务无状态化以及服务可组合性等。Wik 提醒,在使用这些原则时:

若基于这些原则的具体应用去搭建架构,而忽视了原则本身,这样的做法是不对的。因为,它会走向追逐技术和锁定技术的境地,而非向业务目标前进。

谈到设计模式时,Wik 再一次力荐广为接受的《SOA 设计原则》

最后,在谈到为成功而做调整时,Wik 建议使用敏捷开发的每天的scrum 改进责任划分和沟通;通过XP 的结对编程改进质量和速度。他断言这些都是根本要素,因为它们支撑着那些引领STA 走向成功的高层原则,如透明性、沟通、质量和速度等。

Wik 在文章末尾说道:

面向服务的技术的根本是,简化系统以符合企业目标;简化流程以实现目标。我们不反对人们花精力去掌握那些有助于实施 STA 的工具,但是,为了实现目标,可能需要我们放弃一些旧工具。TOGAF、UML 和敏捷 /XP 是很好的工具,然而有时候我们需要扔掉这些工具才能正确地看待这满世界的服务。

尽管本文不乏许多有趣的观点,但是有些想法却令人迷惑。首先,Wik 为何弃用“SOA”而采用“SOT”就未交代清楚。而 SOT 这一词汇通常指那些诸如 Web Services 或 SCA 之类的东西,即能够简化 SOA 实施的技术,可是 Wik 把它与 SOA 混用。事实上,本文中的大多数引用、原则和模式都借用自 SOA。再者,文中很大篇幅在关注业务目标和业务驱动力。从前,技术的主要驱动力不是它们,而是实现的简单性。

另一个问题来自本文的标题,我们通常无法架构技术,而是使用技术。所以,对技术的架构的含义也不是一下子就能理解的。

最后,尽管诸如敏捷、XP 和社交工程在软件开发中都非常重要,这些东西如何直接应用于架构也不是那么显而易见。尽管有无数的出版物讨论这一话题,但这仍然没有定论。

此文在英文站一经发布,即引来了众多读者的回应,现摘录几篇评论以飨各位:

读者 Roopesh Shenoy 说到:

在我看来,这听起来像是把简单问题复杂化,可是根本不需要这么复杂。我一直认为,架构师使用 OSIMM、TOGAF 或其他框架就如同开发经理们执着于使用成熟的技术(如 java)一样——没有人会因为使用这样的技术而被解雇。其实,我们可以从优秀的实践中学到更好的东西,比如 Amazon 的整个 AWS 基础设施。

读者 Konstantin Ignatyev 说到:

本文再次对 IT 做了错误的假设: 指导原则:“正确地做事”
目标:创新和质量
优势:视野和纪律

对于极少数 IT 人来说的确是这样的,但是对于大多数人来说并非这么回事。据统计,人们习惯于安于“现状”——现状会使他们感到舒服。IT 比业务更抵制创新的原因也是如此。所以,使用 TOGAF 或其他框架的目的不仅是创造一份安定的工作,而且其真正意图是让 IT 变成一个受人尊敬的职业(如医生和建筑师),有一组原则可教化从业者,使他们忠于工作,使业务人员不再因为要求走捷径和其他傻事而自毁前程。

本新闻编辑 Boris Lublinsky 认为 IT 是令人尊敬的工作,他回复到:

暂不论我是否赞同本文作者 Wik 的话,但是我认为 IT 是值得尊敬的职业,所以我现在我已经干了 25 年了。而且,我也相信使用合适的框架的确是件好事。 IT 业中令人痛苦的一件事情是,“我比别人更懂”的态度往往导致人们一次又一次地打着“新技术”和“新方法”的旗号重复着 20 年前曾经犯过的错误。

Konstantin Ignatyev 这么回复 Boris Lublinsky:

只有当以下现象成立时,我才认为 IT 是一个令人尊敬的行业: 1. 不再出现《傻瓜式 HTML》或《24 小时速成 c++》之类的书籍时。你见过《24 小时速成外科医生》和《一星期成为摩天大楼设计师》之类的书吗?
2. 客户会日常地地要求底层实现和架构应该做成什么样。
3. IT 能够为“近乎标准”的应用程序设定可预见的时间表;不再花几个月的时间完成只需数周就能完成的项目。

Roopesh Shenoy 发表了他对 Konstantin Ignatyev 的不同看法:

我有点儿不太同意你的看法:

《傻瓜式 HTML》类似于介绍消化系统和呼吸系统的解剖方面的少儿书。它指引孩子们在成长为医生的路上迈出第一步,同理,这样的书能带领新手们走出变成 IT 专家的第一步。

我不太理解你第二句话的含义,但是我猜测你所说的是客户干预太多。可这几乎是每个行业都要面临的问题。

大多数有价值的项目都是非标准的应用。项目的开销和价值本就不成比例,而且是复杂且难以预测的。

我的确同意,即便是小项目,它走向失败也可能是正常的而不是意外,但这并不意味着每个与之相关的人都有错——巨大的需求导致有新人不断地加入,不断地学习。如果有东西能够证明变得优秀不是那么容易的事,那也就意味着这是一个值得尊敬的职业。

当然,成为开发者并不需要像医生那样需要多年的医学院学习和住院医的过程。但这也不是生死相关的行业,不是么?


查看英文原文: Architecting Service-oriented Technologies

2011-12-23 07:533674
用户头像

发布了 184 篇内容, 共 79.3 次阅读, 收获喜欢 8 次。

关注

评论

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

视频图像色彩增强的主要方法与落地实践

声网

Dev for Dev 视频技术 色彩增强

这么写简历,offer拿到手软,从业5年的软件测试工程师手把手教你写出满分简历

程序员暴龙

软件测试 简历优化 简历 就业 软件测试工程师

| 从DevOps到BizDevOps, 研发效能提升的系统方法

阿里云云效

云计算 阿里云 DevOps 云原生 研发

安全开采数据“富矿”:隐私计算基建的融合与进击

脑极体

详解基于机器学习的恶意代码检测技术

华为云开发者联盟

机器学习 深度学习 静态分析 恶意代码 恶意代码检测

存储高性能、传输如闪电,焱融科技携手瑞云科技给你带来不一样的体验

焱融科技

云计算 分布式 云原生 高性能 文件存储

java商城源码(servlet,springboot,html,vue,uniapp,小程序,android)一套任意组合

清风

计算机毕业设计 java商城 java商城源码 商城毕业设计源码

Vue Router 手把手教你搭 Vue3 路由 - 卡拉云

蒋川

Vue Vue 3 vue cli

回声嘹亮 之 Go 的 Echo 框架 —— 上手初体验

宇宙之一粟

Go web Go 语言 2月月更

MySQL是怎么保证redo log和binlog是完整的?

华为云开发者联盟

MySQL Binlog Redo Log WAL机制 日志逻辑序列号

微服务用户为什么要用云原生网关

阿里巴巴云原生

阿里云 Kubernetes 微服务 云原生网关

关于SaaS的内容营销策略(15/100)

hackstoic

营销 SaaS平台

【Python】第三章(string)

謓泽

Python 2月月更

异步请求积压可视化|如何 1 分钟内快速定位函数计算积压问题

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算 FC

2022中国化妆品行业发展趋势洞察

易观分析

化妆品行业

Hoo 交易所虎符研究院 ∣ 如何对NFT进行估值

区块链前沿News

NFT 虎符 Hoo 虎符交易所 虎符研究院

阿里云资深专家李国强:云原生的一些趋势和新方向

阿里巴巴云原生

阿里云 容器 微服务 云原生 趋势

如何防止Arp攻击

喀拉峻

网络安全

模块八作业

whoami

「架构实战营」

面试官:linux零拷贝的原理是什么?

CRMEB

资本热衷的垂直SaaS,如何能大有作为?

ToB行业头条

架构实战营模块八作业

Jude

架构实战营

系统学习 TypeScript(四)——变量声明的初步学习

编程三昧

typescript 前端 2月月更

网络安全必学渗透测试流程

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

要做需求管理?看这篇就够了。

石云升

产品经理 需求管理 需求分析 2月月更

几纳米间风云:手机摄影的制高点争夺战

脑极体

最好用的 7 款 Vue admin 后台管理系统测评 - 卡拉云

蒋川

Vue Vue 3 vue cli

网络安全kali渗透学习 web渗透入门 Metasploit基本使用方法

学神来啦

建木持续集成平台v2.2.3发布

Jianmu

DevOps CI/CD 开源项目

OpenHarmony移植:如何适配utils子系统之KV存储部件

华为云开发者联盟

LiteOS OpenHarmony utils KV存储部件

Python代码阅读(第76篇):摄氏温度与华氏温度互转

Felix

Python 编程 阅读代码 Python初学者

架构面向服务的技术_SOA_Boris Lublinsky_InfoQ精选文章