WebService的几种应用:
理解:
比如说一个公司或者企业内部有:ERP系统(通过Java技术实现),OA系统(通过dotnet技术实现)。两个系统之间需要交换数据,也就是相互调用。早期通过Socket协议实现通信,但是缺点需要根据交换数据的类型变化而变化(不同的厂商有自己的socket协议规范,厂商与厂商之间也有不同的协议规范)。后来在微软 、IBM等大公司的推动下涉及到跨进程、跨服务器、跨平台的这种通信的时候采用了soap协议通信。后来经过慢慢的发展soap协议成了实际的工业标准。但是soap协议也是在HTTP基础之前经过一定的处理,也就是说底层通信仍然是走http协议。WebService走soap协议实现跨平台之间通信,数据交换的。多用于企业内部不同系统之前的通信。
![c459d6e3c190635a4dd6af48c7f022da.png](https://i-blog.csdnimg.cn/blog_migrate/2819b2a9c0732442d632f9575761a3c8.jpeg)
第二:跨机器、跨进程通信。
理解:通过下图软件系统架构图我们能够发现,可以将业务逻辑层的方法,通过WebService进行封装和调用,此时整个软件系统架构就发生了非常大的变化。变化点:UI层就可以单独部署,服务层也可以单独部署,并且服务层很容易做成集群。此时项目架构被拆分成了服务,也就演变成:面向服务SOA的架构(服务即软件,软件即服务)。在做集群分布的时候:应该尽可能的把软件系统压力分摊到应用层上来,因为应用层最灵活;往往是数据库层压力最难处理。
面向服务SOA架构图:
![0d54ead30b765c806db1044208d903bd.png](https://i-blog.csdnimg.cn/blog_migrate/2098f9cfe985e0ee4a410ab6026f47c3.jpeg)
业务逻辑层通过WebService包装实例演示:
![a31ce1ed178981a5f28ea849baffbed0.png](https://i-blog.csdnimg.cn/blog_migrate/7e255c46c359c32c4dae59eb1894fcd7.jpeg)
对服务层进行拆分,做成分布式简单分析图:
![68cc78154089e7957e84a53789533d23.png](https://i-blog.csdnimg.cn/blog_migrate/4f9eb717f289458f00a0578a727a7f0c.jpeg)
欢迎各位前来批评指正和交流,相互学习,共同进步。