免費(fèi)下載 計(jì)算機(jī)作業(yè)_第1頁(yè)
免費(fèi)下載 計(jì)算機(jī)作業(yè)_第2頁(yè)
免費(fèi)下載 計(jì)算機(jī)作業(yè)_第3頁(yè)
免費(fèi)下載 計(jì)算機(jī)作業(yè)_第4頁(yè)
免費(fèi)下載 計(jì)算機(jī)作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)院屆畢業(yè)設(shè)計(jì)(論文)論文名稱 院 (系): 學(xué)生姓名: 指導(dǎo)教師: 專 業(yè): 班 級(jí): 完成時(shí)間: 年 月摘 要Web服務(wù)是一種優(yōu)秀的分布式的組件技術(shù),以XML/SOAP/WSDL/UDDI為主干,為互聯(lián)網(wǎng)應(yīng)用提供了一種創(chuàng)建松散耦合、語(yǔ)言中立、平臺(tái)無(wú)關(guān)性的應(yīng)用程序的有效手段。各大軟件廠商都相繼推出Web服務(wù)的開發(fā)平臺(tái)或框架,互聯(lián)網(wǎng)上Web服務(wù)的各種應(yīng)用更是層出不窮。Web服務(wù)使用XML作為數(shù)據(jù)標(biāo)記格式,使用XML Schema來(lái)描述XML文檔的格式,使用SOAP描述Web服務(wù)的通信規(guī)則和格式,使用WSDL描述Web服務(wù)和客戶機(jī)之間消息處理機(jī)制和Web服務(wù)的接口,使用UDDI來(lái)發(fā)現(xiàn)互聯(lián)網(wǎng)上更多

2、的Web服務(wù)。在線房屋交易已經(jīng)具有一定的市場(chǎng)規(guī)模,在線房屋交易具有長(zhǎng)時(shí)間在線、動(dòng)態(tài)交互、多種形式展示、受眾面廣、信息更新及時(shí)等優(yōu)越性,有力地沖擊了傳統(tǒng)店面交易。將Web服務(wù)應(yīng)用于在線房屋交易中,可以提高房屋信息的準(zhǔn)確性、可重用性,同時(shí)可以簡(jiǎn)化交易平臺(tái)的開發(fā)流程,增加在線房屋交易平臺(tái)的靈活性和專業(yè)性。為了實(shí)現(xiàn)一個(gè)在線房屋交易平臺(tái),首先分析房屋及物業(yè)信息的通用格式,構(gòu)造出用來(lái)描述房屋和物業(yè)信息的 XML的XML Schema。然后利用Web服務(wù)提供一系列服務(wù)接口,包括查詢、提交、修改、刪除等操作,使得包含有房屋及物業(yè)信息的XML可以通過(guò)SOAP在互聯(lián)網(wǎng)上供各種應(yīng)用程序使用。通過(guò)對(duì)在線房屋交易平臺(tái)進(jìn)

3、行需求分析,對(duì)在線房屋交易平臺(tái)進(jìn)行Web建模,應(yīng)用Web服務(wù)提供的服務(wù)接口,利用IIS作為Web服務(wù)器,使用ASP.NET技術(shù)和HTML/CSS/JavaScript語(yǔ)言,實(shí)現(xiàn)一個(gè)在線房屋交易平臺(tái)。關(guān)鍵字: Web服務(wù),可擴(kuò)展標(biāo)記語(yǔ)言,Web服務(wù)描述語(yǔ)言,統(tǒng)一描述發(fā)現(xiàn)與集成,在線房屋交易平臺(tái)AbstractWeb Services, whose main technology includes XML/SOAP/WSDL/UDDI, is considered as a kind of distributed component technology. It provides effectiv

4、e means for implementing Internet applications which are loosely coupled, language neutral, and platform independent. Major software companies supply various kinks of platforms and frameworks to develop Web Services, and also there are a lot of applications about Web Services on the Internet.The dat

5、a format of Web Services is XML. The description of XML document format is XML Schema. SOAP describes the rules and format of communication. WSDL describes the interfaces and the methods of processing messages between Web Services and the client, and computers can discovery more Web Services on the

6、Internet by using UDDI.The market scale of housing online trading has developed to some extent. Housing online trading has occupied the advantages such as long time online, dynamic interaction, diversiform exhibition, broad impact and timely information update, which has a powerful impact on traditi

7、onal store trading. Web Services will be used in online housing trading and it can improve the accuracy and reusability of the information, simplify the development process of the trading platform, and increase the flexibility and professionalism of Housing Online Trading Platform. In order to imple

8、ment Housing Online Trading Platform, first, analyze common format of housing and estate information, construct XML Schema which describes XML of housing and the property information. With a series of interfaces provided by Web Services which includes enquiry, submission, modification, deletion and

9、other operations, XML of housing and the property information can be used by any application on the Internet through SOAP. With the requirement analysis and web modeling of Housing Online Trading Platform, making use of IIS as Web server, ASP.NET as development technology, and HTML/CSS/JavaScript as

10、 development language, Housing Online Trading Platform is implemented.Key words: Web Services,XML,WSDL,UDDI,House Online Trading Platform1 緒論1.1.1 課題背景和意義近年來(lái),全國(guó)各地如雨后春筍般地出現(xiàn)了很多二手房中介商,他們主要為買賣租賃二手房的人們服務(wù),通過(guò)提取一定酬金來(lái)進(jìn)行盈利。由于房產(chǎn)交易屬于大宗買賣,所以這些中介商獲利頗豐,從而吸引越來(lái)越多的人進(jìn)入這個(gè)行業(yè)。房產(chǎn)中介從一開始就采取了店鋪式的門面形式,采用紙和筆的數(shù)據(jù)保存方法。這種方法的弊端顯而易見

11、:首先是信息的非標(biāo)準(zhǔn)性,不同的業(yè)務(wù)員記錄的格式都不一樣,容易產(chǎn)生錯(cuò)誤和紕漏,引起損失和糾紛;然后就是信息的易失性,對(duì)于紙質(zhì)的紀(jì)錄,非常容易發(fā)生不可還原的損壞,造成企業(yè)的損失;再者就是信息的不可復(fù)制性,對(duì)于大量的業(yè)務(wù)數(shù)據(jù),如果制作備份或副本將會(huì)是一件浩大而繁瑣的工程,處理不當(dāng)就會(huì)影響企業(yè)的穩(wěn)步發(fā)展。借助計(jì)算機(jī)和Internet,房產(chǎn)中介公司找到了暫時(shí)解決的辦法。他們利用運(yùn)行在桌面的計(jì)算機(jī)來(lái)作為公司日常業(yè)務(wù)所產(chǎn)生文檔的保存地方和處理中心;利用建立自己公司的網(wǎng)站來(lái)進(jìn)行宣傳和業(yè)務(wù)處理。但是,簡(jiǎn)單的一個(gè)桌面管理系統(tǒng)或是一個(gè)信息發(fā)布網(wǎng)站已經(jīng)無(wú)法滿足房產(chǎn)交易的需求,因?yàn)榉慨a(chǎn)交易市場(chǎng)的日益透明化、規(guī)范化,整個(gè)

12、行業(yè)進(jìn)入了激烈的競(jìng)爭(zhēng)。隨著房產(chǎn)中介的業(yè)務(wù)越來(lái)越大,信息越來(lái)越多,各種復(fù)雜的應(yīng)用程序和歷史遺留數(shù)據(jù)給房產(chǎn)中介帶來(lái)了很高的維護(hù)費(fèi)用和更新代價(jià)。如圖 1.1所示。公司數(shù)據(jù)保存在桌面應(yīng)用程序公司數(shù)據(jù)保存在紙質(zhì)文件公司數(shù)據(jù)保存在Web頁(yè)面公司數(shù)據(jù)保存為其他的形式中介公司數(shù)據(jù)圖 4.1中介公司數(shù)據(jù)訪問(wèn)示意圖比起實(shí)時(shí)變化的房產(chǎn)信息,一些物業(yè)小區(qū)的信息相對(duì)固定且具有持久性,對(duì)于同一區(qū)域的不同房產(chǎn)中介公司來(lái)說(shuō),重復(fù)錄入物業(yè)小區(qū)的資料浪費(fèi)了很多人力、物力和財(cái)力,而且不同的房產(chǎn)交易平臺(tái)在信息的準(zhǔn)確性和實(shí)時(shí)性上也參差不齊,有時(shí)甚至?xí)`導(dǎo)客戶。房產(chǎn)中介公司和購(gòu)房者對(duì)統(tǒng)一規(guī)范的物業(yè)信息的需求愈來(lái)愈大,通過(guò)Web服務(wù)解決這

13、個(gè)問(wèn)題也就自然而然成了本文的研究目標(biāo)。Web服務(wù)就是通過(guò)Web提供的服務(wù)。按照W3C的定義,Web服務(wù)是一種通過(guò)統(tǒng)一資源指示符(URI)標(biāo)識(shí)的軟件應(yīng)用,其接口及綁定形式可通過(guò)XML標(biāo)準(zhǔn)定義、描述和檢索,Web服務(wù)能夠通過(guò)XML消息及Internet協(xié)議(如 )完成與其他軟件應(yīng)用的直接交互。Web服務(wù)的主要目標(biāo)就是在現(xiàn)有的各種異構(gòu)平臺(tái)的基礎(chǔ)上構(gòu)筑一個(gè)通用的與平臺(tái)無(wú)關(guān)、與語(yǔ)言無(wú)關(guān)的技術(shù)層,各種不同平臺(tái)之上的應(yīng)用依靠這個(gè)技術(shù)層實(shí)施彼此的連接和集成。簡(jiǎn)單來(lái)說(shuō),Web服務(wù)就是一個(gè)向外界暴露出的能夠通過(guò)Internet進(jìn)行調(diào)用的API或者應(yīng)用程序。對(duì)于外部的Web服務(wù)使用者而言,Web服務(wù)實(shí)際上是一種部署

14、在Web上的對(duì)象或者組件,它具有以下特征:良好的封裝性、松散耦合、使用標(biāo)準(zhǔn)協(xié)議規(guī)范、高度可集成能力1。Web服務(wù)這些特征決定了它是適合解決目前獲取統(tǒng)一規(guī)范的物業(yè)信息的最佳途徑。不論房產(chǎn)中介自身的應(yīng)用平臺(tái)是桌面應(yīng)用程序還是網(wǎng)站,都可以使用標(biāo)準(zhǔn)的方法從Web服務(wù)獲取最新最準(zhǔn)確的物業(yè)信息,并應(yīng)用到自己的系統(tǒng)中。1.2 國(guó)內(nèi)外研究狀況自從2000年6月,Web服務(wù)被Ariba、IBM和Microsoft 正式提出以來(lái),它一直是學(xué)術(shù)界、工業(yè)界討論的焦點(diǎn)和研究的重點(diǎn)。特別是隨著面向服務(wù)的體系結(jié)構(gòu)(SOA)技術(shù)和Grid技術(shù)的發(fā)展和應(yīng)用的普及,作為其基礎(chǔ)的Web服務(wù)也得到普遍重視。其重要標(biāo)志是目前國(guó)際上已經(jīng)

15、形成了每年召開的IEEE International Conference on Web Services(ICWS)和IEEE International Conference on Services Computing(SCC)兩個(gè)主要國(guó)際會(huì)議,以及各種有關(guān)的Web與Grid應(yīng)用、分布式計(jì)算等會(huì)議上,都有涉及Web服務(wù)的專題。同時(shí),國(guó)際上也已經(jīng)發(fā)行了International Journal of Web services Research(IJWSR)、International Journal on Web Services Practices (IJWSP)、SOA WEB SERV

16、ICES JOURNAL等針對(duì)Web服務(wù)的期刊。國(guó)外許多大的國(guó)際組織和企業(yè)、公司,如IBM、Microsoft、VeriSign、W3C、RSA、EBA、IETF、OASIS、SUN、HP等,都在致力于研究和開發(fā)有關(guān)Web服務(wù)的各種標(biāo)準(zhǔn)、協(xié)議和應(yīng)用產(chǎn)品,這些都極大地推動(dòng)了Web服務(wù)技術(shù)的應(yīng)用和發(fā)展2。Web服務(wù)作為一種分布式計(jì)算模型,是Web上數(shù)據(jù)和信息集成的有效機(jī)制。在電子商務(wù)應(yīng)用領(lǐng)域,復(fù)雜的應(yīng)用連接和歷史遺留的程序代碼造成了電子商務(wù)應(yīng)用過(guò)高的維護(hù)代價(jià)和更新代價(jià),而Web服務(wù)正好能夠解決這一問(wèn)題,成為目前應(yīng)用環(huán)境中最為合理的解決方案。隨著Web應(yīng)用從集中式向分布式的迅速發(fā)展,以提高電子商務(wù)系

17、統(tǒng)的健壯性、高性能計(jì)算能力為出發(fā)點(diǎn),為了解決現(xiàn)實(shí)Web用中“應(yīng)用到應(yīng)用”及“點(diǎn)對(duì)點(diǎn)”的核心問(wèn)題,使當(dāng)前Web應(yīng)用適應(yīng)全球化和復(fù)雜商務(wù)處理的需求,研究并應(yīng)用Web服務(wù)技術(shù)具有重要的意義。Web務(wù)的基本構(gòu)架包括Web服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)代理以及它們之間的通信、XML格式的消息傳遞機(jī)制等。正是基于該架構(gòu),對(duì)Web服務(wù)核心支撐技術(shù)的研究和應(yīng)用才得以迅速開展3,4。同時(shí),學(xué)術(shù)界對(duì)Web服務(wù)有不同側(cè)面的研究工作和相應(yīng)的技術(shù)成果。例如,語(yǔ)義Web在Web服務(wù)中的應(yīng)用5-7;針對(duì)Web服務(wù)應(yīng)用中的安全及隱私問(wèn)題2,8;Web服務(wù)的服務(wù)質(zhì)量9,10;Web服務(wù)的組合11,12。以及以上幾種方面的交叉研究

18、,如基于本體的安全隱私研究13,14;Web服務(wù)組合的服務(wù)質(zhì)量研究15;基于語(yǔ)義Web服務(wù)自動(dòng)組合的研究16等。在應(yīng)用領(lǐng)域,有P2P環(huán)境中的Web服務(wù)應(yīng)用17;網(wǎng)格環(huán)境中Web服務(wù)的研究18;Web基礎(chǔ)結(jié)構(gòu)的開發(fā)和部署19;分布式并行數(shù)據(jù)庫(kù)中Web服務(wù)的應(yīng)用20等。在實(shí)際開發(fā)領(lǐng)域,在商業(yè)21,22,23、醫(yī)藥24、環(huán)境25、政務(wù)26等領(lǐng)域都有Web服務(wù)應(yīng)用的身影。此外,還有一些關(guān)于Web服務(wù)管理系統(tǒng)27和Web服務(wù)模型驅(qū)動(dòng)開發(fā)28等方面的研究。隨著軟件廠商不斷完善Web服務(wù)相關(guān)技術(shù)規(guī)范,并推出新的產(chǎn)品,越來(lái)越多的企業(yè)正受益于Web服務(wù)。同時(shí),各大技術(shù)提供商陸續(xù)推出Web服務(wù)的構(gòu)建工具,包括Mi

19、crosoft公司的Visual Studio.NET、IBM公司的Web Service Toolkit、SUN公司的SUN ONE等?;赪eb服務(wù)的公共技術(shù)標(biāo)準(zhǔn)SOAP、WSDL、UDDI、WSFL等或是已經(jīng)成為事實(shí)行業(yè)標(biāo)準(zhǔn),或是正處于制定的過(guò)程中。各大技術(shù)提供商和傳統(tǒng)商業(yè)企業(yè)都投入到標(biāo)準(zhǔn)的制定和應(yīng)用中去,而作為Web服務(wù)體系架構(gòu)的領(lǐng)導(dǎo)者的IBM公司和Microsoft公司也開始在全球推廣Web服務(wù)技術(shù),Web服務(wù)將成為將來(lái)動(dòng)態(tài)商務(wù)Web的主流技術(shù)29。根據(jù)經(jīng)濟(jì)觀察網(wǎng)的報(bào)道2008年地產(chǎn)中介行業(yè)分化將加?。骸?002年北京每成交4.59套商品住宅,才成交1套二手房;2003年每成交4.2

20、1套商品住宅,成交1套二手房;2004年每成交3.40套商品住宅,成交1套二手房;2005年每成交3.06套商品住宅,成交1套二手房;2006年每成交2.39套商品住宅,成交1套二手房;2007二手房和商品房的成交數(shù)量距離更是縮小,2007年每成交1.6套商品住宅,就成交1套二手房?!比鐖D 1.2所示。從圖 1.2的數(shù)據(jù)我們可以看到,二手房越來(lái)越成為北京人購(gòu)房的一個(gè)主要選擇。這也從一個(gè)側(cè)面反映了國(guó)內(nèi)住房需求的變化。與之相呼應(yīng)的是全國(guó)各地如雨后春筍般地出現(xiàn)了很多二手房中介商,他們主要為買賣租賃二手房的人們服務(wù),通過(guò)提取一定酬金來(lái)進(jìn)行盈利。由于房產(chǎn)交易屬于大宗買賣,所以這些中介商獲利頗豐,從而吸引

21、越來(lái)越多的人進(jìn)入這個(gè)行業(yè)。圖 4.2北京2002-2007商品房與二手房成交數(shù)量比值趨勢(shì)圖為了消除這些弊端,很多房產(chǎn)中介開始利用計(jì)算機(jī)管理信息,他們借助運(yùn)行在個(gè)人電腦上的桌面應(yīng)用程序來(lái)進(jìn)行業(yè)務(wù)信息的保存和更新,并可以定期備份。這樣,既克服了傳統(tǒng)紙筆的弊端,也大大提高了業(yè)務(wù)的效率,幫助企業(yè)獲取更大的利潤(rùn)。隨著一些房產(chǎn)中介的發(fā)展,他們的業(yè)務(wù)從原來(lái)的一家店面發(fā)展到幾家甚至幾十家,此時(shí)孤立的信息管理系統(tǒng)便不能適應(yīng)發(fā)展的要求。這時(shí)計(jì)算機(jī)再一次發(fā)揮了強(qiáng)大的作用,借助互聯(lián)網(wǎng),實(shí)現(xiàn)信息的隨時(shí)同步,讓多家店面仿佛在同一個(gè)辦公室工作一樣,任何信息一經(jīng)發(fā)布就立刻到達(dá)每一個(gè)業(yè)務(wù)員的眼前,便捷高效且步調(diào)一致,大大推動(dòng)了

22、房產(chǎn)中介的發(fā)展。目前利用網(wǎng)絡(luò)進(jìn)行信息交換的桌面應(yīng)用程序有很多,其中不乏應(yīng)用范圍很廣的房屋中介平臺(tái),如房友、房博士等。后來(lái)互聯(lián)網(wǎng)蓬勃發(fā)展,各種形式內(nèi)容的網(wǎng)站吸引了越來(lái)越多的目光,由于高度集中了公眾的注意力,所以潛在的商機(jī)就被發(fā)掘出來(lái),電子商務(wù)應(yīng)運(yùn)而生?;ヂ?lián)網(wǎng)具有天然的優(yōu)勢(shì),它具有長(zhǎng)時(shí)間在線、動(dòng)態(tài)交互、多種形式展示、受眾面廣泛等特點(diǎn),逐漸成為眾多房產(chǎn)中介公司青睞的宣傳方法和交易手段。這種類型的房屋交易平臺(tái)在互聯(lián)網(wǎng)上很多見,比如各大媒體的房產(chǎn)頻道、房產(chǎn)中介自己運(yùn)行的房屋交易平臺(tái)等。其中做的出色的有廣州的滿堂紅網(wǎng)站,他們憑借網(wǎng)站這種形式,把自己的公司規(guī)模擴(kuò)大到很多城市中,并取得不錯(cuò)的業(yè)績(jī)。此外,還有人

23、研究基于 短信的房屋交易平臺(tái)30,這也是很好的思路,但是由于表現(xiàn)形式和資費(fèi)的限制,業(yè)務(wù)有可能會(huì)受到wap網(wǎng)站的沖擊。1.3 論文的主要內(nèi)容和結(jié)構(gòu)本文首先敘述了相關(guān)技術(shù)背景、課題的研究意義及課題的國(guó)內(nèi)外研究現(xiàn)狀;接著對(duì)Web服務(wù)技術(shù)進(jìn)行了研究,分析了Web服務(wù)的體系結(jié)構(gòu),系統(tǒng)地研究了Web服務(wù)的關(guān)鍵技術(shù):包括XML、SOAP、WSDL、UDDI以及Web服務(wù)的安全,并討論了基于Web服務(wù)實(shí)現(xiàn)本系統(tǒng)的優(yōu)勢(shì)所在;然后介紹了論文的主要研究?jī)?nèi)容和全文的內(nèi)容結(jié)構(gòu)。在系統(tǒng)的分析與設(shè)計(jì)階段,首先對(duì)房產(chǎn)交易平臺(tái)進(jìn)行總體目標(biāo)和具體功能進(jìn)行分析,根據(jù)功能和意義劃分模塊,提出了基于Web服務(wù)和數(shù)據(jù)、行為、表現(xiàn)三層模型

24、的系統(tǒng)架構(gòu);在系統(tǒng)的開發(fā)與實(shí)現(xiàn)階段,根據(jù)實(shí)際需求,創(chuàng)建房產(chǎn)、用戶等相關(guān)數(shù)據(jù)庫(kù)以及提供物業(yè)信息的Web服務(wù),按照Web服務(wù)安全性能要求,實(shí)現(xiàn)Web服務(wù)消費(fèi)以及按照符合W3C所制訂的各項(xiàng)標(biāo)準(zhǔn)建立在線房產(chǎn)交易平臺(tái)。最后,對(duì)本文的研究?jī)?nèi)容和技術(shù)創(chuàng)新進(jìn)行了總結(jié),并提出了下一步工作的展望。論文的結(jié)構(gòu)如下。第一章:緒論,主要敘述了課題背景和意義,以及國(guó)內(nèi)外研究狀況。第二章:Web服務(wù)及項(xiàng)目開發(fā)環(huán)境介紹,給出了Web服務(wù)體系架構(gòu)、協(xié)議棧、規(guī)范、安全以及開發(fā)生命周期,對(duì)比了Web服務(wù)開發(fā)的工具和平臺(tái)。為第三章的研究做好了理論和工具的準(zhǔn)備。第三章:在線房屋交易平臺(tái)的設(shè)計(jì),通過(guò)研究目前的解決方案的缺陷以及采用Web

25、服務(wù)解決的優(yōu)勢(shì),對(duì)在線房屋交易平臺(tái)進(jìn)行需求分析和Web建模以及平臺(tái)的總體設(shè)計(jì)。第四章:在線房屋交易平臺(tái)的實(shí)現(xiàn),主要包括Web服務(wù)和在線房屋交易平臺(tái)的實(shí)現(xiàn)、項(xiàng)目的測(cè)試、項(xiàng)目運(yùn)行結(jié)果,并對(duì)其做出了總結(jié)。第五章:總結(jié)與展望,對(duì)全文的工作進(jìn)行總結(jié)以及對(duì)未來(lái)工作的展望。最后為致謝和參考文獻(xiàn)。2 Web服務(wù)及項(xiàng)目開發(fā)環(huán)境介紹Web服務(wù)技術(shù)是為解決在Internet環(huán)境下,松散耦合的Web服務(wù)之間相互調(diào)用、相互集成而設(shè)計(jì)的技術(shù)框架。以XML/SOAP/WSDL/UDDI為主干的Web服務(wù)技術(shù)賦予了Web服務(wù)一個(gè)與傳統(tǒng)對(duì)象調(diào)用技術(shù)相似但又有本質(zhì)區(qū)別的體系結(jié)構(gòu)1,30。本章主要介紹Web服務(wù)的體系架構(gòu)、規(guī)范和安

26、全,討論了Web服務(wù)的主流開發(fā)工具和平臺(tái)以及Web服務(wù)的開發(fā)生命周期。2.1 Web服務(wù)體系架構(gòu)Web服務(wù)體系結(jié)構(gòu)基于三種角色(服務(wù)提供者、服務(wù)注冊(cè)中心和服務(wù)請(qǐng)求者)之間的交互。交互具體涉及到發(fā)布、查找和綁定操作。這些角色和操作儀器作用于Web服務(wù)構(gòu)件:Web服務(wù)軟件模塊及其描述。在典型情況下,服務(wù)提供者提供可通過(guò)網(wǎng)絡(luò)訪問(wèn)的軟件模塊(Web服務(wù)的一個(gè)實(shí)現(xiàn))。服務(wù)提供者定義Web服務(wù)的服務(wù)描述,并把它發(fā)布到服務(wù)請(qǐng)求者和服務(wù)注冊(cè)中心。服務(wù)請(qǐng)求者使用查找操作從本地或服務(wù)注冊(cè)中心搜索的服務(wù)描述,然后使用服務(wù)描述與服務(wù)提供者進(jìn)行綁定,并調(diào)用相應(yīng)的Web服務(wù)實(shí)現(xiàn)或進(jìn)行交互。服務(wù)提供者和服務(wù)請(qǐng)求者角色是邏輯

27、結(jié)構(gòu)32。圖 2.3展示了這些操作、提供這些操作的組件以及它們之間的交互。服務(wù)注冊(cè)中心服務(wù)提供者服務(wù)使用者查找UDDI,WSDL發(fā)布UDDI,WSDL綁定SOAP WSDL圖 4.3展示W(wǎng)eb服務(wù)體系架構(gòu)模型示意圖2.1.1 Web服務(wù)角色Web服務(wù)體系結(jié)構(gòu)中的角色包括如下。服務(wù)提供者(Service Provider):從企業(yè)的角度看,這是服務(wù)的所有者。從體系結(jié)構(gòu)的角度看,這是托管訪問(wèn)服務(wù)的平臺(tái)。服務(wù)請(qǐng)求者(Service Requestor):從企業(yè)的角度看,這是滿足特定功能的企業(yè)。從體系結(jié)構(gòu)的角度看,這是尋找并調(diào)用服務(wù),或啟動(dòng)與服務(wù)交互的應(yīng)用程序。服務(wù)請(qǐng)求者角色可以有瀏覽器來(lái)?yè)?dān)當(dāng),由人或

28、無(wú)用戶界面的程序(例如,另一個(gè)Web服務(wù))來(lái)控制它。服務(wù)注冊(cè)中心(Services Registry):這是可搜索的服務(wù)描述注冊(cè)中心,服務(wù)提供者在此發(fā)布它們的服務(wù)描述。在靜態(tài)綁定開發(fā)或動(dòng)態(tài)綁定執(zhí)行期間,服務(wù)請(qǐng)求者查找服務(wù)并獲得服務(wù)的綁定信息(在服務(wù)描述中)。對(duì)于靜態(tài)綁定的服務(wù)請(qǐng)求者,服務(wù)注冊(cè)中心是體系結(jié)構(gòu)中的可選角色,因?yàn)榉?wù)提供者可以把描述直接發(fā)送給服務(wù)請(qǐng)求者。同樣,服務(wù)請(qǐng)求者可以從服務(wù)注冊(cè)中心以外的其他來(lái)源得到服務(wù)描述,例如,本地文件、FTP站點(diǎn)、Web站點(diǎn)等。2.1.2 Web服務(wù)行為對(duì)于利用Web Services的應(yīng)用程序,必須發(fā)生以下三個(gè)行為:發(fā)布服務(wù)描述、查詢或查找服務(wù)描述以及根

29、據(jù)服務(wù)描述綁定或調(diào)用服務(wù)。這些行為可以單次或反復(fù)出現(xiàn)1。Web服務(wù)體系架構(gòu)中包含的這些具體操作如下。發(fā)布(Publish):為了使服務(wù)可訪問(wèn),需要發(fā)布服務(wù)描述以使服務(wù)請(qǐng)求者可以查找它。發(fā)布服務(wù)描述的位置可以根據(jù)應(yīng)用程序的要求而變化。查找(Find):在查找操作中,服務(wù)請(qǐng)求者直接檢索服務(wù)描述或在服務(wù)中冊(cè)中心中查詢所要求的服務(wù)類型。對(duì)于服務(wù)請(qǐng)求者,可能會(huì)在兩個(gè)不同的生命周期階段中牽涉到查找操作:在設(shè)計(jì)時(shí),為了程序開發(fā)而檢索服務(wù)的接口描述;而在運(yùn)行時(shí),為了調(diào)用而檢索服務(wù)的綁定和位置描述。綁定(Bind):最后需要調(diào)用服務(wù)。在綁定操作中,服務(wù)請(qǐng)求者使用服務(wù)描述中的綁定細(xì)節(jié)來(lái)定位、聯(lián)系和調(diào)用服務(wù),從而在

30、運(yùn)行時(shí)調(diào)用或啟動(dòng)與服務(wù)的交互。2.1.3 Web服務(wù)示例為了更加清楚地展示W(wǎng)eb服務(wù)的體系架構(gòu),現(xiàn)在給出一個(gè)虛構(gòu)的例子來(lái)說(shuō)明。如圖 2.4所示。Web Service ClientUDDIWeb ServiceQuery a Web serviceGet the Web service URLRequest the service descriptionGet the service descriptionRequest the Web serviceGet the service response圖 4.4一個(gè)Web服務(wù)示例首先Web服務(wù)客戶端(Web service client)向UDD

31、I中心發(fā)出一個(gè)定位Web服務(wù)的請(qǐng)求,UDDI中心返回一個(gè)鏈接到Web服務(wù)的URL。Web服務(wù)客戶端向上一步返回的提供Web服務(wù)的服務(wù)器請(qǐng)求描述Web服務(wù)的WSDL,服務(wù)器返回WSDL。最終,Web服務(wù)客戶端按照需求發(fā)出Web服務(wù)請(qǐng)求,并得到服務(wù)器返回的Web服務(wù)的響應(yīng)。這就是一個(gè)典型的Web服務(wù)示例。2.1.4 Web服務(wù)協(xié)議棧Web服務(wù)協(xié)議棧的基礎(chǔ)是網(wǎng)絡(luò)傳輸層。Web服務(wù)要被服務(wù)請(qǐng)求者調(diào)用,就必須是可以通過(guò)網(wǎng)絡(luò)可以訪問(wèn)的。 ,F(xiàn)TP,SMTP等Internet環(huán)境下的協(xié)議均可用于Web服務(wù)的傳輸協(xié)議。對(duì)于Intranet,Web服務(wù)還可以使用中間件作為傳輸交互的基礎(chǔ)架構(gòu),如IBM的CORBA

32、。數(shù)據(jù)表現(xiàn)層的XML為整個(gè)Web服務(wù)上層協(xié)議提供了數(shù)據(jù)/信息描述手段,XML是目前全球范圍內(nèi)用于描述數(shù)據(jù)和交換數(shù)據(jù)的一種標(biāo)準(zhǔn)方式。對(duì)于Web服務(wù)而言,無(wú)論是Web服務(wù)的調(diào)用(SOAP)、Web服務(wù)界面的描述(WSDL),還是Web服務(wù)的發(fā)現(xiàn)(UDDI)都是使用XML作為信息描述和交換的標(biāo)準(zhǔn)手段。數(shù)據(jù)模型層是描述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型(也稱為元數(shù)據(jù))。它同樣也是一種數(shù)據(jù),因此,描述數(shù)據(jù)結(jié)構(gòu)的方式也是使用基礎(chǔ)的數(shù)據(jù)表現(xiàn)方式:XML。XML Schema已經(jīng)成為XML世界中的標(biāo)準(zhǔn)數(shù)據(jù)建模語(yǔ)言,SOAP,WSDL,UDDI的XML語(yǔ)法都是采用XML Schema進(jìn)行定義和描述的。XML Schema已經(jīng)成

33、為XML世界中的標(biāo)準(zhǔn)交流工具,這與UML在軟件設(shè)計(jì)中的地位是相類似的。Web服務(wù)協(xié)議棧如表 2.1所示。表 4.1 Web服務(wù)協(xié)議棧示意表協(xié)議服務(wù)層次相關(guān)問(wèn)題WSFLService FlowSecurityManagementQuality of ServicesUDDI-staticService DiscoveryUDDI-directService PublicationWSDLService Description:-Service Implementation-Service InterfaceSOAPXML-based MessagingXML SchemaData Modelin

34、gXMLData Presentation ,F(xiàn)TP,SMTPTransport基于XML的消息層使用的是基于XML的消息協(xié)議SOAP。消息層是構(gòu)筑在更低的傳輸層之上的,這意味著SOAP可以單獨(dú)使用,也可以與任何傳輸協(xié)議聯(lián)合使用。服務(wù)描述層為調(diào)用Web服務(wù)提供了具體的方法。WSDL是一個(gè)基于XML格式的定義服務(wù)的實(shí)現(xiàn)和接口的基礎(chǔ)標(biāo)準(zhǔn)。這意味著WSDL將服務(wù)的描述分為兩部分:服務(wù)接口和服務(wù)實(shí)現(xiàn)。在服務(wù)發(fā)布層,服務(wù)提供者能夠直接向服務(wù)客戶端發(fā)送WSDL文檔,也可以選擇將WSDL文檔發(fā)布到本地WSDL注冊(cè)庫(kù)或是公共/私有的UDDI注冊(cè)中心。服務(wù)發(fā)現(xiàn)層是基于服務(wù)發(fā)布層的。如果Web服務(wù)沒(méi)有或不能被發(fā)布

35、,那么它就不能被發(fā)現(xiàn)。WSFL是協(xié)議棧頂層的服務(wù)工作流層的標(biāo)準(zhǔn)。與協(xié)議棧其他的標(biāo)準(zhǔn)不同,WSFL針對(duì)的是商務(wù)流程建模和工作流1,31。2.1.5 Web服務(wù)規(guī)范Web服務(wù)完全是基于標(biāo)準(zhǔn)的技術(shù),只有基于標(biāo)準(zhǔn),所有的開放廠商才有相同的準(zhǔn)則,才能夠在各自的平臺(tái)上開發(fā)出具有跨平臺(tái)互操作能力的軟件產(chǎn)品和解決方案。標(biāo)準(zhǔn)是達(dá)成跨平臺(tái)互操作能力的靈魂。在標(biāo)準(zhǔn)的開發(fā)方面,各大技術(shù)廠商在標(biāo)準(zhǔn)化組織和承諾下,積極開展工作。目前,介入Web服務(wù)標(biāo)準(zhǔn)開發(fā)的標(biāo)準(zhǔn)化組織有W3C、OASIS、WS-I等。這些組織的工作集中在Web服務(wù)的整體架構(gòu)、Web服務(wù)的訪問(wèn)協(xié)議、Web服務(wù)的界面描述、UDDI、WSIA、WSRP以及跨平

36、臺(tái)、操作系統(tǒng)和編程語(yǔ)言的Web服務(wù)架構(gòu)的互操作。由標(biāo)準(zhǔn)化組織或技術(shù)廠商開發(fā)的Web服務(wù)技術(shù)規(guī)范包括XML、XML Schema、SOAP、WSDL、UDDI、WS-Security、WSFL、WSCL、WSXL、WSIA和WSRP等。下面著重介紹一下組成Web服務(wù)規(guī)范的幾大技術(shù)規(guī)范。2.1.6 Web服務(wù)技術(shù)的基石XML是整個(gè)Web服務(wù)技術(shù)架構(gòu)的基石,XML規(guī)范是一組由W3C定義的規(guī)則,用于用普通文本描述結(jié)構(gòu)化的數(shù)據(jù)。其開始設(shè)計(jì)時(shí)的主要目的是用來(lái)彌補(bǔ)HTML作為在Internet上描述數(shù)據(jù)的標(biāo)準(zhǔn)語(yǔ)言的不足。無(wú)論是HTML還是XML,都是從SGML演化而來(lái)的。這三種語(yǔ)言的相互關(guān)系可以描述為:XM

37、L是SGML的一個(gè)子集,而HTML是SGML的一個(gè)具體應(yīng)用實(shí)例,同樣,HTML也是XML的一個(gè)應(yīng)用實(shí)例,具體的來(lái)說(shuō),HTML是由XML或SGML定義出來(lái)的。由于XML和HTML有著本質(zhì)上的不同具體地說(shuō),就是XML比HTML提供了更多的對(duì)內(nèi)容和結(jié)構(gòu)的說(shuō)明和限制的機(jī)制,使得存儲(chǔ)、查詢、管理XML文檔相對(duì)而言更容易??傊?,XML使用一個(gè)簡(jiǎn)單而又靈活的標(biāo)準(zhǔn)格式,為基于Web的應(yīng)用提供了一個(gè)描述數(shù)據(jù)和交換數(shù)據(jù)的有效手段。HTML描述了顯示全球數(shù)據(jù)的通用方法,而XML提供了直接描述處理全球數(shù)據(jù)的通用方法。其主要特點(diǎn)如下。自描述性:這個(gè)特性使差異性可以存在,使計(jì)算機(jī)可以在沒(méi)有人為干涉的情況下,理解數(shù)據(jù)的含義

38、??蓴U(kuò)展性:文檔通過(guò)DTD或XML Schema來(lái)定義文檔結(jié)構(gòu),使其他信息系統(tǒng)自動(dòng)了解文檔的內(nèi)容??尚r?yàn)性:用戶可以通過(guò)DTD或XML Schema來(lái)校驗(yàn)XML文檔的格式是否滿足DTD或XML Schema的約束。層次結(jié)構(gòu):能夠保證信息的層次性描述。豐富的鏈接定義:對(duì)應(yīng)于HTML單一的單項(xiàng)通道鏈接,XML提供各種不同的鏈接,如一對(duì)多、多對(duì)一和雙向鏈接。多樣的樣式表支持:XML把數(shù)據(jù)內(nèi)容與它們的表現(xiàn)形式分開。這樣既可以只關(guān)心數(shù)據(jù)的邏輯結(jié)構(gòu),也可以通過(guò)樣式表來(lái)格式化數(shù)據(jù)的表現(xiàn)。隨著XML在Internet應(yīng)用中的不斷普及,XML從Web網(wǎng)站的內(nèi)容管理、內(nèi)容描述起步,逐漸發(fā)散到其他基于Interne

39、t的應(yīng)用中。這些所有XML相關(guān)的應(yīng)用如下。內(nèi)容管理發(fā)布:人們依靠XML的可定義可擴(kuò)展的能力來(lái)描述整個(gè)Web世界上種類繁多、樣式豐富多彩的數(shù)據(jù)內(nèi)容,依靠一次描述、多次表現(xiàn)的XML標(biāo)準(zhǔn)應(yīng)用模式,使得基于XML的內(nèi)容能夠以多種形式進(jìn)行信息發(fā)布。這些發(fā)布方式包括Web網(wǎng)站內(nèi)容發(fā)布、電子出版內(nèi)容發(fā)布以及其他出版業(yè)內(nèi)容發(fā)布等。電子商務(wù)應(yīng)用:在這個(gè)領(lǐng)域,XML一般承擔(dān)以往EDI所承擔(dān)的角色,人們依靠XML來(lái)描述交換商務(wù)事務(wù)信息,實(shí)現(xiàn)分布式的電子商務(wù)應(yīng)用的交互。由于XML是可定制的可擴(kuò)展的,人們制定了很多用于特定領(lǐng)域的商務(wù)事務(wù)信息描述規(guī)范,諸如Ariba的cXML、Commerce One的xCBL以及OAS

40、IS-Open.ORG的ebXML等。數(shù)據(jù)層集成:對(duì)于當(dāng)代電子商務(wù)而言,商務(wù)數(shù)據(jù)的交換是應(yīng)用的關(guān)鍵環(huán)節(jié),隨著在電子商務(wù)應(yīng)用中(比如B2B,B2C應(yīng)用,尤其B2B中)商務(wù)信息交換的應(yīng)用模式不斷為主流應(yīng)用開發(fā)所接受,面向通用領(lǐng)域的數(shù)據(jù)集成數(shù)據(jù)交換應(yīng)用也成為了一個(gè)重要的XML應(yīng)用領(lǐng)域,在這方面,不少電子商務(wù)應(yīng)用領(lǐng)域(尤其B2B應(yīng)用)的解決方案在陸續(xù)進(jìn)入這一更廣泛化的領(lǐng)域。應(yīng)用層集成:當(dāng)XML在經(jīng)歷了電子商務(wù)應(yīng)用的經(jīng)驗(yàn)之后,人們逐漸地不僅在數(shù)據(jù)層上完成應(yīng)用系統(tǒng)(尤其是商務(wù)系統(tǒng))的連接,同時(shí)希望能在業(yè)務(wù)層或者函數(shù)層上完成系統(tǒng)的互聯(lián),這也就是人們常說(shuō)的Internet環(huán)境的應(yīng)用的廣泛互聯(lián),這方面的技術(shù)主要

41、是以XML為技術(shù)基礎(chǔ)的Web服務(wù)系列技術(shù)。系統(tǒng)配置信息描述:隨著XML在各種各樣應(yīng)用開放中的延伸,原先系統(tǒng)軟件、應(yīng)用軟件中使用文本、Profile文件或者是INI文件形式進(jìn)行系統(tǒng)、應(yīng)用配置信息管理的方式逐漸被使用XML文檔的管理方式所替代。正是由于XML的特點(diǎn)和廣泛應(yīng)用場(chǎng)合,對(duì)于Web服務(wù)而言,無(wú)論是Web服務(wù)的調(diào)用(SOAP)、Web服務(wù)界面的描述(WSDL),還是Web服務(wù)的發(fā)現(xiàn)(UDDI)都是使用XML作為信息描述和交換的標(biāo)準(zhǔn)手段。2.1.7 調(diào)用Web服務(wù)Web服務(wù)的發(fā)展離不開電子商務(wù)的發(fā)展,電子商務(wù)其實(shí)遠(yuǎn)遠(yuǎn)不僅是指像Amazon 這樣的網(wǎng)絡(luò)零售業(yè)的B2C模式的電子商務(wù),其更核心的更重

42、要的是常事潛力比零售業(yè)大幾個(gè)數(shù)量級(jí)的企業(yè)級(jí)電子商務(wù)應(yīng)用,即B2B。傳統(tǒng)上,B2B電子商務(wù)是基于EDI技術(shù)的,而EDI信息標(biāo)準(zhǔn)的最大缺點(diǎn)是在EDI世界內(nèi)部,沒(méi)有一個(gè)全球通用的標(biāo)準(zhǔn)。自XML技術(shù)被引入到B2B電子商務(wù)應(yīng)用中去,人們發(fā)現(xiàn)在B2B電子商務(wù)應(yīng)用環(huán)境中XML的確是一個(gè)非常優(yōu)秀而且極為合適的技術(shù)。使用XML來(lái)描述商務(wù)信息使得各種B2B應(yīng)用在數(shù)據(jù)層上獲得了開放集成的能力。然而從技術(shù)的角度來(lái)看,這僅僅完成了應(yīng)用領(lǐng)域中最低層次的集成:數(shù)據(jù)層集成。但要使B2B電子商務(wù)應(yīng)用真正被方便地連接在一起,我們需要在數(shù)據(jù)之外,在模塊層、應(yīng)用層等方面也需要達(dá)成一致。正是為了解決模塊層能夠以一種開放的,自說(shuō)明的,統(tǒng)

43、一的方式進(jìn)行集成和交互,IBM,Microsoft,DevelopMentor等公司協(xié)作制定了Simple Object Access Protocol(SOAP1.1)規(guī)范。SOAP是在XML基礎(chǔ)上定義的,完全繼承XML的開放性和描述可擴(kuò)展性。SOAP使用現(xiàn)有基于TCP/IP的應(yīng)用層協(xié)議 ,SMTP,POP3等,可以獲得與現(xiàn)有的網(wǎng)絡(luò)通信協(xié)議最大程度的兼容。SOAP的消息路徑機(jī)制和可擴(kuò)充的Header和Body機(jī)制又為分布式計(jì)算提供了很好的支持。在2001年4月,在美國(guó)San Jose召開的Web服務(wù)研討會(huì)上正式確立了SOAP作為Web服務(wù)的核心規(guī)范的地位。被設(shè)計(jì)成跨平臺(tái)、跨語(yǔ)言、跨協(xié)議地完成

44、對(duì)象互聯(lián)的SOAP逐漸顯露出了它的優(yōu)越性。SOAP可以看成是分布式對(duì)象訪問(wèn)技術(shù)的一個(gè)新的特性,比起CORBA,COM+,EJB這些傳統(tǒng)主流的分布式對(duì)象技術(shù),SOAP合理地解決了異構(gòu)系統(tǒng),異構(gòu)組件對(duì)B2B電子商務(wù)全球化的束縛,加上XML已經(jīng)得到廣泛的應(yīng)用,各種平臺(tái)都可以有效地使用XML,那么使用XML重新描述和包裝各種遠(yuǎn)程組建訪問(wèn)協(xié)議,以使各種組建平臺(tái)的遠(yuǎn)程訪問(wèn)協(xié)議都能通過(guò)同一個(gè)標(biāo)準(zhǔn)的消息進(jìn)行傳輸?shù)腟OAP就成了大勢(shì)所趨。如圖 2.5所示。CORBACORBA組件COM+COM/DCOMJ2EEEJBIIOPORPCRMISOAP Message圖 4.5展示SOAP抹平組件平臺(tái)差異示意圖SOA

45、P為在一個(gè)松散的、分布的環(huán)境中使用XML對(duì)等地交換結(jié)構(gòu)化的和類型化的信息提供了一個(gè)簡(jiǎn)單且輕量級(jí)的機(jī)制。SOAP本身并不定義任何應(yīng)用語(yǔ)義,它只是定義了一種簡(jiǎn)單的機(jī)制,通過(guò)一個(gè)模塊化的包裝模型和對(duì)模塊中特定格式編碼的數(shù)據(jù)的重編碼機(jī)制來(lái)表示應(yīng)用語(yǔ)義。SOAP的這項(xiàng)能力使得它可被很多類型的系統(tǒng)用語(yǔ)從消息系統(tǒng)到RPC的延伸。SOAP由以下四部分組成。SOAP信封(SOAP envelope):它構(gòu)造定義了一個(gè)整體的表示框架,可用于表示在消息(message)中的是什么,誰(shuí)應(yīng)當(dāng)處理它,以及這是可選的還是強(qiáng)制的。SOAP消息的封裝模型如圖 2.6所示。SOAP EnvelopeSOAP HeaderSOAP

46、條目SOAP條目SOAP BodySOAP條目SOAP條目圖 4.6關(guān)于SOAP消息的封裝模型示意圖SOAP編碼規(guī)則(SOAP encoding rules):它定義了一個(gè)數(shù)據(jù)的編序機(jī)制,通過(guò)這樣一個(gè)編序機(jī)制來(lái)定義應(yīng)用程序中需要使用的數(shù)據(jù)類型,并可用于交換由這些應(yīng)用程序定義的數(shù)據(jù)類型所衍生的實(shí)例。在SOAP中,數(shù)據(jù)的編碼風(fēng)格是基于一個(gè)簡(jiǎn)單類型系統(tǒng)的,這個(gè)簡(jiǎn)單類型系統(tǒng)可以看成是程序語(yǔ)言、數(shù)據(jù)庫(kù)和半結(jié)構(gòu)數(shù)據(jù)中不同類型系統(tǒng)的公共特性的泛化。SOAP遠(yuǎn)程過(guò)程調(diào)用表示(SOAP RPC representation):它定義了一個(gè)用于表示遠(yuǎn)端過(guò)程調(diào)用和響應(yīng)的約定??梢韵胂?,為實(shí)施一個(gè)基于SOAP的遠(yuǎn)程方

47、法(或過(guò)程)調(diào)用,應(yīng)當(dāng)需要以下信息:目標(biāo)SOAP結(jié)點(diǎn)的URI(從一般意義上來(lái)看,可以認(rèn)為是SOAP結(jié)點(diǎn)的入口地址);方法或過(guò)程調(diào)用;可選的方法或過(guò)程的特征;方法或過(guò)程的參數(shù);可選的頭數(shù)據(jù)。使用SOAP Header的RPC如圖 2.7所示。SOAP綁定(SOAP binding):它定義了一個(gè)使用低層傳輸協(xié)議來(lái)完成在結(jié)點(diǎn)間交換SOAP信封的約定。對(duì)于一個(gè)SOAP結(jié)點(diǎn)來(lái)說(shuō),接受和發(fā)送SOAP消息最終是要通過(guò)與某個(gè)低層通信協(xié)議進(jìn)行綁定來(lái)完成。SOAP底層協(xié)議綁定沿著SOAP消息路徑在相鄰的SOAP結(jié)點(diǎn)間工作著。SOAP協(xié)議綁定并不會(huì)單獨(dú)提供一個(gè)處理模型,也不會(huì)通過(guò)協(xié)議綁定來(lái)重新指定SOAP結(jié)點(diǎn)。S

48、OAP協(xié)議綁定是SOAP結(jié)點(diǎn)實(shí)現(xiàn)的一個(gè)組成部分,從外部看,是SOAP結(jié)點(diǎn)的行為特征之一。SOAP發(fā)送者應(yīng)用ASOAP處理器消息標(biāo)識(shí)處理器RPC請(qǐng)求SOAP接收者應(yīng)用BSOAP處理器消息關(guān)聯(lián)性處理器RPC響應(yīng)底層協(xié)議底層協(xié)議服務(wù)器A服務(wù)器B圖 4.7使用SOAP Header的RPC2.2 描述Web服務(wù)自最初開始使用SOAP之后,在業(yè)界曾出現(xiàn)過(guò)多種基于XML的接口說(shuō)明語(yǔ)言(IDL),其中包括IBM的NASSL、Microsoft的SDL和SCL等。所有的這些IDL識(shí)別不同的描述方式,并且包含一些特定于它們所依附的SOAP實(shí)現(xiàn)方案的項(xiàng)目(比如Apache SOAP或Microsoft SOAP等

49、)。業(yè)界很快意識(shí)到必須進(jìn)行標(biāo)準(zhǔn)化,以賦予Web服務(wù)統(tǒng)一的界面描述能力,并獲得最好的互操作能力。由IBM、Microsoft以及Ariba為首的多個(gè)技術(shù)提供商向W3C提交了WSDL規(guī)范1.1版。2001年3月,W3C接受了這一提案。WSDL是一種XML Application,它將Web服務(wù)描述定義為一組服務(wù)訪問(wèn)點(diǎn),客戶端可以通過(guò)這些服務(wù)訪問(wèn)點(diǎn)對(duì)包含面向文檔信息或面向過(guò)程調(diào)用的服務(wù)進(jìn)行訪問(wèn)(類似遠(yuǎn)程過(guò)程調(diào)用)。WSDL首先對(duì)訪問(wèn)的操作和訪問(wèn)時(shí)使用的請(qǐng)求/響應(yīng)消息進(jìn)行抽象描述,然后將其綁定到具體的傳輸協(xié)議和消息格式上,以最終定義具體部署的服務(wù)訪問(wèn)點(diǎn)。WSDL文檔將Web服務(wù)定義為服務(wù)訪問(wèn)點(diǎn)或端口的

50、集合。在WSDL中,由于服務(wù)訪問(wèn)點(diǎn)和消息定義已從具體的服務(wù)部署或數(shù)據(jù)格式綁定中分離出來(lái),因此可以對(duì)抽象定義進(jìn)行再次利用:消息,指對(duì)交換數(shù)據(jù)的抽象描述;而端口類型,指操作的抽象集合。將Web訪問(wèn)地址于可再次使用的綁定向關(guān)聯(lián),可以定義一個(gè)端口,而端口的集合則定義為服務(wù)。WSDL文檔在Web服務(wù)的定義中使用下列元素。WSDL Definition- isContainerTypes- isContainerMessage- isContainerPart- name- elementOperation- messagePortType- isContainerBinding- portTypePor

51、t- bindingService- isContainerData Type- SimpleType- ComplexType圖 4.8關(guān)于WSDL文檔的元素結(jié)構(gòu)圖Types:數(shù)據(jù)類型定義的容器,它使用某種類型系統(tǒng)(一般地使用XML Schema中的類型系統(tǒng))。Message:通信消息的數(shù)據(jù)結(jié)構(gòu)的抽象類型定義。使用Types所定義的類型來(lái)定義整個(gè)消息的數(shù)據(jù)結(jié)構(gòu)。Operation:對(duì)服務(wù)中所支持的操作的抽象描述,一般單個(gè)Operation描述了一個(gè)訪問(wèn)入口的請(qǐng)求/響應(yīng)消息對(duì)。PortType:某個(gè)訪問(wèn)點(diǎn)類型所支持的操作的抽象集合,這些操作可以由一個(gè)或多個(gè)服務(wù)訪問(wèn)點(diǎn)來(lái)支持。Binding:特定

52、端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范的綁定。Port:定義為協(xié)議/數(shù)據(jù)格式綁定與具體Web訪問(wèn)地址組合的單個(gè)服務(wù)訪問(wèn)點(diǎn)。Service:相關(guān)服務(wù)訪問(wèn)點(diǎn)的集合。以上這七種元素的關(guān)系如圖 4.8所示。Types是一個(gè)數(shù)據(jù)類型定義的容器,包含了所有在消息中需要的XML元素的類型定義。Message具體定義了在通信中使用的消息的數(shù)據(jù)結(jié)構(gòu),Message元素包含了一組Part元素,每個(gè)Part元素都是最終消息的一個(gè)組成部分,每個(gè)Part都會(huì)引用一個(gè)DataType來(lái)表示它的結(jié)構(gòu)。Part元素不支持嵌套(可以使用DataType來(lái)實(shí)現(xiàn)),都是并列出現(xiàn)。PortType具體定義了一種服務(wù)訪問(wèn)入口的類型,就是傳入

53、/傳出消息的模式及其格式。一個(gè)PortType可以包含若干個(gè)Operation,而一個(gè)Operation則是指訪問(wèn)入口支持的一種類型的調(diào)用。在WSDL里支持四種訪問(wèn)入口調(diào)用的模式:?jiǎn)握?qǐng)求;單響應(yīng);請(qǐng)求/響應(yīng);響應(yīng)/請(qǐng)求。PortType的定義中會(huì)引用消息定義部分的一個(gè)到兩個(gè)消息,作為請(qǐng)求或響應(yīng)消息的格式。以上三種結(jié)構(gòu)描述了調(diào)用Web服務(wù)的抽象定義,這三部分與具體Web服務(wù)部署細(xì)節(jié)無(wú)關(guān),是可復(fù)用的描述。如果與一般的對(duì)象語(yǔ)言作比較的話,這部分可以說(shuō)是IDL描述的對(duì)象,描述了對(duì)象的接口標(biāo)準(zhǔn)。Service描述的是一個(gè)具體的被部署的Web服務(wù)所提供的所有訪問(wèn)入口的部署細(xì)節(jié),一個(gè)Service往往會(huì)包含

54、多個(gè)服務(wù)訪問(wèn)入口,而每個(gè)訪問(wèn)入口都會(huì)使用一個(gè)Port元素來(lái)描述。Port描述的是一個(gè)服務(wù)訪問(wèn)入口的部署細(xì)節(jié),包括通過(guò)哪個(gè)Web地址(URL)來(lái)訪問(wèn),應(yīng)當(dāng)使用怎樣的消息結(jié)構(gòu)調(diào)用模式來(lái)訪問(wèn)等。其中,消息調(diào)用模式使用Binding結(jié)構(gòu)來(lái)表示。Binding結(jié)構(gòu)定義了某個(gè)PortType與某一種具體的網(wǎng)絡(luò)傳輸協(xié)議或消息傳輸協(xié)議相綁定,從這一層開始,描述的內(nèi)容就與具體服務(wù)的部署相關(guān)了。WSDL的設(shè)計(jì)理念完全繼承了以XML為基礎(chǔ)的當(dāng)代Web技術(shù)標(biāo)準(zhǔn)的一貫設(shè)計(jì)理念:開放。WSDL允許通過(guò)擴(kuò)展使用其他的類型定義語(yǔ)言(不止是XML Schema),允許使用多種網(wǎng)絡(luò)傳輸協(xié)議和消息格式。同時(shí),WSDL也應(yīng)用了當(dāng)代軟

55、件工程中的復(fù)用理念,分離了抽象定義層和具體部署層,使得抽象定義層的復(fù)用性大大增加。而不同的運(yùn)營(yíng)公司可以采用不同的具體部署層的描述,結(jié)合抽象定義完成其自身的Web服務(wù)的描述。2.3 注冊(cè)發(fā)布Web服務(wù)目前,大多數(shù)電子商務(wù)的應(yīng)用和基于Web的商業(yè)服務(wù)在處理購(gòu)買者、供應(yīng)商、交易市場(chǎng)和服務(wù)提供者之間的聯(lián)系方式上各不相同。這就決定了它們只能在和他們使用相同的應(yīng)用和基于Web的商業(yè)服務(wù)的商業(yè)實(shí)體中進(jìn)行貿(mào)易。面對(duì)這個(gè)挑戰(zhàn),技術(shù)領(lǐng)域和商業(yè)領(lǐng)域的領(lǐng)導(dǎo)者組成的開發(fā)小組開發(fā)了統(tǒng)一描述、發(fā)現(xiàn)與集成協(xié)議標(biāo)準(zhǔn)。這是一個(gè)非常重要的創(chuàng)新,它是第一個(gè)由平臺(tái)提供者、軟件開發(fā)者、交易市場(chǎng)運(yùn)營(yíng)者、電子商務(wù)企業(yè)和全球商務(wù)領(lǐng)頭羊?yàn)榻鉀QB

56、2B電子商務(wù)的發(fā)展的局限性而一起提出的跨行業(yè)的解決方案。UDDI注冊(cè)使用的核心信息模型由XML Schema定義。使用XML是因?yàn)樗峁┝似脚_(tái)無(wú)關(guān)的數(shù)據(jù)描述,并能很自然地描述了數(shù)據(jù)的層次關(guān)系。而選擇XML Schema是因?yàn)樗С重S富的數(shù)據(jù)類型,便捷的描述方式及其按信息模型對(duì)數(shù)據(jù)進(jìn)行檢驗(yàn)的能力。UDDI XML Schema定義了六種主要信息類型,它們是技術(shù)人員在需要使用合作伙伴所提供的Web服務(wù)時(shí)必須了解的技術(shù)信息。UDDI信息模型結(jié)構(gòu)圖如圖 2.9所示。businessEntity元素:商業(yè)實(shí)體信息。是支持對(duì)UDDI商業(yè)注冊(cè)的商業(yè)信息發(fā)布和發(fā)現(xiàn)的核心XML元素。businessServic

57、e元素和bindingTemplate元素:服務(wù)信息。businessService結(jié)構(gòu)是一個(gè)描述性的容器,它將一系列有關(guān)的商業(yè)流程或分類目錄的Web服務(wù)的描述組合到一起。bindingTemplate則是關(guān)于服務(wù)的入口點(diǎn)和構(gòu)造規(guī)范的技術(shù)信息。tModel元素:規(guī)范描述的指針和技術(shù)標(biāo)志。是關(guān)于調(diào)用規(guī)范的元數(shù)據(jù),它包括服務(wù)名稱、發(fā)布的服務(wù)的組織以及指向這些規(guī)范本身的URL指針等。publisherAssertion元素:描述商業(yè)實(shí)體之間關(guān)聯(lián)關(guān)系的關(guān)聯(lián)信息。這個(gè)機(jī)制能令多于一個(gè)的已注冊(cè)的businessEntity元素以某種方式互相連接,用以表示一種特定類型的關(guān)聯(lián)關(guān)系。subscription元素:實(shí)現(xiàn)實(shí)體信息訂閱的訂閱信息。為了幫助UDDI使用者跟蹤感興趣的數(shù)據(jù)實(shí)體以及及時(shí)獲得數(shù)據(jù)更新的消息,UDDI加入了訂閱的功能。businessEntity:發(fā)布服務(wù)信息的商業(yè)實(shí)體的詳細(xì)信息businessService:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論