所谓的SOA就是面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
传统的Web(HTML/HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展。WEB服务(XML/SOAP/WSDL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发展。SOA(面向服务的体系)则是采用面向服务的商业建模技术和WEB服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。WEB服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。
SOA 是一种高层次的模型, 总体来说有两个部分: 服务, 以及服务的如何关联. SOA组件模型并没有提供更为具体的实现方式, 更应该更解把他理解成一种构造思想 -- 模块化, 模块是提供能为其它模块提供服务. 与传统模块化方式不一样的在, 它的服务接口是采用中立的方式进行定义. 如Web Service 等.
如果回想过去推出的哪些概念, SOA 不是和COM, DCOM, CORBA很类似吗. 不过是调用的协议更加高层, 从二进制格式化信息, 变成了XML表达, 应该是现在的机器处理速度, 网络传输速度更快, 没有必要再为效率省几个字节了吧, 编码处理在文本级别上, 这样人容易理解, 出错的可能性少许多吧. 又一个轮回, 但应该算是进步了.
构建的信息系统越来越多, 种类将更加多样化, 整合的难度也将增大, 未来又将提出什么新概念呢?