说说Web Service
来源:互联网 发布:招聘游戏程序员 编辑:程序博客网 时间:2024/06/05 03:22
说到一门技术,上来还是先扯扯它是什么?它是怎么来的?它有什么用?用在哪?它有哪些实现?
它是什么?它怎么来的?
WebService,顾名思义,就是基于网络的服务。从表面上看,它就是一个向外界暴露一些可以通过网络调用的API的应用程序。
我们一般把一个后台进程(Daemon)提供的功能叫做服务(service)。服务又分“本地服务”和“网络服务”。比如,XX安全卫士会在后台运行,扫描和监控一些系统行为,这种功能就是“本地服务”,因为它的服务对象时本地用户。再比如,我在电脑上部署了一个Apache服务器,它可以提供一些站点访问功能,这种功能就是“网络服务”。从工作模式上看,Web Service和普通的Web程序(如ASP、JSP等)没有本质区别,都是基于HTTP传输的程序(这个程序通过网络提供出一些对外接口,用于与外界信息互通)。只不过Web Service使用的数据都是基于XML规范的。
WebService的全称是XML Web Service WebService,它是为了实现跨平台、语言而实现的一套接口标准或者规范。Web Service 使用的是Internet上统一开放的标准HTTP,TCP/IP,XML,HTML,SOAP,WSDL等,所以Web Service可以在任何支持这些协议、标准的环境中使用,进而WebService也是一种跨平台、语言的技术实现。Web Service的最大优点就是实现了跨平台的信息互通。
这里也简单扯扯,Web Service中使用到的一些协议和标准。
1. XML
全称Extensible Markup Language(可扩展标记语言),它是标准通用标记语言的一个子集。在Web Service中,一般用XML来记录数据。
2. SOAP
全称Simple Object Access Protocol(简单对象访问协议),一种基于XML的信息通信(通过HTTP或SMTP通信)协议,用于不同平台、不同语言的程序之间的网络通信。
3. WSDL
全称Web Services Description Language(网络服务描述语言),用来描述Web服务和说明如何与Web服务通信的XML语言(记录Web Service的接口信息等,通常用来辅助生产服务器和哭护短代码及配置信息)。
4. UUDI
全称UniversalDescription,Discovery and Integration(通用描述,发现与集成服务),一种目录服务,提供基于Web的注册和发现机制。
有这么一种说法,Web Service = SOAP + HTTP + WSDL。
它有什么用?
比如说,我想做一个天气预报或者股票类的APP,但我有不想自己花时间去收集和整理这些天气或者股票的实时数据,那怎么办呢?把收集数据的工作交给别人去做呗,这时候就可以用到Web Service了。Web Service的核心理念是,自己开发核心业务(掌控核心竞争力),把非核心业务(如数据存储或者某些计算操作)交给别人完成(有点类似于“外包”了)。WebXml上提供了一些常用的Web Service,可以在自己的APP中使用。天气预报的Web Service在这里,可以看到这个wsdl文件中记录了很多的API,可以在我们的APP中使用(WebXml对于免费用户有访问次数限制,付费用户另谈)。
利用Web Service可以很好地实现数据的增删改查、短信服务等。
它有哪些实现方式?
Web Service在不同的平台上(C#、J2EE)实现方式各有不同,但原理是相通的。因为C#没玩过,所以只说说J2EE上的Web Service实现。
1、Apache CXF 和 XFire
Apache CXF是一个开源易用的Web服务框架。CXF = Celtix + XFire。XFire框架是CXF框架的前身。XFire可以很好地与Spring集成,CXF也一样。官网http://cxf.apache.org/。可以在Eclipse中开发基于CXF框架的WebService服务。
2、Axis2 和 Axis
Axis2是Axis的下一代Web服务框架。http://axis.apache.org/
它需要用到两个包:
axis2-1.6.2-bin.zip(包含Axis2的所有jar文件)
axis2-1.6.2-war.zip(用于将Web Service发布到Web服务器)。
谈谈Web的趋势
1、数据传输:XML使用越来越少,JSON使用越来越多,这也难怪,传输同样的信息量,XML文件更大,而JSON显得更轻便。
2、 服务架构:服务器端能处理的东西越来越多。随着越来越多的“云”出现,包括云计算、云服务、云OS等,大量的数据交互发生在网络中,客户端变得越来越“轻”,在一个浏览器中几乎可以满足我们日常所需(电影、电视、游戏、办公等)。
- 说说Web Service
- 说说web缓存
- 【WEB】说说JSONP
- Web Service
- Web Service
- web-service
- Web Service
- web service
- Web Service
- WEB SERVICE
- WEB SERVICE
- web service
- Web Service
- Web Service
- web service
- web service
- Web Service
- Web Service
- Fibnacci序列2
- 程序员笑话
- 暑期实训第四课(无线串口模块进行通讯)
- qt学习笔记
- UVA 839 Not so Mobile
- 说说Web Service
- hdu1272- 小希的迷宫
- POJ 1405 Heritage(高精度)
- poj 2396 有下界的最大流(填充矩阵)
- 智能家居远程监控系统的设计及实现
- 【TOJ 2211】Copying Books【DP】
- CI持续集成服务器搭建创建bot服务实现自动构建
- 用link方式在Eclipse中安装SVN
- 利用resteasy框架构建rest webservice----第五波:java代码调用乱码解决方案