Hessian與Webservice的區別
Hessian:hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能,相比WebService,Hessian更簡單、快捷。
採用的是二進位制RPC協議,因為採用了二進位制協議,所以它很適合於傳送二進位制資料,Hessian主要作面向物件的訊息通訊。
Hessian的初衷就是支援動態型別,格式緊湊,跨語言。Hessian是使用自己的序列化機制實現的編組和反編組,其支援的資料型別是有限制的,不支援複雜的物件,可以穿透防火牆。 在這裡不得不說一下RMI:RMI是一組使用者開發分散式應用程式的API。他使用的是java序列化機制實現呼叫及返回值的編組於反編組。它使用Java語言介面定義了遠端物件,它集合了Java序列化和Java遠端方法協議(Java Remote Method Protocol)。他可以被看做是RPC的Java版本,因為傳統的RPC並不能很好的應用於分散式物件系統。而Java RMI 則支援儲存於不同地址空間的程式級物件之間彼此進行通訊,實現遠端物件之間的無縫遠端呼叫。他也有它的缺點,他只能通過RMI協議來進行訪問無法通過HTTP協議訪問,無法穿透防火牆。 還有一種遠端呼叫方法就是HttpInvoker:他也是將引數和返回值通過Java的序列化機制進行編組和反編組,它具有RMI的支援所有可序列化物件的優點。試使用Http協議傳輸二進位制流的,同時又具有Hessian、Burlap(傳輸xml文字)的優點。
Hessian:寫一個Hessian需要注意的問題:
1、JAVA伺服器端必須具備以下幾點:
包含Hessian的jar包
設計一個介面,用來給客戶端呼叫
實現該介面的動能
配置web.xml,配置相應的servlet
物件必須實現Serializable介面
對於複雜物件可以使用Map的方法傳遞
2、客戶端必須具備以下幾點:
java客戶端包含Hessian.jar包
具有和伺服器端結構一樣的介面和實體類。包括名稱空間都最好一樣。
Hessian的優點:
1- 整個jar很小,200多K,3.1版本的,當然,我下載的for java的版本.
2- 配置很簡單,基本上不需要花什麼經歷就配置出來了
3- 功能強大,可以將soap拋開,也可以把EJB拋開,採用二進位制來傳遞物件
4- 擁有多種語言支援,python c++ .net 甚至 flex 都可以做為client端
WebService簡介
(1)WebService是一個SOA(面向服務的程式設計)的架構,它是不依賴於語言,不依賴於平臺,可以實現不同的語言間的相互呼叫,通過Internet進行基於Http協議的網路應用間的互動。
(2)WebService實現不同語言間的呼叫,是依託於一個標準,webservice是需要遵守WSDL(web服務定義語言)/SOAP(簡單請求協議)規範的。
(3)WebService=WSDL+SOAP+UDDI(webservice的註冊),Soap是由Soap的part和0個或多個附件組成,一般只有part,在part中有Envelope和Body。
(4)Web Service是通過提供標準的協議和介面,可以讓不同的程式整合的一種SOA架構。
WebService的優點
(1) 可以讓異構的程式相互訪問(跨平臺)。
(2) 鬆耦合。
(3) 基於標準協議(通用語言,允許其他程式訪問)。
WebService的缺點:
(1) WebService使用了XML對資料封裝,會造成大量的資料要在網路中傳輸。
(2) WebService規範沒有規定任何與實現相關的細節,包括物件模型、程式語言,這一點,它不如CORBA。
WebService的基本原理
(1) Service Provider採用WSDL描述服務。
(2) Service Provider 採用UDDI將服務的描述檔案釋出到UDDI伺服器(Register server)。
(3)Service Requestor在UDDI伺服器上查詢並 獲取WSDL檔案。
(4)Service requestor將請求繫結到SOAP,並訪問相應的服務。
相關推薦
Hessian與Webservice的區別
Hessian:hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能,相比WebService,Hessian更簡單、快捷。 採用的是二進位制RPC協議,因為採用了二進位制協議,所以它很適合於傳送二進位制資料,Hessian主
MQ與webservice的區別,MQ的區別
mage 可能 如果 line 本地服務器 服務 tex 在那 com Webservice 和MQ(MessageQueue)都是解決跨平臺通信的常用手段,兩者有哪些區別呢? 個人認為最本質的區別在於 Webservice近乎實時通信,而MQ卻通常是延時通信。 什麽意思呢
WebService 與 Socket 區別?
一、WebService 1.什麼是WebService Web Service(WEB服務)能夠快捷和方便地綜合結合各種系統、商務和任何應用平臺。利用最新的Web Service 標準能夠使任何軟體系統和系統之間的應用互通互聯,
Webservice理解:Socket與Webservice的區別
Socket 與 Webservice 的區別 socket是一種協議,採用tcp或udp協議通訊。 Tcp、udp屬於網路層,上邊各層的應用都需要我們自己實現,例如埠的定義,資料包的定義,資料包的加密解密等。 webse
Hession與webservice呼叫之間的區別與聯絡
最近和同事聊天,得知他們在使用一種叫做Hessian的WebService實現方式實現遠端方法呼叫,是輕量級的,不依賴JavaEE容器,同時也是二進位制資料格式傳輸,效率比SOAP的XML方式要高。感覺像是RESTFUL方式類似,好奇之下到網上查閱相關資料,總結如下: 一、
Socket 與 Webservice 的區別
Socket 與 Webservice 的區別 socket是一種協議,採用tcp或udp協議通訊。 Tcp、udp屬於網路層,上邊各層的應用都需要我們自己實現,例如埠的定義,資料包的定義,資料包的加密解密等。 webservice是一種服務,採用HTTP協議通訊,So
HAProxy與Nginx區別
時間 請求 也會 維護 異常 會有 訪問 haproxy 失敗 1)HAProxy對於後端服務器一直在做健康檢測(就算請求沒過來的時候也會做健康檢查):後端機器故障發生在請求還沒到來的時候,haproxy會將這臺故障機切掉,但如果後端機器故障發生在請求到達期間,那麽前端訪問
axis2與cxf區別
開源社區 -s 實現 部署 廣泛 asi -a ice 喜歡 1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,但是承諾在下面的版本支持。 2.
C#中out與ref區別
erro 變量 但是 color 賦值 運行 網上 ann amp 一、ref(參考)與out區別 1、out(只出不進) 將方法中的參數傳遞出去,在方法中將該參數傳遞出去之前需要在該方法起始賦初值;在方法外傳遞的該參數可以不用賦值; 簡單理解就是:將一個東西拋出去之前必須
get( )與getline( )區別
clas 輸入緩沖 ont blog 函數 std etl con span get與getline區別不是很大,但一個明顯的區別是get遇到 ‘\n ‘字符後便返回,這是 ‘\n ‘還在緩沖區中,所以下次讀出來的將是 ‘\n ‘,而getline遇到 ‘\n ‘也返
dynamo與cassandra區別
ffi out thrown ive for enc coord towards ren 雖說cassandra是dynamo的開源版本,但兩者還是有很大區別的。 coordinator的選取: 在dynamo論文中,一般是preference list中N個副本的第一個
xml 與html 區別
sim 顯示數據 類型 打開 替代品 title extent 知識 col 一、什麽是HTML 帶著疑問走到這裏,一句話:HTML(HyperTextMark-upLanguage)即超文本標記語言,是WWW的描述語言。 如果想了解更多請看以下博客:
Mysql中key 、primary key 、unique key 與index區別
條件 那是 database 表空間 可用 where 進行 utf8 擁有 索引被用來快速找出在一個列上用一特定值的行。沒有索引,MySQL不得不首先以第一條記錄開始並然後讀完整個表直到它找出相關的行。 表越大,花費時間越多。如果表對於查詢的列有一個索引,MySQL能快
Hibernate 與 mybatis 區別
精通 targe man 做的 select read 持久層 定義 順序 JAVA面試中問及HIBERNATE與 MYBATIS的對比,在這裏做一下總結 我是一名java開發人員,hibernate以及mybatis都有過學習,在java面試中也被提及問道過,在項
Cookie與session區別
瀏覽器 cookie 通信設備 session與Cookie的區別此文章 來自烏龜運維wuguiyunwei.comQQ群:602183872主要區別:Cookie,也稱為HTTP cookie,Web cookie或瀏覽器cookie,是從網站發送到服務器並存儲在用戶的Web瀏覽器中的一小部分數
Appium與Robotium區別
觸摸 用戶 不能 語言設置 分開 clas 輸入文字 例子 mat Appium是基於UIAutomator框架實現的。Appium測試進程與目標應用進程是分開的,所以Appium不能直接訪問目標應用的各種element屬性進行copy&paste,而只能模擬觸發
STDIN_FILENO與stdin區別(轉)
strong 出現 stdin cti efi 兩個 正常 span col 標準輸入 (stdin) 標準輸入是指數據(通常是文件)走向程序。程序要求數據傳輸使用讀的運算。並非所有程序都要求輸入。如dir或ls程序(顯示一個目錄中的文件名)運行時不用任何輸入。 除非重導
cvCvtColor與cvtColor區別
blank 參數 接口類 類型 ima 灰度 another out ray 用到了rgb轉灰度圖功能,查到兩個函數,發現名字很像,功能也一樣,但是參數類型不一樣。 記錄一下。 可以看聲明,cvCvtColor是c語言風格接口。 /* Converts input arr
exec與xargs區別
必須 合成 作文 back 方便 否則 dir name color 沒有哪個更好哪個更不好 復習一下 exec是對每個找到的文件執行一次命令,除非這單個的文件名超過了幾k,否則不會出現命令行超長出報錯的問題。而xargs是把所有找到的文件名一股腦的轉給命令。當文件
jQuery:find()與children()區別
tar jquery col 1.2 ref net spa con arc 一、find() 1.1 說明 find()方法返回被選元素的後代元素,一路向下直到最後一個後代。 1.2 示例 <div> <p>