>
學(xué)校機(jī)構(gòu) >
福州博洋軟件開發(fā)與測試培訓(xùn)學(xué)校 >
學(xué)習(xí)資訊>
ESB、SOAP和WSDL c 程序設(shè)
ESB、SOAP和WSDL c 程序設(shè)
235 2017-05-11
博洋教育今日就業(yè)明星:鄭輝輝成功就職于福州先銳軟件科技有限公司擔(dān)任java工程師
解密明星背后那些鮮為人知的故事:鄭輝輝,福建師范大學(xué)閩南科技學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),本科學(xué)歷。在博洋教育參加java軟件項(xiàng)目實(shí)訓(xùn),該生學(xué)習(xí)態(tài)度端正,有比較好的學(xué)習(xí)心態(tài),會(huì)主動(dòng)請教老師同學(xué)。畢業(yè)后經(jīng)過就業(yè)部老師的推薦,現(xiàn)在成功入職福州先銳軟件科技有限公司。博洋教育祝賀他取得的成績,希望其工作順利,前程似錦。
班級(jí)名稱
CN1305脫產(chǎn)班
班級(jí)性質(zhì)
脫產(chǎn)班
開班時(shí)間
2013年8月12日
上課地點(diǎn)
上課方式
脫產(chǎn)
目前狀態(tài)
熱招
博洋教育熱線:
QQ:
聯(lián)系人:廖老師
地址:福州市鼓樓區(qū)銅盤路軟件園軟件管委會(huì)大樓3樓網(wǎng)址:
ESB
ESB,EnterpriseServiceBus,企業(yè)服務(wù)總線。這個(gè)概念哪來的呢?得先從webservice講起,話說。。。(balabala~~~)
webservice,可以認(rèn)為是“跨平臺(tái)(OS)、跨語言(java、C等)系統(tǒng)間的一種整合方案,以實(shí)現(xiàn)各系統(tǒng)間的協(xié)同作業(yè)”。舉例來說,某個(gè)公司由小發(fā)展到大,可能有很多部門,有很多系統(tǒng),但系統(tǒng)開發(fā)語言并不一致(可能有自己開發(fā)的,也有買來的):例如OA是用VB開發(fā)的,ERP是Java開發(fā)的,而CRM是Delphi開發(fā)的,現(xiàn)在又有一個(gè)C#開發(fā)的進(jìn)銷存系統(tǒng),而且還想把這些系統(tǒng)整合到一起,不僅僅是在局域網(wǎng)內(nèi),在inte的時(shí)候也可以達(dá)到各系統(tǒng)間的無障礙通信。咋辦呢?webservice就是最佳的解決方案之一。
所謂上述系統(tǒng)間的通信,其實(shí)也就是數(shù)據(jù)的交互,那什么樣的數(shù)據(jù)是跨語言的呢?--文本。這是最簡潔的數(shù)據(jù)類型,也是各開發(fā)語言都支持的。但是,每個(gè)系統(tǒng)對外開發(fā)的信息都自有一套,你不可能為每個(gè)系統(tǒng)開發(fā)針對其他三個(gè)系統(tǒng)的信息接口,這樣的話,要實(shí)現(xiàn)上述系統(tǒng)間的整合,你得再開發(fā)3*4套信息接收程序,工作量巨大而且難以維護(hù)。webservice的構(gòu)想就是將各個(gè)系統(tǒng)間的交互數(shù)據(jù)視為文本類型,再以一種既定的規(guī)范封裝各系統(tǒng)open的數(shù)據(jù),然后再分發(fā)到各系統(tǒng)。簡單的理解,可以視為將各個(gè)系統(tǒng)掛接到一個(gè)統(tǒng)一的介質(zhì)上,然后再由這個(gè)介質(zhì)中轉(zhuǎn)數(shù)據(jù),看上去點(diǎn)像MOM,不過不是,因?yàn)檫@個(gè)介質(zhì)不是真實(shí)存在的。請參見下列示意圖(NND,禁止傳圖,害得俺只能一個(gè)字符一個(gè)字符地敲,淚。。俺容易么。。)
|----------||
|OA(VB)|------->|
|----------|||-----------|
|<-------|ERP(Java)|
||-----------|
|----------||
|CRM(VB)|------>|
|----------|||------------|
|<------|進(jìn)銷存(C#)|
||------------|
|
|--->這根線即可視為ESB
中間的這根線就是上面所說的介質(zhì),但是并沒有類似MOM這樣的實(shí)體存在(當(dāng)然,實(shí)際應(yīng)用中,你也可以把MOM放在這個(gè)位置),只是為了方便理解而設(shè)計(jì)的,只是一種邏輯概念。而這根線就是ESB。
SOAP
webservice是一種(1)實(shí)現(xiàn)跨平臺(tái)跨語言系統(tǒng)協(xié)同的一種方案,而且(2)能夠保證在inte上也能夠訪問。技術(shù)上要做到(1),就是要保證各語言都能識(shí)別傳送和接收的數(shù)據(jù)類型,前文說的是文本類型,不過這里說的文本不是指text,而是xml;而要做到(2),支持http協(xié)議就是最佳選擇。
SOAP,SimpleObjectAccessProtocal,簡單對象訪問協(xié)議,其實(shí)可以看作是上述二者的結(jié)合,即XML+HTTP,所以,SOAP其實(shí)本質(zhì)上還是HTTP協(xié)議,不過是一種加了限制的HTTP協(xié)議,限制的內(nèi)容即,傳輸?shù)臄?shù)據(jù)要求是XML類型,而且必須用“SOAP信封”封裝。
不過維基給出的定義更廣泛:
SOAP:一個(gè)基于XML的可擴(kuò)展消息信封格式,需同時(shí)綁定一個(gè)傳輸用協(xié)議。這個(gè)協(xié)議通常是HTTP或HTTPS,但也可能是SMTP或XMPP。
WSDL
WSDL,WebServiceDescriptionLanguage,webservice描述語言。上文所說的webservice“以一種既定的規(guī)范封裝各系統(tǒng)open的數(shù)據(jù)”,這個(gè)“規(guī)范”就是WSDL。
WSDL規(guī)定了諸如方法名,傳入?yún)?shù),返回值以及在哪個(gè)地址(例如某網(wǎng)址)上公開服務(wù)等信息。簡單地說,一個(gè)系統(tǒng)對外公開其服務(wù),其實(shí)就是公開其WSDL文檔。而一個(gè)系統(tǒng)要訪問另一個(gè)系統(tǒng),就必須先查找到這個(gè)系統(tǒng)公開的WSDL文檔。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)服務(wù)號(hào)