Webservice

Webservice是什么?

可互操作的分布式应用程序的平台,是一套标准,可以用任何语言来实现这个标准,然后就可以进行相互通信了。
1.XML和XSD:XML用来表示数据,XSD用来规定数据的类型格式

2.SOAP:简单对象传输协议,WebService之间消息传递的协议

3.WSDL:WebService Description Language ,是对WebService功能的描述,人和机器交流的语言

4.UDDI:集中存放和查找WSDL描述文件,起着目录服务器的作用

SOAP是什么?

基于XML的协议,在Web上交换结构化的和固化的信息。可以与现存的许多因特网协议和格式结合使用,包括超文本传输协议......

具体的实现例子:

import javax.jws.*;
import javax.xml.ws.Endpoint;
@WebService
public class ServiceHello {

	public String getValue(String name){
		return "My name is "+name;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Endpoint.publish("http://localhost:9001/ServerWS/ServiceHello", new ServiceHello());
		System.out.println("service success!");
	}

}

注:

@WebService 它是一个注解,用在类上指定将此类发布成一个ws.

    Endpoint –此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。









需求总结:

同一个应用会有不同的客户端,或者不同的应用之间会相互调用服务。
解决方案:Socket通信http协议:http请求请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本
1.         Socket服务不利于推广(如果让别人知道你的Socket服务)Method Request-URI HTTP-Version
2.         Socket处于传输层, 有可能无法穿越防火墙消息报头
3.         Socket本身处于传输层,要处理应用层的服务要解析HTTP协议比较麻烦,但是现在我们的应用都是基于web的, web中的数据传输就需要HTTP协议请求正文
4.         即使定义了格式. 后面如果格式改变则客户端格式都需要同步变化维护困难
网络的七层:应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
webservice其实就是一个部署在web服务器上的,向外暴力接口,通过web调用
1基于web的系统级接口规范
    - 一个普通适用标准 :http+xml
    - 任何网络通信的操作系统
    - 自包含、自描述、模块化
    - 发布、定位、通过web调用
2web service 技术和规则
    - xml(可拓展标记语言)
    - soap(简易对象访问协议)  soap – http+xmlàsocket
    - wsdl(web services 描述语言)
    - uddi(通用描述、发现及整合)
3 跨平台的可互操作性
   - 基于xml
   - 基于xsd(xml schema )
   - 基于http
4webservice 适用场景
   - 跨防火墙的通信
   - 异构系统间应用程序集成(jee:(EJB RMI)、php、c++、.net (com+))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值