webservice有三部分:webservice的介绍、webservice的客户端的实现方式、webservice服务端的实现方式;
webservice介绍:
webservice是两个系统之间的调用, 实现两个系统间数据交互,如:支付宝调用各个银行的接口实现支付功能;我们再网站下订单时调用库存与支付系统,完成库存数据减少,同时完成订单记录与支付
webservice的调用是可以跨语言的,如:c# 、C、java 、php按照一定的约定格式进行解析;
webservice的网站可以在webxml.com.cn可以查看下一些免费service服务
Socket实现服务调用:
socket是可以实现服务之间的调用,socket的服务调用使用的是TCP/IP协议,传递的是流,服务端与客户端之间可以自定义传输规范,适用于并发高,大数据量的传输;
socket服务调用与webservice的比较:
传输协议:socket是使用的是TCP/IP协议,而webservice使用的是http协议,TCP/IP协议是在传输层,http协议是在网络层;
传递对象:socket是传输的是流,而不接受面向对象,而webservice对传输队形进行序列化以流的形式进行传输;
webservice使用的是soap协议进行传输(soap=http+xml),不需要专门对数据流进行处理,
处理场景适用: socket适用于高并发,大数据量的传输,但是传输客户端与服务端之间的协议形式需要自己定义;传输数据、格式及解析及发送数据需要程序员自己去定义,接收数据解析数据需要一一对应;socket的灵活性比较大
webservice遵循soap协议,soap=http+xml 更加适用于边界外系统之间的调用,一般传输量比较小,已经被纳入W3C的管理,更规范;
webservice是不需要专门针对传输流进行处理的,只要定义好输入就可以;jaxws可以通过面向对象开发webservice;
webservice客户端的实现方式:
通过wximport生成代码–wximport生成代码是原始的wsdl的方式实现webservice的调用;
通过客户端编程方式–客户端编程方式引用httpClient客户端,自己构建发送参数,发送格式,发送数据;
通过ajax调用方式----构建soap规范的xml发送数据,调用服务返回结果;
通过 URL Connection 方式调用 —jdk的原生调用
webservice服务端的发布方式:
https://wenku.baidu.com/view/48f0bebb804d2b160a4ec0b9.html参考文档:
cxf方式,目前比较流行的方式:
xfire方式发布;
axis2发布
axis1发布