【概念】

WebService集中解决了远程调用、跨平台和跨语言的问题。如下图中,A应用与B应用之间的相互调用不再局限于平台(Linux或Windows)、语言(Java和C#)。

【与xml】

提到WebService,就不能不说xml的巨大作用。我们在浏览器中输入一个webService服务地址时,就可以看到他是使用xml来传递数据和消息的。无论是后面要说的SOAP协议,还是wsdl,都是基于xml的。在这里,xml需要被严格的规范,再次复习了DTD和Schema的知识。只有合理使用这些规范,才能使提供的服务更好的满足需求。

【三要素】

SOAP,WSDL.UDDI——WebService的三要素。其中,SOAP简单对象访问协议,提供了一种数据交换的规范。WSDL描述语言,用于描述一个服务的信息。UDDI是用来查询、管理WebService。

具体的介绍详见:【WebService】——SOAP、WSDL和UDDI

【实现】

简单的说,具体实现有两种方式:

一是JDK类库开发,不使用任何框架。 参见博客:【WebService】——入门实例

二是使用框架,这里提到的是CXF。    参见博客:【WebService】——CXF整合Spring

在开发流程上,也有两种方式:

1、代码优先

2、契约优先

契约优先,县编写schema或wsdl文件,生成代码。代码优先则相反,Code First,即先编写代码,再根据代码生成wsdl文件。

参见博客:【WebService】——契约优先

【感受】

WebService的跨平台跨语言的优势十分明显,在遇到项目之间调用、新旧系统交互等业务时,都发挥了独特的优势。自己动手写几个wsdl文件,就会发现其实并不复杂,而且比敲代码来的爽快,因为我们不需要考虑是java,还是C#。

最初理解其原理的时候,可以使用jdk做做demo,但之后还是建议直接用cxf等框架来学习,项目中自然更是如此了。直接使用jdk开发,你会被各种jdk版本问题搞得崩溃的……

最新文章

  1. php缓冲区 sapi缓冲区
  2. 【转】Eclipse Plugin 在 Console上打印出message
  3. 使用Spring容器
  4. RouterOS的MikroTik脚本从DNS更新IPSEC端的IP地址
  5. iOS的Mantle实战分析
  6. session绑定线程
  7. 解决Ubuntu下sublime3无法输入中文
  8. Java基础之编程语法(二)
  9. 十天学Linux内核之第九天---向内核添加代码
  10. sql中 datediff的使用
  11. 菜单栏-Place(放置)菜单
  12. RabbitMQ核心概念篇
  13. CSS备战春招の二
  14. 连不上虚拟机中的Redis的原因分析、以及虚拟机网络配置
  15. ConcurrentLinkedQueue使用和方法介绍
  16. 【原创】数据库基础之Mysql(2)主从库配置
  17. poj1676
  18. linux 下的read write 和fread fwrite
  19. java Date时间的各种转换方式和Mysql存时间类型字段的分析
  20. mysql创建用户与pymsql模块

热门文章

  1. (暴力碾标算)NOIP模拟赛 宗教仪式
  2. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--D-psd面试
  3. C/C++远程开机
  4. 使用Linux命名将代码上传到GitHub
  5. LeetCode 相交链表
  6. HTML基础实例
  7. MIP缓存加速原理 MIP不仅仅只是CDN
  8. Hadoop(24)-Hadoop优化
  9. python3 练习题100例 (二十六)回文数判断
  10. 插头DP(基于连通性状态压缩的动态规划问题)(让你从入门到绝望)