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

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

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

文章來源:泛普軟件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

隨著我們轉(zhuǎn)向SOA,我們將看到該方法用于支持各種其他新的系統(tǒng)功能。另外一個示例是自主計算伙子管理系統(tǒng)。事實(shí)上,SOA是Web服務(wù)高級功能的基礎(chǔ),例如WS-Trust和聯(lián)合身份識別管理規(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)商對Web服務(wù)標(biāo)準(zhǔn)的支持,已導(dǎo)致使用Web服務(wù)來廣泛實(shí)施SOA。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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