【文/ 任英杰】
随意间看到支点网的“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