developerWorks 中國, 編輯團隊, IBM
2008 年 6 月 12 日 本文中的案例研究重點說明與具有 SOA 服務接口的 JKHLE 中的公開信息相關的挑戰(zhàn)和解決方案。 案例研究簡介 JKHL Enterprises (JKHLE) 正在進行一系列的基本業(yè)務變更,期望最終能夠獲得最大收益。JKHLE 已決定采用 SOA 原則來解決其面臨的業(yè)務和 IT 挑戰(zhàn)。 JKHLE 團隊的工作重點是在各個銷售渠道中以一致的方式解決因創(chuàng)建新客戶帳戶而帶來的難題。此 SOA 采用計劃被稱為帳戶開立項目 (Account Open Project)。使用 SOA 方法有利于在未來業(yè)務發(fā)生變化時進行更快的實現(xiàn)和提供更大的靈活性。 我們在本文中介紹的案例研究包括以下關鍵人員和角色: - Ursula DeBarry,認證數(shù)據(jù)庫分析師兼企業(yè)架構(gòu)師
- Sandy Osbourne-Archer,首席技術架構(gòu)師
帳戶開立項目的挑戰(zhàn) 我們在本文中定義的帳戶開立項目挑戰(zhàn)與“將信息作為服務的 SOA 場景”相關。 帳戶開立項目體系結(jié)構(gòu)團隊的工作重點是解決由于客戶在開立 JKHLE 帳戶時使用多種機制而帶來的相關問題。他們希望從業(yè)務和 IT 這兩個角度制定一種經(jīng)過改進、單一的開立帳戶機制。 帳戶開立項目的要求 首席技術架構(gòu)師 Sandy Osbourne-Archer 向她的團隊簡要介紹了此項目的目標。我們希望使我們的 IT 基礎結(jié)構(gòu)與業(yè)務目標更好地保持一致,從而扭轉(zhuǎn)我們當前所處的不利局面。 由于這一不利局面會影響客戶滿意度,因此我們首先選擇修復帳戶開立流程。然而,我們不希望構(gòu)建一個新基礎結(jié)構(gòu)之后僅能解決這一個問題,我們還需要解決其他一些問題。我們必須解決帳戶開立問題,同時還必須降低解決其他問題的成本?!?/p> 認證數(shù)據(jù)庫分析師兼企業(yè)架構(gòu)師 Ursula DeBarry 從獨特的數(shù)據(jù)管理角度看到了 JKHLE 在帳戶開立流程方面的問題。她所擁有的經(jīng)驗讓她能夠輕松地識別碎片數(shù)據(jù)、數(shù)據(jù)不一致,以及多個不同的數(shù)據(jù)訪問路徑所造成的影響。豐富的經(jīng)驗還使她能夠形象地闡述在數(shù)據(jù)中進行整合、清理和解決不一致現(xiàn)象,以及標準化和改進數(shù)據(jù)訪問路徑所帶來的成效。 Sandy 希望將信息服務引入到帳戶開立項目中。 Sandy 就此項目對 Ursula 提出了一些明確的要求,希望她能幫助滿足這些要求。 REQ-01:為決策者提供更完善的信息 JKHLE 的主要決策者抱怨說,他們接收到的關于 JKHLE 客戶的數(shù)據(jù)有許多質(zhì)量都很差,通常不能返回決策者所需的信息。決策者需要更高質(zhì)量的信息服務。 REQ-02:允許服務使用者使用 SOA 訪問數(shù)據(jù) 帳戶開立流程,以及 JKHLE 環(huán)境中的其他業(yè)務流程和門戶都需要訪問 DB2? 和 IMS? 中存儲的數(shù)據(jù)。Sandy 希望使用信息服務將這些數(shù)據(jù)作為服務公開。 REQ-03:允許使用者實時訪問一組多樣化的數(shù)據(jù) 帳戶開立流程需要訪問存儲在一組多樣化數(shù)據(jù)源中的帳戶信息。帳戶開立流程需要實時訪問各客戶、業(yè)務合作伙伴和組織的此類帳戶信息。并且必須在 5 秒內(nèi)完成查詢的處理。 REQ-04:允許使用者訪問大量的多樣化數(shù)據(jù),而不會影響其他數(shù)據(jù)庫操作的響應時間 帳戶開立流程需要訪問帳戶歷史記錄信息。這些信息表現(xiàn)為駐留在一組多樣化數(shù)據(jù)源中的大量數(shù)據(jù)。帳戶歷史記錄信息不需要始終保持最新,但是必須在 5 秒內(nèi)處理查詢,并且不會影響其他數(shù)據(jù)庫操作的響應時間。 REQ-05:清理、標準化和驗證客戶數(shù)據(jù) JKHLE 有許多因不準確和不一致數(shù)據(jù)而帶來的問題。需要實現(xiàn)的解決方案應支持帳戶驗證流程和持續(xù)數(shù)據(jù)完整性。 REQ-06:為非結(jié)構(gòu)化數(shù)據(jù)提供內(nèi)容管理 帳戶開立流程要利用大量非結(jié)構(gòu)化數(shù)據(jù)。這些非結(jié)構(gòu)化數(shù)據(jù)需要進行存儲和管理,并且需要與結(jié)構(gòu)化數(shù)據(jù)進行連接。 REQ-07:提供主數(shù)據(jù)管理的實現(xiàn)服務 JKHLE 希望制定并執(zhí)行嚴格的數(shù)據(jù)控制,從帳戶開立流程使用的客戶數(shù)據(jù)實體開始。 REQ 08:提高信息服務在遠程辦公室中的性能和可用性 JKHLE 的許多遠程辦公室都使用了信息服務。有時候,這些遠程辦公室會遇到信息服務響應時間過長的問題,而且在某些情況下,這些服務不可用。解決這一問題需要采取一些措施。
將 SOA 實現(xiàn)模式應用于此案例研究 Ursula 說明了將“將信息作為服務 SOA 場景”引入 JKHLE 的好處。她指出,信息服務可以將信息使用者和信息提供者分離開來。信息服務規(guī)定面向服務的接口可以利用各種信息管理模式和技術訪問信息。將信息作為服務意味著服務的定義和使用具有以下一組重要特征: - 在檢索信息時并且跨多個存儲庫潛在地更新信息時,提供的信息質(zhì)量是已知的,信息的完整性也是有保證的。
- 信息的來源是已知的。例如,服務使用者可以通過訪問元數(shù)據(jù)來確定信息的來源。
- 信息的異構(gòu)是透明的。例如,服務使用者不需要知道數(shù)據(jù)源的多樣性及這些數(shù)據(jù)源的不同信息格式。
- 信息的流通性是已知的,并且可達到服務質(zhì)量要求期望值。
- 信息的結(jié)構(gòu)和語義是已知的,通常在不同的體系結(jié)構(gòu)層上表示。
- 對服務和基礎信息所做的更改是以整體、統(tǒng)一且一致的方式管理的。
JKHLE 將使用“將信息作為服務 SOA 場景”中的以下實現(xiàn)模式: - 生命周期建模
- 基本信息服務支持
- 數(shù)據(jù)聯(lián)合
- 數(shù)據(jù)整合
- 數(shù)據(jù)清理
- 內(nèi)容集成
- 主數(shù)據(jù)管理
- 管理生命周期
生命周期建模 Sandy 告訴 Ursula,JKHLE 的主要決策者一直在抱怨與 JKHLE 客戶相關的服務質(zhì)量太差。Sandy 概述了以下三個特定問題: - getCustomer 服務不返回業(yè)務需要的數(shù)據(jù)。
由于沒有對客戶的特定定義達成一致意見,因此并非所有合適的客戶都包括在其中。 - getCustomer 服務也會返回質(zhì)量很差的數(shù)據(jù)。決策者接收到的數(shù)據(jù)通常包括重復的條目或缺失的值。這在很大程度上意味著最終得到的客戶數(shù)據(jù)來自多個系統(tǒng)。
- 與客戶相關的多項服務具有不同的消息傳遞格式,這給轉(zhuǎn)換帶來了挑戰(zhàn)。
Ursula 告訴 Sandy,她知道問題所在并且重點介紹了導致這一情況的主要 IT 問題: 業(yè)務與 IT 之間存在不一致的術語概念。例如,在 JKHLE 中,術語“客戶”在不同的部門中被賦予不同的內(nèi)涵。在一些領域中,客戶是指訂閱帳戶持有者,而在另外一些領域中,術語“客戶”用于描述訂閱帳戶持有者以及表示對開立帳戶感興趣的潛在帳戶持有者。不同類型的客戶沒有明確的定義導致了這些不一致性。 為實現(xiàn)某一服務需要集成在一起的各種信息源之間存在許多數(shù)據(jù)不一致性。Ursula 指出了帳戶數(shù)據(jù)示例。帳戶數(shù)據(jù)中的地址元素是以多種不一致的格式表示的。 消息模型(描述服務的輸入和輸出)在多個服務中不一致。這是消息模型與概念數(shù)據(jù)模型之間一致性方面的基本缺陷。 建議的解決方案 Ursula 建議使用“生命周期建?!睂崿F(xiàn)模式來解決這些問題(請參見圖 1)。 圖 1 生命周期建模 Ursula 告訴 Sandy,業(yè)務術語表能夠幫助解決術語不明確的問題。業(yè)務術語表定義了與流程、服務和數(shù)據(jù)相關的術語。例如,它可以提供“客戶”的一般定義。業(yè)務術語表建立了一個通用詞匯表,用于控制術語的定義。每個術語的定義中都包括描述和其他元數(shù)據(jù),并對其進行了分類。指派術語管理員管理這些術語。這些術語管理員幫助定義術語并負責管理這些術語。 通過在服務分析和設計過程中執(zhí)行數(shù)據(jù)質(zhì)量評估(有時候稱為數(shù)據(jù)概要分析),可以首先解決由數(shù)據(jù)質(zhì)量不明確所帶來的問題。在執(zhí)行了評估之后,Ursula 可以開始研究數(shù)據(jù)源的數(shù)據(jù)質(zhì)量問題。Ursula 可以驗證是否存在數(shù)據(jù)重復,以及這一重復問題是否能在數(shù)據(jù)匹配和聚合過程中得以解決。在進行了這些類型的分析之后,Ursula 可以采取適當?shù)拇胧﹣泶_保服務實現(xiàn)選擇滿足潛在服務使用者上下文中要求的數(shù)據(jù)準確性和含義級別。 Ursula 建議使用規(guī)范的數(shù)據(jù)模型來解決帳戶開立流程所使用的數(shù)據(jù)模型與消息模型之間的不一致性。規(guī)范的數(shù)據(jù)模型為各種系統(tǒng)(其用于保存與 SOA 項目相關的數(shù)據(jù))中的關鍵實體、這些實體的屬性和關系提供了一致的定義。規(guī)范的數(shù)據(jù)模型在數(shù)據(jù)層上建立了一種通用格式,而規(guī)范的消息模型在服務層上定義了這一統(tǒng)一的格式。 Ursula 建議 JKHLE 使用以下 IBM? 產(chǎn)品: - IBM WebSphere? Business Glossary 和 IBM WebSphere Metadata Server,用于實現(xiàn)業(yè)務術語表以及存儲業(yè)務術語表定義的底層元數(shù)據(jù)數(shù)據(jù)庫。
- IBM Rational? Data Architect,用于數(shù)據(jù)建模。
- IBM WebSphere Information Analyzer,用于執(zhí)行數(shù)據(jù)質(zhì)量分析。
- Ursula 還建議使用 IBM Industry Models 來幫助定義數(shù)據(jù)和流程模型,如 IBM Information Framework。
基本信息服務支持 Sandy 提出了如何通過 SOA 訪問 JKHLE 環(huán)境中存儲在 DB2 和 IMS 中的數(shù)據(jù)這一問題。Ursula 解釋說信息服務可用于 SOA 解決方案中,用法類似于任何其他服務,并且能夠從流程(如帳戶開立流程)或門戶應用程序中進行調(diào)用。 Sandy 解釋了她為何想要轉(zhuǎn)而使用 SOA 方法。傳統(tǒng)上,JKHLE 應用程序代碼依賴于對數(shù)據(jù)存儲方式和位置及這一數(shù)據(jù)訪問邏輯的嵌入式詳細信息的直接了解,例如,在訪問應用程序時,需要知道如何利用 JDBC? 適配器進行 SQL 調(diào)用,使用什么數(shù)據(jù)源,采用何種業(yè)務規(guī)則(如果有)進一步清理數(shù)據(jù),等等。此方法導致應用程序與數(shù)據(jù)源和數(shù)據(jù)模型直接耦合在一起。 面向服務的信息訪問提供了應用程序到數(shù)據(jù)源的松散耦合,從而可以獲得 SOA 在實現(xiàn)業(yè)務靈活性方面的好處。 建議的解決方案 Ursula 一股腦地列出了多個為“將信息處理任務作為信息服務公開”選擇項目的方法: - 第一種選擇是使用一個戰(zhàn)略性平臺,該平臺使用單一產(chǎn)品公開各種訪問多種不同類型數(shù)據(jù)源的信息服務。此方法提供了一些增強功能,例如,元數(shù)據(jù)管理、監(jiān)視、管理、安全映射、可伸縮性和負載平衡,以及集成的開發(fā)環(huán)境(請參見圖 2)。
圖 2 基本信息服務支持 Ursula 建議使用 IBM Information Server 系列產(chǎn)品,特別是 IBM WebSphere Information Services Director,通過對所有數(shù)據(jù)(無論是結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、應用程序數(shù)據(jù)還是大型機數(shù)據(jù))執(zhí)行標準的驗證服務,提供關鍵業(yè)務信息在整個企業(yè)范圍內(nèi)的可見性。IBM Information Server 還包含其他可選擇的產(chǎn)品組件,這些組件可用于其他信息服務模式,如聯(lián)合、整合、清理和信息概要分析。 - 第二種選擇是從使用本機服務支持功能開始,無需額外的投資。本機功能往往最小,因此有一定的局限性。此外,由于存在多個堆棧,致使維護成本增加。
Ursula 重點介紹了 DB2 和 IMS 都提供入門級的“將存儲的過程和事務作為服務公開”功能。Ursula 指出,此方法確實是為現(xiàn)有數(shù)據(jù)提供服務支持的低成本方法,但是,此方法未必是最適合 JKHLE 的,因為 JKHLE 尋求的是一種可伸縮性更強、允許訪問多種不同類型數(shù)據(jù)源的解決方案。 - 第三種選擇采用自行構(gòu)建的服務從基本應用程序服務器開始。在深入分析此選擇后,Ursula 認識到,此選擇在開發(fā)和測試方面可能需要相當長的時間和精力,并且還缺乏標準的方法和控制。
Sandy 及其團隊現(xiàn)在確信,選擇使用 IBM Information Server 對 JKHLE 來說是最可行的,因為此選擇可以滿足 JKHLE 在管理、集成管理和集成開發(fā)環(huán)境方面的要求,從而有助于快速啟動開發(fā)。它還具有以下優(yōu)點: - 作為企業(yè)信息體系結(jié)構(gòu)的全面、統(tǒng)一的基礎,可以進行擴展,以便滿足任何數(shù)量和處理要求。
- 通過元數(shù)據(jù)驅(qū)動的集成來集成和豐富信息,從而提供更高的工作效率和靈活性。
- 可以最廣泛和最深入地連接來自各種數(shù)據(jù)源(包含結(jié)構(gòu)化、非結(jié)構(gòu)化、大型機和應用程序數(shù)據(jù))的信息。
數(shù)據(jù)聯(lián)合 為了改進帳戶開立流程,Sandy 指出要創(chuàng)建的服務可以完整而實時地查看與特定客戶關聯(lián)的所有帳戶的狀態(tài)。訪問此信息的響應時間應符合小于 5 秒的標準,該標準是用于與客戶服務關聯(lián)的其他復雜查詢的標準。 Ursula 與數(shù)據(jù)管理團隊討論了獲取完整和當前帳戶狀態(tài)的問題。她指出,JKHLE 帳戶信息的最大問題之一是其分散在整個組織中。此外,對各個客戶、業(yè)務合作伙伴和組織而言,JKHLE 存儲帳戶信息的方式也不相同。 Sandy 不希望 JKHLE 帳戶管理人員花費時間手動搜索、聚合、關聯(lián)和更正帳戶狀態(tài)信息。 不過,JKHLE 當前的許多應用程序和工具都要求數(shù)據(jù)位于其所在的位置。Sandy 在尋找既能用于帳戶開立流程又能用于未來項目的解決方案。 建議的解決方案 Ursula 建議,數(shù)據(jù)聯(lián)合模式非常符合這些要求。Ursula 解釋說,在此情況下,通過將數(shù)據(jù)復制到一個位置來集成數(shù)據(jù)并不可行。保持數(shù)據(jù)最新的需求將導致大量的復制開銷,特別是在更新頻率取決于 JKHLE 訂單量時更是如此。因此,最佳的解決方案是使用數(shù)據(jù)聯(lián)合服務器(請參見圖 3)。 注意:數(shù)據(jù)聯(lián)合服務器負責接收定向到各種源的集成視圖的查詢。它將該查詢轉(zhuǎn)換為針對適當源的子操作,從每個源中收集結(jié)果,然后進行組裝并返回集成的結(jié)果。 此處理順序是同步實時執(zhí)行的,有效地向查詢發(fā)布者隱藏了實際操作的復雜性。 圖 3 數(shù)據(jù)聯(lián)合服務器 Ursula 解釋了數(shù)據(jù)聯(lián)合服務器如何滿足 JKHLE 的需求: - 上市時間是 Ursula 考慮的首要開發(fā)優(yōu)先級之一,數(shù)據(jù)聯(lián)合可以提供對信息源的快速訪問,而不需要更改冗長的信息管理基礎結(jié)構(gòu)。
- 數(shù)據(jù)聯(lián)合通過支持對位于數(shù)據(jù)源中的數(shù)據(jù)的訪問,不需要復制和重復數(shù)據(jù),因此可以滿足 Ursula 的需求。
- Ursula 需要像從單一數(shù)據(jù)源那樣對分布式信息(包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù))進行實時訪問。
- JKHLE 是一個動態(tài)變化的環(huán)境,要求使用靈活的和可擴展的信息集成方法,特別是模式發(fā)展。
由于數(shù)據(jù)聯(lián)合減少了數(shù)據(jù)冗余,因此在聯(lián)合模式中的更改減少了更改對集成系統(tǒng)的影響。 - Ursula 的環(huán)境特征可以用適當?shù)恼埱髷?shù)來描述,該請求數(shù)是根據(jù)有限結(jié)果大小從多個類似的補充數(shù)據(jù)源接收的。在此類環(huán)境中,Ursula 可以充分利用數(shù)據(jù)聯(lián)合的好處。
Ursula 告訴 Sandy,IBM Information Server 產(chǎn)品系列可以滿足建議的解決方案的所有需求??梢允褂?IBM WebSphere Information Services Director 將信息管理功能作為服務公開。它將信息集成邏輯、清理規(guī)則和信息訪問等打包為服務,將開發(fā)人員與該功能的基本提供者有效地隔離開來。其中與 JKHLE 環(huán)境最相關的是其通過面向服務的接口(如 EJB、JMS 或 Web 服務)公開聯(lián)合訪問的能力。該產(chǎn)品為信息服務提供了基礎結(jié)構(gòu)(包括負載平衡和故障轉(zhuǎn)移)。 Ursula 建議使用其他兩個產(chǎn)品。IBM WebSphere Federation Server 充當分布式平臺上數(shù)據(jù)聯(lián)合服務器的角色。 JKHLE 通過 SQL 接口可以訪問來自所有現(xiàn)有數(shù)據(jù)源的聯(lián)合信息。JKHLE 還需要訪問有關大型機的一些信息,因此 Ursula 推薦了 IBM WebSphere Classic Federation Server for z/OS?。 數(shù)據(jù)整合 為改進帳戶開立流程,Sandy 指定要創(chuàng)建的服務應提供 JKHLE 客戶的統(tǒng)一帳戶歷史記錄。訪問此信息的響應時間應符合小于 5 秒的標準,該標準是用于與客戶服務關聯(lián)的其他復雜查詢的標準。 Ursula 描述了組合統(tǒng)一帳戶歷史記錄的獨特問題。 她告訴 Sandy,由于存在許多帳戶信息,因此,如果 JKHLE 嘗試實時訪問所有這些數(shù)據(jù),將會影響許多其他數(shù)據(jù)庫操作的響應時間。Ursula 補充說,還可能很難實時處理這些信息,并且難以滿足 Sandy 的 5 秒鐘的要求。 Sandy 回答說不需要實時檢索信息。數(shù)據(jù)刷新間隔為 24 小時就可以滿足要求。 建議的解決方案 通過數(shù)據(jù)整合實現(xiàn)模式可以很好地滿足解決方案檢索帳戶歷史信息的需求。數(shù)據(jù)聯(lián)合模式對多個數(shù)據(jù)源執(zhí)行實時查詢,而數(shù)據(jù)整合模式可以通過在非高峰時段將數(shù)據(jù)復制到一個位置來集成數(shù)據(jù),因此數(shù)據(jù)量的大小不會影響其他數(shù)據(jù)庫操作的性能。這一數(shù)據(jù)整合過程通過數(shù)據(jù)整合服務器完成(請參閱圖 4)。 圖 4 數(shù)據(jù)整合服務器 Ursula 解釋了數(shù)據(jù)整合服務器如何滿足 JKHLE 的需求: - Ursula 必須集成來自具有高度異構(gòu)性的各種源中的數(shù)據(jù)。對于此類環(huán)境,數(shù)據(jù)整合服務器具有強大的功能,可以消除數(shù)據(jù)之間的不一致性并將其合并在一起。
- Ursula 的數(shù)據(jù)使用者要求具有高數(shù)據(jù)可用性、高度并發(fā)訪問、高可伸縮性和高性能的集成信息。數(shù)據(jù)整合服務器在新的目標副本中對集成信息具體化,她的使用者可以獨立于轉(zhuǎn)換和集成過程而訪問該副本。
Ursula 還可以將數(shù)據(jù)整合模式與數(shù)據(jù)清理模式合并在一起來解決整合過程中數(shù)據(jù)的質(zhì)量問題。 為實現(xiàn)此解決方案模式,Ursula 推薦了 IBM WebSphere DataStage?。這是一個用于進行數(shù)據(jù)清理、轉(zhuǎn)換和重新定位的高容量數(shù)據(jù)集成平臺。JKHLE 將使用 WebSphere DataStage 來充當數(shù)據(jù)整合服務器的角色。WebSphere DataStage 提供并行處理功能,如支持動態(tài)重新分區(qū)、并行數(shù)據(jù)庫和網(wǎng)格配置,使得在較短的時間范圍內(nèi)能夠處理大量的數(shù)據(jù)。源和目標支持所有 JKHLE 源,包括關系數(shù)據(jù)庫管理系統(tǒng)、ERP 系統(tǒng)、大型機現(xiàn)有系統(tǒng)、XML 和專用數(shù)據(jù)格式。 為了將這些信息管理功能作為服務公開,Ursula 建議使用 WebSphere Information Services Director。 數(shù)據(jù)清理 帳戶管理人員需要有關于客戶的一致而有效的數(shù)據(jù)。目前在 JKHLE,客戶數(shù)據(jù)庫有時會無效或者不同數(shù)據(jù)庫之間出現(xiàn)不一致情況。因此,客戶不能正確地收到通知,有時還會創(chuàng)建重復的客戶記錄。 Ursula 通過 JKHLE CIO 最近轉(zhuǎn)發(fā)的一封客戶抱怨信提醒信息管理團隊。 “一位名叫 David Brown 的客戶由于地址字段鍵入錯誤給我們的行政人員寫了一封信。他從 JKHLE 收到了帳戶通知,但比預期的接收時間晚了一周,而且發(fā)現(xiàn)信封上的地址寫錯了。他多次給客服打電話要求糾正此問題。客服曾兩次告訴他,在系統(tǒng)中找不到他的信息。下次他打電話時,他被告知系統(tǒng)中有他的信息并且地址是正確的。后來他又收到一封延遲的信,并且地址仍然不正確。 就在他向我們的行政人員寫完這封信之后,我們就發(fā)現(xiàn)了這個問題。與我們的所有其他客戶一樣,他的數(shù)據(jù)存儲在多個位置。他的地址在某些位置中是正確的。但在有些數(shù)據(jù)庫中,他的地址被輸錯了”。 建議的解決方案 Ursula 告訴信息管理團隊,JKHLE 可以使用數(shù)據(jù)清理模式來解決此類問題。 當客戶(例如 Curt Company Inc.)或者帳戶經(jīng)理(例如 Peggy Smith)提交新的帳戶申請時,該申請將提交到帳戶驗證業(yè)務流程。此業(yè)務流程中的第一步是清理數(shù)據(jù)。使用針對美國的規(guī)則清理名稱和地址,然后將更新的數(shù)據(jù)作為服務的輸出返回。 Ursula 解釋說,使用數(shù)據(jù)清理服務器允許 JKHLE 使用針對地址和其他客戶數(shù)據(jù)的預定義檢查和規(guī)范為客戶數(shù)據(jù)構(gòu)建數(shù)據(jù)清理規(guī)則??梢詫⑶謇硪?guī)則用于在數(shù)據(jù)傳入時改正數(shù)據(jù),或者改正當前許多數(shù)據(jù)庫中存儲的該數(shù)據(jù)。甚至可以在數(shù)據(jù)整合流程中應用這些規(guī)則,如 “數(shù)據(jù)整合”中所述。 圖 5 顯示了數(shù)據(jù)清理服務器拓撲 為實現(xiàn)此解決方案模式,Ursula 推薦了 IBM WebSphere QualityStage。此產(chǎn)品是提供數(shù)據(jù)清理服務器的 IBM Information Server 的核心組件。 WebSphere QualityStage 支持自由格式文本數(shù)據(jù)的標準化、充實和匹配。它提供了以下功能: - 可通過應用成熟的解析規(guī)則和統(tǒng)計匹配功能來支持在數(shù)據(jù)源內(nèi)或數(shù)據(jù)源間進行記錄關聯(lián)和重復項消除。
- 通過自動交叉填充空白、缺失或不完整的實體值來支持跨多個源選擇一個最佳記錄。這提供了跨多個系統(tǒng)的單一而全面的數(shù)據(jù)視圖。
為了將這些信息管理功能作為服務公開,Ursula 建議使用 WebSphere Information Services Director。 內(nèi)容集成 帳戶開立流程需要訪問大量的非結(jié)構(gòu)化內(nèi)容。非結(jié)構(gòu)化內(nèi)容是沒有使用傳統(tǒng)數(shù)據(jù)庫標準(如 SQL)構(gòu)建的數(shù)據(jù)。非結(jié)構(gòu)化內(nèi)容的示例包括手工填充的申請和支持文檔。 在 JKHLE 的許多業(yè)務流程中,使用的非結(jié)構(gòu)化內(nèi)容多于結(jié)構(gòu)化內(nèi)容。客戶通過將重要的文檔傳真給帳戶經(jīng)理來提供重要信息是特別常見的事情。事情往往是將原始文檔存儲在檔案柜中,而沒有與帳戶開立流程聯(lián)系起來。 Sandy 特別關注 JKHLE 中非結(jié)構(gòu)化內(nèi)容的管理。她告訴 Ursula,在一個實例中,客戶必須在一周內(nèi)將保密的財務信息向 JKHLE 傳真三次。此事故以及許多類似事故會導致喪失客戶滿意度,讓人擔心保密財務信息會被漫不經(jīng)心地丟棄。 Ursula 發(fā)現(xiàn)在帳戶開立流程中有兩個地方使用了非結(jié)構(gòu)化數(shù)據(jù): 建議的解決方案 Ursula 告訴 Sandy,內(nèi)容集成實現(xiàn)模式可通過使用內(nèi)容集成服務器來幫助管理 JKHLE 中的非結(jié)構(gòu)化數(shù)據(jù)。此模式將指導 JKHLE 采用嚴格的內(nèi)容管理策略。 Ursula 解釋了內(nèi)容集成策略如何用于帳戶開立流程: - 當客戶申請一個新帳戶時,將要求客戶提供驗證其薪水的文檔。使用內(nèi)容集成模式,這些文檔(傳真或支付存根的副本)將作為內(nèi)容對象獲取。
這些對象與元數(shù)據(jù)一起存儲在內(nèi)容存儲庫中,其中元數(shù)據(jù)用于將這些對象與客戶和新帳戶申請連接在一起。將創(chuàng)建一個服務,使 JKHLE 客戶帳戶代表能夠通過門戶存儲這些內(nèi)容對象。 - 在帳戶開立的稍后步驟中,JKHLE 帳戶主管通過另一服務操作來檢索和檢查支持文檔。內(nèi)容集成解決方案中的 SOA 接口允許此操作與門戶桌面完美集成。
圖 6 內(nèi)容集成服務器 Ursula 大致查看了 JKHLE 環(huán)境中的數(shù)據(jù)庫服務器,發(fā)現(xiàn)沒有理想的位置存儲其非結(jié)構(gòu)化內(nèi)容。使用現(xiàn)有的數(shù)據(jù)庫將需要大量的重新調(diào)整工作,而且還需要重新設計一些模式。她確定,為非結(jié)構(gòu)化內(nèi)容添加新存儲庫比較簡單而且風險也小,如 FileNet? Content Manager 或 IBM DB2 Content Manager。 如果在 JKHLE 環(huán)境中已經(jīng)存在一些內(nèi)容存儲庫,Ursula 可能需要考慮為其內(nèi)容應用內(nèi)容聯(lián)合模式,如 WebSphere Information Integrator Content Edition 或 FileNet P8 Content Federation Services 提供的內(nèi)容聯(lián)合模式。 在經(jīng)過一番考慮之后,Ursula 計劃使用 FileNet Content Manager 管理內(nèi)容,原因是 JKHLE 計劃將來使用其他 FileNet P8 產(chǎn)品來支持業(yè)務流程管理和記錄管理。 主數(shù)據(jù)管理 作為一個長期目標,Ursula 希望使用一個強健的數(shù)據(jù)管理系統(tǒng)來統(tǒng)一管理 JKHLE 中與客戶相關的許多后端數(shù)據(jù)源。 此系統(tǒng)可以提高客戶數(shù)據(jù)的一致性和質(zhì)量,使客戶在將來更容易地維護和更靈活地使用數(shù)據(jù)。 目前,關于核心業(yè)務實體的可信信息(如 JKHLE 客戶數(shù)據(jù))分散在后端系統(tǒng),并且通常不完整也不準確。 建議的解決方案 Ursula 解釋說主數(shù)據(jù)管理實現(xiàn)模式可以幫助實現(xiàn)此目的。 主數(shù)據(jù)是特定的描述核心業(yè)務實體(如客戶、產(chǎn)品和提供商)的高價值數(shù)據(jù),這些數(shù)據(jù)在多個業(yè)務流程中被重復使用。可以將主數(shù)據(jù)管理視為數(shù)據(jù)整合和數(shù)據(jù)清理實現(xiàn)模式以及擴展規(guī)則、事件控制和用于企業(yè)主數(shù)據(jù)的工具的混合體。 使用主數(shù)據(jù)管理系統(tǒng)可以為與客戶相關的數(shù)據(jù)建立和執(zhí)行標準數(shù)據(jù)模型。這允許 JKHLE 永久刪除同一數(shù)據(jù)過去使用的不同模型并僅對不同之處進行部分解析。 圖 7 顯示了主數(shù)據(jù)管理參考體系結(jié)構(gòu)。 主數(shù)據(jù)管理可以確保關鍵業(yè)務數(shù)據(jù)始終完整和準確。主數(shù)據(jù)管理還便于管理跨異構(gòu)系統(tǒng)的關鍵數(shù)據(jù)。主數(shù)據(jù)管理可以: - 為訪問和管理關鍵業(yè)務數(shù)據(jù)提供一組集中化服務。
- 在與其他源同步數(shù)據(jù)時充當權威記錄。
- 管理業(yè)務數(shù)據(jù)的復雜層次結(jié)構(gòu)。
- 提供管理主數(shù)據(jù)所需的全面功能。
主數(shù)據(jù)管理比管理單個主數(shù)據(jù)實體要寬泛得多。管理主數(shù)據(jù)實體(如不同類型的客戶以及將某個客戶一般化為參與方)的層次結(jié)構(gòu)非常重要。它還管理主數(shù)據(jù)實體之間的關系,如組織本身和外部組織(例如提供商和業(yè)務合作伙伴)之間的關系。深入分析可以確定新的參與方的身份與系統(tǒng)已知的參與方相同的可能性。 對于帳戶開立流程,主數(shù)據(jù)管理提供客戶信息記錄系統(tǒng)的存儲庫,其中包括關系、成員關系和聯(lián)系。具體的任務包括: 1. 查看客戶信息以驗證該客戶對于 JKHLE 是否是已知的。 2. 進行深入分析,以根據(jù) JKHLE 客戶列表中潛在不需要的候選者檢查客戶信息。 3. 根據(jù)需要,使用調(diào)用內(nèi)部或外部服務的管理規(guī)則標準化和清理客戶提供的更新地址信息。 4. 擴充主數(shù)據(jù)管理模型以合并 JKHLE 客戶的其他外部信用記錄。添加新服務以調(diào)用第三方服務提供者并收集信用信息。 5. 使用前一步驟中的已標準化和清理的地址更新主客戶信息。 Ursula 建議使用 IBM WebSphere Customer Center 實現(xiàn)此解決方案。JKHLE 可以使用 WebSphere Customer Center 建立對參與方數(shù)據(jù)實體的控制,其中包括 JKHLE 客戶數(shù)據(jù)以及與 JKHLE 客戶相關的數(shù)據(jù),如合同、帳戶和相關參與方。Ursula 將使用 IBM Entity Analytics Solutions 來執(zhí)行實體分析。 管理生命周期 在組裝和部署每個“將信息作為服務”SOA 實現(xiàn)模式后,Ursula 發(fā)現(xiàn)了一個問題。事實證明信息服務很受歡迎,并在 JKHLE 組織中被廣泛使用,特別適用于遠程辦公室。但是,遠程辦公室遇到了一些問題。信息服務的響應通常非常緩慢,并且有時甚至不可用。 Ursula 認識到,整個團隊將所有精力都集中在了組裝和部署信息服務上,而忽視了一個重要步驟。就是沒有很好地管理信息服務。沒有良好的管理,JKHLE 將無法快速確定服務執(zhí)行情況,也不知道何時會出現(xiàn)問題。 建議的解決方案 Ursula 為 JKHLE 環(huán)境中的信息服務和其他 SOA 服務推薦了一個全面管理解決方案。她推薦的解決方案可以提供 IT 環(huán)境的歷史視圖,并能夠通過 IT 堆棧跟蹤服務請求。此解決方案將提供業(yè)務監(jiān)視儀表板和系統(tǒng)管理控制臺,以管理帳戶開立業(yè)務流程和此業(yè)務流程使用的信息服務。 此解決方案可以帶來以下好處: - 快速隔離問題區(qū)域。
- 積極主動(而不是被動響應)地確定、隔離和解決問題。
- 了解服務對特定資源的依賴關系。
- 維護和跟蹤水平級別協(xié)議。
- 監(jiān)視業(yè)務流程,了解業(yè)務執(zhí)行的方式。
此解決方案將會大量增加收入和提高客戶滿意度,這是因為 JKHLE 可以在業(yè)務受到影響之前解決潛在的問題。 Ursula 列出了最適合對每個實現(xiàn)模式實現(xiàn)管理的 IBM 產(chǎn)品: - 基本信息服務支持
- 對于 DB2 數(shù)據(jù)庫:IBM Tivoli? Monitoring for Databases 和 OMEGAMON? XE for DB2 on z/OS
- 對于 IMS 數(shù)據(jù)庫:OMEGAMON XE for IMS on z/OS
- 數(shù)據(jù)聯(lián)合
- IBM Tivoli Monitoring for Databases
- 數(shù)據(jù)整合
- IBM WebSphere DataStage 的 Director 工具中提供的本機監(jiān)視功能
- 數(shù)據(jù)清理
- IBM WebSphere QualityStage 的 Director 工具中提供的本機監(jiān)視功能
- 主數(shù)據(jù)管理
- IBM Tivoli Composite Manager for WebSphere Application Server 和 IBM Tivoli Composite Manager for Response Time Tracking
- IBM Entity Analytics Solutions
總結(jié) 通過使用“將信息作為服務”實現(xiàn)模式,Ursula 能夠滿足既定的需求??梢酝ㄟ^服務接口訪問帳戶開立流程(和 JKHLE 體系結(jié)構(gòu)中的其他 SOA 組件)所使用的數(shù)據(jù)。另外,還可以根據(jù)需要聯(lián)合、整合和清理此數(shù)據(jù)。Ursula 還能夠為非結(jié)構(gòu)化數(shù)據(jù)提供管理解決方案,并為主數(shù)據(jù)管理建議了解決方案。
聲明 本信息是為在美國提供的產(chǎn)品和服務而編寫的。 IBM 可能在其他國家/地區(qū)不提供本文檔中討論的產(chǎn)品、服務或功能。有關您所在區(qū)域當前提供的產(chǎn)品和服務的信息,請向您當?shù)氐?IBM 代表咨詢。 任何對 IBM 產(chǎn)品、程序或服務的引用都并非旨在明示或暗示只能使用 IBM 產(chǎn)品、程序或服務。只要不侵犯 IBM 的知識產(chǎn)權,可以用任何具有同等功能的產(chǎn)品、程序或服務代替 IBM 產(chǎn)品、程序或服務。但是,對任何非 IBM 產(chǎn)品、程序或服務的評估和驗證應由用戶自行負責。 IBM 公司可能已擁有或正在申請與本文檔描述的內(nèi)容有關的各項專利。 提供本文檔并沒有授予您對這些專利的任何許可。您可以通過書面方式將許可查詢寄至: IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A. 要了解 IBM 的完整聲明,請參閱 IBM 聲明的細節(jié)。
參考資料 學習 - 您可以參閱本文在 IBM 紅皮書網(wǎng)站上的 英文原文 。
- 本系列文章的第 1 部分:本文概括介紹了虛構(gòu)的 JKHL Enterprises (JKHLE) 公司的情況,這個虛構(gòu)的公司已在一系列面向服務的體系結(jié)構(gòu) (SOA) 場景文章及相關的工作產(chǎn)品中被引用,作案例研究之用。本案例研究介紹了如何借助 SOA 原則通過應用 SOA 場景實現(xiàn)模式來應對常見的業(yè)務和 IT 挑戰(zhàn)。
- 本系列文章的第 2 部分:本文中的案例研究重點是與 SOA 服務創(chuàng)建和重用相關的挑戰(zhàn)和解決方案。在本文中,我們將介紹如何使用關鍵方法和選項來利用現(xiàn)有的 IT 資產(chǎn)并通過 SOA 接口加以重用,還將介紹如何為新的和現(xiàn)有的資產(chǎn)構(gòu)建服務,以確保它們可以用于未來的 SOA 工作。本文描述了如何使用“面向服務的體系結(jié)構(gòu)中的服務創(chuàng)建場景”的實現(xiàn)模式來解決與該案例研究相關的業(yè)務和 IT 挑戰(zhàn)。
- 本系列文章的第 3 部分:本文中的案例研究重點說明與開立新帳戶服務的連接性相關的挑戰(zhàn)和解決方案。其中描述如何使用“SOA 中的服務連接性場景”的實現(xiàn)模式來解決與該案例研究相關的業(yè)務和 IT 挑戰(zhàn)。
- 本系列文章的第 4 部分:本文中的案例研究重點說明與開立新帳戶的業(yè)務流程相關的挑戰(zhàn)和解決方案,主要向您講解了如何通過各種 IBM 工具來解決相關的業(yè)務流程問題。
- 本系列文章的第 5 部分:本文描述了如何使用交互與協(xié)作服務 SOA 場景的實現(xiàn)和解決方案模式來解決與該案例研究相關的業(yè)務和 IT 挑戰(zhàn)。。
- IBM developerWorks SOA and Web services 專區(qū) 提供了大量的文章,以及關于如何開發(fā) Web 服務應用程序的初級、中級和高級教程。
- 使用 IBM SOA Sandbox 進行試驗!通過 IBM SOA 進行實際的親手實踐來提高您的 SOA 技能。
- IBM SOA 網(wǎng)站 提供 SOA 的概述,并介紹 IBM 是如何幫助您實現(xiàn) SOA 的。
- 了解關于 developerWorks 技術事件和網(wǎng)絡廣播 的最新消息。請?zhí)貏e關注以下 SOA 和 Web 服務技術講座:
- 訪問 Safari 書店 ,瀏覽有關這些技術主題以及其他方面的書籍。
獲得產(chǎn)品和技術 - 使用 IBM 試用軟件 開發(fā)您的下一個項目,可下載或索取 DVD 光盤。
討論
|