韓昊 蔡淵
摘 要 :微軟公司即將推出.NET技術,用于下一代的互聯網的應用,這標志著新的軟件開發(fā)的基礎和結構將發(fā)生革命性的變化。隨著.NET的平臺的全面推出,在互聯網上必然會出現許多Web Service,提供不同的信息和服務給全球的企業(yè),軟件開發(fā)者使用。這在一方面會讓信息共享的程度更高,人們獲取信息的速度更快;另一方面,由于大量Web Service的產生,對這些Web Service 的合理使用將會產生一系列的問題。我們希望能有一個解決的方案,對Internet 上所有的Web Service都能簡單的使用。
關鍵詞: Web Service,, 智能應用
隨著.NET的平臺的全面推出,在互聯網上必然會出現許多Web Service,提供不同的信息和服務給全球的企業(yè),軟件開發(fā)者使用。我們相信,在Web Service大量使用以后,能提供大量Web Service的工具必然是極其受用戶歡迎的。而且在我們的標準下,客戶端的軟件可以自擴展地使用大量的Web Service,這必然將軟件的開發(fā)水平提高到一個新的層次,無論是軟件開發(fā)人員,還是最終用戶,都會樂意使用,因此,我們的解決方案必然會有廣闊的應用前景。
1.解決方案的背景
本解決方案是基于微軟.NET 架構在互聯網上廣泛使用的基礎上提出的。我們認為,由于.NET架構是基于科技為人服務的理念而提出的,能夠實現信息更大程度上的共享,為人提供更多的方便,加上微軟技術在操作系統的以及軟件平臺上的領先地位,.NET平臺必然將成為下一代互聯網上應用最廣泛的技術平臺,必然會有大量的企業(yè),軟件開發(fā)商在.NET的基礎上開發(fā)軟件,提供不同的服務,以適應人的要求。
在這個基礎上,我們有理由相信:下一代互聯網上提供的Web Service將會越來越多,最終幾乎所有的網站都將以Web Service的形式提供服務。
2.面臨的問題
Web Service 在未來的廣泛應用必然將帶來一些問題:
2.1不面向最終用戶,需要另外軟件支持。
Web Service 是面向開發(fā)人員的,對于最終用戶而言,不能直接使用Web Service來為自己提供服務,必須通過第三方軟件或者ASP.NET的頁面提供接口才能使用。這樣,Web Service的使用便受到了大量的限制,只有為這個Web Service開發(fā)客戶端軟件或者專門的ASP.NET頁面才可以為最終用戶使用,而且只能使用幾個固化在軟件中的Web Service。這樣的開發(fā)方式并不利于客戶端軟件的規(guī)?;图苫?。不可能在一個軟件中實現大量的Web Service的訪問。此外也使得軟件更新麻煩,不同版本之間協調困難,而且大量Web service需要推廣。
2.2 Web Service接口類型多樣,開發(fā)者無法全部掌握。
不同的Web Service將提供不同的接口以實現他們的服務,由于不同的服務提供的接口完全不同,包括傳遞的參數和返回的類型有很大區(qū)別,開發(fā)人員如果需要使用互聯網上的Web Service,就必須了解這些Web Service的接口類型,然后根據他們的實際需求在有限范圍內定制他們的功能。這樣導致所有的.NET軟件開發(fā)者在開發(fā)的時候必須去了解Web Service自己的接口,而且對于一個軟件而言,只能使用有限個Web Service,這并不符合信息共享的原則。
3.解決方案的構思
我們認為,客戶端調用Web Service以提供給最終用戶使用的時候,主要可以通過以下的方法尋求幫助。
首先,我們考慮能不能通過客戶端軟件的代碼直接實現。在使用Internet Explore時,我們發(fā)現,如果在地址欄里直接輸入Web Service的地址,比如某一個asmx文件,在Internet Explore中,我們可以找到它的所有方法,也可以使用參數比較簡單的方法,這讓我們想到,如果在客戶端軟件中寫上這段代碼,通過對WSDL進行分析,就可以讓用戶使用一些Web Service中的方法了,這也可以實現客戶端直接使用Web Service。
其次,客戶端可以根據UDDI的內容,訪問類似的web service,然后自主地使用新出現的Web Service而不需要更改任何代碼。但是,就現在的UDDI的支持程度而言,客戶端只能得到有關這個Web Service的描述文件和一些API,無法直接地、智能地、人性化地使用這些Web Service,仍然需要程序員對客戶端的源代碼進行修改才可以使用。但是可以在大量的Web Service的基礎上再提供一個收集這些Web Service信息的服務器,這個服務器也同樣以Web Service的形式提供一個接口給客戶端軟件,以后只要客戶端軟件訪問這個接口,就可以直接使用在服務器上的Web Service了,這樣可以初步解決客戶端軟件簡單直接地使用Web Service的問題,但是它需要服務器端的幫助。
最后,由于在上面說的像IE一樣對Web Service進行使用,那么用戶將不能知道每一個Web Service中的方法的含義和功能是什么,所以,我們希望能對所有的Web Service的所有方法進行語義上的分析,通過語義的匹配來實現對于Web Service的使用,并可以通過用戶輸入語義來匹配Web Service并對它們進行調用。
以上三點,在三個層次上對于Web Service的使用做了一些構思的說明,我們希望我們提出的解決方案能對以上的問題進行一些探討和研究,并在一定程度上做一些工作解決一部分的問題。
4.結語
在本文中, 我們提出解決方案希望能實現下面的目的:客戶端可以幫助最終用戶使用指定的Web Service,通過簡單的和用戶之間的接口,將Web Service的一些方法直接提供給用戶使用。并讓用戶了解Web Service的功能??蛻舳塑浖梢灾苯邮褂迷谒婚_發(fā)以后出現的Web Service??蛻舳塑浖梢圆桓囊恍写a,就能使用新出現Web Service,讓客戶端開發(fā)人員可以一勞永逸地開發(fā)永遠是最新版本的客戶端軟件。對大量相同類型的Web Service提供統一的接口。我們提供給開發(fā)人員一個統一的訪問Web Service的接口,其中包含和最終用戶交互的接口,這樣開發(fā)人員不必了解不同Web Service的接口,只需要了解我們提供的接口,在這個接口上進行編程,就可以對互聯網上大量的Web Service進行訪問,避免了繁重的勞動,大大減少了開發(fā)人員的工作量。由于我們將我們的解決方案分成了3個不同的層次,每一個層次的設計和實現也有所不同,所以我們將分別描述3個層次的設計,3個層次共同組成了我們的解決方案。
參考文獻
[1]潘益婷,潘修強等,Service的智能農業(yè)系統,《計算機系統應用》.2017 , 26 (11) :114-117。
[2]申鴻燁,Android學習平臺中Web Service架構的實現與研究,《智能計算機與應用》 , 2017 , 7 (3) :159-161。