在 ZDNet 上看到一篇题为“ Take the technology out of SOA, and see what you get

”的文章,从标题上就可以大概猜到文章是试图撇开技术因素来考量SOA的概念。读完全文,非常认同文章的观点——SOA只不过是一种设计模式而已。作为一种设计模式,除了应用在信息系统中,也同样适用在其他系统的设计中。
文章中以麦当劳的服务系统举例,称之为“以人力为基础的面向服务的架构(a human-based SOA)”,非常有意思。大家都知道在国外,你可以驾着车享受麦当劳的服务。不用离开车,首先你开到一个卡通人前对对讲机说出你要几号套餐,然后向前开到下一个窗口付款并拿你的食物。这个简单的系统基本上包含了两个服务:接受订单服务和履行订单服务,但它是完全符合SOA要求的。试想如果麦当劳发现因为周围的噪声干扰严重影响对讲机的工作,或者想提供多语种的订单服务,她能够容易的替换原有的接受订单服务,例如:建立一个电话声讯中心(Call Center),甚至选择把这个服务外包出去。因为遵循SOA的系统中,服务提供者(Service Provider)的变化,不会影响其业务本身。在麦当劳的系统中,没有涉及信息技术,但同样做到了面向服务的架构。
从这个有趣的例子里,还能联想到其他的一些东西:
麦当劳的系统可以看作是由两个服务组成的一个复合应用。SOA设计赋予它重组的灵活性。麦当劳可以随心所欲的替换服务来提升效率,降低成本,或者增加客户体验。例如:选择外包接受订单服务以获得规模效益,或者是提供额外的客户体验——多语种服务。这样就比较容易理解,SOA对企业的信息系统的好处,这个好处在于业务流程的快速重组,而不是采用了最前沿的新技术。
既然SOA是从流程设计的角度去理解的,那么它的理念的主要听众不应该是信息技术人员而是业务人员。也就是为什么SAP一直在推动业务流程专家社区(Business Process Expert, BPX)的发展。因为成为业务流程专家的企业信息系统关键用户才是设计和创新的主体力量。
另外,在这个例子里,也可以体会到标准很重要。标准化是麦当劳快餐的基础,同样在她的服务系统中的标准化(服务的接口,模块化设计),都是实现SOA不可或缺的内容,不仅是在IT系统之中来考察这个问题是这样。
SOA的概念被宣传衍生到各种技术平台技术手段中,其实非常象当初的面对对象概念。面对对象的概念提出来的时候,主要是作为在软件系统设计中对客观世界进行抽象的新方法。然而很快IT业界几乎所有的东西都赶时髦地贴上了“OO”的标签。恐怕Gartner在1996年适时地提出了面向服务架构的思想的时候,也未曾料想它被如此运用。
那么技术对SOA是什么角色?应该说,技术让SOA的实际运用成为可能(Enabler)。譬如:面对对象的方法也可以用传统的编程语言去做实现,但一直等到支持面对对象编程语言的推出才广泛的被软件工业采用。具备了各种模块化组件技术和互联网的长足发展,SOA的在业务中才具备了实用性。这也是为什么SOA概念提出10年后才被炒作的沸沸扬扬。
把技术因素从SOA中剔除,SOA只不过是一种设计模式而已。只有本着这样的认识去运用SOA,才能够真正掌握其精髓,而不是淹没在技术细节的大海里。

SOA只不过是一种设计模式而已相关推荐

  1. SOA也是一种设计模式

    曾经看到一篇题为"Take the technology out of SOA, and see what you get"的文章,从标题上就可以大概猜到文章是试图撇开技术因素来考 ...

  2. 23 种设计模式实战 pdf(很全)

    今天分享一份学习资料:23 种设计模式实战教程.pdf,助你快速上手设计模式,写出各种高端代码,文末附下载地址. 设计模式一般分为三大类: 实战教程: 教程共 96 页PDF,太全了!纯粉丝福利,非广 ...

  3. JAVA设计模式总结之23种设计模式

    一.什么是设计模式                                                                                           ...

  4. 二十三种设计模式简介及类图(转载)

    该文章转载于:https://www.cnblogs.com/pony1223/p/7608955.html 一.设计模式的三个分类 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程. ...

  5. 23种设计模式都适用于哪些场景?

    根据对设计模式的学习,总结出各类设计模式的使用场景,了解哪些场景下适合使用哪种设计模式来解决该场景的问题,这样才能学而致用,仅仅了解设计模式但不能实践那学了又有什么用呢?下面来看看各种设计模式的使用场 ...

  6. JAVA设计模式总结之23种设计模式(重点!!!)

    JAVA设计模式总结之23种设计模式: 一.什么是设计模式 设计模式遵循的原则有6个: 二.设计模式的三个分类 三.各分类中模式的关键点 四.概说23种设计模式 1.单例模式(Singleton) 2 ...

  7. 23种设计模式-个人笔记(二)

    目录 五.23 种设计模式 1.单例模式 1.1.单例模式的定义与特点 1.2.单例模式的优点和缺点 1.3.单例模式的应用场景 1.4.单例模式的结构与实现 1.5.八种方式详解 1.6.单例模式在 ...

  8. 【设计模式】常见的23种设计模式

    设计模式 文章目录 设计模式 七大原则: 1.单一职责原则 2.接口隔离原则 3. 依赖倒转原则 4.里氏替换原则 UML类图: 1.各种符号规定 ​ UML 本身是一套符号的规定,就像数学符号和化学 ...

  9. 23种设计模式(白话篇章 )

    23种设计模式 前言 开闭原则 隔离接口 迪米特 依赖倒置 单一 里式替换 创建模式 ( 单例 懒汉式 饿汉式 原型 浅克隆 深克隆 建造者 工厂 简单工厂(Log)可以参考一下 LoggerFact ...

最新文章

  1. 一个Bug,让我发现了Java界的.AJ(锥)!
  2. ultraedit 运行的是试用模式_Wings面向企业级的单元测试用例自动编码引擎
  3. 【排错】IDEA 提示 ‘Optional.get()‘ without ‘isPresent()‘ check错误
  4. listener.ora--sqlnet.ora--tnsnames.ora的关系以及手工配置举例(转载:http://blog.chinaunix.net/uid-83572-id-5510.ht)
  5. 关于毕业租房的一些碎碎念。
  6. oss图片跨域问题_图片存储解决方案-阿里云对象存储
  7. postgresql 客户端_一款功能强大的数据库客户端:DataGrip
  8. Java使用InetAddress类获取主机名和IP地址
  9. application.properties引用其他文件_企业级SpringBoot应用多个子项目配置文件规划、多环境支持(一)...
  10. JavaScript隐式类型转换
  11. 网易用户认证架构设计 | session token | 公开课笔记-01
  12. 807. 区间求和(acwing水题记)
  13. 时域特征提取_EEG信号特征提取算法
  14. 基于QQ空间热修复原理实践
  15. property follows cocoa naming convention for returning ‘owned‘ objects
  16. 大数据茶馆-决策树系列
  17. 搞一下 车载以太网实战 | 01 车载以太网帧结构详解
  18. 语义分割之边缘准确率提升
  19. 智子社区上线FCoin、IDCM即将扬帆起航
  20. 氧化石墨烯的建模工具

热门文章

  1. 视频教程-2020年软考系统架构设计师-上午历年真题解析视频培训课程-软考
  2. Openresty 获取今天截至的时间戳 ngx_lua 获取今天截至的时间戳
  3. 十年磨一剑之我眼中的京东
  4. IDEA 的Surround With (例如try/catch)快捷键
  5. 华三交换机路由器如何配置dhcp中继(dhcp relay)
  6. signature=da0cbfb45ebebe4ea0118c0a20df185e,MS15-018:Internet Explorer 累积安全更新:2015 年 3 月 10 日...
  7. 《世界上最远的距离》——泰戈尔
  8. 容易遗忘的单词(一)
  9. vue中使用 anmite.css 方法
  10. Mes系统批次管理功能