国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
體系結(jié)構(gòu)實踐,第 4 部分: 場景 1:實際 SOA 場景中的服務(wù)創(chuàng)建選項



使用 IBM? 面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)基礎(chǔ)生命周期在軟件開發(fā)上下文中討論 SOA。體系結(jié)構(gòu)實踐 專欄的本部分將重點討論 SOA 場景中的第一個場景,服務(wù)創(chuàng)建場景。探究 SOA 中的三個主要服務(wù)來源,以及為恰當使用相關(guān)服務(wù)提供指導的體系結(jié)構(gòu)模式。熟悉各個模式及 SOA 生命周期中的各種活動,并了解用于實現(xiàn)和實例化這些模式的 IBM 產(chǎn)品的常用建議。

引言

體系結(jié)構(gòu)實踐 專欄文章的第 1 部分“理解面向服務(wù)的體系結(jié)構(gòu)”討論了 IBM 的面向服務(wù)的體系結(jié)構(gòu) (SOA) 基礎(chǔ)生命周期(或 SOA 生命周期),以及其如何允許 IBM 客戶從軟件開發(fā)生命周期的角度來看待 SOA。其中詳細討論了 IBM SOA 生命周期的四個階段——建模、組裝、部署和管理。

本專欄討論各種廣泛的主題。有關(guān) IBM SOA 場景的更多信息,請閱讀第 2 部分“SOA 解決方案場景介紹”,其中介紹了典型的基于 SOA 的 IT 項目中的八個最常見場景。第 2 部分對各個場景進行了說明,解釋了其背后的理念以及能夠?qū)ζ浼右詰玫膹V泛上下文。第 2 部分還討論了用于將特定 SOA 場景應用到啟用服務(wù)的典型遺留項目。

本文(第 4 部分)重點討論八個場景中的第一個場景:服務(wù)創(chuàng)建場景,可幫助您了解 SOA 如何幫助解決典型的業(yè)務(wù)挑戰(zhàn)。本文將討論不同的服務(wù)創(chuàng)建選項背后的基本原理,并將給出各個選項最相關(guān)和最適用的情況。 對于每個服務(wù)創(chuàng)建選項,文章中會將其與 SOA 生命周期中各個階段的高級活動對應起來。另外還將包括有關(guān)可用于實現(xiàn)生命周期每個階段的活動的一個或多個 IBM 產(chǎn)品和工具的建議。

處理業(yè)務(wù)挑戰(zhàn)

快速而有效地實現(xiàn)業(yè)務(wù)計劃是大部分組織都必須處理的一項主要業(yè)務(wù)挑戰(zhàn)。企業(yè)必須能夠認識各種市場情況并快速地調(diào)整其戰(zhàn)略,以反映變化。為了獲得這種靈活的業(yè)務(wù)模型,需要有同樣靈活的 IT 基礎(chǔ)設(shè)施作為支持。SOA 中的服務(wù) 定義為自包含的可重用軟件模塊,用于執(zhí)行特定業(yè)務(wù)任務(wù)?,F(xiàn)在將這些服務(wù)作為基礎(chǔ)軟件構(gòu)建塊使用,以提供靈活的 IT 解決方案。服務(wù)具有定義良好的接口,獨立于其運行的應用程序和計算平臺。在現(xiàn)在的環(huán)境中,必須了解您的業(yè)務(wù)及流程(作為一組相互聯(lián)系的可重復業(yè)務(wù)任務(wù)執(zhí)行,可以將這些業(yè)務(wù)任務(wù)方便地進行重新排列)。

您的組織需要一種機制來為增值投資(提供獨有功能的任務(wù))分配資源。您需要將資源集中在能給業(yè)務(wù)帶來突出優(yōu)勢和價值的投資上,而不用擔心經(jīng)常出現(xiàn)的低價值瑣事級的任務(wù)。

您還會希望業(yè)務(wù)能夠穩(wěn)定地增長。您需要確保自己了解和信任的業(yè)務(wù)系統(tǒng)具有良好的性能和可靠性,同時與值得信賴的業(yè)務(wù)合作伙伴和服務(wù)提供商合作,以便獲得您所需要的服務(wù)。而且,如果選擇收購某個企業(yè),則必須能夠?qū)⑵錁I(yè)務(wù)系統(tǒng)與您的系統(tǒng)集成,以確??焖傩纬山y(tǒng)一體。

所建議工具或技術(shù)的詳細說明不在本文的討論范疇內(nèi)。有關(guān)更多信息,請參見參考資料部分。

一個不錯的著手點是將業(yè)務(wù)已有的東西 與業(yè)務(wù)所需的東西 進行比較。建?,F(xiàn)有業(yè)務(wù)流程和未來業(yè)務(wù)模型,并模擬其功能和效果,從而提供關(guān)于業(yè)務(wù)應該如何運行的參考框架。然后考慮組成業(yè)務(wù)流程的各個任務(wù)應該如何完成的問題。每個任務(wù)都需要由服務(wù)提供支持。通過 SOA 可以將這些服務(wù)連接為靈活的模塊化系統(tǒng),從而為靈活業(yè)務(wù)模型提供支持。確定服務(wù)來自何處是實現(xiàn)優(yōu)化業(yè)務(wù)流程遠景的第一步。





回頁首


服務(wù)創(chuàng)建場景的訪問模式

IBM 確定了 SOA 中服務(wù)的三個主要來源,如圖 1 中所示。


圖 1. 三個服務(wù)來源

四個常用體系結(jié)構(gòu)模式提供了相關(guān)指南,說明了關(guān)于如何恰當?shù)厥褂萌齻€主要來源提供的服務(wù)創(chuàng)建基于服務(wù)的 IT 解決方案。建議的方法是將需要的東西與已有的東西進行比較。可以自己從頭創(chuàng)建服務(wù)、購買服務(wù)或使用現(xiàn)有的支持服務(wù)的打包軟件或自定義軟件??梢酝ㄟ^以下方式利用所有三個類別的服務(wù):

本部分剩下的內(nèi)容將對服務(wù)方面和使用方面的不同體系結(jié)構(gòu)模式進行概述。

 

啟用服務(wù)的現(xiàn)有資產(chǎn)

SOA 并不是“拆除和替換”。最好的做法是在現(xiàn)有應用程序、系統(tǒng)和資產(chǎn)中確定可重用的高價值業(yè)務(wù)任務(wù),并采用 SOA 的原則和技術(shù)來公開服務(wù)。重用已有的應用程序和系統(tǒng)是一項非常明智的業(yè)務(wù)決策??梢詼p少新技術(shù)方面的投資,而使用現(xiàn)有業(yè)務(wù)邏輯(這是公司擁有的最寶貴且經(jīng)過驗證和時間考驗的資產(chǎn))。當前應用程序的服務(wù)啟用工作可以大幅度加速 SOA 項目的采用進度,并能降低其風險。研究表明,這樣的開銷比從頭構(gòu)建方法少五倍。由于常用功能的代碼已經(jīng)過了嚴格的生產(chǎn)使用的檢驗,因此其維護開銷也會減少。


圖 2. 啟用服務(wù)的現(xiàn)有資產(chǎn)

在此技術(shù)中,單個服務(wù)可以利用一個打包或自定義應用程序或者多個系統(tǒng)來提供其預期功能。例如,SAP 客戶關(guān)系管理系統(tǒng)中的地址記錄可以與基于大型機的遺留財務(wù)系統(tǒng)進行組合,以創(chuàng)建支持開設(shè)新客戶帳戶的服務(wù)。此組合服務(wù)可以為涉及配送和開單的訂單輸入業(yè)務(wù)流程提供部分支持。這樣減少了服務(wù)大幅度增加的風險,不會在不管粒度如何的情況下將任何現(xiàn)有 IT 功能都視為服務(wù)并加以公開。通過應用恰當?shù)?SOA 方法,如 IBM 提供的面向服務(wù)的建模和體系結(jié)構(gòu)(Service-Oriented Modeling and Architecture,SOMA)(請參見參考資料),可以解決服務(wù)粒度問題。

用于處理啟用服務(wù)的現(xiàn)有資產(chǎn)的兩個最流行的體系結(jié)構(gòu)模式如下:

  • 直接將現(xiàn)有應用程序功能作為服務(wù)公開。
  • 將功能作為服務(wù)組件間接公開。

 

直接將現(xiàn)有應用程序功能作為服務(wù)公開
當必須將現(xiàn)有應用程序功能作為服務(wù)公開,以供其他系統(tǒng)和應用程序使用,或提供更多的訪問渠道時,則使用此方法。對于此模式(如圖 3 中所示),其中假定您采用非常簡單的場景,其中的現(xiàn)有功能并不復雜,只是使用 Web 服務(wù)技術(shù)將其作為服務(wù)提供者部署。這個簡單的拓撲并不需要任何新基礎(chǔ)設(shè)施,因為此服務(wù)使用支持服務(wù)的現(xiàn)有應用程序(通常為遺留應用程序)的工具和技術(shù)實現(xiàn)。

例如,可以使用 IBM CICS? Transaction Server V3.1 Web 服務(wù)技術(shù)將 COMMAREA 應用程序直接作為 Web 服務(wù)公開。最低要求是所公開的服務(wù)符合 WS-I Basic Profile 的要求。(有關(guān)技術(shù)模式以及現(xiàn)有遺留功能如何作為服務(wù)公開的更多信息,請參見參考資料。)

對于此方法,一個好處是服務(wù)接口由所公開的遺留資產(chǎn)定義,因此不需要進行分析來設(shè)計接口規(guī)范。而且,由于新服務(wù)可以在與包裝的現(xiàn)有資產(chǎn)相同的平臺上運行,因此沒有必要添加新基礎(chǔ)設(shè)施。能省略接口定義和分析,而且要處理的平臺更少,這樣部署周期就會更短。

采用此體系結(jié)構(gòu)模式來提供服務(wù)器支持時,需要考慮以下主要體系結(jié)構(gòu)注意事項:

  • 服務(wù)使用者與遺留資產(chǎn)的定義建立聯(lián)系,而后者在很多情況下的最初設(shè)計都比較糟糕。
  • 此模式假定現(xiàn)有應用程序平臺提供了對服務(wù)調(diào)用的最新技術(shù)的支持。
  • 實現(xiàn)模式經(jīng)常給系統(tǒng)帶來高服務(wù)消息處理負擔,而這些系統(tǒng)經(jīng)常針對無內(nèi)部互鎖管道級的微處理器(Microprocessor without Interlocked Pipeline Stages,MIPS)使用進行了優(yōu)化。

 


圖 3. 直接將現(xiàn)有功能作為服務(wù)公開

將功能作為服務(wù)組件間接公開
此服務(wù)支持體系結(jié)構(gòu)模式代表了在現(xiàn)有應用程序功能和服務(wù)之間引入中間軟件組件(稱為服務(wù)組件)的情況。下面的圖 4 顯示了一個示例。

服務(wù)組件也稱為企業(yè)組件(請參見參考資料),是提供服務(wù)和實際實現(xiàn)之間的抽象層的 IT 組件。服務(wù)組件可以通過以下方式之一發(fā)揮作用:

  • 從頭創(chuàng)建業(yè)務(wù)邏輯和功能時,服務(wù)組件可以對內(nèi)聚業(yè)務(wù)邏輯從邏輯和功能方面進行封裝。
  • 當必須對一個或多個現(xiàn)有操作系統(tǒng)的業(yè)務(wù)邏輯集成和重用,從而為服務(wù)提供集成業(yè)務(wù)邏輯實現(xiàn)時,服務(wù)組件可以封裝對外圍操作系統(tǒng)(可能為異類系統(tǒng))的訪問機制。

 

使用中間服務(wù)組件有一些好處:

  • 可以在不影響服務(wù)使用者的情況下更改現(xiàn)有操作系統(tǒng)中的業(yè)務(wù)邏輯實現(xiàn)。服務(wù)組件可以方便地進行擴展,以封裝數(shù)據(jù)和信息,并為數(shù)據(jù)或信息服務(wù)提供外觀層。
  • 可以在操作系統(tǒng)層進行系統(tǒng)和功能的 IT 合并或遷移,而對服務(wù)使用者的影響很小或者沒有影響。
  • 可以將服務(wù)部署在與現(xiàn)有應用程序不同的基礎(chǔ)設(shè)施上,而現(xiàn)有應用程序的基礎(chǔ)設(shè)施通常針對服務(wù)的特定處理要求進行了硬編碼。

 

對于直接將應用程序功能作為服務(wù)公開的情況,此模式還有一些主要體系結(jié)構(gòu)注意事項。首先,它允許與業(yè)務(wù)保持緊密一致但并不一定直接映射到現(xiàn)有應用程序接口的服務(wù)接口定義??梢允褂?SOA 的原則和最佳實踐來以正確的粒度級別設(shè)計服務(wù)和接口。不過,這會增加恰當定義服務(wù)的設(shè)計時間,而且開發(fā)周期更長。其次,其設(shè)計經(jīng)常比直接公開更為復雜,因為可能會涉及到使用適配器或連接器技術(shù)來與操作系統(tǒng)進行連接。


圖 4. 服務(wù)組件作為操作系統(tǒng)功能與應用程序?qū)拥姆?wù)間的中間層

使用外部提供的服務(wù)

在此場景中,服務(wù)的來源為一個或多個第三方服務(wù)提供商。應用程序利用第三方服務(wù)來實現(xiàn)其所需的功能。圖 5 顯示了服務(wù)如何依賴第三方實現(xiàn)提供者進行實現(xiàn)。


圖 5. 依賴第三方提供商

此模式的主要優(yōu)勢在于,并不需要花時間為服務(wù)定義開發(fā)實現(xiàn)構(gòu)件,將由外部服務(wù)提供者提供這些構(gòu)件。這可以大幅度減少開發(fā)時間。還有個值得注意的優(yōu)勢是,客戶機能夠根據(jù)各種技術(shù)、財務(wù)和政策注意事項在服務(wù)提供者之間進行切換。

有一些主要體系結(jié)構(gòu)注意事項需要加以處理:

  • 必須恰當?shù)囟x服務(wù)的服務(wù)級別協(xié)議(Service-Level Agreement,SLA)。在尋找最佳的第三方提供商時,滿足 SLA 的能力是一項重要考慮事項。
  • 由于服務(wù)實現(xiàn)位于企業(yè)防火墻之外,所以必須為服務(wù)及其調(diào)用配備恰當?shù)陌踩源胧?
  • 應該非常強調(diào)服務(wù)治理,以建立用于選擇最合適的服務(wù)提供者的標準。對行業(yè)及開放標準的遵從,以及作為服務(wù)提供者的第三方的成熟度之類的因素,應該由治理組織加以確定。

 

從頭構(gòu)建服務(wù)

在此場景中,必須從頭設(shè)計、定義和開發(fā)服務(wù)?,F(xiàn)有應用程序或任何第三方提供商都不能提供功能或服務(wù)來滿足您的需求。此場景依賴于 Java? 2 Platform Enterprise Edition (J2EE) 應用服務(wù)器支持服務(wù)實現(xiàn)。核心業(yè)務(wù)功能通常使用標準 J2EE 開發(fā),而且通常采用 Enterprise JavaBeans (EJB) 或簡單的傳統(tǒng) Java 對象(Plain Old Java Object,POJO)的形式。采用了標準 J2EE 集成開發(fā)環(huán)境(Integrated Development Environment,IDE)功能和技術(shù)來將 EJB 或 POJO 轉(zhuǎn)換為標準 Web 服務(wù)。

此方法的優(yōu)勢在于,可通過其根據(jù)現(xiàn)有業(yè)務(wù)需求建模服務(wù),并對其進行恰當?shù)脑O(shè)計來滿足將來的業(yè)務(wù)需求。服務(wù)并不受現(xiàn)有操作系統(tǒng)或第三方提供商的約束。

體系結(jié)構(gòu)方面的一個重要注意事項是,需要在整個服務(wù)開發(fā)流程中(從表示到規(guī)范再到實現(xiàn))應用完整的 SOA 方法(例如 SOMA)。





回頁首


服務(wù)定義和實現(xiàn)“菜譜”

前一部分所討論的體系結(jié)構(gòu)模式可幫助標識和設(shè)計服務(wù),需要對其進行實例化,以實現(xiàn)端到端 SOA 解決方案。您需要將模式步驟應用到 SOA 生命周期中,并提供正確的工具和產(chǎn)品來創(chuàng)建特定的 SOA 構(gòu)件。

IBM 使用和遵循 SOA 生命周期(建模、組裝、部署和管理)、治理和流程;我們確定了可應用于 SOA 生命周期的每個階段的每個體系結(jié)構(gòu)的活動(請參見參考資料)。IBM 還提供了大量的相關(guān)產(chǎn)品,可幫助實現(xiàn)任何工業(yè)強度 SOA 解決方案。

此部分將以下體系結(jié)構(gòu)模式及其較高級別的活動放入 SOA 生命周期的上下文中進行討論:

另外,還提供了經(jīng)常建議使用的 IBM 產(chǎn)品的概述,可通過使用這些產(chǎn)品來在真實的合作項目中幫助實現(xiàn)和實例化模式。

 

實現(xiàn)現(xiàn)有功能的公開

和所有 SOA 項目一樣,最好從生命周期的角度來看待現(xiàn)有功能的直接公開(也稱為現(xiàn)有 IT 資產(chǎn)的服務(wù)支持)。此處我們將利用得到廣泛認可的 IBM SOA Foundation 所定義的服務(wù)生命周期。圖 6 顯示了可以如何應用 SOA 生命周期來為現(xiàn)有資產(chǎn)啟用服務(wù)。


圖 6. 在現(xiàn)有資產(chǎn)的服務(wù)支持中應用 SOA 生命周期

SOA 生命周期的每個階段都可以應用到服務(wù)支持工作中。建議的較高級別的活動包括:

建模
開始從當前 IT 應用程序和系統(tǒng)投資組合中形成候選資產(chǎn)目錄,以啟動建模階段。在此階段,最需要關(guān)注的是服務(wù)建模方法。IBM 的 SOMA 方法是用于面向服務(wù)的建模的可靠且經(jīng)過嚴格驗證的方法。Rational? Unified Process (RUP) 也擴展為可處理面向服務(wù)的方法 (RUP for SOA)。RUP for SOA 基于 SOMA 方法。IBM 的 Rational Software Architect (RSA) 提供了建??蚣軐Ψ?wù)模型進行建模和設(shè)計。
組裝
使用各項技術(shù)在不更改其提供的基本功能的情況下將資產(chǎn)轉(zhuǎn)換為可重用服務(wù)。轉(zhuǎn)換流程實際上將涉及使用定義良好的接口包裝現(xiàn)有功能。

在此階段,通常為在 IBM System z? 系統(tǒng)(之前的 IBM eServer?zSeries? 系統(tǒng))上運行的 CICS 應用程序提供服務(wù)支持的工具是名為 IBM WebSphere? Developer for zSeries (WDz) 的 IDE。將需要啟用服務(wù)支持的現(xiàn)有代碼庫導入到 WDz 的工作區(qū)中??梢岳霉ぞ吖δ軄黹_發(fā) Web 服務(wù)描述語言(Web Services Description Language,WSDL)定義。在此過程中,現(xiàn)有應用程序的數(shù)據(jù)和語言結(jié)構(gòu)可能需要一些映射和轉(zhuǎn)換??梢詮拇?IDE 生成 WSDL 和特定應用程序綁定。

組裝階段也包括對所開發(fā)代碼的單元測試。WDz 提供了用于 CICS Transaction Server (TS) 的測試環(huán)境,提供了所有基本功能,以便測試在實際工業(yè)強度 CICS TS 上運行的 WSDL??梢栽?CICS TS 測試環(huán)境中作為組裝階段的一部分對生成的 WSDL 進行測試。

部署
使用 SOA 基礎(chǔ)設(shè)施和中間件產(chǎn)品來部署服務(wù),從而將訪問擴展到其他涉及到更多系統(tǒng)和用戶的功能。

在此階段,要將經(jīng)過單元測試的 WSDL 和所生成的 COBOL 源代碼(進行了可能的數(shù)據(jù)和語言轉(zhuǎn)換后)部署到 CTS 上。隨 CTS 3.1 提供了很多 Web 服務(wù)功能(如 WS-Security),可以在部署過程中對其進行配置。

管理
以實時方式仔細管理和監(jiān)視所部署的服務(wù),以了解更新后的資產(chǎn)的性能和安全性。對于此階段,主要的焦點轉(zhuǎn)移到了管理和監(jiān)視所部署的服務(wù)上。必須仔細地監(jiān)視服務(wù),以確保遵從已發(fā)布的功能和非功能需求。

IBM 的 Tivoli? 品牌產(chǎn)品針對一般系統(tǒng)管理和監(jiān)視進行了優(yōu)化,包含用于滿足監(jiān)視和管理服務(wù)的大量產(chǎn)品。Tivoli Omegamon-XE for CICS 3.1 常用于在 IBM z/OS? 上管理和監(jiān)視 CICS TS。Tivoli 還提供了一套產(chǎn)品,專門針對服務(wù)調(diào)用和安全性的特定領(lǐng)域,如:

  • IBM Tivoli Federated Identity Manager (ITFIM),提供松散耦合聯(lián)合標識模型來跨企業(yè)邊界管理標識。
  • IBM Tivoli Identity Manager (ITIM),提供企業(yè)內(nèi)的集中標識管理系統(tǒng)。
  • IBM Tivoli Access Manager (ITAM),提供單點登錄和授權(quán)功能。

 

治理和流程
確保遵循服務(wù)生命周期及其有效控制和管理方面的策略、標準和最佳實踐。

對于此階段,WebSphere Service Registry and Repository (WSRR) 是支持整個 SOA 生命周期的 IBM 產(chǎn)品。WSRR 允許服務(wù)提供者安全地注冊業(yè)務(wù)服務(wù),以供服務(wù)使用者進行查找和綁定。另外還提供了發(fā)布在 SOA 中管理服務(wù)的生命周期所需的元數(shù)據(jù)的功能。

 

總而言之,在實現(xiàn)直接訪問現(xiàn)有應用程序的模式時,可以遵循標準 IBM SOA 生命周期的階段,并在各個階段中使用以下產(chǎn)品:

  • RSA,用于服務(wù)的建模和設(shè)計。
  • WebSphere Developer for zSeries,用于將現(xiàn)有功能組合為服務(wù),并從 CICS TS Test Environment 對其進行單元測試。
  • 在 CICS TS 3.1 上部署服務(wù)定義以及所生成的遺留代碼。
  • 使用一系列 Tivoli 管理與監(jiān)視產(chǎn)品,如主要用于管理和監(jiān)視服務(wù) SLA 的 Tivoli Omegamon-XE、ITFIM、ITAM 等。
  • WebSphere Service Registry and Repository,用于在 SOA 中在服務(wù)的整個生命周期中對其進行管理。

 

實現(xiàn)現(xiàn)有功能的間接公開

服務(wù)創(chuàng)建的每個機制都具有一組規(guī)程,即給定場景下最常遵循的步驟。前面所述的這些步驟可以與 SOA 生命周期的五個階段建立聯(lián)系。此場景的主要步驟與實現(xiàn)現(xiàn)有功能的公開非常相似,因此將不在此進行重復說明了。

正如服務(wù)創(chuàng)建場景的訪問模式中所述,間接公開和直接公開的區(qū)別在于其中包含了服務(wù)組件層。服務(wù)組件提供與業(yè)務(wù)保持一致的服務(wù)接口——自頂向下方法。通過分析現(xiàn)有資產(chǎn),可以確定可以使用哪些系統(tǒng)中的哪些應用程序功能來實現(xiàn)服務(wù)組件定義的服務(wù)接口。服務(wù)組件充當業(yè)務(wù)中心視圖和現(xiàn)有應用程序之間的中間層。因此,這個新的外觀組件在組裝階段需要執(zhí)行額外的步驟。

在建模階段,可以使用 SOMA 方法及其抽象規(guī)范進行服務(wù)定義。這與第一個訪問模式并沒有太大的區(qū)別。在這兩者中,都將執(zhí)行 SOMA 的服務(wù)標識階段。不過,其區(qū)別在于階段中的活動重點。在直接公開期間,其重點在現(xiàn)有資產(chǎn)分析上。在非直接公開場景中,重點在使用自頂向下方法標識與業(yè)務(wù)一致的服務(wù)。此處建議使用的 IBM 產(chǎn)品是 Rational Software Architect。

在組裝階段,最常用的工具是 Rational Application Developer (RAD)。如果在此階段將 RAD 作為 IDE 使用,請遵循以下步驟:

  • 在 RAD 工作區(qū)創(chuàng)建 Web 或 J2EE 項目——最好是新項目。從與業(yè)務(wù)一致的角度來認識服務(wù)及其接口操作,并據(jù)此定義 WSDL。使用 SOMA 標識階段的輸入來定義與業(yè)務(wù)一致的服務(wù)(業(yè)務(wù)服務(wù))。如果已經(jīng)定義了 WSDL 并且其可用,直接將其導入到 RAD 的項目工作區(qū)中即可。

     

  • 從 WSDL 生成會話 EJB 框架。應該隨后實現(xiàn)所有操作的業(yè)務(wù)邏輯。對于遺留系統(tǒng)在其他環(huán)境中運行的情況,應該在實現(xiàn)期間使用適配器技術(shù)。例如,對于在獨立 System z (zSeries) 計算機上運行的 CICS 應用程序,需要使用 CICS ECI 資源適配器連接到 CICS 系統(tǒng)。

    資源適配器通常采用資源存檔 (.rar) 文件的形式,需導入到 RAD 工作區(qū)。資源適配器包包含應用程序編程接口(Application Program Interface,API),可用于幫助從會話 EJB 訪問 CICS 應用程序。還應該針對遺留系統(tǒng)中使用的特定語言使用相關(guān)的 Java 數(shù)據(jù)綁定。

  • 將 WSDL 定義以及所實現(xiàn)的會話 EJB、Java 數(shù)據(jù)綁定以及可選資源適配器打包為企業(yè)存檔(Enterprise ARchive,EAR)文件,以供進行部署。

 

盡管在組裝階段使用 RAD 是一種很常見的做法,但很多 IT 企業(yè)僅在使用遺留系統(tǒng)方面非常專業(yè)。在這樣的客戶機環(huán)境中,建議使用 WebSphere Developer for z (WDz)。WDz V6.0.1 提供了內(nèi)置的 CICS TS 測試環(huán)境,可與 CICS Transaction Gateway V6.0.2 組合使用,從而提供一個非常強大的用于從遺留系統(tǒng)公開服務(wù)的環(huán)境。

如前面所提到的,WebSphere Service Registry and Repository 是用于服務(wù)生命周期治理的標準 IBM 產(chǎn)品,同時我們也建議使用此產(chǎn)品。

實現(xiàn)第三方提供的服務(wù)

當現(xiàn)有遺留系統(tǒng)和應用程序過于晦澀難解而難以替換,或業(yè)務(wù)需求要求提供現(xiàn)有系統(tǒng)中沒有的功能時,則下一個選項就是第三方服務(wù)提供商。行業(yè)中經(jīng)常出現(xiàn)第三方程序包提供的功能影響企業(yè)的業(yè)務(wù)需求的情況。很多企業(yè)都出現(xiàn)了這樣的情況,但后來卻發(fā)現(xiàn)由于所感興趣的第三方程序包的特性或功能影響,就開始改變自己的業(yè)務(wù)需求。這是 SOA 采用中的一個反模式,應該加以避免。

在此場景中,功能需求可由第三方服務(wù)提供商完全或幾乎完全滿足。在業(yè)務(wù)需求強制要求的可接受限制范圍內(nèi),必須滿足功能需求和 SLA 需求。

此場景的高級活動也可以映射到 SOA 生命周期的各個階段,如圖 7 中所示。


圖 7. 將第三方服務(wù)包含到企業(yè) SOA 中

SOA 生命周期的每個階段都可以應用到服務(wù)支持工作中。建議的高級活動總結(jié)如下:

建模
首先運行轉(zhuǎn)換范圍內(nèi)的業(yè)務(wù)流程的模擬,并決定哪些服務(wù)適合自己創(chuàng)建,哪些服務(wù)適合從外部獲取。

在建模階段,重點是分析使用第三方服務(wù)提供商而不自行構(gòu)建服務(wù)的理由。將執(zhí)行各種業(yè)務(wù)分析和模擬,并評估成本、時間、資源和 IT 可行性。

組裝
訪問外部服務(wù),并將其與自有服務(wù)編排在一起,從而支持端到端業(yè)務(wù)流程。組裝將對第三方服務(wù)和企業(yè)自有服務(wù)進行編排。

在組裝階段,將執(zhí)行主要工作。所建議的 IBM 產(chǎn)品為 RAD。相關(guān)步驟包括:

  1. 從服務(wù)提供者獲取 WSDL。
  2. 驗證 WSDL,并與提供者進行合作,以成功地通過完整的驗證。
  3. 在 RAD 中創(chuàng)建新企業(yè)應用程序。
  4. 將 WSDL 導入項目工作區(qū)。
  5. 從 WSDL 生成客戶端存根。這時請仔細分析哪種 XML 綁定類型是恰當?shù)模↗AX-RPC、JAXB 等)。
  6. 根據(jù)客戶端存根開發(fā)客戶機應用程序,以調(diào)用服務(wù)。
  7. 將項目打包為可部署 EAR 文件。

 

部署
可以對經(jīng)過編排的服務(wù)進行部署,而不用擔心每個服務(wù)的出處。

在此階段,可部署 EAR 文件安裝在 Web 服務(wù)兼容中間件服務(wù)器上。此處建議的 IBM 產(chǎn)品是 WebSphere Application Server。所安裝的 EAR 文件提供了客戶端 API,以使用第三方服務(wù)。

管理
如果第三方服務(wù)提供商進行實現(xiàn)工作,則務(wù)必監(jiān)視服務(wù),以確定是否符合和滿足業(yè)務(wù)強制要求的 SLA 和合同規(guī)定的關(guān)鍵性能指標(Key Performance Indicator,KPI)。IBM Tivoli Composite Application Management (ITCAM) for SOA 是用于監(jiān)視運行時服務(wù)器來確定遵從性的最為全面的 Tivoli 產(chǎn)品。

 

治理和流程
在注冊中心創(chuàng)建和維護外部服務(wù)目錄,以方便訪問和管理。

在此階段,將提供外部服務(wù)的 WSDL 定義此階段建議的 IBM 產(chǎn)品是 WebSphere Service Registry and Repository (WSRR)。任何采用服務(wù)增強形式出現(xiàn)的更改都在管理服務(wù)的生命周期的 WSRR 中進行管理。

 

實現(xiàn)從頭創(chuàng)建的服務(wù)

此場景通常是最后的選擇。當沒有現(xiàn)有應用程序功能可以直接或間接地作為服務(wù)公開,而且沒有第三方服務(wù)提供商提供所需的業(yè)務(wù)功能時,就會采用此方法。服務(wù)定義和所有實現(xiàn)構(gòu)件都需要從頭構(gòu)建。這可能看起來很簡單,沒有需要作為基礎(chǔ)的現(xiàn)有遺留系統(tǒng),沒有要集成的遺留代碼,沒有要掛接的第三方提供商服務(wù),也沒有部署時要考慮的復雜拓撲。但要確定服務(wù)標識和深入規(guī)范,可能會有不少的工作要做。圖 8 顯示了 SOA 生命周期的不同階段的主要活動。


圖 8. 應用于從頭創(chuàng)建服務(wù)時的 SOA 生命周期

從 SOA 生命周期的角度而言,從頭創(chuàng)建服務(wù)所涉及的活動如下:

建模
其重點在于設(shè)計與服務(wù)一致的服務(wù),同時涵蓋當前需求和將來的需求。建議的方法是應用 SOMA 的服務(wù)標識技術(shù),并同時使用 Rational Software Architect 進行服務(wù)建模,以創(chuàng)建實際的建模構(gòu)件。

 

組裝
用于服務(wù)開發(fā)的建議 IBM 產(chǎn)品是 Rational Application Developer (RAD);RAD 是一個可靠且功能豐富的 J2EE 應用程序開發(fā) IDE,它還提供了用于服務(wù)開發(fā)和實現(xiàn)的各種簡單功能和高級功能。它提供了基本服務(wù)實現(xiàn)的簡單功能,并將其作為 WSDL 文件公開。Rational Application Developer 還可以添加有關(guān) Web 服務(wù)實現(xiàn)的高級功能,從 WS-I 遵從性開始,以增量方式逐漸添加 WS-Addressing、WS-Transactions 等實現(xiàn)。使用 Rational Application Developer 進行服務(wù)開發(fā)的一般步驟(與實現(xiàn)第三方提供的服務(wù)類似)如下:
  1. 在 Rational Application Developer 中的新工作區(qū)創(chuàng)建 J2EE 企業(yè)應用程序項目。
  2. 基于服務(wù)的設(shè)計規(guī)范創(chuàng)建 WSDL 定義。或者,如果存在 WSDL,則將其導入工作區(qū)。
  3. 從 WSDL 生成會話 EJB 服務(wù)框架。
  4. 為服務(wù)框架中的所有已定義操作完成業(yè)務(wù)邏輯實現(xiàn)。
  5. 或者,創(chuàng)建用于調(diào)用服務(wù)的 Web 服務(wù)客戶機代碼。對于調(diào)用服務(wù)的 J2EE 應用程序客戶機,此客戶機代碼已經(jīng)足夠了。對于非 J2EE 客戶機,需要提供技術(shù)特定的客戶機代碼來進行服務(wù)調(diào)用。
  6. 將實現(xiàn)構(gòu)件打包為部署時使用的 EAR 文件。
對于將企業(yè)業(yè)務(wù)流程作為服務(wù)編排實現(xiàn)的端到端解決方案,可以將此場景作為服務(wù)設(shè)計和開發(fā)工作進行構(gòu)造;組裝是這些服務(wù)在業(yè)務(wù)流程上下文中的編排。

建議使用的 IBM 工具為 WebSphere Integration Developer (Integration Developer),此工具提供了業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language,BPEL)開發(fā)環(huán)境。除了其他功能外,還提供了將現(xiàn)有服務(wù)編排為業(yè)務(wù)流程流的功能。所得到的流程可以隨后部署到 BPEL 運行時引擎中,從而提供編排功能來執(zhí)行企業(yè)級業(yè)務(wù)流程。

部署
經(jīng)過打包的 EAR 部署模塊安裝到 WebSphere Application Server 運行時上。對于分布式環(huán)境,建議使用 WebSphere Application Server Network Deployment Edition V6 作為運行服務(wù)的中間件。要部署所提到的業(yè)務(wù)流程,建議使用的 IBM 產(chǎn)品是 WebSphere Process Server V6(屬于 IBM WebSphere Business Service Fabric 中間件)。
管理
需要對所部署的服務(wù)進行監(jiān)視和管理。監(jiān)視通常是保證遵從服務(wù)的 SLA 的典型強制要求,并在達到不遵從閾值時引發(fā)警報或事件。在企業(yè)范圍外公開服務(wù)時,最低要求是,要保證非授權(quán)訪問無法訪問服務(wù)。前面提到的 Tivoli 產(chǎn)品均適用于此場景。簡要總結(jié)如下:
  • IBM Tivoli Composite Application Management (ITCAM) for SOA,用于監(jiān)視服務(wù)以確保 SLA 遵從性。
  • IBM Tivoli Federated Identity Manager (ITFIM),用于在整個企業(yè)范圍內(nèi)進行聯(lián)合標識管理。
  • IBM Tivoli Identity Manager (ITIM),用于跨企業(yè)系統(tǒng)提供集中標識。
  • IBM Tivoli Access Manager (ITAM),用于單點登錄和在服務(wù)調(diào)用前進行授權(quán)。
治理和流程
服務(wù)生命周期管理的建議 IBM 產(chǎn)品是 WebSphere Service Registry and Repository,此產(chǎn)品具有可靠的高級功能,能以模塊化的方式進行使用。




回頁首


總結(jié)

IBM 確定了典型的基于 SOA 的 IT 項目的八個不同的常見 SOA 場景。IBM 還提供了全面的指導信息,說明應該如何使用面向 SOA 的 IBM 工具、產(chǎn)品及方法對每個場景進行建模、設(shè)計和實現(xiàn)。

在本文中,我們討論了第一個 SOA 場景,服務(wù)創(chuàng)建。我們還對基于以下三個主要服務(wù)來源進行良好服務(wù)支持的四個最常用的體系結(jié)構(gòu)模式進行了概述:現(xiàn)有應用程序、第三方服務(wù)提供商以及從頭創(chuàng)建服務(wù)。另外,我們還了解了如何將 SOA 生命周期應用到四個體系結(jié)構(gòu)訪問模式,以及 IBM 產(chǎn)品套件可以如何處理服務(wù)支持的特定設(shè)計、開發(fā)和運行時需求。



本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
IBM 內(nèi)的 SOA 應用,第 1 部分: SOA 案例研究
IBM內(nèi)部的SOA案例研究(一) | ERPWorld.net-信息推動產(chǎn)業(yè)
SOA快速指南 1 2 3,第 3 部分: 服務(wù)實現(xiàn)及架構(gòu)設(shè)計
SOA and Web services 新手入門
IBM 在 SOA 參考架構(gòu)標準中的優(yōu)勢
SOA 快速指南 1 2 3(轉(zhuǎn)IBM developerWorks 中國)
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服