【文/ 任英杰】

随意间看到支点网的“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黑洞?”的更多相关文章

  1. 透析SOA、RPC、SOAP、REST、ICE、ESB模型发展史

    最初的程序全是单机程序,没有网络,没有RPC,更没有RESTful.程序猿写的东西孤独运行在单机上. 那时的程序猿们语言相通,参与开发同一套系统的团队可以面对面沟通. 网络出现了.网络,也带来变乱.网 ...

  2. day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记

    课程计划 第一天: 1.电商行业的背景介绍--电子商务 2.淘淘商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建--后台工程 a) 使用maven搭建工程(工程大) b) 使用maven的 ...

  3. 服务治理要先于SOA

      讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测.久而久之,降低了服务重用的可能性,提高了服务利用的成本 ...

  4. 简述我的SOA服务治理

    SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...

  5. 浅谈SOA

    概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...

  6. 我所理解的SOA和微服务

    本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5847441.html SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上 ...

  7. 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd

    下面是按着我所接触的架构模式,开始一个一个的说一下 第一 标准架构 三层结构

  8. Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结

    Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...

  9. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

随机推荐

  1. Action的执行

    异步Action的定义 两种异步Action方法的定义 xxxAsync/xxxCompleted 这种形式的异步只能定义在实现了AsyncController的Controller中.针对Task的 ...

  2. 解决:并排的两个div底部对齐

    我希望在页面上画2个栈,并列起来,并且其内容是动态的,高度.宽度都可变,但是要保持底部对齐,如图: 实现的代码如下: <html> <head> <meta http-e ...

  3. USACO Section 3.2: Sweet Butter

    这题我自己是用邻接矩阵+dijskstra方法来求的,第九个例子TLE.网上看了别人的代码,是用邻接表+BFS来完成. 这里可以学到两个小技巧,邻接表的表示方法和INT_MAX的表示方法. /* ID ...

  4. java 无法找到main类解决办法

    java   无法找到main类解决办法 如果Java类有包名,你必须建相应的包文件夹并把文件编译或拷贝到到相应的文件夹下: 如下: 1.源文件文件:          E:\test\src\tes ...

  5. POJ 2689 Prime Distance (素数+两次筛选)

    题目地址:http://poj.org/problem?id=2689 题意:给你一个不超过1000000的区间L-R,要你求出区间内相邻素数差的最大最小值,输出相邻素数. AC代码: #includ ...

  6. (4)FTP服务器下载文件

    上一篇中,我们提到了怎么从FTP服务器下载文件.现在来具体讲述一下. 首先是路径配置.. 所以此处我们需要一个app.config来设置路径. <?xml version="1.0&q ...

  7. 21.allegro下鼠标形状设置[原创]

    1. -- --- ----- ---

  8. java socket编程基础

    1. [代码]读操作Runable 1 package com.hrd.test.socket; import java.io.BufferedReader; import java.io.IOExc ...

  9. plsql programming 17 过程, 函数与参数

    代码模块化, 即将一大块代码拆成若干小块(过程), 然后就可以在其他模块调用这些模块了, 这样, 重用性更好, 也方便管理. 过程: 过程是一个可以像执行 PL/SQL 语句一样调用的程序, 一个过程 ...

  10. SOCKSify Ruby

    http://socksify.rubyforge.org/ What is it? SOCKSify Ruby redirects any TCP connection initiated by a ...