很多新手一聽到接口就蒙逼,不知道接口是什么!其實接口就是RPC,通過遠程訪問別的程序提供的方法,然后獲得該方法執(zhí)行的接口,而不需要在本地執(zhí)行該方法。就是本地方法調(diào)用的升級版而已,我明天會上一篇如何通過socket實現(xiàn)rpc,以及服務的注冊和動態(tài)上下線。這里先上一篇RPC的實現(xiàn)者一webservice,便于后面理解源碼執(zhí)行過程,框架就是在原理的基礎(chǔ)上提供更加便捷的使用而已,協(xié)議就是基于TCP或UDP之上,服務者和調(diào)用者之間約定消息按照什么樣的格式發(fā)送以及解析罷了。協(xié)議沒什么高深莫測的。

原文和作者一起討論:http://www.cnblogs.com/intsmaze/p/6055684.html

可接網(wǎng)站開發(fā),java開發(fā)。

新浪微博:intsmaze劉洋洋哥

微信:intsmaze

下面是我多年前學習webservice時,做的筆記,今天整理一下,分享出來,為我源碼剖析RPC做準備。

WebService,顧名思義就是基于Web的服務。它使用Web(HTTP)方式,接收和響應外部系統(tǒng)的某種請求,從而實現(xiàn)遠程調(diào)用。我們可以調(diào)用互聯(lián)網(wǎng)上查詢天氣信息Web服務,然后將它嵌入到我們的程序(C/S或B/S程序)當中來,用戶可以在我們的網(wǎng)點看到天氣信息,他會認為我們?yōu)樗峁┝撕芏嗟男畔⒎?,但其實我們只是簡單調(diào)用了一下服務器上的一段代碼來調(diào)用別人寫好的WebService。WebService可以將你的服務(一段代碼)發(fā)布到互聯(lián)網(wǎng)上讓別人去調(diào)用,也可以調(diào)用別人機器上發(fā)布的WebService,就像使用自己的代碼一樣.

webservice是兩個軟件系統(tǒng)之間的遠程調(diào)用,這里的調(diào)用是跨語言的調(diào)用。兩個不同的應用程序之間通過xml進行數(shù)據(jù)交互的。這樣任何一種語言都可以解析xml文件中的數(shù)據(jù)。數(shù)據(jù)進行交互遵循的協(xié)議是http協(xié)議。http協(xié)議,以及我們用jdbc訪問數(shù)據(jù)庫其實底層都是依賴socket連接。比我我們經(jīng)常在別的網(wǎng)站登錄第三方賬號也可以登錄,其實也是用的webservice,別的網(wǎng)站拿到賬號到第三方提供的賬號服務去驗證。

在JDK1.6以后JAX-WS規(guī)范定義了如何發(fā)布一個webService服務。
JAX-WS是指Java Api for XML – WebService.
用Jdk1.6.以后的版本發(fā)布一個WebService服務.
與Web服務相關(guān)的類,都位于javax.jws.*包中。
主要類有:
@WebService - 它是一個注解,將 Java 類標記為實現(xiàn) Web Service,或者將 Java 接口標記為定義 Web Service 接口。
Endpoint – 此類為端點服務類,它的方法publish用于將一個已經(jīng)添加了@WebService注解對象綁定到一個地址的端口上,接收兩個參數(shù),一個是本地的服務地址,二是提供服務的類。
如何發(fā)布一個web服務:

網(wǎng)友評論