小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

web service新手入門

 開心豆豆2010 2010-09-19
使用 Web 服務(wù)技術(shù),應(yīng)用程序可以與平臺(tái)和編程語(yǔ)言無(wú)關(guān)的方式相互通信。Web 服務(wù)是一個(gè)軟件接口,它描述了一組可以在網(wǎng)絡(luò)上通過(guò)標(biāo)準(zhǔn)化的 XML 消息傳遞訪問(wèn)的操作。它使用基于 XML 語(yǔ)言的協(xié)議來(lái)描述要執(zhí)行的操作或者要與另一個(gè) Web 服務(wù)交換的數(shù)據(jù)。在面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)中,一組以這種方式交互的 Web 服務(wù)定義了特定的 Web 服務(wù)應(yīng)用程序。

實(shí)際上,Web Service 最基本的組成部分為服務(wù)的提供者(Service Provider)和服務(wù)的請(qǐng)求者(Service Requester)。這看起來(lái)很像 C/S 架構(gòu)的軟件,與之不同的是,Web Service 兩端的應(yīng)用是通過(guò)基于標(biāo)準(zhǔn)的 XML 格式的協(xié)議進(jìn)行通信的,這種最常用的協(xié)議就是 SOAP(Simple Object Access Protocol)。當(dāng)然,Web Services 不簡(jiǎn)單地只是按這種方式進(jìn)行通信。按照 Web Service 的相關(guān)標(biāo)準(zhǔn)描述,服務(wù)的提供者應(yīng)該首先通過(guò) WSDL(Web Service Definition Language)和 UDDI (Universal Description, Discovery, and Integration)發(fā)布它所提供的服務(wù)到一個(gè)統(tǒng)注冊(cè)這些服務(wù)信息的存儲(chǔ)庫(kù)中去。這樣,服務(wù)的請(qǐng)求者就也可以通過(guò) WSDL 和 UDDI 發(fā)現(xiàn)到服務(wù)提供者提供的服務(wù),并可以通過(guò)應(yīng)用的調(diào)用方法來(lái)使用這個(gè)服務(wù)了。

軟件業(yè)最終會(huì)接受這樣的事實(shí):跨多個(gè)操作系統(tǒng)、編程語(yǔ)言和硬件平臺(tái)集成軟件應(yīng)用程序不可能由任何一種專門的環(huán)境來(lái)解決。傳統(tǒng)上,這個(gè)問(wèn)題一直是一個(gè)緊耦合問(wèn)題,調(diào)用遠(yuǎn)程網(wǎng)絡(luò)的應(yīng)用程序通過(guò)自己發(fā)出的函數(shù)調(diào)用和請(qǐng)求的參數(shù)與遠(yuǎn)程網(wǎng)絡(luò)緊密地聯(lián)系在一起。在 Web 服務(wù)出現(xiàn)之前,在大多數(shù)系統(tǒng)上,采用的是固定的接口,但對(duì)于不斷變化的環(huán)境或需求,這樣做缺乏靈活性或適用性

Web 服務(wù)所使用的 XML 可以用真正與平臺(tái)無(wú)關(guān)的方式來(lái)描述任何(所有)數(shù)據(jù),以跨系統(tǒng)交換數(shù)據(jù),因此轉(zhuǎn)向了松耦合應(yīng)用程序。而且,Web 服務(wù)可以在較抽象的層面上工作,較抽象層面可以按照需要?jiǎng)討B(tài)地重新評(píng)估、修改或處理數(shù)據(jù)類型。所以,從技術(shù)層面上講,Web 服務(wù)可以更方便地處理數(shù)據(jù),并且允許軟件更自由地進(jìn)行通信。

從更高的概念層面上講,我們可以將 Web 服務(wù)視為一些工作單元,每個(gè)單元處理特定的功能任務(wù)。再往上一步,可以將這些任務(wù)組合成面向業(yè)務(wù)的任務(wù),以處理特定的業(yè)務(wù)操作任務(wù),從而使非技術(shù)人員可以考慮一些應(yīng)用程序,這些應(yīng)用程序能夠在 Web 服務(wù)應(yīng)用程序工作流中一起處理業(yè)務(wù)問(wèn)題。因此,一旦由技術(shù)人員設(shè)計(jì)并構(gòu)建好 Web 服務(wù)之后,業(yè)務(wù)流程架構(gòu)師就可以聚集這些 Web 服務(wù)來(lái)解決業(yè)務(wù)層面上的問(wèn)題。這里借用汽車引擎來(lái)作類比,業(yè)務(wù)流程架構(gòu)師考慮將整個(gè)汽車引擎與汽車框架、車身、變速器和其他系統(tǒng)組合在一起,而不是研究每個(gè)引擎內(nèi)的各個(gè)部件。而且,動(dòng)態(tài)平臺(tái)意味著引擎可以與其他汽車制造商的變速器或部件一起工作。

最后一個(gè)方面是,Web 服務(wù)有助于在組織內(nèi)的業(yè)務(wù)人員和技術(shù)人員之間架起一座橋梁。Web 服務(wù)使業(yè)務(wù)人員更容易理解一些技術(shù)上的操作。業(yè)務(wù)人員可以描述一些事件和活動(dòng),然后技術(shù)人員可以將這些事件和活動(dòng)與相應(yīng)的服務(wù)相關(guān)聯(lián)。

有了通用定義的接口和設(shè)計(jì)良好的任務(wù),重用這些任務(wù)就變得更容易了,因而重用這些任務(wù)所代表的應(yīng)用程序也就變得容易了。應(yīng)用程序軟件的可重用性意味著在軟件上的投資有了更好的回報(bào),因?yàn)榭梢詮耐毁Y源產(chǎn)生更多收益??芍赜眯允箻I(yè)務(wù)人員可以考慮以一種新的方式來(lái)使用現(xiàn)有的應(yīng)用程序,或者以一種新的方式將應(yīng)用程序提供給合作伙伴,因此可能增加合作伙伴間的業(yè)務(wù)交易。

所以,Web 服務(wù)試圖解決的主要問(wèn)題是數(shù)據(jù)和應(yīng)用程序集成的問(wèn)題,以及將技術(shù)性的功能轉(zhuǎn)換為面向業(yè)務(wù)的計(jì)算任務(wù)的問(wèn)題。這兩個(gè)方面使企業(yè)可以就流程或應(yīng)用程序?qū)用媾c他們的合作伙伴進(jìn)行交流,同時(shí)為適應(yīng)新形勢(shì)或按照需要與不同合作伙伴進(jìn)行合作留有動(dòng)態(tài)的余地。

我可以用 Web 服務(wù)做什么?

雖然 Web 服務(wù)支持所有這些將多個(gè)服務(wù)組合到應(yīng)用程序中的動(dòng)態(tài)功能,但您仍然必須首先構(gòu)建這些服務(wù)。編程語(yǔ)言和計(jì)算機(jī)科學(xué)在不斷發(fā)展。我們?cè)趲资昵熬陀辛撕瘮?shù)的想法,通過(guò)給它提供一些參數(shù),由它根據(jù)這些參數(shù)執(zhí)行某個(gè)操作,然后根據(jù)它的計(jì)算返回值。最終,這個(gè)首先提出來(lái)的概念演變成了對(duì)象,每個(gè)對(duì)象不僅有一些它可以執(zhí)行的函數(shù),而且還有自己的專用數(shù)據(jù)變量,而不是依賴于以前所采用的使開發(fā)應(yīng)用程序更為復(fù)雜的外部系統(tǒng)范圍內(nèi)的數(shù)據(jù)變量。當(dāng)應(yīng)用程序進(jìn)入了網(wǎng)絡(luò)時(shí)代,對(duì)于對(duì)象,定義通用接口的概念變得更為重要,即使位于其他平臺(tái)上的對(duì)象是用另外的編程語(yǔ)言編寫的并且運(yùn)行在其他操作系統(tǒng)上,也可以使這些對(duì)象進(jìn)行通信。

在最近的發(fā)展中,Web 服務(wù)轉(zhuǎn)向了基于 XML 的接口和通信這一概念,只要將 Web 服務(wù)設(shè)計(jì)成相應(yīng)的接口,最終都可以將任何一種應(yīng)用程序與另一種應(yīng)用程序組合在一起,并可以隨時(shí)間的流逝自由地更改和發(fā)展應(yīng)用程序。XML 的通用性使得 Web 服務(wù)不同于前一代組件技術(shù)。它允許語(yǔ)法結(jié)構(gòu)(句法)與語(yǔ)法意義(語(yǔ)義)分離,每個(gè)服務(wù)處理和理解它的方式與它所存在的環(huán)境分離。因此,現(xiàn)在可以將對(duì)象定義為服務(wù),它可以與其他采用 XML 定義的語(yǔ)法的服務(wù)進(jìn)行通信,從而每個(gè)服務(wù)又可以根據(jù)其本地實(shí)現(xiàn)和環(huán)境來(lái)轉(zhuǎn)換和分析消息。因而,網(wǎng)絡(luò)應(yīng)用程序?qū)嶋H上可以由各種構(gòu)造和設(shè)計(jì)的實(shí)體組成,只要這些實(shí)體符合它們面向服務(wù)的體系結(jié)構(gòu)就可以了。

因此,如果掌握了這一能力,Web 服務(wù)將使您能夠:

    讓任何平臺(tái)上的用任何語(yǔ)言編寫的服務(wù)進(jìn)行交互。
    將應(yīng)用程序功能概念化成任務(wù),從而形成面向任務(wù)的開發(fā)和工作流。這使得更抽象的軟件能夠?yàn)楣ぷ髟跇I(yè)務(wù)層面具有較少軟件分析技術(shù)的用戶所用。
    允許松耦合,這意味著,每當(dāng)其中某個(gè)或多個(gè)服務(wù)在設(shè)計(jì)或?qū)崿F(xiàn)中發(fā)生改變時(shí),服務(wù)應(yīng)用程序之間的交互不會(huì)因此而中斷。
    使現(xiàn)有的應(yīng)用程序能適應(yīng)不斷變化的業(yè)務(wù)條件和客戶需求。
    向現(xiàn)有或遺留軟件應(yīng)用程序提供服務(wù)接口,而無(wú)需改變?cè)瓉?lái)的應(yīng)用程序,從而使這些應(yīng)用程序完全可以運(yùn)行在這種服務(wù)環(huán)境下。
    引入其他一些與原有功能無(wú)關(guān)的管理或操作管理功能,比如可靠性、責(zé)任性和安全性等等,從而在業(yè)務(wù)計(jì)算環(huán)境中增加其通用性和實(shí)用性。

構(gòu)成 Web 服務(wù)的技術(shù)是什么?

Web 服務(wù)采用一系列相關(guān)協(xié)議來(lái)描述、傳遞服務(wù)和與服務(wù)交互。根據(jù)其通常的功能和使用,可以將這一系列協(xié)議進(jìn)一步劃分為組。第一組處理消息傳遞、接口描述、尋址和交付的問(wèn)題。最有名的是消息傳遞協(xié)議,稱為簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol,SOAP)。此協(xié)議對(duì)消息進(jìn)行了編碼,這樣就可以通過(guò)傳輸協(xié)議(如 HTTP、IIOP、SMTP 或其他協(xié)議)在網(wǎng)絡(luò)上傳遞它們。

Web 服務(wù)描述語(yǔ)言(Web Services Description Language,WSDL)表示為一系列 XML 語(yǔ)句,這些語(yǔ)句組成了每個(gè)服務(wù)的接口的定義。另一個(gè)正在制訂的規(guī)范是 Web 服務(wù)尋址 (WS-Addressing),它定義了如何在分布式體系結(jié)構(gòu)中唯一地進(jìn)行 Web 服務(wù)尋址和標(biāo)識(shí) Web 服務(wù)。另一個(gè)流行的規(guī)范是 Web 服務(wù)調(diào)用框架(Web Services Invocation Framework),在這種框架中,您可以定義任何類型的組件的 WSDL 接口,即使它們沒(méi)有使用相同的消息傳遞協(xié)議。

下一組協(xié)議和規(guī)范定義了服務(wù)如何公開它們自己以及如何在網(wǎng)絡(luò)上相互發(fā)現(xiàn)。對(duì)于要相互查找的服務(wù),統(tǒng)一描述、發(fā)現(xiàn)和集成(Universal Description, Discovery and Integration,UDDI)為查找和訪問(wèn)服務(wù)定義了注冊(cè)中心和相關(guān)協(xié)議。Web 服務(wù)檢查語(yǔ)言(Web Services Inspection Language)是 UDDI 在不使用注冊(cè)中心的情況下采用的一種可選機(jī)制。

用于 Web 服務(wù)的安全性協(xié)議是從 Web 服務(wù)安全性 (WS-Security) 規(guī)范開始的,該規(guī)范為安全通信定義了基于令牌的體系結(jié)構(gòu)。以此為基礎(chǔ),有六個(gè)主要的組成規(guī)范:

    Web 服務(wù)策略 (WS-Policy) 和相關(guān)的規(guī)范,定義了關(guān)于服務(wù)交互方式的策略規(guī)則。
    Web 服務(wù)信任(WS-Trust),定義了安全交換的信任模型。
    Web 服務(wù)隱私 (WS-Privacy),定義了如何維護(hù)信息的隱私。
    Web 服務(wù)安全會(huì)話 (WS-Secure Conversation),定義了如何使用在Web 服務(wù)策略 (WS-Policy)、Web 服務(wù)信任 (WS-Trust) 和 Web 服務(wù)隱私 (WS-Privacy) 中定義的規(guī)則,以在用于交換數(shù)據(jù)的服務(wù)之間建立安全會(huì)話。
    Web 服務(wù)聯(lián)盟 (WS-Federation),定義了分布式標(biāo)識(shí)的規(guī)則以及如何對(duì)其進(jìn)行管理。
    Web 服務(wù)授權(quán) (WS-Authorization),定義了如何處理對(duì)訪問(wèn)和交換數(shù)據(jù)的授權(quán)。
除了安全性模型之外,還有特定于應(yīng)用程序的規(guī)范,其中包括 Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語(yǔ)言(Business Process Execution Language for Web Services,BPEL4WS),它定義了一起進(jìn)行分布式事務(wù)處理的工作流操作、Web 服務(wù)事務(wù) (WS-Transaction)、Web 服務(wù)協(xié)調(diào) (WS-Coordination)。

目前計(jì)劃制訂的規(guī)范是 Web 服務(wù)分布式管理 (Web Services Distributed Management),用于對(duì)所有的服務(wù)和面向服務(wù)的體系結(jié)構(gòu)進(jìn)行軟件管理。最后,還有一些用于用戶界面(Web 服務(wù)交互應(yīng)用程序 (WS-InteractiveApplications))和 Web 服務(wù)的遠(yuǎn)程訪問(wèn)(Web 服務(wù)遠(yuǎn)程門戶 (WS-RemotePortals))的規(guī)范。

在撰寫本文時(shí),用于 Web 服務(wù)的規(guī)范還處在不斷制訂的過(guò)程中,而且它們僅僅是開始解釋服務(wù)之間應(yīng)該如何交互。然而,它們無(wú)法包括每一種方案和這些方案的可能組合。因此,Web 服務(wù)互操作性組(Web Services Interoperability Group,WS-I)的組成成員幾乎來(lái)自所有從事 Web 服務(wù)開發(fā)的大大小小的供應(yīng)商,它已經(jīng)肩負(fù)起開發(fā)案例研究、示例應(yīng)用程序、實(shí)現(xiàn)方案和測(cè)試工具的重任,目的是確保這些標(biāo)準(zhǔn)和規(guī)范能夠真正地協(xié)同工作,而不考慮供應(yīng)商的產(chǎn)品實(shí)現(xiàn)。

WS-I 已經(jīng)定義了第一個(gè)用于 Web 服務(wù)的基本概要 (Basic Profile 1.0),并且還發(fā)布了方案、示例應(yīng)用程序和測(cè)試工具,以便根據(jù)方案評(píng)估和比較各種實(shí)現(xiàn)的結(jié)果。

除了 WS-I 之外,Organization for the Advancement of Structured Information Standards (OASIS) 、World Wide Web Consortium (W3C) 和 Internet Engineering Task Force (IETF) 也在進(jìn)行大量的標(biāo)準(zhǔn)制訂工作。

Web 服務(wù)與其他技術(shù)的關(guān)系如何?

Web 服務(wù)主要是技術(shù)的集成。不過(guò),它本身是獨(dú)立于形式的。如前所述,組成 Web 服務(wù)的技術(shù)通常是用 XML 進(jìn)行定義和交互的。然而,由于 XML 本身是一種獨(dú)立的語(yǔ)言,所以 Web 服務(wù)也是獨(dú)立的。因此,可以用許多編程語(yǔ)言(其中包括 Java、Python、Perl、C#、Basic 等等)來(lái)開發(fā) Web 服務(wù)。

Web 服務(wù)的初衷是努力為 Internet 和 Web 應(yīng)用程序的體系結(jié)構(gòu)找到一種更好的方法,以便更好地進(jìn)行通信和相互交互。因而,當(dāng)今的大多數(shù) Web 服務(wù)是基于在應(yīng)用程序服務(wù)器環(huán)境(如 WebSphere、Apache 及其他)中運(yùn)行的程序的。雖然它們不是必需的,但是一些最優(yōu)秀的 Web 服務(wù)工具是為這樣的環(huán)境而設(shè)計(jì)的。

通過(guò)提供更簡(jiǎn)單的統(tǒng)一接口,Web 服務(wù)還有助于改進(jìn)用于移動(dòng)環(huán)境和可移植環(huán)境的普及計(jì)算模型的工作方式。移動(dòng)計(jì)算軟件將很快采用 Web 服務(wù)通信模型,而這有助于改進(jìn)可視化 Web 服務(wù)的接口問(wèn)題。

網(wǎng)格計(jì)算已經(jīng)采用 Web 服務(wù)作為開放網(wǎng)格服務(wù)體系結(jié)構(gòu) (Open Grid Services Architecture) 的一部分。開放網(wǎng)格服務(wù)體系結(jié)構(gòu)是用于這種類型的分布式計(jì)算的新模型,它使用 Web 服務(wù)傳遞網(wǎng)格服務(wù)操作的方式。

自主計(jì)算是一種很有意義的新方法,通過(guò)這種計(jì)算方法,計(jì)算機(jī)可以維護(hù)和管理自己,它有一些用于 Web 服務(wù)的應(yīng)用程序。

我可以如何在應(yīng)用程序中使用 Web 服務(wù)?

在構(gòu)建應(yīng)用程序時(shí)有很多考慮 Web 服務(wù)的方式。在最基本的層次上,高級(jí)通信協(xié)議允許應(yīng)用程序相互交談。在過(guò)去幾年里,這一層次已經(jīng)取得了巨大的進(jìn)展,出現(xiàn)了許多工具,通過(guò)使用這些工具,軟件開發(fā)人員可以編寫交互的 Web 服務(wù)并構(gòu)建復(fù)雜的應(yīng)用程序。通常,這一層次的特點(diǎn)是服務(wù)之間的一對(duì)一直接交互或比較少的服務(wù)相互交互。

然而,如果只是將 Web 服務(wù)作為通信協(xié)議就未能實(shí)現(xiàn)真正的面向服務(wù)的體系結(jié)構(gòu) (SOA)。 SOA 描述了服務(wù)的整個(gè)系統(tǒng)如何動(dòng)態(tài)地相互查找,如何聚集在一起執(zhí)行某些應(yīng)用程序,以及如何按照多種方式進(jìn)行組合。該模型鼓勵(lì)技術(shù)和軟件的重用,從而發(fā)展了設(shè)計(jì)、開發(fā)和使用應(yīng)用程序的方式。它使分布式計(jì)算更接近于現(xiàn)實(shí)。在這一層次上,軟件開發(fā)人員需要考慮 SOA 模型并通過(guò)此模型來(lái)設(shè)計(jì)他們的分布式應(yīng)用程序。這一層的特點(diǎn)是使用各種技術(shù)來(lái)支持服務(wù)的分布式計(jì)算,比如 企業(yè)服務(wù)總線 (ESB),它是一個(gè)通用的分布網(wǎng)絡(luò),可以與服務(wù)一起協(xié)同工作。

而最高的層次是把 SOA 模型和許多組件服務(wù)看作是構(gòu)件,這些構(gòu)件可以裝配成作為一個(gè)整體的某些部分并放入完整的應(yīng)用程序中,而不是用傳統(tǒng)的方法來(lái)編寫一行一行的代碼。通過(guò)檢驗(yàn)連接接口,我們可以在不曾真正編寫一行代碼的情況下構(gòu)建整個(gè)應(yīng)用程序。事實(shí)上,按照這種方式,甚至還可能得到直接代碼,因?yàn)榉?wù)可以通過(guò)多種不同的語(yǔ)言和平臺(tái)進(jìn)行編寫。可以將構(gòu)件放在一起來(lái)組成定義應(yīng)用程序的執(zhí)行方式的操作工作流,而且還可以用其他工具來(lái)監(jiān)控每個(gè)服務(wù)或服務(wù)組的工作流的有效性。在這一層次上,開發(fā)人員可以把常規(guī)編程語(yǔ)言放在一邊,而使用模型驅(qū)動(dòng)的體系結(jié)構(gòu) (Model-Driven Architecture) 來(lái)幫助他們構(gòu)建設(shè)計(jì)更精確的應(yīng)用程序。然后,這樣設(shè)計(jì)的應(yīng)用程序就可以運(yùn)行在分布式系統(tǒng)(如 ESB)之上。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多