WebService 学习Day 1

 

前言

正式进入web service的学习!虽然之前曾经接触过相关的只是的,但是并没有很好的吸收和整理,最初的印象只是觉得这个跟网站相关;可以说一提到网站就没有什么兴趣。但是正是进入java学习之后,对什么都要重拾心态;尽管自己学的烂,但是还要认真起来。一刻嗖!!!!!!

在进入正题之前先确定一下学习路线:是什么?——怎么用?——有更好的方案吗?沿着这条路线,可以一步步的向下探。

一、什么是web service

最初的印象就是网站,所以基本算是从头学。从用途上来讲,网络的目的就是提供服务,web service的目的就是将开发人员的服务发布到网上,并且可以实现服务的远程调用。这里可以分为两个部分:第一部分:发布,就是开发人员或者是开发商将相关的网络服务作为一种公开的内容发布到互联网上。和将电影、网页等资源上传到网站上优点类似,但最主要的区别就是这种服务的对象比较有意思。传统网页服务的对象就是一个个浏览器,但是web的服务可以是多种多样的,但同时采取了合适的手段让使用者没有感觉到任何的差异。

第二部分就是远程调用。可以直接说,在网络上面基本上所有的服务都是远程的。远程调用是针对开发人员来讲的。对于使用者来说就相当于获取到了某种服务。比如说是天气预报的服务,或者是火车的时刻表等。

二、更细节的理解

1、web服务的特点面向多种或复杂或简单的操作环境。即能够屏蔽各种操作系统的差异性。这一点很重要。

2、一般来说各种服务之间是相对独立了,是松耦合的。比如微信的支付和腾讯的游戏之间,微信的支付服务不一定只面向腾讯产品产品,面向的还有大众。

3、服务之间交互通讯必须是遵循协议的。主要目的就是让各种操作系统或者平台都能够享受服务。

三、webservice的技术实现

这里先不讲具体实现,先理解技术实现。

网络服务都是通过网络进行的,而网络的通讯协议最重要的就是http协议,(这个好像要被更新为https了)。主要是因为这个协议的内容都采用了相对固定的格式。其次在内容传输上采用了可扩展标记文本XML。正是基于这两种技术,实现了web服务的无差异化。主要在于:首先能够上网的设备都必然支持http,其次xml文件能够实现屏蔽不同编程语言的差别。

正是因为此,可以说http和XML就是web service的底层技术基础。

但是设备通讯协议必须是一种可以屏蔽所有操作系统差异的协议,让所有的编程语言遵守。这就是SOAP标准通讯协议。实质就是利用http传输XML文档。

关键字:WSDL,web service的定义语言,主要描述web服务的相关信息。这个文档可以通过  http地址?wsdl来访问查看。

四、一个简单的具体实现。

分为两个部分:1、服务端的编程2、客户端的编程

1、服务端的编程

①定义接口并定义实现

import javax.jws.WebService;
@WebService(serviceName="Server")//这个是使用标注定义服务名
public interface ServerService {
	public void say(String name);
}
import javax.jws.WebService;

@WebService( serviceName="server",portName="say",endpointInterface="com.baizhi.server.ServerService")
public class ServerServiceImple implements ServerService {
	@Override
	public void say(String name) {
		// TODO Auto-generated method stub
		System.out.println("Welcome     "+name+"    join");
	}

}

②发布服务

public class PublicServer {
	/**
	 * publish有两个参数,一个是访问地址,另外一个是实现类对象
	 */
	public static void main(String[] args) {
		Endpoint.publish("http://localhost:1234/hello", new ServerServiceImple());
	}
}

③运行测试

2、客户端编程

①编译并获取对应的服务实现

并将编译生成的包以及java文件全部粘到自己的包中

②调用服务

public class UserServie {
	public static void main(String[] args) throws MalformedURLException {
	/*	ServerServiceImpleService serverServiceImpleService = new ServerServiceImpleService();//这个是根据文档的service-name拿到的名字
		ServerServiceImple port = serverServiceImpleService.getPort(ServerServiceImple.class);//这个是根据文档中的port-Type来写的
		port.say("susn");*/
		URL url = new URL("http://localhost:1234/hello?wsdl");//获取wsdl文档的URL
		QName qName = new QName("http://server.baizhi.com/","server");
		Service service = Service.create(url, qName);//根据文档和服务名创建服务对象
		QName qName2 = new QName("http://server.baizhi.com/","say");//根据端口名和命名空间穿件端口的qname
		ServerService port = service.getPort(qName2,ServerService.class);
		port.say("sus");//调用服务
	}
}


 

Web服务(Web Services)是一种基于Web的软件系统,用于支持机器之间的交互式机器通信。Web服务基于开放的标准和协议,如XML, SOAP, WSDL和UDDI等,这些标准和协议使得Web服务可以在不同的平台和编程语言之间进行交互。Web服务架构通常包括三个主要组件:服务提供者、服务请求者和服务注册心。 学习WebService需要掌握以下几个方面: 1. XML和SOAP Web服务使用XML作为数据交换格式,SOAP作为传输协议。因此,学习WebService需要掌握XML和SOAP的基本知识,了解XML文档的结构、语法和DTD、Schema等相关规范。同时,需要掌握SOAP协议的基本结构、消息格式和传输方式等内容。 2. WSDL WSDL(Web Services Description Language)是Web服务的描述语言,用于描述Web服务的接口、参数、返回值等信息。学习WebService需要掌握WSDL的基本语法、结构和元素等内容,了解如何使用WSDL来描述Web服务。 3. UDDI UDDI(Universal Description, Discovery, and Integration)是Web服务的注册心,用于注册、发布和查找Web服务。学习WebService需要了解UDDI的基本原理、功能和使用方法,掌握如何使用UDDI来注册和查找Web服务。 4. Web服务框架 Web服务框架是实现Web服务的一种技术,常用的Web服务框架包括Apache Axis、Apache CXF、Spring Web Services等。学习WebService需要了解这些框架的特点、使用方法和配置方式,了解如何使用这些框架来实现Web服务。 总之,学习WebService需要掌握XML和SOAP的基本知识、WSDL的语法和结构、UDDI的原理和使用方法,以及Web服务框架的特点和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值