引言
成功的大型企業需要其 IT 部門通過跟上技術發展來保持高水準的競爭力。這通常需要代價很高的經常性投資以維護當前的 IT 投資和增添新的投資。然而,中小型企業通常只有有限的預算來設法現代化其 IT 基礎設施和資產。通??梢宰⒁獾?,中小型企業只有在充分利用當前 IT 投資以后才會考慮重大的升級。他們每隔幾年進行一次較大規模的現代化投資,而不是連續地進行投資。
“中小型企業”(small and medium business,SMB)這個術語非常主觀并取決于若干因素,例如年度營業額、員工數量、業務的地理分布等等。就本文而言,我們的虛構公司 Mod Communications , Inc.(以下也稱為“該公司”)是一家為中西部若干個城區的家庭客戶和當地企業提供高速 Internet 接入、有線電視、本地和長途電話以及無線通信服務的電信服務提供商。該公司是需要現代化其 IT 系統的中小型企業的代表。該公司擁有 200 名員工,已有 20 年的經營歷史,分支機構不超過 10 個,并擁有大約 75 名 IT 人員維護其當前的 IT 解決方案。
面對新的競爭,他們感覺到了為當前客戶維持較高服務級別的壓力。該公司希望著手進行遺留系統轉換活動。該公司準備為轉換活動做出重大投資,并正在尋求現代化路線圖規劃方面的幫助。本文是為 IT 顧問、架構師和解決方案開發人員準備的,并解釋了如何分析該公司的當前現狀、組織動力和挑戰,并提供了一組 IT 轉換活動建議。本文還演示了一些可在該解決方案開發過程中提供幫助的 IBM 產品和服務。
Mod Communications Inc. 的大多數應用程序都是客戶信息控制系統(Customer Information Control System,CICS®)應用程序,這些應用程序使用 COBOL 編寫并運行在 IBM System z™ 系列中的 IBM 中端大型機系統上。雖然這些應用程序繼續盡最大可能地提供核心業務服務,但是它們非常龐大、獨立并且難于修改。替換或從頭重新構建這些應用程序會對當前業務流程產生破壞性的影響,并需要收集在過去 15 年里加入到系統中的業務智能和規則。采用某個基于面向服務的體系結構原則的漸進式遺留系統轉換過程,是有選擇地替換該公司的應用程序組合的更加經濟合算和風險更低的方法。此方法的一個示例是使用 Java EE (Java™ Enterprise Edition) 來開發將在諸如 IBM 推出的 Websphere® Application Server 等應用程序服務器上運行的應用程序。新的應用程序將在可能和適當的任何場合重用現有的功能。在構建和部署新組件時,其使用范圍超出目前應用程序的部分組件將公開為服務,以便在以后的開發工作中重用。
下面幾個部分將解釋 IT 架構師或顧問如何執行數據收集、分析和建議活動,并將遺留系統轉換過程告知公司的重要高層管理人員。下面將從數據收集期間的各個步驟、分析階段得出的各種輸出、所確定的建議備選解決方案和針對轉換規劃的指示等方面對相關活動進行描述。
數據收集
數據收集的重點在于獲得關于業務活動、所使用的 IT 技術和 IT 投資等事項的當前狀態的信息。然后可以分析該數據以確定轉換機會。以下步驟將準備并執行有效的數據收集工作:
步驟 A. 獲得或準備公司的組織結構圖
務必要了解公司的組織結構圖,以便確定重要的團隊成員和權力人物。Mod Communications, Inc. 的組織結構圖表明,總裁和首席運營官(Chief Operating Officer,COO)以及執行副總裁(Executive Vice President )將負責監督重要的業務和技術活動以及投資。對于日常職能和活動,該組織擁有諸如“操作組”、“業務服務組”、“財務服務組”和“通用開發組”等小組。其中每個小組都具有業務和技術人員。這些小組的負責人將向執行副總裁報告,并且是主要的業務和技術相關決策的權力人物。
步驟 B. 獲得有關公司經營的初步信息
此步驟將為準備用于數據收集的詳細問題集奠定基礎。起初,可以從與高級人員進行的討論中獲得有關公司經營的粗略概況。在非正式的氣氛中提出有關公司背景、公司發展、公司所屬行業、優勢、弱點、新機會、察覺到的競爭威脅、所獲獎項以及類似主題的誘導性問題。
在 Mod Communications, Inc. 進行的有關轉換活動的總體目標的討論過程中,一名高級員工提到該公司作為中小型企業區段中的最佳員工工作場所之一而感到自豪。大多數員工都已經為該公司工作了 15 年以上。另一位高層管理人員提到實現面向服務的體系結構在公司日程上處于優先位置。該信息可以在分析階段中提供重要的輸入,以評估關于組織更改和準備情況的可能建議所具有的影響。
步驟 C. 準備用于詳細信息收集的問卷調查
此類問卷上的問題應該跨越廣泛的主題,例如業務目標、當前流程評估、應用程序組合評估、企業數據體系結構、基礎設施和操作體系結構、面向服務的體系結構,以及治理。以下問題類似于一個樣本集。
- Mod Communications, Inc. 在未來三至五年的業務目標是什么?
- 當前用于為各方(例如客戶、供應商等等)提供價值的業務流程(由人員和/或系統執行的活動集)是什么?請列出并提供簡要的敘述。
- 業務流程是否具有文檔記錄?其中每個業務流程是否存在端到端的業務流程視圖?
- 為未來三至五年計劃的主要業務目標和遠景是什么?其中一些示例包括改進服務請求周轉時間、收入增加 x 倍、操作成本降低 y 倍、改進客戶滿意度指標等等。
- 所確定和分析的業務流程是否與業務目標和遠景持續一致?當前,哪些業務流程可以認為是與業務目標和遠景保持一致的,哪些是不一致的?
- 當前的應用程序是什么,它們支持哪些業務流程?
- 是否計劃在即將到來的一年里設計、開發或實現任何新應用程序?請根據情況提供詳細信息。
- 在當前應用程序中,業務邏輯關注事項是否與操作關注事項分離,從而支持操作上的松散耦合并促進軟件和信息資產的重用?
- 是否存在針對遺留應用程序或功能子集的既定策略?遺留代碼中是否存在將導致難于隨時間推移而停用遺留系統的代碼依賴性?
- 請提供有關當前企業數據體系結構、數據模型、維護以及增強方法、數據管理方面、數據倉庫等的詳細信息。
- 對于您的操作的某些方面,您是否必須依賴批處理數據傳輸?如果是,請詳述。
- 請提供有關當前存在的硬件和軟件基礎設施的詳細信息。
- 提供當前網絡界面方法的詳細信息。什么功能通過網絡提供,以及在使用什么體系結構和產品?為將來的網絡界面計劃了什么附加功能?
- 請提供當前的設計、開發、測試和生產應用環境的詳細信息。
- 是否準備了足夠和有效的流程來處理以下有關當前操作環境的事項?這將包括用于變更管理、引入新技術和服務管理(如果適用的話)的流程。
- 您是否與第三方服務提供商或代理建立連接?如果是,該連接的性質是什么(例如,同步、異步、單向、雙向)?
- 是否存在促進基于服務的體系結構的基礎設施(例如,幫助實現應用程序之間的消息交換、消息轉換、獨立服務查找等技術)?如果是,請詳述。
- 是否有團體在考慮跨功能應用程序的可重用性?
- 您關注 SOA 采用的動機是什么?是定位于實現附加的收入產生渠道(例如實現更快的新產品上市或獲取新客戶),還是通過促進當前應用程序及系統的更好可重用性和維護來降低成本?
- 您當前的 SOA 方向是什么?您計劃將要使用的技術是什么?是否存在任何用于目標 SOA 體系結構的現有高級設計?
- 您是否有任何現有的 Web 服務實現?如果是,請提供詳細信息。
來自 Mod Communications, Inc. 的高級人員群策群力,一起合作回答上述問題。
步驟 D. 計劃安排與重要客戶端團隊成員的后續訪談
從問卷答案中,確定進一步的信息需求領域,并計劃安排與重要人員的后續訪談。使用組織結構圖來確定要訪談的其他人員。完成后續訪談時,數據收集階段差不多就完成了。隨后的解釋說明可以通過電子郵件或電話來獲得。
對于 Mod Communications, Inc.,將準備一個關于訪談成果的報告。該報告提供了公司 IT 環境和基礎設施、IT 組織、主要角色和職責的當前狀態摘要、應用程序組合概述、系統和功能摘要,以及當前治理、未來三至五年的業務遠景和目標的簡要概述。這可用作將來的所有工作的參考。
數據分析
在數據分析過程中,研究收集到的相關資料和文檔信息,以分析各種備選解決方案,從而提供建議。按以下幾個方面對信息進行組織:
- 對 IT 轉換的成功最重要和最關鍵的業務遠景和目標,以及指標。
- 難點。這些是公司正在嘗試解決的關鍵業務和技術問題。
- 解決方案建議所要考慮的約束。
- 應用程序組合分析的發現結果。
對于 Mod Communications, Inc.,以下是重要的業務遠景和目標:
- 實現業務各方之間改進的信息流,包括客戶、客戶服務代表、技術人員以及銷售和市場代表。計劃通過此目標削減 7 - 10% 的業務開支。
- 通過現代化活動和新技術采用來處理公司的客戶保留問題。創建現代化路線圖。向重要客戶和員工傳達該路線圖。
- 提高軟件和應用程序開發這個重要流程的效率。公司需要簡化活動和任務,以推動更高的團隊成員效益和工作效率。目前,預計要發布的實際軟件或應用程序要在發布日期之前一個星期才能準備就緒。通過提高流程效率將此時間提前為兩個星期。滿足此目標可以降低壓力級別,同時還可以提供更多的時間進行有關該發布的附加測試、交流和其他活動。
- 通過新技術和更好的直觀用戶界面降低培訓和支持成本。預計通過此目標將培訓成本削減 15%。
- 最近的一項調查表明,該公司的內部應用程序供應感覺非常緩慢,盡管該解決方案所提供的全面功能獲得了好評。開發團隊需要使用最新技術使業務解決方案對用戶更有吸引力。公司應該通過更好的用戶界面設計來促進易用性和工作職能效率改進。
- 提高市場競爭地位,同時吸引更多銷售潛力。通過遺留資產的現代化,使銷售主管能夠吸引更多銷售潛力并贏得更多業務。
基于與團隊成員進行的有關該公司使用的當前流程和實踐的詳細討論,以下是重要的難點和問題場景:
- 隨著時間推移,代碼變得日益難于維護。因此,引入更改將要花更多的時間。這導致維護成本增加,給定版本所接受的增強功能請求數量減少。開發人員的工作效率有待提高。
- 公司不能容易地招募新的開發人員來從事 COBOL 方面的工作,COBOL 是目前使用的主要編程語言。此外,要讓新的開發人員在短期內高效地工作也非常困難。
- 技術文檔和信息非常有限,并且構建和發布過程很不可靠。
- 需求、設計以及代碼和測試需求之間的可跟蹤性非常有限。這導致維護和代碼修改工作非常耗時,并且無法準確預測時間和成本。
- 公司擁有幾名對公司的業務、遺留系統和數據庫非常了解的過程開發人員,但他們不具備使用現代編程語言所必需的面向對象技能。
- 公司缺乏用于測試發布準備情況的測試用例主集,并且缺陷跟蹤也不夠全面。缺陷的根源分析跟蹤非常隨意,沒有進行廣泛的文檔記錄。
對于 Mod Communications, Inc.,解決方案建議需要考慮的各種約束如下:
- 公司在技術方面擁有幾名非常了解業務方面、代碼結構和數據庫的團隊成員。然而,由于目前的應用程序維護和對增強功能的承諾,不能期待這些資源在轉換工作期間的大規??捎眯院蛥⑴c。
- 該公司的幾乎所有技術團隊成員在 COBOL 編程方面都非常優秀。然而,他們缺乏有關面向對象的方法和最新技術的知識。該公司希望保留大多數技術人員,因為他們非常了解該業務解決方案。該公司還因為善待員工而獲獎,據行業調查表明這是個工作的好地方。
- 該公司的代碼文檔非常有限。
該公司的應用程序組合分析提供了以下信息:
- 應用程序主要基于大型機。
- 20 個主要應用程序。
- 15 個應用程序有 7 年以上的歷史。
- 所有應用程序都隨著時間推移而進行了大量的自定義。
該公司一直使用 IBM Host Access Transformation Services (HATS) 來將某些應用程序從已有基于字符的屏幕界面轉換為 Web 用戶界面。這使該公司可以快速將現有的基于字符的屏幕界面轉換為網頁和表單,從而將 Web 通道用于其遺留應用程序。該公司應該通過創建基于最終用戶輸入、易用性、導航和上下文內容呈現的新用戶界面來對此進行改進。
解決方案建議
下一步是為客戶交付一組解決方案建議。
基于對信息的分析,為重要的 Mod Communications, Inc. 高層管理人員準備一個解決方案建議,以從資金和項目決策方面說明后續步驟。
核心建議是讓公司在保留其當前遺留應用程序組合的價值的同時,逐漸地遷移到可促進松散耦合的體系結構的新技術。一個建議是采用 Java Enterprise Edition (Java EE) 作為進行遺留系統轉換的合適應用程序技術。Java EE 方法使公司可以開發能夠提供出色的圖形和多通道用戶界面的應用程序,同時還為面向服務的體系結構做好定位。這導致對各種方法進行分析以實現 Java EE 環境。這些方法如下:
a) 替換:將諸如服務訂單管理、問題報告和管理及計費系統等當前核心應用程序替換為商業化現成(commercial off-the-shelf,COTS)應用程序。然后自定義和配置該應用程序和界面。這是實現轉換的快速方法,但它在客戶接受、對現有業務流程和功能的影響、組織變更和培訓需求方面引入了風險。
b) 重新編寫:使用 Java EE 方法重新編寫應用程序。優先重新編寫將經歷轉換的應用程序。對這些應用程序執行基于方法的完整軟件生命周期開發,包括需求分析、設計以及開發和測試。已知當前應用程序的數據庫層結構非常良好和高效。在可能的情況下,新組件可以重用數據庫層的功能。
c) 大規模轉換然后客戶化定制:這是選項 b) 的一種變化形式。在此情況下,將使用自動化的工具執行所有應用程序到 Java EE 組件的大規模轉換。然后修改所得到的組件以適合需求。
d) 漸進地轉換到目標平臺組件:使用基于 Java EE 的體系結構來構建過渡環境。從當前遺留系統中公開的“幕后”模塊將提供實現。漸進地在目標平臺上編寫代碼以取代對遺留模塊的依賴。
e) 使用第 4 代語言(4th Generation Language,4GL)方法漸進地轉換:在此情況下,將使用某種 4GL 語言來定義應用程序。使用工具將 4GL 結構自動轉換為 Jave EE 組件,然后將后者部署在目標平臺上。例如,此方法可以使用 IBM 企業生成語言(Enterprise Generation Language,EGL)來實現,并且很適合于非常精通諸如 COBOL 等程序語言的程序員,他們將不必學習諸如 Java 等面向對象的語言。
從諸如成本、工作量、時間和復雜性等方面分析上述建議,然后按照下面圖 1 所示的方式對這些建議進行歸類:每個參數都具有一個優先級名稱——“高 (H)”、“中 (M)”或“低 (L)”。
圖 1. 對各種備選解決方案方法建議的分析
下面是一些補充建議:
- 采用模型-視圖-控制器(Model-View-Controller,MVC)體系結構模式以確保體系結構的靈活性。使用此方法,數據(模型)和用戶界面(視圖)將彼此分離,以便對一個方面的更改不會影響另一個方面。控制器處理并響應用戶操作。
- 優先考慮要轉換的應用程序,以便在對業務具有最少中斷的情況下獲得遞增的業務好處。優先考慮影響客戶感受的應用程序,例如服務訂單管理、故障單管理和新服務的供應。這樣可以將重點充分集中在從客戶和業務用戶角度看來最重要的應用程序上。這樣可以幫助獲得客戶信任、采用、保留和改進的滿意度。
- 建立 IT 治理管理委員會,確保 IT 投資處于正軌,以在可接受的風險預測內產生預期的投資回報。該委員會應該監督技術活動、重要參與者之間的交流、標準化活動和體系結構審核。
- 采用方法驅動的步驟進行軟件開發。這會提供更好地規劃和管理各種轉換項目的任務、日程安排、預算的能力。這還有助于更好地管理風險,例如成本超支、時間和功能覆蓋率風險。IBM GS-Method 和 Rational® Unified Process (RUP) 就是此類方法的示例。
- 對于從需求到設計以至開發和測試的每個開發生命周期階段采用最新的工具。這可以實現更好的文檔、可跟蹤性和控制,并具體化方法驅動的步驟。IBM Rational 產品和工具組合具有滿足軟件開發生命周期和治理需求的豐富工具集。請參見參考資料部分以獲得指向更多信息的鏈接。
- 構建和主動管理服務模型:各種應用程序組件將是在其他應用程序中重用的直接候選組件。通過主動辨別跨部門邊界所需的服務,將來的開發和維護工作將會得益不少。這還可以推動功能的重用。
- 執行遺留資產的審核:這可以幫助從當前系統中獲得重要信息,例如業務規則。它還有助于了解業務功能和模塊化工作。一些現有的遺留代碼可以組件化,并公開為服務以供新系統使用,直到將遺留代碼替換為新組件。
- 對于中長期而言,應評估可在應用程序之間的消息交換、消息變換和轉換以及獨立服務查找方面,進一步促進整個組織中的面向服務的基礎設施軟件的采用。在這方面,IBM WebSphere 組合提供了若干個產品。請參見參考資料部分以獲得指向有關這些產品的網頁的鏈接。
- 評估規則引擎技術的采用,以在捕獲和使用業務規則方面引入效率。目前,該公司的代碼資產非常脆弱,因為在這些年來,代碼中已引入了各種對業務規則的更改。目前,業務規則與主代碼緊密耦合,使得在做出更改時必須小心謹慎,同時還增加了測試需求。
- 在初始項目中利用外部專家或顧問:這允許更好地集中于現代化工作,并為現有人員提供更多時間來跟上新技術的發展步伐。在現代化工作期間,完全使用現有人員也許無法應付過去,因為團隊成員將會忙于滿足當前承諾。此建議可以通過與服務提供商的一個或多個服務約定來實現。例如,IBM Global Services 就擁有這方面的各種解決方案。
提供一組在現代化期間優化內部操作的建議,以便為當前人員提供更多參與機會。這些建議包括:
- 減少軟件發布周期數量,同時將重點更改為僅集中于最關鍵的增強功能領域:這允許將資源集中于對客戶滿意度、保留和獲取非常關鍵的領域。
- 根據邏輯相關的領域對維護項目進行分組:這有助于提高開發人員的工作效率。
- 創建并使用一套全面的測試用例:在開發和維護周期中,會發生以下一種或多種情況:1) 更改現有的功能/數據結構,2) 引入新的功能/數據結構,3) 在完成項目 1 和/或 2 的同時確定并修復錯誤。由于應用程序具有如此多相互關聯的部分,必須以有組織的方式執行測試以實現全面的覆蓋率。在這方面,全面的測試套件可以提供好處。
- 評估所要采用的幫助臺工具:以便提高快速查找、分析和解決問題的能力。此類工具還可以通過分析問題趨勢,從而幫助確定問題正在增多的應用程序領域。用于處理問題的知識庫的更好文檔記錄和創建也是非常有益的成果。
請注意,這些建議會因情況而異,并且應該基于與某個情形有關的相關信息。上述案例研究只是一個用作指導原則的示例。
轉換規劃
基于所選的建議,為執行團隊草擬出詳細的轉換計劃。這包括短期(一至兩年)、中期(兩至三年)和長期(五年)的項目計劃。創建活動(項目)、活動的業務價值、持續時間、大致成本和資源需求的摘要。這有助于推動資金分配決策和成果。
轉換規劃期間的重要考慮事項之一涉及到硬件或遺留平臺的現代化。在這一點上,評估重用可能性也是最有利的。例如,客戶擁有一個 System z 系列中的 IBM 中端大型機系統。該系統的功能之一是能夠在運行 AIX® 和 WebSphere Application Server 的單獨分區上運行 Java 工作負載。該系統的此功能可用于實現重用,并且是確定投資需求時的一個重要考慮事項。請參見參考資料部分以獲得指向更多信息的鏈接。
結束語
本文提供了深入的見解,說明了如何為中小型企業的主要高層管理人員提供遺留系統轉換和現代化活動的建議和指導。本文介紹了如何通過執行數據收集、分析和建議步驟,并提供轉換規劃信息以支持資金分配決策,從而有條不紊地完成該任務。