1.使用场景
- 不同的移动客户端访问
- 需要访问第三方的项目
2.访问第三方应用的方式
ISO(国际化标准组织)的七层模型 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层
学习webservice最先需要认识Socket,Socket属于传输层,它是对Tcp/ip协议的实现,包含TCP/UDP,它是所有通信协议 的基础,Http协议需要Socket支持,以Socket作为基础
Socket通信特点:
1. 开启端口,该通信是 长连接的通信 ,很容易被防火墙拦截,可以通过心跳机制来实现 ,开发难度偏高
2. 传输的数据一般是字符串 ,可读性不强
3. socket端口不便于推广
http:17.23.23.2:2345 www.jd.com www.360buy.com
4. 性能相对于其他的通信协议是最优的
- Http协议访问 :属于应用层的协议,对Socket进行了封装
1. 跨平台
2. 传数据不够友好 :
get请求: http://127.0.0.1:8888?username=lj&pwd=1234
3. 对第三方应用提供的服务,希望对外暴露服务接口
由于http传输数据不够友好特点而引出Soap(simple object access 协议),Soap是对http与xml的封装,即改良了http传输数据不够友好的不足,而WebService是基于Soap协议,即可得出 Soap --(http + xml) = web Service
WebService概念介绍:
WebService, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据
通俗的讲,Web Service就是一个部署在Web服务器上的一个,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web Service 的应用程序叫做客户端,发布这个web服务的机应用程序器称为Web Service服务器
WebService技术规则:
1. web service 技术和规则
- xml(可拓展标记语言)
- soap(简易对象访问协议)
- wsdl(webservices 描述语言)
- uddi(通用描述、发现及整合)
2. 跨平台的可互操作性
- 基于xml
- 基于xsd(xml schema )
- 基于http
3. webservice 适用场景
- 跨防火墙的通信
- 异构系统间应用程序集成(jee:(EJB RMI)、php、c++、.net(com+))