??? 研究 Web service 差不多有一個(gè)星期左右了 , 對(duì) Web service 也算有了一個(gè)初步的認(rèn)識(shí) , 比如 , 可以最大程度的復(fù)用 ,? 平臺(tái)無(wú)關(guān)性 , 編程語(yǔ)言模型無(wú)關(guān)性等 , 可以說(shuō) Web Service 確實(shí)很好的解了一部分問(wèn)題 , 但是 , 可能同樣也存在一些問(wèn)題 . 我想 , 如果真的想要進(jìn)行 web service 的開(kāi)發(fā) , 還要有幾點(diǎn)注意 :
1.
響應(yīng)的速度
??????
我用 axis 寫(xiě)了一個(gè)簡(jiǎn)單的 ws, 同時(shí) , Delphi 編寫(xiě)了一個(gè)簡(jiǎn)單的客戶端來(lái)調(diào)用 , 發(fā)現(xiàn)第一次調(diào)用的時(shí)候很慢 , 大約在三四秒左右 , 我想這個(gè)速度是不能被人們接受的 , 況且 , 這是都是在本機(jī)進(jìn)行 .

2. 開(kāi)發(fā)的流程問(wèn)題

?????? IBM developerWorks 上有一篇文章對(duì)此做出了一些闡述

1. 自上而下的開(kāi)發(fā)

2. 自下而上的開(kāi)發(fā)

3. 往返式的開(kāi)發(fā)

這三種都有各自的好處 , 自下而上的開(kāi)發(fā) , 會(huì)先編寫(xiě)接口 , 然后根據(jù)接口來(lái)生成相應(yīng)的 WSDL 文件 , 這種方式被很多工具很好的支持 , 但是 , 如果接口變了 , WSDL 文件也要跟著變 , 那么調(diào)用可能就會(huì)發(fā)生錯(cuò)誤 . 自上而下的開(kāi)發(fā)會(huì)先手工編寫(xiě) WSDL, XSD 等文件 , 這對(duì)開(kāi)發(fā)人員的要求無(wú)形中有了提交 , 開(kāi)發(fā)人員必須很清楚的理解 WSDL, XSD, 當(dāng)然 , 這種要求并不過(guò)分 .( 這也是被作者推薦的方式 ) 往返式開(kāi)發(fā)會(huì)先根據(jù)接口生成 WSDL 文件 , 然后在根據(jù) WSDL 文件生成代碼 , 這種方式 , 造成了一些流程上的混亂 , 也增加了一些無(wú)謂的流程 , 不建議使用 .

3. 每個(gè)服務(wù)的粒度問(wèn)題 , 我認(rèn)為 , 應(yīng)該由多個(gè)小的服務(wù) , 來(lái)組成整個(gè)業(yè)務(wù) .

4.RPC 形式 , 還是文檔形式 . RPC 的最大好處是簡(jiǎn)單 , 容易理解 , 也是被支持的最好的 , 不過(guò) , 文檔形式更為靈活 , 當(dāng)然 , 具體的選擇還要看業(yè)務(wù)的須求 .

5. 數(shù)據(jù)的驗(yàn)證 , 這應(yīng)該是個(gè)很重要的問(wèn)題 , 然而現(xiàn)在的工具似乎并不能很好的解決這個(gè)問(wèn)題 .

?