隨著企業(yè)信息化的不斷深入,企業(yè)各種異構(gòu)信息系統(tǒng)的數(shù)據(jù)交互需求日益增多。Web Service完全基于XML、XSD等獨(dú)立于平臺(tái)和軟件供應(yīng)商標(biāo)準(zhǔn)的技術(shù),是創(chuàng)建可互操作的、分布式應(yīng)用程序的新平臺(tái),能很好的解決異構(gòu)系統(tǒng)交互的需求,將分散在各種系統(tǒng)、信息孤島中的數(shù)據(jù)進(jìn)行整合,讓管理者們能夠?qū)崟r(shí)地訪問(wèn)這些數(shù)據(jù)。SOA(Service-Oriented Architecture,面向服務(wù)架構(gòu))思想是當(dāng)今企業(yè)軟件架構(gòu)的熱點(diǎn),通過(guò)允許強(qiáng)定義的關(guān)系,使業(yè)務(wù)IT 系統(tǒng)變得更加靈活,適應(yīng)業(yè)務(wù)中的改變,IT 系統(tǒng)既可以利用現(xiàn)有系統(tǒng)的功能,也可以做出改變來(lái)滿足它們之間交互的需要。目前,Web Service 是SOA 的一種較好的實(shí)現(xiàn)方式,因此Web Service的應(yīng)用也有助于在SOA架構(gòu)方面的探索打下基礎(chǔ)。下面本文將從四個(gè)方面全面介紹Web Service開發(fā)技術(shù)。
一、需求決定選擇
在使用Web Service開發(fā)技術(shù)之前,首先需要明確的問(wèn)題是Web Service技術(shù)是否滿足企業(yè)項(xiàng)目的實(shí)際需求。Web Service的通信基于SOAP協(xié)議,SOAP協(xié)議現(xiàn)階段是綁定在HTTP協(xié)議上傳輸?shù),這使得Web Service可以跨越不同平臺(tái),穿越防火墻實(shí)現(xiàn)異構(gòu)環(huán)境下的遠(yuǎn)程集成。正如每枚硬幣都有正反兩面,Web Service的跨平臺(tái)特性也是一把雙刃劍,它在斬?cái)喈悩?gòu)遠(yuǎn)程平臺(tái)集成的羈絆的時(shí)候也帶來(lái)了效率問(wèn)題。這是由于Web Service在客戶端要完成調(diào)用請(qǐng)求向XML格式數(shù)據(jù)的轉(zhuǎn)換,并用SOAP協(xié)議傳輸;服務(wù)器端在接收到XML格式的SOAP消息之后,需要解析成本地環(huán)境的調(diào)用信息然后完成調(diào)用。由此可見,Web Service在實(shí)現(xiàn)異構(gòu)環(huán)境下遠(yuǎn)程應(yīng)用集成的時(shí)候付出了雙層信息轉(zhuǎn)化和傳輸信息量增大的代價(jià)。因此對(duì)于同構(gòu)環(huán)境下的應(yīng)用集成,Web Service技術(shù)并不適合,使用特定平臺(tái)下的遠(yuǎn)程調(diào)用技術(shù),效率會(huì)更高,集成難度更小。
二、Web Service開發(fā)模式
在軟件建模中有三種方式:自底向上,自頂向下和雙向模式。Web Service的開發(fā)模式對(duì)應(yīng)的也有三種:
- “自底向上”模式:從實(shí)現(xiàn)接口代碼開始生成WSDL 文檔。
- “自頂向下”模式:從WSDL 文檔開始生成實(shí)現(xiàn)接口代碼。
- “雙向”模式:從WSDL 文檔開始生成實(shí)現(xiàn)接口代碼,接著使用生成的實(shí)現(xiàn)接口代碼來(lái)生成WSDL 文檔,然后使用生成的WSDL 文檔來(lái)生成最終的實(shí)現(xiàn)接口代碼。
三、開發(fā)框架選擇
現(xiàn)階段,Web Service開發(fā)框架有幾十種之多。主流的開發(fā)框架有四種:Axis、Axis2、Xfire和CXF。其中歷史最悠久的是Axis框架,應(yīng)用也最廣泛,但Axis框架在2006年4月底之后就停止更新了;Xfire也是應(yīng)用較廣泛的Web Service開發(fā)框架,它在2007年5月停止更新;Axis2 由Axis系列演化過(guò)來(lái),對(duì)Axis 進(jìn)行了徹底重寫,它使用了新的模塊化架構(gòu),更方便于功能性的擴(kuò)展;CXF是XFire和Celtix項(xiàng)目的結(jié)合產(chǎn)品,重新的深化了XFire和Celtix這兩個(gè)開發(fā)工具。四種開發(fā)框架的主要特點(diǎn)是:
- Axis項(xiàng)目成熟,文檔多,但是后續(xù)沒(méi)有更新,效率較低。
- Axis2(Axis2和Axis相差很大)支持多語(yǔ)言開發(fā),但復(fù)雜性高,依賴的包數(shù)量和大小都較大,打包部署發(fā)布較麻煩,不能很好的與現(xiàn)有應(yīng)用整合為一體。
- XFire支持Web Service各項(xiàng)標(biāo)準(zhǔn)協(xié)議,可以方便快速地開發(fā)Web Service應(yīng)用,XFire提供了和Spring的集成支持,在Web Service開源社區(qū)擁有眾多的追隨者,且很容易在Spring中使用XFire構(gòu)建Web Service應(yīng)用,有后續(xù)項(xiàng)目CXF支持。
- CXF來(lái)自于XFire項(xiàng)目,經(jīng)過(guò)改造后形成的,就像目前的Struts2來(lái)自Web Work一樣。但目前CXF項(xiàng)目較新,不夠成熟,文檔較少。
四、Web Service測(cè)試
Web Service測(cè)試主要包含功能測(cè)試、性能測(cè)試和安全性測(cè)試三大要點(diǎn)。
- Web Service功能測(cè)試:測(cè)試系統(tǒng)所實(shí)現(xiàn)Web Service接口的功能。開發(fā)人員提供已實(shí)現(xiàn)功能的程序包,和待測(cè)試Web Service的方法名、參數(shù)以及實(shí)現(xiàn)的功能描述。測(cè)試要點(diǎn)是不同的參數(shù)組合,應(yīng)按設(shè)計(jì)要求返回相應(yīng)的信息。
- Web Service性能測(cè)試:測(cè)試系統(tǒng)所實(shí)現(xiàn)Web Service接口的性能,需要Web Service接口的功能測(cè)試已完畢。測(cè)試要點(diǎn)是測(cè)試并發(fā)調(diào)用Web Service接口,觀察其性能表現(xiàn),主要是在不同的并發(fā)量、持續(xù)運(yùn)行時(shí)間和數(shù)據(jù)庫(kù)容量下,測(cè)試事務(wù)的響應(yīng)時(shí)間、總事務(wù)數(shù)、事務(wù)的成功率、點(diǎn)擊率等,同時(shí)監(jiān)控硬件資源的消耗情況。
- Web Service安全性測(cè)試:測(cè)試系統(tǒng)所實(shí)現(xiàn)Web Service接口的安全性。需要Web Service接口的功能測(cè)試已完畢。測(cè)試要點(diǎn)是測(cè)試Web Service接口的調(diào)用是否有用戶名、密碼驗(yàn)證,惡意調(diào)用是否會(huì)導(dǎo)致系統(tǒng)崩潰等。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:WebService開發(fā)技術(shù)的奧秘
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112156584.html