追尋生活的動力!

          自強(qiáng)不息

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            5 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          2009年1月20日 #

          什么是SOA?SOA的基本特征?SOA有什么優(yōu)點(diǎn)?SOA現(xiàn)狀?

          什么是SOA?

          SOA是一種架構(gòu)模型,它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。

          SOA:Service-Oriented Architecture,面向服務(wù)架構(gòu),SOA是一種架構(gòu)模型,它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理互聯(lián)網(wǎng)紓的人為依賴性。

          SOA的幾個(gè)關(guān)鍵特性:一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義適配器進(jìn)行通訊,不涉及底層編程適配器和通訊模型。

          SOA的關(guān)鍵是“服務(wù)”的概念,W3C將服務(wù)定義為:“服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果。最終結(jié)果通常會使使用者的狀態(tài)發(fā)生變化,但也可能使提供者的狀態(tài)改變,或者雙方都產(chǎn)生變化”。

          Service-architecture.com將SOA定義為:“本質(zhì)上是服務(wù)的集合。服務(wù)間彼此通信,這種通信可能是簡單的數(shù)據(jù)傳送,也可能是兩個(gè)或更多的服務(wù)協(xié)調(diào)進(jìn)行某些活動。服務(wù)間需要某些方法進(jìn)行連接。所謂服務(wù)就是精確定義、封裝完善、獨(dú)立于其他服務(wù)所處環(huán)境和狀態(tài)的函數(shù)。”

          Looselycoupled.com將SOA定義為:“按需連接資源的系統(tǒng)。在SOA中,資源被作為可通過標(biāo)準(zhǔn)方式訪問的獨(dú)立服務(wù),提供給網(wǎng)絡(luò)中的其他成員。與傳統(tǒng)的系統(tǒng)結(jié)構(gòu)相比,SOA規(guī)定了資源間更為靈活的松散耦合關(guān)系。”

          Gartner則將SOA描述為:“客戶端/服務(wù)器的軟件設(shè)計(jì)方法,一項(xiàng)應(yīng)用由軟件服務(wù)和軟件服務(wù)使用者組成……SOA與大多數(shù)通用的客戶端/服務(wù)器模型的不同之處,在于它著重強(qiáng)調(diào)軟件組件的松散耦合,并使用獨(dú)立的標(biāo)準(zhǔn)接口。”

          Gartner相信BPM和SOA的結(jié)合對所有類型的應(yīng)用集成都大有助益??“SOA極大的得益于BPM技術(shù)和方法論,但是SOA面臨的真正問題是確立正確的企業(yè)意識,即:強(qiáng)化戰(zhàn)略化的SOA計(jì)劃(針對供應(yīng)和使用)并鼓勵重用。”

          雖然不同廠商或個(gè)人對SOA有著不同的理解,但是我們?nèi)匀豢梢詮纳鲜龅亩x中看到SOA的幾個(gè)關(guān)鍵特性:一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進(jìn)行通訊,不涉及底層編程接口和通訊模型。

          需著重注意的是,SOA并不是新生事物??大型IT組織成功構(gòu)建和部署SOA應(yīng)用已有多年的歷史??這要比現(xiàn)有的XML和Web服務(wù)長很多。IBM CICS和BEA TUXEDO就是過去被用于構(gòu)建SOA應(yīng)用的兩種技術(shù)范例。

          重點(diǎn)說明的是SOA并不是一種現(xiàn)成的技術(shù),而是一種架構(gòu)和組織IT基礎(chǔ)結(jié)構(gòu)及業(yè)務(wù)功能的方法。SOA是一種在計(jì)算環(huán)境中設(shè)計(jì)、開發(fā)、部署和管理離散邏輯單元(服務(wù))的模型。這一定義闡明了SOA的范圍。

          SOA要求開發(fā)人員將應(yīng)用設(shè)計(jì)為服務(wù)的集合。SOA要求開發(fā)人員跳出應(yīng)用本身進(jìn)行思考,考慮現(xiàn)有服務(wù)的重用,或思索他們的服務(wù)如何能夠被其他項(xiàng)目重用。“單獨(dú)的”、“獨(dú)立的”、“封裝完善的”服務(wù)所具有的一個(gè)關(guān)鍵的好處是,可以采用多種不同方法將它們組合成較大型的服務(wù),由此來實(shí)現(xiàn)重用。

          但是,SOA并不僅僅是一種開發(fā)方法??它還具有管理上的優(yōu)點(diǎn)。例如,現(xiàn)在管理員可直接管理開發(fā)人員所構(gòu)建的相同服務(wù),這遠(yuǎn)勝于以往管理單個(gè)應(yīng)用的方式。通過分析服務(wù)間的交互,SOA可以幫助企業(yè)了解何時(shí)以及為什么業(yè)務(wù)邏輯被切實(shí)執(zhí)行了,這使管理員或分析師能夠有針對性的優(yōu)化業(yè)務(wù)流程。

           

          SOA的基本特征

          SOA的實(shí)施具有幾個(gè)鮮明的基本特征。實(shí)施SOA的關(guān)鍵目標(biāo)是實(shí)現(xiàn)企業(yè)IT資產(chǎn)的最大化重用。要實(shí)現(xiàn)這一目標(biāo),就要在實(shí)施SOA的過程中牢記以下特征:

          1 可從企業(yè)外部訪問

          通常被稱為業(yè)務(wù)伙伴的外部用戶也能像企業(yè)內(nèi)部用戶一樣訪問相同的服務(wù)。業(yè)務(wù)伙伴采用先進(jìn)的B2B協(xié)議(ebXML或RosettaNet)相互合作。當(dāng)業(yè)務(wù)伙伴基于業(yè)務(wù)目的交換業(yè)務(wù)信息時(shí),他們就參與了一次會話。會話是業(yè)務(wù)伙伴間一系列的一條或多條業(yè)務(wù)信息的交換。會話類型(會話復(fù)雜或簡單、長或短等)取決于業(yè)務(wù)目的。

          除了B2B協(xié)議外,外部用戶還可以訪問以Web服務(wù)方式提供的企業(yè)服務(wù)。

           

          2 隨時(shí)可用

          當(dāng)有服務(wù)使用者請求服務(wù)時(shí),SOA要求必須有服務(wù)提供者能夠響應(yīng)。大多數(shù)SOA都能夠?yàn)殚T戶應(yīng)用之類的同步應(yīng)用和B2B之類的異步應(yīng)用提供服務(wù)。同步應(yīng)用對于其所使用的服務(wù)具有很強(qiáng)的依賴性。

          許多同步應(yīng)用通常部署在前臺,其最終用戶很容易受到服務(wù)提供者短缺的影響。很多情況下,同步應(yīng)用利用分布式服務(wù)提供者,這樣可以響應(yīng)更多的用戶請求。但是,隨著提供特定服務(wù)功能的服務(wù)器數(shù)量的增長,出現(xiàn)短缺的可能性也呈指數(shù)級上升。

          相比之下,異步應(yīng)用要更為穩(wěn)健,因?yàn)槠洳捎藐?duì)列請求設(shè)計(jì),因此可以容許出現(xiàn)服務(wù)提供者短缺或遲滯的情況。異步應(yīng)用大多數(shù)情況下部署在后臺,用戶通常不會覺察到短暫的短缺。大部分情況下異步應(yīng)用能夠穩(wěn)健應(yīng)對短時(shí)間短缺,但是長時(shí)間短缺則會引發(fā)嚴(yán)重問題。在服務(wù)短缺解決、隊(duì)列引擎將罕見的大量工作推到共享的應(yīng)用資源中時(shí),可能會出現(xiàn)隊(duì)列溢出甚至服務(wù)死鎖。

          服務(wù)使用者要求提供同步服務(wù)時(shí),通常是基于其自身理解或使用習(xí)慣。在多數(shù)情況下,采用異步模型可以達(dá)到同樣的效果,但更能夠體現(xiàn)SOA的最佳特性。

          當(dāng)然,并不是所有情況下都應(yīng)當(dāng)采用異步設(shè)計(jì)模式。但大多數(shù)情況下,異步消息可以確保系統(tǒng)在不同負(fù)荷下的伸縮性,在接口響應(yīng)時(shí)間不是很短時(shí)尤其如此。

          3 粗粒度服務(wù)接口

          粗粒度服務(wù)提供一項(xiàng)特定的業(yè)務(wù)功能,而細(xì)粒度服務(wù)代表了技術(shù)組件方法。舉個(gè)例說明最為清楚??向計(jì)費(fèi)系統(tǒng)中添加一個(gè)客戶是典型的粗粒度服務(wù),而你可以使用幾個(gè)細(xì)粒度服務(wù)實(shí)現(xiàn)同一功能,如:將客戶名加入到計(jì)費(fèi)系統(tǒng)中,添加詳細(xì)的客戶聯(lián)系方式、添加計(jì)費(fèi)信息等等。

          采用粗粒度服務(wù)接口的優(yōu)點(diǎn)在于使用者和服務(wù)層之間不必再進(jìn)行多次的往復(fù),一次往復(fù)就足夠。Internet環(huán)境中有保障的TCP/IP會話已不再占據(jù)主導(dǎo)、建立連接的成本也過高,因此在該環(huán)境中進(jìn)行應(yīng)用開發(fā)時(shí)粗粒度服務(wù)接口的優(yōu)點(diǎn)更為明顯。

          除去基本的往復(fù)效率,事務(wù)穩(wěn)定性問題也很重要。在一個(gè)單獨(dú)事務(wù)中包含的多段細(xì)粒度請求可能使事務(wù)處理時(shí)間過長、導(dǎo)致后臺服務(wù)超時(shí),從而中止。與此相反,從事務(wù)的角度來看,向后臺服務(wù)請求大塊數(shù)據(jù)可能是獲取反饋的唯一途徑。

          4 分級

          一個(gè)關(guān)于粗粒度服務(wù)的爭論是此類服務(wù)比細(xì)粒度服務(wù)的重用性差,因?yàn)榇至6确?wù)傾向于解決專門的業(yè)務(wù)問題,因此通用性差、重用性設(shè)計(jì)困難。解決該爭論的方法之一就是允許采用不同的粗粒度等級來創(chuàng)建服務(wù)。這種服務(wù)分級包含了粒度較細(xì)、重用性較高的服務(wù),也包含粒度較粗、重用性較差的服務(wù)。

          在服務(wù)分級方面,須注意服務(wù)層的公開服務(wù)通常由后臺系統(tǒng)(BES's)或SOA平臺中現(xiàn)有的本地服務(wù)組成。因此允許在服務(wù)層創(chuàng)建私有服務(wù)是非常重要的。正確的文檔、配置管理和私有服務(wù)的重用對于IT部門在SOA服務(wù)層快速開發(fā)新的公開服務(wù)的能力具有重要影響。

           

          5 松散耦合

          SOA具有“松散耦合”組件服務(wù),這一點(diǎn)區(qū)別于大多數(shù)其他的組件架構(gòu)。該方法旨在將服務(wù)使用者和服務(wù)提供者在服務(wù)實(shí)現(xiàn)和客戶如何使用服務(wù)方面隔離開來。

          服務(wù)提供者和服務(wù)使用者間松散耦合背后的關(guān)鍵點(diǎn)是服務(wù)接口作為與服務(wù)實(shí)現(xiàn)分離的實(shí)體而存在。這是服務(wù)實(shí)現(xiàn)能夠在完全不影響服務(wù)使用者的情況下進(jìn)行修改。

          大多數(shù)松散耦合方法都依靠基于服務(wù)接口的消息。基于消息的接口能夠兼容多種傳輸方式(如HTTP、JMS、TCP/IP、MOM等)。基于消息的接口可以采用同步和異步協(xié)議實(shí)現(xiàn),Web服務(wù)對于SOA服務(wù)接口來講是一個(gè)重要的標(biāo)準(zhǔn)。
          當(dāng)使用者調(diào)用一個(gè)Web服務(wù)時(shí),被調(diào)用的對象可以是CICS事務(wù)、DCOM或CORBA對象、J2EE EJB或TUXEDO服務(wù)等,但這與服務(wù)使用者無關(guān)。底層實(shí)現(xiàn)并不重要。

          消息類Web服務(wù)通常是松散耦合和文檔驅(qū)動的,這要優(yōu)于與服務(wù)特定接口的連接。當(dāng)客戶調(diào)用消息類Web服務(wù)時(shí),客戶通常會發(fā)送的是一個(gè)完整的文檔(如采購訂單),而非一組離散的參數(shù)。Web服務(wù)接收整個(gè)文檔、進(jìn)行處理、而后可能或者不會返回結(jié)果信息。由于客戶和Web服務(wù)間不存在緊密耦合請求響應(yīng),消息類 Web服務(wù)在客戶和服務(wù)器間提供了更為松散的耦合。

           

          6 可重用的服務(wù)及服務(wù)接口設(shè)計(jì)管理

          如果完全按照可重用的原則設(shè)計(jì)服務(wù),SOA將可以使應(yīng)用變得更為靈活。可重用服務(wù)采用通用格式提供重要的業(yè)務(wù)功能,為開發(fā)人員節(jié)約了大量時(shí)間。設(shè)計(jì)可重用服務(wù)是與數(shù)據(jù)庫設(shè)計(jì)或通用數(shù)據(jù)建模類似的最有價(jià)值的工作。由于服務(wù)設(shè)計(jì)是成功的關(guān)鍵因此,因此SOA實(shí)施者應(yīng)當(dāng)尋找一種適當(dāng)?shù)姆椒ㄟM(jìn)行服務(wù)設(shè)計(jì)過程管理。

          服務(wù)設(shè)計(jì)管理根本上講是服務(wù)設(shè)計(jì)問題,服務(wù)設(shè)計(jì)需要在兩點(diǎn)間折衷??走捷徑的項(xiàng)目戰(zhàn)術(shù)與企業(yè)構(gòu)建可重用通用服務(wù)的長期目標(biāo)。

          超越項(xiàng)目短期目標(biāo)進(jìn)行服務(wù)接口的開發(fā)和評估是邁向精確定義服務(wù)接口的重要一步,同時(shí)還需要為接口文檔、服務(wù)實(shí)現(xiàn)文檔及所有重要的非功能性特征設(shè)立標(biāo)準(zhǔn)。

          在大型組織中實(shí)現(xiàn)重用的一個(gè)先決條件是建立通用(設(shè)計(jì)階段)服務(wù)庫和開發(fā)流程,以保證重用的正確性和通用性。此外,對記述服務(wù)設(shè)計(jì)和開發(fā)的服務(wù)文檔進(jìn)行評估也是成功利用服務(wù)庫的關(guān)鍵。

          簡言之,不按規(guī)則編寫服務(wù)將無法保證可提供重用性的SOA的成功實(shí)施。在執(zhí)行規(guī)則的過程中會產(chǎn)生財(cái)務(wù)費(fèi)用,需要在制定SOA實(shí)施計(jì)劃時(shí)加以考慮。

           

          7 標(biāo)準(zhǔn)化的接口

          近年來出現(xiàn)的兩個(gè)重要標(biāo)準(zhǔn)XML和Web服務(wù)增加了全新的重要功能,將SOA推向更高的層面,并大大提升了SOA的價(jià)值。盡管以往的SOA產(chǎn)品都是專有的、并且要求IT部門在其特定環(huán)境中開發(fā)所有應(yīng)用,但XML和Web服務(wù)標(biāo)準(zhǔn)化的開放性使企業(yè)能夠在所部署的所有技術(shù)和應(yīng)用中采用SOA。這具有巨大的意義!

          Web服務(wù)使應(yīng)用功能得以通過標(biāo)準(zhǔn)化接口(WSDL)提供,并可基于標(biāo)準(zhǔn)化傳輸方式(HTTP和JMS)、采用標(biāo)準(zhǔn)化協(xié)議(SOAP)進(jìn)行調(diào)用。例如,開發(fā)人員可以采用最適于門戶開發(fā)的工具輕松創(chuàng)建一個(gè)新的門戶應(yīng)用,并可以重用ERP系統(tǒng)和定制化J2EE應(yīng)用中的現(xiàn)有服務(wù),而完全無須了解這些應(yīng)用的內(nèi)部工作原理。采用XML,門戶開發(fā)人員無須了解特定的數(shù)據(jù)表示格式,便能夠在這些應(yīng)用間輕松地交換數(shù)據(jù)。

          你也可以不采用Web服務(wù)或XML來創(chuàng)建SOA應(yīng)用,但是這兩種標(biāo)準(zhǔn)的重要性日益增加、應(yīng)用日趨普遍。盡管目前只有幾種服務(wù)使用者支持該標(biāo)準(zhǔn),但未來大多數(shù)的服務(wù)使用者都會將其作為企業(yè)的服務(wù)訪問方法。

           

          8 支持各種消息模式

          SOA中可能存在以下消息模式。在一個(gè)SOA實(shí)現(xiàn)中,常會出現(xiàn)混合采用不同消息模式的服務(wù)。

          A. 無狀態(tài)的消息。使用者向提供者發(fā)送的每條消息都必須包含提供者處理該消息所需的全部信息。這一限定使服務(wù)提供者無須存儲使用者的狀態(tài)信息,從而更易擴(kuò)展。

          B. 有狀態(tài)的消息。使用者與提供者共享使用者的特定環(huán)境信息,此信息包含在提供者和使用者交換的消息中。這一限定使提供者與使用者間的通信更加靈活,但由于服務(wù)提供者必須存儲每個(gè)使用者的共享環(huán)境信息,因此其整體可擴(kuò)展性明顯減弱。該限定增強(qiáng)了服務(wù)提供者和使用者的耦合關(guān)系,提高了交換服務(wù)提供者的服務(wù)難度。

          C. 等冪消息。向軟件代理發(fā)送多次重復(fù)消息的效果和發(fā)送單條消息相同。這一限定使提供者和消費(fèi)者能夠在出現(xiàn)故障時(shí)簡單的復(fù)制消息,從而改進(jìn)服務(wù)可靠性。

           

          9 精確定義的服務(wù)接口

          服務(wù)是由提供者和使用者間的契約定義的。契約規(guī)定了服務(wù)使用方法及使用者期望的最終結(jié)果。此外,還可以在其中規(guī)定服務(wù)質(zhì)量。此處需要注意的關(guān)鍵點(diǎn)是,服務(wù)契約必須進(jìn)行精確定義。

          META將SOA定義為:“一種以通用為目的、可擴(kuò)展、具有聯(lián)合協(xié)作性的架構(gòu),所有流程都被定義為服務(wù),服務(wù)通過基于類封裝的服務(wù)接口委托給服務(wù)提供者,服務(wù)接口根據(jù)可擴(kuò)展標(biāo)識符、格式和協(xié)議單獨(dú)描述。”該定義的最后部分表明在服務(wù)接口和其實(shí)現(xiàn)之間有明確的分界。

           

          SOA的優(yōu)點(diǎn)

          了解了SOA的定義和基本特征,最后我們再來看看SOA潛在的優(yōu)點(diǎn):

          A.編碼靈活性

          可基于模塊化的低層服務(wù)、采用不同組合方式創(chuàng)建高層服務(wù),從而實(shí)現(xiàn)重用,這些都體現(xiàn)了編碼的靈活性。此外,由于服務(wù)使用者不直接訪問服務(wù)提供者,這種服務(wù)實(shí)現(xiàn)方式本身也可以靈活使用。

          B.明確開發(fā)人員角色

          例如,熟悉BES的開發(fā)人員可以集中精力在重用訪問層,協(xié)調(diào)層開發(fā)人員則無須特別了解BES的實(shí)現(xiàn),而將精力放在解決高價(jià)值的業(yè)務(wù)問題上。

          C.支持多種客戶類型

          借助精確定義的服務(wù)接口和對XML、Web服務(wù)標(biāo)準(zhǔn)的支持,可以支持多種客戶類型,包括PDA、手機(jī)等新型訪問渠道。

          D.更易維護(hù)

          服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系及對開放標(biāo)準(zhǔn)的采用確保了該特性的實(shí)現(xiàn)。

          E.更好的伸縮性

          依靠服務(wù)設(shè)計(jì)、開發(fā)和部署所采用的架構(gòu)模型實(shí)現(xiàn)伸縮性。服務(wù)提供者可以彼此獨(dú)立調(diào)整,以滿足服務(wù)需求。

          F.更高的可用性

          該特性在服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系上得以體現(xiàn)。使用者無須了解提供者的實(shí)現(xiàn)細(xì)節(jié),這樣服務(wù)提供者就可以在WebLogic集群環(huán)境中靈活部署,使用者可以被轉(zhuǎn)接到可用的例程上。

          SOA可以看作是B/S模型、XML/Web Service技術(shù)之后的自然延伸。SOA將能夠幫助我們站在一個(gè)新的高度理解企業(yè)級架構(gòu)中的各種組件的開發(fā)、部署形式,它將幫助企業(yè)系統(tǒng)架構(gòu)者以更迅速、更可靠、更具重用性架構(gòu)整個(gè)業(yè)務(wù)系統(tǒng)。較之以往,以SOA架構(gòu)的系統(tǒng)能夠更加從容地面對業(yè)務(wù)的急劇變化。

          面向服務(wù)架構(gòu)(SOA)是讓IT更加關(guān)注于業(yè)務(wù)流程而非底層IT基礎(chǔ)結(jié)構(gòu),從而獲得競爭優(yōu)勢的更高級別的應(yīng)用程序開發(fā)架構(gòu)。

          IT人士如何滿足那些日益增長的需求以便快速實(shí)現(xiàn)IT價(jià)值呢?答案是開發(fā)和部署面向服務(wù)的架構(gòu)(SOA)。SOA方法能夠更好地讓IT與業(yè)務(wù)目標(biāo)看齊,使得IT組織可以高效復(fù)用資產(chǎn)、為企業(yè)更快地創(chuàng)造價(jià)值,進(jìn)而更輕松地應(yīng)對不斷變化的業(yè)務(wù)需求。

          SOA對需要使用信息技術(shù)解決關(guān)鍵業(yè)務(wù)問題的企業(yè)(包括希望減少冗余架構(gòu)、創(chuàng)建跨客戶和員工系統(tǒng)的公共業(yè)務(wù)接口的企業(yè);需要基于角色和工作流對用戶提供個(gè)性化信息的業(yè)務(wù)的企業(yè);希望通過Internet實(shí)現(xiàn)跨區(qū)銷售、升級銷售和經(jīng)由移動設(shè)備的訪問來提升客戶服務(wù)的組織)很有價(jià)值。

          采用服務(wù)驅(qū)動型方法的企業(yè)體驗(yàn)著以下業(yè)務(wù)和IT好處:

          面向服務(wù)架構(gòu)的業(yè)務(wù)好處

          <!--[if !supportLists]-->l    <!--[endif]-->效率:將業(yè)務(wù)流程從"煙囪"狀的、重復(fù)的流程向維護(hù)成本較低的高度利用、共享服務(wù)應(yīng)用轉(zhuǎn)變。

          <!--[if !supportLists]-->l    <!--[endif]-->響應(yīng):迅速適應(yīng)和傳送關(guān)鍵業(yè)務(wù)服務(wù)來滿足市場需求,為客戶、雇員和合作伙伴更高水準(zhǔn)的服務(wù)。

          <!--[if !supportLists]-->l    <!--[endif]-->適應(yīng)性:更高效地轉(zhuǎn)入轉(zhuǎn)出讓整個(gè)業(yè)務(wù)變得復(fù)雜性和難度更小,達(dá)到節(jié)約時(shí)間和資金的目的。

          面向服務(wù)架構(gòu)的IT好處

          <!--[if !supportLists]-->l    <!--[endif]-->復(fù)雜性降低:基于標(biāo)準(zhǔn)的兼容性,與點(diǎn)到點(diǎn)的集成相比降低了復(fù)雜性。

          <!--[if !supportLists]-->l    <!--[endif]-->重用增加:通過重用以前開發(fā)和部署的共享服務(wù),實(shí)現(xiàn)了更有效的應(yīng)用程序/項(xiàng)目開發(fā)和交付。

          <!--[if !supportLists]-->l    <!--[endif]-->遺留集成:用作可重用服務(wù)的遺留應(yīng)用程序降低了維護(hù)和集成的成本。

          如今的服務(wù)驅(qū)動型企業(yè)都在體驗(yàn)著開發(fā)的高效率,服務(wù)的高可靠性和服務(wù)的高質(zhì)量,以最大限度獲得業(yè)務(wù)機(jī)會所帶來的這些好處。

           

          IBM發(fā)布31種SOA產(chǎn)品 加速實(shí)現(xiàn)面向服務(wù)架構(gòu)

          IBM在它的客戶中加速實(shí)現(xiàn)面向服務(wù)架構(gòu)的努力當(dāng)中,已經(jīng)發(fā)布了IBM的11項(xiàng)新產(chǎn)品和22項(xiàng)基于WebSphere的軟件的更新,IBM還宣布將會對咨詢服務(wù)增加人力投入,以使得該項(xiàng)目能夠在接下來的六個(gè)月中完成。

          IBM Software 集團(tuán)的高級副總裁和執(zhí)行總裁Steve Mills認(rèn)為SOA軟件市場還沒有成熟,但是本周發(fā)布的軟件將會幫助客戶開始SOA軟件的開發(fā)和應(yīng)用。

          posted @ 2009-01-20 10:48 NewSea 閱讀(169) | 評論 (0)編輯 收藏

          <!--[endif]--> <!--[if !vml]--><!--[endif]-->

          圖1:共享服務(wù)生命周期的設(shè)計(jì)和運(yùn)行時(shí)階段

          SSLC中的設(shè)計(jì)時(shí)注意事項(xiàng)

          現(xiàn)在我們來看看共享服務(wù)周期的設(shè)計(jì)時(shí)方面。提到設(shè)計(jì)時(shí),我主要關(guān)注服務(wù)投入生產(chǎn)和使用之前的生命周期。本文不涉及設(shè)計(jì)時(shí)建模的許多需求,如開發(fā)服務(wù)建模方法學(xué),但如有興趣,我將在未來的文章中闡述這一主題。

          確定業(yè)務(wù)流程

          SOA的一個(gè)核心原則是業(yè)務(wù)和IT保持一致以及建立競技場(playing field)。通過識別企業(yè)通過服務(wù)定位提供價(jià)值的業(yè)務(wù)流程,服務(wù)工程團(tuán)隊(duì)(通常是業(yè)務(wù)、分析師和IT人員的組合)可能在討論的出發(fā)點(diǎn)方面達(dá)成一致。

          許多企業(yè)發(fā)覺很難理解從何處開始SOA以及哪些是最合適的業(yè)務(wù)流程。一種好的方法是首先在白板上定義需求目錄。將白板劃分為3條泳道,分別代表短期需求(3到6個(gè)月——通常本質(zhì)上更有戰(zhàn)術(shù)性),中期需求(6到18個(gè)月)和長期需求(超過18個(gè)月——通常為戰(zhàn)略需求,可能隨業(yè)務(wù)需求的變化而變化)。劃分泳道之后,開始為每個(gè)區(qū)域添加需求。盡量避免按應(yīng)用系統(tǒng)(如,電子商務(wù)網(wǎng)站)思考;看得越遠(yuǎn),越有可能達(dá)到您要求的高度(例如,我需要完善自己的清單系統(tǒng))。在生命周期的這一階段,主要著眼于可能成為業(yè)務(wù)組成部分的業(yè)務(wù)流程,如電子商務(wù)站點(diǎn)。

          完成初步分析之后,服務(wù)工程團(tuán)隊(duì)可能開始尋找依賴性,試圖決定優(yōu)先級、揭示重用可能性或確定需求之間的依賴性。觀察下面的需求目錄示例,可以看到對于該企業(yè)來說,最初集中在用戶注冊流程上是再合理不過了,因?yàn)樵S多其他流程依賴于該流程,而且它可以在整個(gè)電子商務(wù)功能和企業(yè)內(nèi)部網(wǎng)中重用。

          <!--[if !vml]--><!--[endif]-->

          圖2:需求目錄示例,它向服務(wù)工程團(tuán)隊(duì)提供了實(shí)現(xiàn)公司未來狀態(tài)的路線圖

          根據(jù)公司在服務(wù)設(shè)計(jì)和開發(fā)方面的成熟度,選擇首先開發(fā)哪種服務(wù)可能很自然地導(dǎo)致構(gòu)建沒有很多依賴性的服務(wù),同時(shí)積累經(jīng)驗(yàn)。盡管這些想法是對的,但是在企業(yè)成熟度中,熟悉增強(qiáng)重用的服務(wù)建模技術(shù)是很重要的,如強(qiáng)大的契約和策略定義。服務(wù)工程團(tuán)隊(duì)必須意識到重用概念以前曾在業(yè)務(wù)中提到過多次,但沒有多大成效。由于相對于傳統(tǒng)應(yīng)用程序生命周期來說,服務(wù)開發(fā)周期較短,服務(wù)工程團(tuán)隊(duì)有能力從短期目錄創(chuàng)建一系列可以跨計(jì)劃快速利用的基礎(chǔ)服務(wù),從而實(shí)現(xiàn)早期的成功。

          無論如何,對初始服務(wù)(特別是依賴服務(wù))的選擇應(yīng)與服務(wù)工程團(tuán)隊(duì)的能力相一致。這是很重要的。新的團(tuán)隊(duì)需要時(shí)間才能在SSLC的設(shè)計(jì)階段具有更多經(jīng)驗(yàn)。在服務(wù)目錄中確定的依賴服務(wù)可能由于具有較高的重用水平,看似是一個(gè)好的侯選服務(wù),但是不適合于尚未成熟的團(tuán)隊(duì)。若一個(gè)服務(wù)已涉及到跨業(yè)務(wù)線、提供企業(yè)級功能或遵守嚴(yán)格的服務(wù)質(zhì)量規(guī)章的依賴性,則它可能不是一個(gè)理想的初始侯選服務(wù)。

          另一方面,對于一個(gè)具有已定義流程和已知端點(diǎn)的服務(wù),如果這些端點(diǎn)是受控的、成熟的并且范圍很小,在必要的情況下,服務(wù)本身的離散程度足以構(gòu)建或重構(gòu),那么在很短的時(shí)間內(nèi),這種服務(wù)是初始開發(fā)的主要侯選服務(wù)。這樣的初始服務(wù)應(yīng)該可以很快地驗(yàn)證假設(shè)、方法學(xué)和流程。正確的設(shè)計(jì)需要經(jīng)驗(yàn)和實(shí)踐。反復(fù)進(jìn)行試驗(yàn)并糾正錯誤,尤其在SOA計(jì)劃的成型階段,這種方法是判斷在您的企業(yè)內(nèi)哪些SOA實(shí)踐可以發(fā)揮作用的重要機(jī)制。早期選擇沒有依賴性的孤立服務(wù)可能會限制服務(wù)工程團(tuán)隊(duì)在成型階段獲取更多的學(xué)習(xí)機(jī)會。

          服務(wù)設(shè)計(jì)和建模

          服務(wù)設(shè)計(jì)和建模階段的目標(biāo)是,基于需求目錄中確定的業(yè)務(wù)流程建立一種定義侯選服務(wù)的一致方法。真到開始做的時(shí)候,服務(wù)工程團(tuán)隊(duì)通常用白板描繪業(yè)務(wù)流程、分解步驟以及討論當(dāng)前和未來的需求。為此,一致的設(shè)計(jì)方法學(xué)應(yīng)該使用業(yè)務(wù)和IT均可理解的常用語言來建立。

          服務(wù)設(shè)計(jì)方法學(xué)為服務(wù)工程團(tuán)隊(duì)提供了一系列用于分解業(yè)務(wù)流程的步驟或活動,基于面向服務(wù)的設(shè)計(jì)原則確定服務(wù)中開發(fā)哪些方面是合理的。對于這種設(shè)計(jì)方法學(xué),許多企業(yè)最初有一些爭執(zhí),尤其是服務(wù)粒度。過細(xì)的粒度可能產(chǎn)生不可重用的服務(wù)增殖;過粗的粒度,又很難著手。在團(tuán)隊(duì)對建模流程滿意之前,它應(yīng)該將其活動集中在定義良好的業(yè)務(wù)流程中,這些業(yè)務(wù)流程可能并沒有較大企業(yè)需求(如高生產(chǎn)量、長期事務(wù))。

          盡管從技術(shù)上來說不是建模階段的一部分(但可能是建模方法學(xué)的一部分),但我的經(jīng)驗(yàn)表明:在定義服務(wù)分類原則方面投入時(shí)間對企業(yè)來說是很重要的。這些指導(dǎo)方針應(yīng)該定義服務(wù)的哪些方面決定了服務(wù)是業(yè)務(wù)線(LOB)或應(yīng)用程序級服務(wù),還是具有特殊需求的企業(yè)服務(wù)。這些指導(dǎo)方針可能包括生產(chǎn)量、服務(wù)質(zhì)量(QoS)、正常運(yùn)行時(shí)間、服務(wù)關(guān)鍵程度以及多少客戶將使用該服務(wù)。另外,開始定義與建立和管理服務(wù)相關(guān)的企業(yè)治理控制時(shí),這些指導(dǎo)方針至關(guān)重要。開發(fā)指導(dǎo)方針可能本身是貫穿始終的工作,但開頭很簡單,只定義當(dāng)前需求所要求的部分就可以。而且,服務(wù)分類可能有助于將相似功能分組并確認(rèn)這些功能的業(yè)務(wù)所有者。記住,后續(xù)出現(xiàn)新的需求時(shí)可以重新調(diào)整指導(dǎo)方針。

          <!--[if !vml]--><!--[endif]-->

          圖3:服務(wù)分類及其與SOA治理的關(guān)系;此分類可能有助于定義SOA資產(chǎn)的企業(yè)治理控制。

          根據(jù)服務(wù)目錄示例,企業(yè)可能已經(jīng)建立了企業(yè)服務(wù)和業(yè)務(wù)線服務(wù)類別。以下進(jìn)行詳細(xì)描述。

          企業(yè)服務(wù)

          企業(yè)服務(wù)具有水平影響,可能包括:

          1. 無論在是周邊或核心部門,安全性都需要符合行業(yè)規(guī)范。
          2. 活動審計(jì)。記住審計(jì)可能是某一特定功能的一個(gè)方面,如外匯交易,而不是進(jìn)行交易的流程。
          3. 一般異常處理。
          4. 服務(wù)要求24x7可靠性,并且必須據(jù)此進(jìn)行治理。
          5. 服務(wù)要求大容量和(或)低延遲吞吐量。
          6. 根據(jù)使用環(huán)境,服務(wù)可能要求更高級別的客戶服務(wù)或響應(yīng)時(shí)間。例如,客戶個(gè)人信息表明他們是貴賓客戶,則服務(wù)契約會要求不同的SLA。
          7. 若服務(wù)要求跨業(yè)務(wù)線進(jìn)行交互,則可能具有必須滿足的企業(yè)基礎(chǔ)架構(gòu)需求。
          8. 服務(wù)與企業(yè)數(shù)據(jù)進(jìn)行交互。這方面可能意味著企業(yè)擁有通用模型,而具體用戶數(shù)據(jù)存儲的實(shí)現(xiàn)則由業(yè)務(wù)線控制。經(jīng)驗(yàn)和實(shí)踐表明,大量的用戶數(shù)據(jù)存儲存在于企業(yè)中。SOA目標(biāo)的一部分就是為了長期鞏固這些方面,但在定義未來計(jì)劃時(shí),不應(yīng)脫離現(xiàn)實(shí),而是要充分利用現(xiàn)有資源。

          業(yè)務(wù)線服務(wù)

          這些服務(wù)具有垂直影響,可能包括:

          1. 特定業(yè)務(wù)功能,如采購單(PO)或新的租賃處理。
          2. 具有特定UI和外觀的表示服務(wù),或者通常用于提供某一特定業(yè)務(wù)功能的可視化表示的向?qū)А?/span>
          3. 支持業(yè)務(wù)線的CRUD(創(chuàng)建、讀取、更新、刪除)活動的信息和訪問服務(wù)。
          4. 應(yīng)用服務(wù),如基于特定業(yè)務(wù)線數(shù)據(jù)的銷售跟蹤或預(yù)測。

          此分類并不完整,但應(yīng)該可以提供企業(yè)如何開始分類工作的概念。

          通過檢查以上類別,可將以前定義的需求目錄中的某些侯選服務(wù)放至治理組中,并識別出以前并不明顯的許多典型結(jié)構(gòu):

          企業(yè)服務(wù)

          業(yè)務(wù)線服務(wù)

          登錄企業(yè)內(nèi)部網(wǎng)(內(nèi)部網(wǎng)基礎(chǔ)架構(gòu)主要由IT或特殊的LOB管理)

          更新個(gè)人信息(個(gè)人信息范例)

          更新個(gè)人信息(服務(wù))

          登錄電子商務(wù)網(wǎng)站

          銷售人員個(gè)人信息范例

          創(chuàng)建銷售人員個(gè)人信息

          清單項(xiàng)范例

          購買電影

          清單項(xiàng)范例

          購買書籍

          查看我的訂單狀態(tài)

          支付范例

          提供支付信息

          清單項(xiàng)范例

          出售書籍

          查看企業(yè)新聞

          清單范例

          檢查電影清單

          清單范例

          檢查書籍清單

          檢查所有清單

          整合清單系統(tǒng)(通常按實(shí)際服務(wù)進(jìn)行長期計(jì)劃)

          服務(wù)生命周期主要是為了解決業(yè)務(wù)需求問題,而不是過度陷于具體的分類練習(xí)。SSLC評估階段是為了支持基于實(shí)際應(yīng)用和環(huán)境的再評估。我想到電影《夢幻之地》中凱文·科斯特納聽到的聲音重復(fù)說:“你蓋好了,他們就會來”。這與在企業(yè)中公開服務(wù)沒有什么區(qū)別。在某一時(shí)間點(diǎn)上以某一使用級別定義的內(nèi)容實(shí)際上可能會以完全不同的方式使用,也就是通常在最初設(shè)計(jì)時(shí)并未考慮到的方式。指導(dǎo)方針在重分類階段應(yīng)該有所幫助。

          在流程的這一階段,我主要談?wù)摵钸x服務(wù)與服務(wù)實(shí)現(xiàn)的概念。Erl(2004)建議侯選服務(wù)是潛在的服務(wù),這些服務(wù)可能在最后的設(shè)計(jì)中實(shí)現(xiàn),也可能不實(shí)現(xiàn)。設(shè)計(jì)流程是為了確定設(shè)計(jì)和開發(fā)的未來階段的輸入。理解企業(yè)中哪些服務(wù)已存在以及哪些需要開發(fā)對服務(wù)工程團(tuán)隊(duì)來說特別重要。支持服務(wù)發(fā)現(xiàn)的工具(如兼容UDDI的注冊庫)是促進(jìn)服務(wù)重用和了解現(xiàn)有可用資源的重要組件。

          最后,在建模階段,隨著逐漸理解了團(tuán)隊(duì)正在定義侯選服務(wù),服務(wù)工程團(tuán)隊(duì)?wèi)?yīng)通過獨(dú)立于技術(shù)架構(gòu)和物理環(huán)境約束的已確定方法學(xué)繼續(xù)進(jìn)行設(shè)計(jì)。服務(wù)設(shè)計(jì)和建模階段的目的就是定義期望的未來狀態(tài)。SSLC的構(gòu)建和組合階段將使侯選服務(wù)遵守組織約束以定義最后的服務(wù)實(shí)現(xiàn)。

          構(gòu)建和組合

          為更加快速經(jīng)濟(jì)地開發(fā)新的功能,服務(wù)生命周期的構(gòu)建和組合重點(diǎn)集中在開發(fā)新服務(wù)以及利用企業(yè)中現(xiàn)有資源所要求的任務(wù)上。這一方法可以縮短上市時(shí)間,從而實(shí)現(xiàn)SOA的一項(xiàng)關(guān)鍵財(cái)務(wù)收益。

          在本階段,服務(wù)建模和設(shè)計(jì)階段確定的侯選服務(wù)被具體化成服務(wù)操作,并將基礎(chǔ)架構(gòu)和環(huán)境實(shí)體映射到它們。正如在建模階段提到的,確定SOA計(jì)劃的目標(biāo)是很重要的。由于當(dāng)前環(huán)境的限制,實(shí)現(xiàn)這些目標(biāo)可能比較困難,但是可能會促進(jìn)某些良性討論以及某種成本利潤分析,從而確定如何實(shí)現(xiàn)期望的未來狀態(tài)。但是,現(xiàn)在的企業(yè)需要繼續(xù)發(fā)展,所以您的侯選服務(wù)在企業(yè)環(huán)境中必須具有現(xiàn)實(shí)意義。

          理解了哪些服務(wù)操作和實(shí)現(xiàn)比較現(xiàn)實(shí)之后,就可以著眼于重用的可能性以及在上一階段確定的組合。要充分利用SOA,組合的概念對業(yè)務(wù)敏捷性來說非常重要。開發(fā)環(huán)境和服務(wù)基礎(chǔ)架構(gòu)工具必須推動設(shè)計(jì)時(shí)發(fā)現(xiàn)服務(wù),并可組合這些服務(wù),完成整個(gè)業(yè)務(wù)流程。

          沒有這些工具,SOA計(jì)劃的成功可能會受到阻礙。隨著初始服務(wù)對業(yè)務(wù)線團(tuán)隊(duì)和其他工程團(tuán)隊(duì)可用,組合的機(jī)會可能得以實(shí)現(xiàn)。在這種情況下,在分類的同時(shí)已確定了初始依賴性。這些依賴性應(yīng)描述為構(gòu)建組合服務(wù)的直接可能性,并應(yīng)提供重用的切實(shí)收益。本文中只稍微提到了組合,但這些活動的重要性與SSLC的構(gòu)建和組合階段直接相關(guān)。

          考慮需求目錄示例:一個(gè)稱為整合清單系統(tǒng)的計(jì)劃已在長期目標(biāo)中確定。在第一次瀏覽時(shí),該任務(wù)可能被描述為物理上廢棄舊清單系統(tǒng),并將存儲庫整合到一個(gè)主數(shù)據(jù)源中。盡管可能真的會是這樣(如果成本利潤分析表明廢棄舊系統(tǒng)更加經(jīng)濟(jì)有效的話),活動也可能表述為一種沒這么具體的形式。服務(wù)工程團(tuán)隊(duì)可能產(chǎn)生一系列邏輯數(shù)據(jù)服務(wù),對客戶隱藏物理端點(diǎn)。構(gòu)建普適數(shù)據(jù)訪問層的這一方法將通過組合直接利用在中期需求目錄中開發(fā)的現(xiàn)有檢查清單X服務(wù)。整合清單系統(tǒng)計(jì)劃可能要求根據(jù)清單文檔的典型表示來決定哪些端點(diǎn)需要修改。這種分散式CRUD邏輯應(yīng)在“服務(wù)基礎(chǔ)架構(gòu)工具”中提供,這樣的一個(gè)示例是BEA AquaLogic Data Services Platform。

          通常,服務(wù)起源于業(yè)務(wù)線級別而不是通過企業(yè)計(jì)劃,因?yàn)橐话闱闆r下這是驅(qū)動項(xiàng)目建立和需求的地方。結(jié)果,“你蓋好了,他們就來了”方案可能導(dǎo)致設(shè)計(jì)時(shí)發(fā)現(xiàn)的服務(wù)不是良好的重用侯選服務(wù)。它們可能不提供足夠的性能或一致模式。盡管它們在企業(yè)中可用,但仍為應(yīng)用程序級服務(wù)。最后,企業(yè)必須開始創(chuàng)建管理流程以控制服務(wù)的企業(yè)可見性。在通常情況下,服務(wù)注冊提供確保服務(wù)質(zhì)量的管理機(jī)制和流程。這些問題必須在服務(wù)生命周期的發(fā)布和準(zhǔn)備階段予以解決。

          最后,要進(jìn)行快速的開發(fā),經(jīng)驗(yàn)表明,工具標(biāo)準(zhǔn)化可使企業(yè)充分利用現(xiàn)有知識并在整個(gè)SOA計(jì)劃中重用。這不是說每個(gè)人都必須使用相同的IDE或某個(gè)特定工具,而是說使用的任何工具必須以類似的模式工作,必須支持標(biāo)準(zhǔn);若開發(fā)人員需要使用不同的工具支持其他項(xiàng)目,則必須降低學(xué)習(xí)的難度。另外,這些工具必須能夠輕松地度量服務(wù)的重用性和控制上市時(shí)間。通過服務(wù)生命周期獲得度量可以為企業(yè)提供價(jià)值巨大的信息,幫助SOA計(jì)劃獲得成功。

          BEA域模型

          正如許多方法學(xué)所述,需要建立一種底層模式來統(tǒng)一所有其他活動。在BEA和SOA環(huán)境中,就是BEA的域模型(需要注冊)。Dev2Dev中有許多文章描述理解SOA各個(gè)方面的重要性(詳見David Groves撰寫的Successfully Planning for SOA)。共享服務(wù)生命周期使用該模型并按此方式提供切實(shí)的控制點(diǎn)。在本文定義的設(shè)計(jì)時(shí)階段中,域模型的影響通過定義項(xiàng)目和應(yīng)用程序的需求以及架構(gòu)方法的需求目錄來表述。

          該方法通常開始于遠(yuǎn)景,最初通過基礎(chǔ)服務(wù)或構(gòu)造塊實(shí)現(xiàn)。盡管治理在設(shè)計(jì)階段沒有在SSLC的運(yùn)行時(shí)那么關(guān)鍵,但是治理已開始在流程中產(chǎn)生了一定的影響,特別是在決定初始服務(wù)實(shí)現(xiàn)時(shí)。

          本系列文章的第二部分將揭示評估部署服務(wù)成本和收益的重要性,并繼續(xù)關(guān)注在運(yùn)行時(shí)如何對服務(wù)進(jìn)行治理。另外,SSLC的設(shè)計(jì)時(shí)和運(yùn)行時(shí)階段都要求緊密結(jié)合業(yè)務(wù)策略和流程。這就要求確定和設(shè)計(jì)可能成為侯選服務(wù)的業(yè)務(wù)流程,并將它們組合成可重用服務(wù),以實(shí)現(xiàn)業(yè)務(wù)的靈活性。

          結(jié)束語

          通過進(jìn)一步理解與共享服務(wù)生命周期相關(guān)的設(shè)計(jì)時(shí)需求,正在尋求使用SOA促進(jìn)重用和增加業(yè)務(wù)靈活性的企業(yè)可能認(rèn)識到及早建立基礎(chǔ)架構(gòu)(如方法學(xué)、分類指導(dǎo)方針以及開發(fā)工具)是實(shí)現(xiàn)早期及后續(xù)成功的重要因素。通過突破傳統(tǒng)應(yīng)用程序開發(fā)范型以及關(guān)注作為發(fā)展藍(lán)圖的業(yè)務(wù)流程,服務(wù)工程團(tuán)隊(duì)可以及時(shí)有效地緊密結(jié)合業(yè)務(wù)需求。

          本文的第二部分將關(guān)注共享服務(wù)生命周期的運(yùn)行時(shí)。

          posted @ 2009-01-20 10:47 NewSea 閱讀(178) | 評論 (0)編輯 收藏

          SOA (Service Oriented Architecture,面向服務(wù)體系架構(gòu))是將開發(fā)和業(yè)務(wù)流程所需的各項(xiàng)操作開發(fā)成“服務(wù)”(Service)的一種IT體系架構(gòu)。在這種架構(gòu)支撐下開發(fā)和組成的業(yè)務(wù)流程本身還可以通過流程編排與其它“服務(wù)”組合,從而實(shí)現(xiàn)松耦合的復(fù)雜“服務(wù)”。
          目前,SOA技術(shù)已經(jīng)從理論走向了現(xiàn)實(shí),越來越多的企業(yè)正在或準(zhǔn)備享受SOA帶來的回報(bào)。與傳統(tǒng)IT項(xiàng)目類似,采用SOA技術(shù)同樣是一個(gè)循序漸進(jìn)的過程,從簡單SOA項(xiàng)目到SOA型企業(yè),從技術(shù)平臺到技術(shù)標(biāo)準(zhǔn)遵循都是漸進(jìn)過程的一部分。
          盡管采用SOA技術(shù)同樣是一個(gè)漸進(jìn)的過程,但是與傳統(tǒng)IT項(xiàng)目相比,它仍然具有明顯的獨(dú)特性。面向服務(wù)的架構(gòu)思想不僅提供了一條解決問題的思路,也同樣對整個(gè)項(xiàng)目的管理過程提出了一個(gè)新的挑戰(zhàn)。
          影響SOA項(xiàng)目成功的主要因素
          在SOA的世界里,“業(yè)務(wù)模式”和“技術(shù)實(shí)現(xiàn)”比以往任何時(shí)候都結(jié)合得更緊密。這是由于通過服務(wù)間松耦合編排方式構(gòu)建的應(yīng)用具有極大的靈活性,可以更敏捷的適應(yīng)業(yè)務(wù)需求的變化。換句話說,SOA型的IT架構(gòu)為業(yè)務(wù)開展提供了更新、更有效的技術(shù)支撐。
          正是因?yàn)镾OA與業(yè)務(wù)的密切關(guān)系,使得影響SOA項(xiàng)目成功的因素跨越了傳統(tǒng)IT項(xiàng)目管理的范疇。
          從下面的SOA項(xiàng)目成功因素三維模型可以看出,除了傳統(tǒng)的“使能工具、平臺和應(yīng)用”因素之外,“實(shí)施方法論”和“企業(yè)文化”也是保證SOA項(xiàng)目成功不可或缺的重要因素。其中“實(shí)施方法論”要解決的是從何入手、如何建設(shè)的問題;“企業(yè)文化”要解決的則是如何建立SOA型企業(yè)的問題。
          從另一方面來看,影響SOA項(xiàng)目成功的關(guān)鍵因素又可分為技術(shù)因素和管理因素兩大類:技術(shù)因素包括技術(shù)的采納和相關(guān)技術(shù)標(biāo)準(zhǔn)的遵循;管理因素包括企業(yè)發(fā)展策略、組織架構(gòu)和IT架構(gòu)、信息和資源共享模型、IT治理、流程等。
           
          SOA項(xiàng)目分級模型
          從影響SOA項(xiàng)目成功的關(guān)鍵因素來看,“實(shí)施方法論”是其中的一個(gè)重點(diǎn)。在企業(yè)準(zhǔn)備采納SOA的技術(shù)的時(shí)候,必須考慮清楚從何入手、如何建設(shè)的問題,因?yàn)閷?shí)現(xiàn)SOA型企業(yè)需要一個(gè)循序漸進(jìn)的過程。目前全球范圍內(nèi),已經(jīng)有眾多企業(yè)成功應(yīng)用了SOA,根據(jù)從這些成功者中提煉的經(jīng)驗(yàn),可以將SOA項(xiàng)目分為5個(gè)不同的層級模型。(如圖2)
          需要特別指出的是,這一分級模型并不要求從低到高逐級實(shí)現(xiàn),而僅提供一個(gè)理論模型,企業(yè)可以根據(jù)自身的具體情況,以及項(xiàng)目的特點(diǎn),綜合各方因素,從任意層級開始自己的SOA之旅。
           
          第一級:簡單SOA應(yīng)用
          簡單SOA應(yīng)用模型主要針對構(gòu)造和使用Web Services,并對使用情況監(jiān)控管理的需求而提出。這一級別中,技術(shù)上需要使用應(yīng)用服務(wù)器平臺和掌握支持 Web Services 的開發(fā)工具;要遵循的相關(guān)標(biāo)準(zhǔn)包括WSDL、SOAP、XML、WSRP、JSR168;在項(xiàng)目選擇方面,應(yīng)該選擇能快速實(shí)施的項(xiàng)目以求短期能見效益。
          具有35年歷史的The Hartford是美國最大的保險(xiǎn)公司之一,企業(yè)內(nèi)運(yùn)行的傳統(tǒng)系統(tǒng)效率極為低下,由于過分依賴代碼,3-4月/30人的維護(hù)周期成為家常便飯。2003年,The Hartford采用Web Service方式的服務(wù)單元實(shí)現(xiàn)了傳統(tǒng)業(yè)務(wù)功能,并通過松耦合的方式對業(yè)務(wù)進(jìn)行編排,一下將系統(tǒng)的維護(hù)周期提速到了3-4周/5-8人。SOA模式允許The Hartford 從大型機(jī) “one service at a time”模式遷移到更靈活的模式。例如,在SOA之前,創(chuàng)建.Net與Java的橋接需要花費(fèi)3-5周時(shí)間,采用SOA (WSDL接口)后,時(shí)間減少至2小時(shí)。The Hartford的SOA項(xiàng)目是典型的“服務(wù)”驅(qū)動的項(xiàng)目,是從第一級模型開始的典型案例之一 。
          第二級:SOA戰(zhàn)術(shù)應(yīng)用
          SOA戰(zhàn)術(shù)應(yīng)用模型主要針對傳統(tǒng)的數(shù)據(jù)集成及相應(yīng)的安全管理需求而提出。這一級別中,技術(shù)平臺要求有BPEL 流程編排 (Orchestration)、企業(yè)服務(wù)總線(ESB -  Enterprise Service Bus)、服務(wù)注冊(Registry)和Web Services 管理和安全(WSM);要遵循的相關(guān)標(biāo)準(zhǔn)包括BPEL、WSIF、JMS、JCA、UDDI、WS-Security;在策略方面要注重信息的共享模式、明確衡量SOA是否成功的主要指標(biāo)、保證“Web Service”的管理和安全性政策的有效實(shí)行。
          Deutsche Post World Net是世界上最大的物流公司之一。它的SOA需求是如何利用靈活的基礎(chǔ)架構(gòu)來幫助公司減少多個(gè)業(yè)務(wù)系統(tǒng)集成的時(shí)間和費(fèi)用。通過在IT集成平臺上采用先進(jìn)的企業(yè)服務(wù)總線 (ESB)技術(shù),Deutsche Post World Net使SOA項(xiàng)目很好的滿足了企業(yè)IT需求。這是從架構(gòu)著手,通過服務(wù)總線,實(shí)現(xiàn)SOA的一個(gè)例子,也是由第二級模型啟用SOA的典型案例。
          第三級:SOA戰(zhàn)略級應(yīng)用
          SOA戰(zhàn)略級應(yīng)用的目標(biāo)是建立SOA型的業(yè)務(wù)流程處理系統(tǒng)。技術(shù)上要求包括業(yè)務(wù)流程建模( Process Modeling)、業(yè)務(wù)規(guī)則引擎 (Rule Engines)、數(shù)據(jù)集成中心(Data Hubs)、集成服務(wù)環(huán)境(ISE - Integrated Services Environment)、元數(shù)據(jù)管理等;要遵循的相關(guān)標(biāo)準(zhǔn)包括BPMN(Business Process Modeling Notation )、BPEL、Industry XML;此時(shí)已經(jīng)開始實(shí)施業(yè)務(wù)處理流程自動化。
          ING LEASE(以下簡稱ING)是世界最大的金融服務(wù)公司之一。由于不斷通過收購擴(kuò)大企業(yè)規(guī)模,ING內(nèi)部形成了相當(dāng)復(fù)雜的IT架構(gòu),其中包括三個(gè)完全不同的后臺系統(tǒng),具有明顯的處理瓶頸。為了有效的支撐公司業(yè)務(wù)運(yùn)營,ING需要將復(fù)雜的IT系統(tǒng)集成。在專家的協(xié)助下,通過自上而下的設(shè)計(jì)方式,ING從流程處理影射開始,并經(jīng)過反復(fù)的原型修正,用了不到6個(gè)月時(shí)間便實(shí)現(xiàn)了“報(bào)價(jià)到合同”處理的自動化。而這個(gè)過程僅用了5個(gè)有經(jīng)驗(yàn)的系統(tǒng)開發(fā)人員。這套自動化的系統(tǒng)目前正在歐洲的16個(gè)國家部署實(shí)施。ING的SOA項(xiàng)目是個(gè)典型的業(yè)務(wù)驅(qū)動的范例,重點(diǎn)是塊系統(tǒng)的自動化業(yè)務(wù)流程實(shí)現(xiàn)。同時(shí),這也是由第三級模型開始實(shí)施SOA的典型案例。
          第四級:企業(yè)級SOA的實(shí)施
          企業(yè)級SOA實(shí)施的目標(biāo)是著手建立SOA型企業(yè)。技術(shù)手段要提高到業(yè)務(wù)流程模擬、業(yè)務(wù)活動監(jiān)測(BAM)、復(fù)雜事件處理、元數(shù)據(jù)管理系統(tǒng)、網(wǎng)格計(jì)算技術(shù);要遵循的相關(guān)標(biāo)準(zhǔn)需進(jìn)步到Service Component Architecture (SCA)、WS-Addressing, WS-Eventing、WS-Trust, WS Secure Conversations 等;企業(yè)級SOA要求企業(yè)全面的信息、資源共享,IT規(guī)劃和治理也將上升到新的高度。
          第五級:行業(yè)SOA的和諧
          這一級模型的目標(biāo)是通過企業(yè)SOA的實(shí)踐,將SOA應(yīng)用擴(kuò)大到業(yè)務(wù)合作伙伴,實(shí)現(xiàn)行業(yè)范圍的產(chǎn)能最大化。
          posted @ 2009-01-20 10:47 NewSea 閱讀(178) | 評論 (0)編輯 收藏

          IBM® 面向服務(wù)體系結(jié)構(gòu)(Service-Oriented ArchitectureSOA)編程模型使非程序員可以創(chuàng)建和重用 IT 資產(chǎn),而不需要掌握 IT 技能。該模型包括組件類型,布線,模板,應(yīng)用程序適配器,統(tǒng)一數(shù)據(jù)表示和企業(yè)服務(wù)總線(Enterprise Service BusESB)。本文是系列文章的第一部分,該系列文章介紹了 IBM SOA 編程模型,選擇、開發(fā)、部署工作所需的內(nèi)容,以及建議的編程模型元素。本文陳述的內(nèi)容考慮了使用該模型的開發(fā)人員可能具備不同的技術(shù)水平和工作角色。

          SOA 編程模型系列
          對于任何獨(dú)立程序員來說,有效的掌握和應(yīng)用飛速增長的軟件技術(shù)、實(shí)踐、工具和平臺,變得越來越困難,當(dāng)然更不用說非程序員了。然而,如果業(yè)務(wù)流程轉(zhuǎn)換能夠成功進(jìn)行,很多的非程序員就可以使用現(xiàn)有的 IT 資產(chǎn)來進(jìn)行他們的工作,而不用去學(xué)習(xí)繁瑣的底層技術(shù)細(xì)節(jié)。本系列文章描述了一個(gè)新的面向服務(wù)體系結(jié)構(gòu)(SOA)編程模型,該模型實(shí)現(xiàn)了業(yè)務(wù)關(guān)系的分離,因此企業(yè)中具備不同技術(shù)水平和工作角色的人,即使不是專業(yè)的 IT 人員,也可以在軟件開發(fā)生命周期每個(gè)階段創(chuàng)建和使用 IT 資產(chǎn)。這可以顯著提高隨需應(yīng)變企業(yè)的業(yè)務(wù)靈活性。

          引言
          IBM 產(chǎn)品逐漸應(yīng)用了 SOA 和編程模型。程序員構(gòu)建服務(wù)、使用服務(wù),并且開發(fā)聚集服務(wù)的解決方案。我們在這里使用"程序員(programmer"這個(gè)泛稱,因?yàn)?/span> SOA 編程模型的一個(gè)關(guān)鍵方面是將"編程"的概念擴(kuò)展到非傳統(tǒng)開發(fā)人員的工作角色和技能,比如業(yè)務(wù)分析員和腳本語言用戶。

          大多數(shù)關(guān)于 Web 服務(wù)的文章主要集中在服務(wù)接口和這些接口的使用方面。為了補(bǔ)充接口標(biāo)準(zhǔn)和最佳實(shí)踐,IBM 引入了一個(gè)編程模型,來實(shí)現(xiàn)服務(wù)并將它們組合為解決方案。擴(kuò)展 IBM 軟件平臺的范圍,使之能夠被更多的用戶團(tuán)體使用 -- 包括非傳統(tǒng)的開發(fā)人員 -- 這個(gè)模型提供了新的組件類型與用戶的角色、目標(biāo)、技能和概念框架相匹配。這些組件類型使更直觀的開發(fā)工具可以使用。另一個(gè)主要的主題是通過編程模型特性和功能的逐步透明化來增強(qiáng)可使用性

          這是關(guān)于 SOA 編程模型系列文章中的第一篇,特別針對軟件開發(fā)專業(yè)人員。在本系列中,我們介紹了實(shí)現(xiàn)這些目標(biāo)的一些新的編程模型元素。我們介紹了如何利用它們來使您選擇、開發(fā)、建議或管理的軟件能夠更加容易的開發(fā)、重用和消費(fèi)。將軟件構(gòu)造為服務(wù)對于按需的企業(yè)來說更加有價(jià)值,因?yàn)椴痪邆涮嗉寄艿拈_發(fā)人員可以將其"接入"到解決方案中,或者編入一個(gè)業(yè)務(wù)流程編排流中來滿足快速變更的業(yè)務(wù)需求。不管你是大型企業(yè)或者小型業(yè)務(wù)的開發(fā)人員、獨(dú)立軟件供應(yīng)商(ISV),還是應(yīng)用程序提供者或者中間件供應(yīng)商,你都可以通過這種方式構(gòu)造你的軟件,從而從中受益。那么,讓我們立即開始應(yīng)用 SOA 原理。

          SOA 編程模型的亮點(diǎn)
          讓我們首先重點(diǎn)介紹 SOA 編程模型的幾個(gè)主要特性。

          服務(wù)數(shù)據(jù)對象SDO)是 IBM SOA 中的一個(gè)基礎(chǔ)概念。SDO 大大提高了開發(fā)人員的生產(chǎn)力,并且將你從如何訪問特定后端數(shù)據(jù)源、應(yīng)用程序和服務(wù)的技術(shù)細(xì)節(jié)中解脫出來。它們提供了簡化的抽象,使程序員可以更多的集中在業(yè)務(wù)邏輯上。SDO 還提供了統(tǒng)一的消息表示來與服務(wù)交互,淘汰了用于數(shù)據(jù)表示的復(fù)雜技術(shù)迷宮,僅僅訪問單個(gè)統(tǒng)一模型。

          SOA 編程模型同樣需要統(tǒng)一的范型來創(chuàng)建和訪問業(yè)務(wù)邏輯。為了易于使用,服務(wù)應(yīng)該隱藏實(shí)現(xiàn)技術(shù)之間的差別,并應(yīng)該建立在比現(xiàn)有編程結(jié)構(gòu)(比如 Enterprise Java™BeanEJB))更高級別的抽象上。服務(wù)可以通過組裝到模塊(這些模塊可以組成解決方案)中的組件來實(shí)現(xiàn)。通過組件公開的服務(wù)可以使用可定位的接口來調(diào)用。您可以使用 Web 服務(wù)描述語言(WSDL)、Java 或其他語言來描述接口。這個(gè)實(shí)現(xiàn)類型可以有對所需服務(wù)的待定引用,在將組件結(jié)合在一起執(zhí)行之前,這些服務(wù)是滿足需求的。

          這個(gè)編程模型還引入了良好定義的組件類型,對程序員開發(fā)和部署到解決方案中的常用構(gòu)件建模。例子包括"無格式舊 Java 對象"、業(yè)務(wù)流程執(zhí)行語言(BPEL)流程、結(jié)構(gòu)化查詢語言(SQL)服務(wù)、Adaptive Business Objects、通過 Java 連接器體系結(jié)構(gòu)(J2C)資源適配器訪問的 CICS®程序、使用 SAP 業(yè)務(wù)應(yīng)用程序編程接口的應(yīng)用程序、Java 2 Enterprise EditionJ2EE)無狀態(tài)會話 bean MQSeries® 應(yīng)用程序。

          企業(yè)服務(wù)總線是多協(xié)議結(jié)構(gòu)的一個(gè)關(guān)鍵角色,將服務(wù)組件編成無縫的交互,通過在消息路徑中加入被稱為中介的特別組件,來代理服務(wù)間的交互,而不用更改現(xiàn)有的端點(diǎn),從而允許在核心級別上處理企業(yè)關(guān)注的內(nèi)容 -- 比如審核、日志、路由、不匹配接口的適配、等價(jià)組件的增量替換、安全等。

          新的流程語言縮小了 IT 概念和業(yè)務(wù)構(gòu)件之間的間隙。很重要的一個(gè)是 BPEL。雖然流程可以通過業(yè)務(wù)分析員引入圖形化工具來定義,但它也是一個(gè)可執(zhí)行程序。流程在按需業(yè)務(wù)轉(zhuǎn)換中占有重要的地位,例如為擴(kuò)展價(jià)值鏈描述長時(shí)間運(yùn)行的可執(zhí)行流程。通過擴(kuò)展價(jià)值鏈,我們可以跨越多個(gè)供應(yīng)商和 IT 域來進(jìn)行業(yè)務(wù)安排,比如一個(gè)零售商和他的多個(gè)獨(dú)立的供應(yīng)商,保險(xiǎn)公司及其眾多的第三方理賠員,IT 外購狀況等。

          業(yè)務(wù)狀態(tài)機(jī)(business state machine是業(yè)務(wù)分析師可以通過圖形工具創(chuàng)建流程的另一個(gè)編程框架,并且在流程設(shè)計(jì)引擎中執(zhí)行。狀態(tài)機(jī)可以表示業(yè)務(wù)構(gòu)件 -- 比如采購單、保險(xiǎn)索賠等 -- 這些轉(zhuǎn)換通過一些良好定義的狀態(tài)來響應(yīng)特定的生命周期"事件"

          需要重用的組件可以封裝為具有可變點(diǎn)(points of variability的模板,可以在放入解決方案中時(shí)進(jìn)行設(shè)計(jì)。這種適配成為我們的編程模型的第一部分,同時(shí)結(jié)合規(guī)則語言和相關(guān)的工具,為新型用戶提供定制的能力。

          另一個(gè)創(chuàng)新領(lǐng)域是新的解決方案模型,它讓部署者、管理者和其它業(yè)務(wù)用戶可以將組件組裝成解決方案。在開發(fā)的時(shí)候,你可以將服務(wù)實(shí)現(xiàn)與托管服務(wù)的拓?fù)洌ㄏ到y(tǒng)架構(gòu)師建模的部署拓?fù)洌╆P(guān)聯(lián)在一起。模型捕捉的系統(tǒng)需求和環(huán)境假設(shè)在早期的實(shí)現(xiàn)中進(jìn)行校驗(yàn),降低了應(yīng)用程序生命周期的費(fèi)用,并且極大的提高了可靠性和可計(jì)賬性(accountability)。該模型的特性還包括現(xiàn)有應(yīng)用程序的后期綁定、數(shù)據(jù)轉(zhuǎn)換中介和適配器,可以通過企業(yè)服務(wù)總線來實(shí)現(xiàn)面向服務(wù)的交互。

          總的來說,SOA 編程模型將開發(fā)和部署活動分割為不同的階段,這些階段可以發(fā)生在不同的時(shí)間,并且可以通過不同的個(gè)人使用不同的技能來實(shí)現(xiàn)。這就產(chǎn)生了關(guān)系的分離,使軟件組件可以被重用。它也將軟件體驗(yàn)劃分為單獨(dú)用戶的業(yè)務(wù)角色、技能和任務(wù)。最終,它使軟件生命周期可以適應(yīng)按需企業(yè)的需要,因?yàn)樗鼈兺ㄟ^針對業(yè)務(wù)靈活性重新設(shè)計(jì) IT 流程來尋求更高的有效性。

          編程模型的概念
          編程模型通常是 IBM SOA IBM 產(chǎn)品的核心。它定義了程序員可以構(gòu)建和使用的概念和抽象。運(yùn)行時(shí)產(chǎn)品,例如 WebSphere® Application ServerDB2® CICS,可以運(yùn)行或托管編程模型構(gòu)件。開發(fā)工具支持編程模型構(gòu)件的建模和實(shí)現(xiàn)、組裝到應(yīng)用程序(解決方案),以及部署到運(yùn)行時(shí)環(huán)境中。最后,系統(tǒng)管理產(chǎn)品、代理和設(shè)備支持對運(yùn)行時(shí)和它們托管的編程模型構(gòu)件的管理。

          編程模型是什么?雖然目前沒有公認(rèn)的一般定義,但我們喜歡將它定義為:

          • 程序員構(gòu)建的一套部件類型。部件類型包括多種編程模型構(gòu)件:超文本標(biāo)記語言(HTML)文件、數(shù)據(jù)庫存儲過程、Java 類、可擴(kuò)展標(biāo)記語言(XMLSchema 定義、定義 MQSeries 消息的 C 結(jié)構(gòu),等等。
          • 一系列角色,將具備相似技能和知識的開發(fā)和管理人員分組。用這種方式對開發(fā)人員分類有助于生產(chǎn)適應(yīng)于角色的工具,使非程序員可以實(shí)現(xiàn)服務(wù)并將服務(wù)組裝為解決方案。業(yè)務(wù)分析人員定義業(yè)務(wù)流程,銷售專家定義顧客分類的策略并計(jì)算產(chǎn)品折扣。每一種角色包含:
            • 角色所具備的技能。例如,用戶界面開發(fā)人員開發(fā)界面,用來呈現(xiàn)應(yīng)用程序或者解決方案的功能構(gòu)件。假設(shè)這個(gè)角色了解正在開發(fā)的應(yīng)用程序和它的業(yè)務(wù)目標(biāo),充分了解應(yīng)用程序的用戶及他們的任務(wù),精通一些用戶界面設(shè)計(jì)方法,能夠通過為每個(gè)任務(wù)選擇恰當(dāng)?shù)念愋蛠韯?chuàng)建易于使用的用戶接口。
            • 角色交互(消費(fèi)或者生產(chǎn))所用的部件類型和應(yīng)用程序接口。例如,動態(tài)頁面設(shè)計(jì)人員 -- 角色 -- 生產(chǎn) JavaServer PageJSP)并消費(fèi) EJB -- 部件類型 -- 包裝現(xiàn)有的信息資源和應(yīng)用程序。
            • 角色使用的工具。例如,Web 開發(fā)人員所用的適合于角色的工具是所見即所得的頁面設(shè)計(jì)工具,用來構(gòu)建動態(tài)頁面,使用與 HTML JSP 標(biāo)簽庫相關(guān)的控件,并將控件連接到 EJB

          使 Web 服務(wù)易于實(shí)現(xiàn)和使用的關(guān)鍵是對現(xiàn)有技術(shù)和知識進(jìn)行增量擴(kuò)展,從而使 SOA 可以被消費(fèi)。以 CICS COBOL 事務(wù)程序形式存在的服務(wù)與用 BPEL 編寫的服務(wù)差別很大。從數(shù)據(jù)庫存儲過程中調(diào)用服務(wù)與從 JSP 中調(diào)用也是不同的;技能和期望值是不同的。通過提供工具的分類來使部件類型適應(yīng)于各種技能,并適應(yīng)于開發(fā)流程的階段,你可以實(shí)現(xiàn)可消費(fèi)性(consumability)。

          本系列的后續(xù)文章更加詳細(xì)的介紹了 SOA 編程模型的部件類型。

          產(chǎn)品架構(gòu)

          1. 產(chǎn)品架構(gòu)
          <!--[if !supportLineBreakNewLine]-->
          <!--[endif]-->

          支持 IBM SOA 方案的產(chǎn)品分成兩個(gè)主要類別:服務(wù)端點(diǎn)和連接它們的消息傳送結(jié)構(gòu)。這個(gè)通用的架構(gòu) -- 包含了許多產(chǎn)品,這些產(chǎn)品都不是 IBM SOA 的專用傳輸工具 -- 1 所示。

          核心是服務(wù)間的 ESB 提供的連通性。ESB 是多協(xié)議的,支持點(diǎn)到點(diǎn)和發(fā)布-訂閱兩種通信類型,并支持快速處理消息的中介服務(wù)。IBM WebSphere MQIBM WebSphere MQ Integrator Broker 以及支持 Web 服務(wù)和 Java 消息服務(wù)(JMS)的 WebSphere 都屬于第一個(gè)類別。

          服務(wù)存在于抽象的托管環(huán)境(容器)中,并且提供了特定的編程框架。容器加載服務(wù)的實(shí)現(xiàn)代碼,提供到 ESB 的連接性,并管理服務(wù)實(shí)例。不同類型的服務(wù)存在于不同的容器中。(在典型的遞規(guī)設(shè)計(jì)的例子中,ESB 本身被認(rèn)為是用于中介服務(wù)的容器。) 1 列出了一些主要的 IBM SOA 托管環(huán)境和托管的組件類型。

          1. 托管各種組件和服務(wù)類型的容器

          服務(wù)/組件類型

          容器

          COBOLPL/1 和其他語言編寫的事務(wù)處理程序

          CICS 或者 IMS(信息管理系統(tǒng) -- 一種企業(yè)事務(wù)處理系統(tǒng))。程序員可以使用 SOAP/HTTPWebSphere MQ J2EE J2C 連接來訪問服務(wù)。

          業(yè)務(wù)流程編排

          WebSphere Business Integration Server Foundation。該容器支持長期存在的工作流,這些工作流實(shí)現(xiàn)了 Web 服務(wù)接口并調(diào)用其他 Web 服務(wù)上的操作。它同樣支持長期運(yùn)行的業(yè)務(wù)活動事務(wù)。

          應(yīng)用程序適配器 -- 為現(xiàn)有的應(yīng)用程序和系統(tǒng)提供 SOA/Web 服務(wù)的會話虛包(facade)。

          WebSphere Business Integration Server Foundation 提供的應(yīng)用程序適配器容器。適配器在 SOA 協(xié)議和格式,以及現(xiàn)有應(yīng)用程序和系統(tǒng)的協(xié)議和格式之間進(jìn)行轉(zhuǎn)換。例如,SAP 適配器將 SOA 編碼并通過 HTTP 傳輸?shù)?/span> XML 轉(zhuǎn)換到 SAP 的現(xiàn)有業(yè)務(wù)應(yīng)用程序編程接口格式和 Remote Function CallRFC)。

          預(yù)定義的 SQL 查詢、XML 查詢或數(shù)據(jù)庫存儲過程實(shí)現(xiàn)的服務(wù)

          DB2 結(jié)合 WebSphere Application Server。查詢的參數(shù)來自 SOA 操作的輸入消息以及提供輸出消息的結(jié)果。

          使用 Java 類和 EJB 實(shí)現(xiàn)的服務(wù)。

          WebSphere Application Server

          結(jié)束語
          IBM SOA 編程模型系列文章的第一篇概述了 IBM 工具和產(chǎn)品如何適用于模型,以及開發(fā)人員如何有效的在應(yīng)用程序開發(fā)中使用它。

          • 使用 SDO 簡化數(shù)據(jù)訪問
          • 服務(wù)定義以及組件模型發(fā)展?fàn)顩r的介紹
          • 用組件類型來簡化開發(fā)
          • 基本組件類型
          • 服務(wù)組合和定制
          • 流程組件:BPEL 和業(yè)務(wù)狀態(tài)機(jī)
          • 定制服務(wù):設(shè)計(jì)模式,模板和可變點(diǎn)
          • 面向服務(wù)的用戶接口
          • 用于管理的 SOA 方法
          • SOA 軟件生命周期開發(fā)工具
          • SOA 的安全性
          posted @ 2009-01-20 10:46 NewSea 閱讀(172) | 評論 (0)編輯 收藏

          2008年10月18日 #

          期待。
          posted @ 2008-10-18 21:47 NewSea 閱讀(125) | 評論 (0)編輯 收藏

          僅列出標(biāo)題  
          主站蜘蛛池模板: 佛山市| 务川| 宜城市| 隆化县| 葫芦岛市| 安岳县| 绵竹市| 屯门区| 长海县| 惠东县| 华宁县| 抚宁县| 治县。| 札达县| 石阡县| 永川市| 龙岩市| 搜索| 阳泉市| 巴楚县| 舞阳县| 湖北省| 邯郸县| 元氏县| 双牌县| 南靖县| 富源县| 周宁县| 安塞县| 潞城市| 四川省| 桃园市| 丰城市| 武宣县| 丹阳市| 永春县| 缙云县| 广州市| 香格里拉县| 黄石市| 民权县|