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

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

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

新浪微博:intsmaze劉洋洋哥

微信:intsmaze

下面是我多年前學(xué)習(xí)webservice時,做的筆記,今天整理一下,分享出來,為我源碼剖析RPC做準(zhǔn)備。

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

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

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

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式