1. 概述
首先Web Service它不是一种框架,也不是一种技术,而是一种跨平台、跨语言的规范。
当我们遇到这样一个场景的时候:不同平台,不同语言所编写的应用之间如何相互的调用?通俗的说,就是假如java中有如下的方法,public List getCatsByUser(User user),现在我们要在另外一个平台,有一个C语言编写的程序,想要调用上面的getCatsByUser方法。这让我们手足无措,但是Web Service可以很好的解决这类应用场景。如下图所示:
-
Web Service集中解决:
-
- 远程调用。
-
- 跨平台调用。
-
- 跨语言调用。
当然也有很多优秀的Web Service框架,比如早期的Axis,升级版Axis2,XFire,后来XFire和Celtrix(ESB框架)进行整合升级,出现了CXF框架。
说到ESB,SOA是面向服务的架构,比如包括了service1,service2,service3,……这些组件都是“即插即用的”。IBM提倡SOA架构,希望以“组装”电脑的方式