答 “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上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...
随机推荐
- .NET中使用OleDb读取Excel
在.NET中可以用OleDb(Object linking and embeding DataBase)来访问Excel using System; using System.Data; using ...
- struts2与spring mvc 的比较
1.传值: struts2通过set get来传值,而spring mvc 可以直接在方法里传值(String username,Model model)model也可以换成map来传值但不建义 mo ...
- node-odata: ASP.NET WEB API OData的替代品
什么是 OData 协议? OData, 相信身为 .NET 程序员应该不为陌生, 尤其是它的实现: ASP.NET WEB API OData. 对于 OData, 官网上对其的定义是 OData ...
- Node 实现 AES 加密,结果输出为“byte”。
Node 实现 AES 加密,结果输出为"byte". 最近做个需求,对接一个平台的接口,该平台采用 AES (Advanced Encryption Standard)加密算法, ...
- OpenMp之sections用法
section语句是用在sections语句里用来将sections语句里的代码划分成几个不同的段 #pragma omp [parallel] sections [子句] { #pragma ...
- YTU 2611: A代码完善--向量的运算
2611: A代码完善--向量的运算 时间限制: 1 Sec 内存限制: 128 MB 提交: 256 解决: 168 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 对于二维 ...
- 《c程序设计语言》读书笔记--每行一个单词打印输入的字符,除去空符
#include <stdio.h> int main() { int c; while((c = getchar()) != EOF) { if(c != '\n' && ...
- python3代码
import urllib.request url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1&quo ...
- Getting Error "Invalid Argument to LOCATOR.CONTROL: ORG_LOCATOR_CONTROL='' in Material Requirements Form (文档 ID 1072379.1)
APPLIES TO: Oracle Work in Process - Version 11.5.10.2 and later Information in this document applie ...
- grunt <% %>模板和使用配置文件
使用<% %>分隔符指定的模板会在任务从它们的配置中读取相应的数据时将自动扩展扫描.模板会被递归的展开,直到配置中不再存在遗留的模板相关的信息(与模板匹配的). 整个配置对象 ...