作者Nt1 (用功點吧!)
看板java
標題Re: [問題] 關於Web Services,WSDL解析器....
時間Thu Mar 9 16:23:27 2006
※ 引述《fire2 ( q )》之銘言:
: ※ 引述《Oreilly (怕寂寞卻愛自由)》之銘言:
: : 因為它根本不受限於java語言
: 1. ^^^^^^^^^^
: : 其他的程式實作出來的web service也可以解析
: 2. ^^^^^
: : 這表示要懂好幾種語言 一個人作太免強了
: : 不如就只針對java web service來作應該比較簡單
: : 我記得apache有一各專案有類似功能
: : http://ws.apache.org/wsif/
: : 參考看看囉:)
: 這邊想問一下前輩
: 不知道是不是我觀念錯誤了.....
: 關於1、2兩點,這不正是為什麼要有Web Service的原因嗎?
: 它的出現不正是為了解決上述問題
: 為什麼用了web service還會有這樣不同語言的程式,無法溝通的問題呢??
: 如果我以JAVA做成了Web Service
: 然後以.Net來去讀取使用
: 這應該很正常吧??(甚至用PHP,JSP等其他程式)
: 如果以JAVA做出來的程式,只能以JAVA來做Client去讀取使用....
: 哪不就失去了Web Service的意義了....??
: 再這邊冒昧的問一下,有錯誤請指導
: 敝人也正在學習中,希望可以得到更多的資訊,感謝
我想應該是沒有錯~這正是 用 web service 的原因,如果有按照 web servcie 的標準走
的話,是一定可以跨平台/語言的,因為底層的資訊傳輸靠的都是 xml,而xml又是所有機
器都可以讀/解析的文字檔,而 web service 之所以叫「service」,我想也是為了創造
出現真實世界的一種服務的概念,也就是你只要知道怎麼用(wsdl),在哪用(uddi),並且
把你想做的事告訴他(soap),應該一定會得到想要的結果,而不必管服務本身的開發環境
語言或邏輯。有點像 oo 的封裝(透過公用方法存取私用變數)<扯到oo,跟java有關了@@>
用個例子可能就像…買早餐吧@@"" 早上起床去上學(或是中午起床!?)
肚子餓了,想吃東西,於是你就開始找早餐店(uddi),找到一家「每而每」,就決定是
他了,於是你到了每而每拿起他的目錄(wsdl),上面有:
1號餐:漢堡 + 薯條 +可樂 60元
2號餐:火腿蛋三明治 + 奶茶 30元 ...等等的
當然,不用管老闆背後是怎麼運作的…因為你只想要「吃到早餐」就可以了,於是,你就
跟老闆說:「老闆!我要2號餐」並且把30元給老闆 (soap),老闆便開始動作,最後,
給你 火腿蛋三明治 + 奶茶 (也是一份xml文件),結束這次的交易(連線)。
而 web service 可以在網路世界中實現這種機制,舉個書中最常舉的例子,就是你要開
家網路旅行社,你需要「航機班次查詢/預定、當地天氣預報、匯率換算、旅遊景點,
旅館訂房…等等的」
這麼多不同領域的功能要怎麼整合起來?萬一每一個系統都用不同的平台開發,那不是
糟了…就算真的整合起來,維護起來也累死了@@"
這時候~~如果這些系統都做成 web service 的形式,那!你只要取得這些服務的 wsdl
你就可以把他當成自己一般的 methods 來用了。(不管是 java、.net、php...都一樣)
如果對方服務正常的話,這家網路旅行社的功能沒多少時間就可以開發完了,
日後維護起來也快。
之前的作業就是老師叫我們到 xmethods 上找服務,然後開發出一個有意義的系統出來
xmethods 裡面的服務開發平台有 .net有 xxx 有 xxx,但是完全不用管,只要他的 wsdl
連的到就好^^。接著就是看你用什麼方法把他轉成程式了(java有 axis的 wsdl2Java
.net 好像是啥加入web參考)
...............應該是我太多廢話了@@" 只是想賺點 p 幣。
其實我只是想說… web service 通通都是用 xml 來傳遞訊息,而 xml 只是文字,所有
機器都看得懂,而 傳遞訊息的方式又是透過 http(soap over http),所以才可以跨平台
至於之間好像有提到說如果回傳的形態是該開發語言的物件的話…@@ 不知道會怎樣耶^^|||
不知道規範裡面有沒有說,但我想,如果還傳回的物件還必需多花手續想辨法解開的話,
應該就失去 web service 本來的目的了^^,因為物件包涵屬性和方法,若傳回來的東西
是一個物件的話,表示要拿到你要的東西,還必需知道這個物件的方法名稱/形態 @@
那何不在當初直接把這些方法名稱和屬性當成 web service 的參數來傳,還要用物件
包起來,感覺有點…多此一舉^^
-------
一點個人淺見^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.168.205