監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

關(guān)于SOA架構(gòu)的七個(gè)關(guān)鍵性問題的解答

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

對(duì)于SOA,尤其是像開發(fā)人員和CIO等仍有若干關(guān)鍵問題需要回答?! ?/P>

Web 服務(wù)以及越來(lái)越多的面向服務(wù)架構(gòu)(Service Oriented Architecture,SOA)已經(jīng)在市場(chǎng)上投放了大量廣告。兩者都可以給企業(yè)帶來(lái)廣泛的短期和長(zhǎng)期利益。但對(duì)于SOA,尤其是像開發(fā)人員和CIO等仍有若干關(guān)鍵問題需要回答。

問:SOA的前提是能夠使應(yīng)用程序像服務(wù)那樣工作。軟件如何像服務(wù)一樣工作呢?

答:沒有SOA,軟件包是被編寫為獨(dú)立的(self-contained)軟件,即在一個(gè)完整的軟件包中將許多應(yīng)用程序功能整合在一起。實(shí)現(xiàn)整合應(yīng)用程序功能的代碼通常與功能本身的代碼混合在一起。我們將這種方式稱作軟件設(shè)計(jì)"單一應(yīng)用程序"。與此密切相關(guān)的是,更改一部分代碼將對(duì)使用該代碼的代碼具有重大影響,這會(huì)造成系統(tǒng)的復(fù)雜性,并增加維護(hù)系統(tǒng)的成本。而且還使重新使用應(yīng)用程序功能變得較困難,因?yàn)檫@些功能不是為了重新使用而打的包。

SOA旨在將單個(gè)應(yīng)用程序功能彼此分開,以便這些功能可以單獨(dú)用作單個(gè)的應(yīng)用程序功能或"組件"。這些組件可以用于在企業(yè)內(nèi)部創(chuàng)建各種其他的應(yīng)用程序,或者如有需要,對(duì)外向合作伙伴公開,以便用于合作伙伴的應(yīng)用程序。

"服務(wù)"的概念是要使用與實(shí)施細(xì)節(jié)無(wú)關(guān)的標(biāo)準(zhǔn)化接口來(lái)構(gòu)建這些"組件"。針對(duì)一套應(yīng)用程序服務(wù)的Web服務(wù)描述語(yǔ)言文檔,描述需要作為請(qǐng)求特殊服務(wù)(例如,"檢查庫(kù)存"功能可能需要零件數(shù))輸入來(lái)傳輸?shù)臄?shù)據(jù)名稱和類型,并描述服務(wù)響應(yīng)的細(xì)節(jié)(它可能返回表示庫(kù)存中零件數(shù)量的一個(gè)整數(shù))。

這些詳細(xì)信息看上去好像與 Java、C++、COBOL 等中實(shí)施的功能相同,因此,服務(wù)的請(qǐng)求程序無(wú)需知道使用的何種語(yǔ)言,而且可以使用任何語(yǔ)言來(lái)編寫請(qǐng)求程序。這就使一個(gè)平臺(tái)上的服務(wù)可以和為另一個(gè)平臺(tái)編寫的應(yīng)用程序集成?;ゲ僮餍缘年P(guān)鍵是請(qǐng)求和響應(yīng)消息,例如,使用SOAP消息發(fā)送,其消息使用 XML 編寫代碼。

問:請(qǐng)舉例說(shuō)明 SOA 如何使企業(yè)受益。

答:關(guān)鍵的優(yōu)勢(shì)是互操作性,可以使用任何平臺(tái)之間的功能,而與編程的語(yǔ)言、操作系統(tǒng)和計(jì)算機(jī)類型等等無(wú)關(guān)。在上述示例中,"檢查庫(kù)存"功能可能已經(jīng)編寫為一個(gè)應(yīng)用程序要求的服務(wù),例如,監(jiān)控庫(kù)存并在需要時(shí)自動(dòng)重新定購(gòu)的服務(wù),但我們后來(lái)發(fā)現(xiàn),同樣的服務(wù)無(wú)需修改即可用于支持由員工使用的基于 Web 的庫(kù)存監(jiān)控工具。

就內(nèi)部而言,應(yīng)用程序的重復(fù)使用是一項(xiàng)關(guān)鍵優(yōu)勢(shì),因?yàn)樗梢越档烷_發(fā)成本。服務(wù)的重復(fù)使用,其長(zhǎng)期作用在于減少企業(yè)中冗余的功能,簡(jiǎn)化基礎(chǔ)架構(gòu),從而降低維護(hù)代碼的成本。通過(guò)按服務(wù)的使用者來(lái)組織應(yīng)用程序,與傳統(tǒng)的編程技術(shù)相比,我們獲得一個(gè)要靈活敏捷得多的集成模型,使我們可以迅速修改業(yè)務(wù)流程模型。

就外部而言,為服務(wù)交互而詳細(xì)定義的"合同"使業(yè)務(wù)合作伙伴之間的交互"自由聯(lián)合",提供集成所必需的穩(wěn)定性,并提供更改基層軟件(underlying software)問題的一個(gè)解決方案。當(dāng)保留了相同的消息格式時(shí),支持該格式的軟件只要仍然支持消息合同,則可以按需進(jìn)行更改。只要它支持相同的消息格式,甚至可以使用另一種編程語(yǔ)言的實(shí)施來(lái)完全替換系統(tǒng),請(qǐng)求程序無(wú)需更改。當(dāng)消息合同不斷發(fā)展而必須更改時(shí),與相當(dāng)困難的任務(wù),即支持多個(gè)版本的程序 API 和文件格式相比,它使用版本控制(versioning),更容易作為過(guò)渡策略支持多個(gè)版本的應(yīng)用程序。

這些是部分關(guān)鍵益處,還有許多其他益處。

問:SOA與Web服務(wù)以及SOA和網(wǎng)格計(jì)算之間是何關(guān)系。

答:SOA是一種面向業(yè)務(wù)應(yīng)用程序系統(tǒng)的體系架構(gòu)設(shè)計(jì)風(fēng)格,但可以應(yīng)用于其他系統(tǒng),包括中間件技術(shù),例如網(wǎng)格計(jì)算。

Web服務(wù)是可以用于創(chuàng)建SOA的一套標(biāo)準(zhǔn)。盡管沒有Web服務(wù)標(biāo)準(zhǔn)也可能創(chuàng)建SOA(例如,在SOAP之前,人們已經(jīng)在HTTP或JMS上使用XML來(lái)實(shí)現(xiàn)相似的結(jié)果),但運(yùn)用Web服務(wù)標(biāo)準(zhǔn)卻是我們目前針對(duì)與外部軟件交互的最佳方法。

網(wǎng)格計(jì)算是一種系統(tǒng)管理策略,其目標(biāo)是最大限度地減少硬件資源的使用。例如,當(dāng)突然的需求溢出指定的服務(wù)器時(shí),它可能臨時(shí)將一些請(qǐng)求轉(zhuǎn)向相對(duì)沒那么繁忙的服務(wù)器。網(wǎng)格計(jì)算設(shè)計(jì)為一種面向服務(wù)架構(gòu)(用于調(diào)整網(wǎng)格計(jì)算的服務(wù)叫做網(wǎng)格服務(wù))。

隨著我們轉(zhuǎn)向SOA,我們將看到該方法用于支持各種其他新的系統(tǒng)功能。另外一個(gè)示例是自主計(jì)算伙子管理系統(tǒng)。事實(shí)上,SOA是Web服務(wù)高級(jí)功能的基礎(chǔ),例如WS-Trust和聯(lián)合身份識(shí)別管理規(guī)范。

問:因?yàn)檫€沒有通用互操作性標(biāo)準(zhǔn),SOA最大的問題不仍然是供應(yīng)商中心性(vendor-centricity)嗎?

答:有一些基本標(biāo)準(zhǔn)正好適用于Web服務(wù),它們可以用于實(shí)施面向服務(wù)架構(gòu)。XML和XML方案分別自1998年和2001年就已成為標(biāo)準(zhǔn)。SOAP 1.2自2003年6月成為標(biāo)準(zhǔn)。UDDI在2003年夏天標(biāo)準(zhǔn)化。WS-Security在2004年4月成為標(biāo)準(zhǔn)。

除了著名標(biāo)準(zhǔn)機(jī)構(gòu)(例如W3C和OASIS)支持的這些正式標(biāo)準(zhǔn)以外,許多"技術(shù)建議書規(guī)范"也被廣泛接受,并作為事實(shí)標(biāo)準(zhǔn)得到充分支持。例如,直到 W3C完成WSDL 2.0為止,要求在其產(chǎn)品中支持Web服務(wù)的大多數(shù)供應(yīng)商都支持WSDL 1.1規(guī)范。

事實(shí)上,目前大部分軟件供應(yīng)商對(duì)Web服務(wù)標(biāo)準(zhǔn)的支持,已導(dǎo)致使用Web服務(wù)來(lái)廣泛實(shí)施SOA。

問:SOA如何影響SLA?而您如何讓SLA適合您的SOA?

答:當(dāng)前企業(yè)之間的SOA實(shí)施通常側(cè)重于改善合作伙伴之間現(xiàn)有業(yè)務(wù)的效率。同樣,性能保證的概念并不是像方便的互操作性和自由聯(lián)合集成那樣的問題,它們可以借助Web服務(wù)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)。

當(dāng)服務(wù)成為企業(yè)付費(fèi)的產(chǎn)品時(shí),對(duì)特定水平的性能或可用性的保證,以及其它服務(wù)質(zhì)量注意事項(xiàng)具有更為重要的作用。我們可以想象這在將來(lái)會(huì)成為一個(gè)常見要求,正在進(jìn)行這方面的工作以支持該模型。

問:我如何著手構(gòu)建 SOA?

答:最佳的方法時(shí)開始構(gòu)建較小的SOA,側(cè)重于提高當(dāng)前缺乏效率的交互性。例如,假設(shè)使用一個(gè)系統(tǒng)上需要重新鍵入到另一個(gè)系統(tǒng)的打印報(bào)告,將兩個(gè)計(jì)算機(jī)系統(tǒng)緊密聯(lián)系在一起,這會(huì)消耗時(shí)間、浪費(fèi)成本,導(dǎo)致出錯(cuò),而且數(shù)據(jù)無(wú)法保持罪行??梢栽O(shè)計(jì)一個(gè)簡(jiǎn)單的基于Web服務(wù)SOA項(xiàng)目,直接鏈接信息,將含更新的SOAP消息發(fā)送到合作伙伴系統(tǒng),而不是打印報(bào)告。

開始簡(jiǎn)單的SOA使企業(yè)可以在作出大投資之前先衡量ROI,并在出現(xiàn)大的問題之前獲得小改善的經(jīng)驗(yàn)。

CIO在購(gòu)買軟件時(shí)應(yīng)該詢問供應(yīng)商關(guān)于對(duì)Web服務(wù)和SOA的支持,作為一個(gè)重要的注意事項(xiàng)。應(yīng)該檢查新應(yīng)用程序的開發(fā),以便考慮是否某些應(yīng)用程序功能可能需要用于其他目的,以及可以嵌入對(duì)Web服務(wù)標(biāo)準(zhǔn)的支持以支持重復(fù)使用。

最終要完成大規(guī)模的企業(yè)轉(zhuǎn)型,可能需要通過(guò)建立企業(yè)服務(wù)總線(形成SOA的骨干網(wǎng)或神經(jīng)系統(tǒng))來(lái)開始該工作。然后以企業(yè)合理的節(jié)奏,將服務(wù)提供商何服務(wù)請(qǐng)求程序逐漸添加到ESB。隨著IT的SOA的增長(zhǎng),ESB成為在服務(wù)水平上連接應(yīng)用程序,并調(diào)節(jié)消息流量以提高效率和可靠性的一種有力方式。

問:管理SOA需要哪些新的服務(wù)管理技能?

答:在運(yùn)用Web服務(wù)之前,因缺乏標(biāo)準(zhǔn)和自由聯(lián)合的策略,合作伙伴整合受到嚴(yán)重限制。隨著我們開始使用Web服務(wù)和SOA來(lái)整合合作伙伴,我們可以發(fā)現(xiàn),使用業(yè)務(wù)合作伙伴所提供的功能的IT系統(tǒng)已經(jīng)開始依賴于這些功能的可用性。我們從內(nèi)部管理我們自己服務(wù)的可用性轉(zhuǎn)向要求監(jiān)視和管理(可能有許多)企業(yè)之間的可用性。這明顯大大增加了管理IT系統(tǒng)的復(fù)雜性,但它也帶來(lái)了巨大的價(jià)值,這就是為什么許多企業(yè)要轉(zhuǎn)到這個(gè)方向的原因。

Web應(yīng)用程序系統(tǒng)正在不斷發(fā)展以支持Web服務(wù)標(biāo)準(zhǔn)?!癢eb服務(wù)分布式管理”或WSDM標(biāo)準(zhǔn)正在由OASIS開發(fā),對(duì)Web服務(wù)管理提供標(biāo)準(zhǔn)化的支持,通過(guò)使用Web服務(wù)來(lái)實(shí)現(xiàn)對(duì)不同平臺(tái)的管理,滿足涉及獨(dú)立業(yè)務(wù)實(shí)體的大規(guī)模SOA對(duì)分布式管理的要求。

發(fā)布:2007-04-21 11:21    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
南昌OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普南昌OA行業(yè)資訊其他應(yīng)用

南昌OA軟件 南昌OA新聞動(dòng)態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統(tǒng) 南昌物業(yè)管理軟件 南昌倉(cāng)庫(kù)管理軟件 南昌餐飲管理軟件 南昌網(wǎng)站建設(shè)公司