【WebService】——阶段小结
【概念】
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版本问题搞得崩溃的……
最新文章
- php缓冲区 sapi缓冲区
- 【转】Eclipse Plugin 在 Console上打印出message
- 使用Spring容器
- RouterOS的MikroTik脚本从DNS更新IPSEC端的IP地址
- iOS的Mantle实战分析
- session绑定线程
- 解决Ubuntu下sublime3无法输入中文
- Java基础之编程语法(二)
- 十天学Linux内核之第九天---向内核添加代码
- sql中 datediff的使用
- 菜单栏-Place(放置)菜单
- RabbitMQ核心概念篇
- CSS备战春招の二
- 连不上虚拟机中的Redis的原因分析、以及虚拟机网络配置
- ConcurrentLinkedQueue使用和方法介绍
- 【原创】数据库基础之Mysql(2)主从库配置
- poj1676
- linux 下的read write 和fread fwrite
- java Date时间的各种转换方式和Mysql存时间类型字段的分析
- mysql创建用户与pymsql模块