很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法。就是本地方法调用的升级版而已,我明天会上一篇如何通过socket实现rpc,以及服务的注册和动态上下线。这里先上一篇RPC的实现者一webservice,便于后面理解源码执行过程,框架就是在原理的基础上提供更加便捷的使用而已,协议就是基于TCP或UDP之上,服务者和调用者之间约定消息按照什么样的格式发送以及解析罢了。协议没什么高深莫测的。
原文和作者一起讨论:http://www.cnblogs.com/intsmaze/p/6055684.html
可接网站开发,java开发。
新浪微博:intsmaze刘洋洋哥
微信:intsmaze
下面是我多年前学习webservice时,做的笔记,今天整理一下,分享出来,为我源码剖析RPC做准备。
WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,从而实现远程调用。我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,用户可以在我们的网点看到天气信息,他会认为我们为他提供了很多的信息服务,但其实我们只是简单调用了一下服务器上的一段代码来调用别人写好的WebService。WebService可以将你的服务(一段代码)发布到互联网上让别人去调用,也可以调用别人机器上发布的WebService,就像使用自己的代码一样.
webservice是两个软件系统之间的远程调用,这里的调用是跨语言的调用。两个不同的应用程序之间通过xml进行数据交互的。这样任何一种语言都可以解析xml文件中的数据。数据进行交互遵循的协议是http协议。http协议,以及我们用jdbc访问数据库其实底层都是依赖socket连接。比我我们经常在别的网站登录第三方账号也可以登录,其实也是用的webservice,别的网站拿到账号到第三方提供的账号服务去验证。
在JDK1.6以后JAX-WS规范定义了如何发布一个webService服务。
JAX-WS是指Java Api for XML – WebService.
用Jdk1.6.以后的版本发布一个WebService服务.
与Web服务相关的类,都位于javax.jws.*包中。
主要类有:
@WebService - 它是一个注解,将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口。
Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,接收两个参数,一个是本地的服务地址,二是提供服务的类。
如何发布一个web服务:
