答 “SOA会不会造成IT黑洞?”
【文/ 任英杰】
随意间看到支点网的“SOA会不会造成IT黑洞”一文,作者对SOA的认识颇有以偏概全之嫌,写点自己的感想,作为应和吧。
作者的二个对SOA的观点有些偏颇:“SOA就是一种系统集成,它是系统集成的一种高级形式”和“SOA是一种治标的方法”。web service不是SOA的全部,它只是一个可选项。
我对SOA的几个基本认识如下:
1、SOA的核心是服务
何为服务?服务源于对现实世界的模拟,现代社会是一个契约社会,服务的提供者和消费者双方基于契约行事,契约约定了服务内容和责任义务。社会服务的一个优势在于可以松散而有效的将社会细胞组织起来,“细胞间”的干涉是最小的。这一思想被计算机科学家发现很有用,于是乎就有了计算机世界里的服务。
这样想想,只要符合这个思路的都可以归为服务,比如函数调用(可理解为早期朴素服务思想的实践),比如RPC,比如组件交互,比如web Service,比如rest等等。具体技术形式不重要,当然不同的技术形式适用于不同场景,关键是思路的运用。有没有用web Service不是唯一标准。
2、SOA不只是技术
当前SOA知识体系中包括如下几个层面:面向服务的规划(已被包含在企业架构理论中)、面向服务架构设计、服务的构建(技术层面,选择合适技术)等,整体上还有面向服务的管理与治理。如是说,应用SOA的整体框架可以有效解决行业应用的若干问题,包括业务与技术实现脱节、silo应用、软件组成要素间偶合过紧演进困难、当然也解决了系统间集成问题(这只是SOA推广过程中最早被大家接受的,但不是全部)。
3、云时代SOA没有消亡
云的核心是什么?当然是服务,只不过云服务的形式和概念外延都大大扩展了,SPI模型的核心就是XaaS,几乎一切皆服务。大家想想,我可以利用google云推送服务,可以利用sendgrid的邮件发送服务,只要通过他们提供的open API即可。想比早期服务可能更多存在与企业内部,云时代的服务已经打破了企业的边界,形成了社会层面的的服务专业化。
---------------------------------------------
关注老任微信公号:it-veteran

答 “SOA会不会造成IT黑洞?”的更多相关文章
- 透析SOA、RPC、SOAP、REST、ICE、ESB模型发展史
最初的程序全是单机程序,没有网络,没有RPC,更没有RESTful.程序猿写的东西孤独运行在单机上. 那时的程序猿们语言相通,参与开发同一套系统的团队可以面对面沟通. 网络出现了.网络,也带来变乱.网 ...
- day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记
课程计划 第一天: 1.电商行业的背景介绍--电子商务 2.淘淘商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建--后台工程 a) 使用maven搭建工程(工程大) b) 使用maven的 ...
- 服务治理要先于SOA
讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测.久而久之,降低了服务重用的可能性,提高了服务利用的成本 ...
- 简述我的SOA服务治理
SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...
- 浅谈SOA
概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...
- 我所理解的SOA和微服务
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5847441.html SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上 ...
- 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd
下面是按着我所接触的架构模式,开始一个一个的说一下 第一 标准架构 三层结构
- Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结
Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...
- 说说面向服务的体系架构SOA
序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...
随机推荐
- sublime3配置Quick-X+自动错误提示
sublime3配置 安装Package Control 配置Quick-x API提示 配置Lua自动语法错误提示 sublime3 安装 Package Control View->Show ...
- CEdit的简单用法
今晚闲来无事,写篇博文聊解解闷~ CEdit这个空间类,我之前倒是用过,不过那个时候用的还比较菜,现在么,依旧比较菜~ 首先,因为我今天刚做完了一个局域网聊天软件,用的就是CEdit来显示和获取数据的 ...
- MTK
1.mt_boot_init->boot_linux_from_storage->boot_linux->boot_linux_fdt
- Lucene学习笔记(更新)
1.Lucene学习笔记 http://www.cnblogs.com/hanganglin/articles/3453415.html
- leetcode:House Robber(动态规划dp1)
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- 《OD学hive》第四周0717
一.Hive基本概念.安装部署与初步使用 1. 后续课程 Hive 项目:hadoop hive sqoop flume hbase 电商离线数据分析 CDH Storm:分布式实时计算框架 Spar ...
- JSON 之 SuperObject(6): 方法
SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: IS ...
- AutoCompleteTextView与TextWatcher的结合
/******************************************************************************************** * au ...
- laravel下的团队开发
当你的团队在开发一个大型应用时,该应用的不同部分可能以不同的速度前进.比如,设想下面的场景:一个开发热源被分配 数据层 的backend工作,而另外一个开发人员做front-end和web/contr ...
- Qt之QLCDNumber
简述 QLCDNumber控件用于显示一个LCD数字. 它可以显示几乎任意大小的数字.可以显示十进制.十六进制.八进制或二进制数.很容易使用display()槽连接到数据源,这个槽可以被任何五个参数类 ...