【正文】
第 4 章 FMDP 應用開發(fā)平臺構件的設計 21 第 4章 FMDP 應用開發(fā) 平臺 構件 的設計 FMDP 項目需求由來 和構件開發(fā)流程設計 計算機技術的發(fā)展極大地影響和促進了金融領域銀行業(yè)的發(fā)展,信息量呈現(xiàn)出幾何式的增長,特別是經(jīng)濟全球化的影響,銀行金融市場業(yè)務也大大增加了,以目前 某國有大型股份制銀行 來說,隨著業(yè)務需求量的增大,以及目前軟硬件技術的發(fā)展,原有的銀行應用開發(fā)平臺的面臨著巨大的挑戰(zhàn),所以技術的升級不可避免。 本章小結 本章主要 是對 CTP 平臺進行了一些分析與介紹,講述了 CTP 平臺的構成和 特點 , CTP 平臺是一個基于 JAVA 的輕量級構件化開發(fā)平臺,開發(fā)人員基于此可以進行相關構件的開發(fā)。 是通過 opStep 和服務實現(xiàn)的,其中 CTP 平臺的服務一般具有以下功能: 首先, 服務相當于普通的 JavaBean,將多個類似的功能進行封裝同時該服務提供的這些功能 也 必須通過相應的 opStep 被使用,即服務中的功能 不會 直接暴露 給 提供給用戶使用。 用戶界面層,主要是用戶對交易結果數(shù)據(jù)進行顯示 和操作 ,根據(jù)用戶 各自的需求 ,可以 通過 用不同的方式顯示,主要包括 JSP、 PDF、 EXCEL 等顯示方式。 邏輯構件層,主要完成一些業(yè)務流程的判斷,通過存儲過程和在 CTP 的基礎上設計實現(xiàn)的交易步驟( opStep)、交易流( opFlow)來實現(xiàn)。 如圖 為 CTP平臺個層次結構 的 圖。 構件包主要是針對整個系統(tǒng),是將一個完整的系統(tǒng)分解成一個個的子模塊 ,每個子模塊往往只對應一個功能模塊 。而且, CTP 系統(tǒng)有良好的擴張性,開發(fā)人員可以根據(jù)自身的要求開發(fā)所需的構件,同時還提供了一些常用的業(yè)務交易構件的模板,使之能夠較好的為應用系統(tǒng)開發(fā)業(yè)務構件,應用系統(tǒng)根據(jù)自身的業(yè)務特點,也可以定義出更多的業(yè)務模板構件,增加具體業(yè)務開發(fā)的效率和質量。對 的支持主要采用 AJAX 技術, 主要增加用戶界面的 UI 組件,提供更加友好的用戶界面,如:菜單、按鈕、帶查詢排序等功能的數(shù)據(jù)表格,并將在系統(tǒng)管理的 demo 中使用這些 UI 對象。 ( 6) 方便的開發(fā)環(huán)境。 ( 5) 參數(shù)化和構件化。 CTP 平臺的核心交易調(diào)度模塊是可以脫離容器運行的,但是在 BS 應用場景中, CTP 平臺仍然采用的是流行的三層體系結構,簡化了對客戶端的開發(fā)及維護 ,而且保證了新的應用開發(fā)時不會影響現(xiàn)有的后臺業(yè)務系統(tǒng)或數(shù)據(jù)庫 ,同時實現(xiàn)了與后臺的 DSR、 MQ、 Lotus、數(shù)浙江大學碩士學位論文 第 3 章 CTP 平臺框架分析 17 據(jù)庫等簡易連接。利用 JAVA 語言,真正的實現(xiàn)了 一次編程,到處運行 的宗旨。 CTP 平臺特性 CTP 是一個輕量級的開放平臺 ,采用 JAVA 技術進行平臺構建和實現(xiàn) ,所有的流程配置采用標準的 XML 語言方式 ,正符合了構件化開發(fā)要求 。 也 是參數(shù)化的系統(tǒng), 其中 系統(tǒng)的各項配置定義 可通過 XML 語言進行描述 聯(lián)系起來 。因此,為了在最大限度上方便應用開發(fā),減輕開發(fā)人員工作量和工作壓力,同時不喪 失系統(tǒng)的靈活性和可擴展性, CTP 平臺參考 SCA 等構件規(guī)范標準,在設計時遵循以下原則: ( 1) 平臺提供足夠多的通用構件可供二次開發(fā)使用 ( 2) 平臺盡量保重對特定交易實現(xiàn)的靈活性,并不限于一定模式 ( 3) 平臺具有一定的可擴展性,以應對需求變化 同時 CTP 平臺作為符合構件化開發(fā)思想的底層平臺框架,具有模塊化、服務化、數(shù)據(jù)標準化、易集成、良好的用戶體驗及 有好的業(yè)務定制等特點。國內(nèi)外在演化方面的研究中具有 一定 代表性的有 KCompo 框架元模型、 ArchStudio 開發(fā)運行環(huán)境、北京大學 PKUAS 系統(tǒng)以及南京大學面性服務的動態(tài)協(xié)同框架 等 等。 現(xiàn)在 面向構件 的開發(fā) 思想 ,是面向對象技術 的發(fā)展與 升華,是更高層次上抽象, 同時 實現(xiàn)了低耦合,高復用的特點 ,加大了軟件復用粒度 。這三大 軟件構件技術各有不同, 能夠在 在不同領域中 使用,都有一定的 代表性。 以至于 面向對象編程思想時至今日仍有重大影響。函數(shù) 是 通過參數(shù)來適應需求的變化。 至于在 FMDP 項目中,構件是通過不同的應用系統(tǒng)中識別和抽取出來,通過 CTP平臺進行構件化開,最終集成帶構件庫中去,通過這些實踐開發(fā),能夠從中獲取構件化開在實際銀行軟件項目中所起到的作用。總的來說有一點,構件庫是開發(fā)出來構件的集合,其實 FMDP 項目就是一個簡易構件庫的開發(fā),其模擬一個真實的銀行應用系統(tǒng),并以此為基礎,從其他各個不同的應用中識別和抽取具有一定公共特性的功能,設計開發(fā)形成構件,通過構件 庫的形勢展現(xiàn)出來,開發(fā)人員和用戶都可以從構件庫中取用相應的構件,進行使用或者二次開發(fā)。 構件平臺,簡單的來說就是構件技術的統(tǒng)稱,開發(fā)人員 使用 一些構件技術綜合在一起的構件平臺之上進行構件的開,通過規(guī)范化的標準開發(fā)構件,使其能夠滿足不同系統(tǒng)中的功能需求。 構件 還應該具有良好的客戶體驗的顯示。 構件應該具有可替換性。 構件應該易于擴展性。軟件構件能被獨立地部署和被第三方集成 [5]。 構件 和構件 特 點 構件, 構件思想早在 Ada 語言中 Package 機制中已經(jīng)有了相應的雛形 [17],一直到面向對象概念的提出與發(fā)展才逐漸嶄露頭角, 是軟件系統(tǒng)中經(jīng)過規(guī)范化 方法從實際存在系統(tǒng)中抽取或者重新開發(fā)的組件,能夠實現(xiàn)特定功能,通過標準的接口進行調(diào)用、集成。 以 SOA為基礎提出的 SCA服務組件框架提供了一套可以構建面向服務的應用系統(tǒng)的編程模型準則。 浙江大學碩士學位論文 第 2 章 構件化開發(fā)分析 9 圖 軟件開發(fā)歷史演變 [5] 此外, 面向服務的體系結構( ServiceOriented Architecture, SOA)是一個組件 的 模型,它將 各個系統(tǒng)中 應用程序 的不同功能單元( 通 稱為服務)通過這些服務之間定義良好的接口和 關系集合 起來。軟件構件的概念 早在1968 年 [11]就被人提及,但是由于某些因素的限制,沒有引起人們的關注。 本章小結 本章主要介紹了本文涉及的課題的背景,以現(xiàn)今的研究現(xiàn)狀及存在的問題,總起全文闡述了 課題主要研究內(nèi)容 ,以及介紹了本文各章節(jié)的主要內(nèi)容。 第五章 銀行應用開發(fā)平臺構件的實現(xiàn)。 CTP 平臺 是 某國有大型股份制銀行 內(nèi)部使用的開發(fā)框架, 是基于 MVC 模式,以及 JAVA 為基礎 的 構件技術 框架 平臺 。 論文 的 組織結構 本文共分為 6 個章節(jié),具體內(nèi)容安排如下 : 第一章 緒論,介紹了本文的課題研究的背景和一些相關的情況,由“軟件危機”和銀行軟件系統(tǒng)的特點,來引出構件化開發(fā)的必要性,同時介紹了有關于金融市場應用開發(fā)平臺的一些情況,說明了本文的主要研究內(nèi)容是構件化的開發(fā)應用,總領全文。 此外,由于基于構件開發(fā)的特點也導致了其開發(fā)過程中也會面臨著一系列的問題,例如接口統(tǒng)一、可替換性、復 用性 、接口擴展性 等等。 在 基于構件的軟件開發(fā)過程中,構件是軟件開發(fā)的基本單元 。 一般來說 構件具有高度抽象、可替換、可定制、可集成、可連接機制等諸多特點。在這種情況 的推動下下,國內(nèi)傳統(tǒng) 軟件開發(fā)方式已經(jīng)不能 夠 滿足實際 軟件開發(fā)生產(chǎn)率的 需求, 中國軟件產(chǎn)業(yè)的 構件化 道路前景很廣大,同時也是十分艱巨的道路 。 互聯(lián)網(wǎng) 信息技術的 發(fā)展對計算機應用系統(tǒng)的深刻影響,以及信息化 的 應用需求與軟件開發(fā) 的 方式之間的矛盾, 我國對構件化的發(fā)展投入了大量的力量,并取得了回報 。 同時在一定的影響范圍之內(nèi),產(chǎn)品的 分工越細致、專業(yè) 化 生產(chǎn)的程度越高, 且 總體生產(chǎn)效率就越高。 中國軟件行業(yè)構件化之路 近 幾十年 的發(fā)展以來,國內(nèi)的一些軟件企業(yè)一直 走著從項目、從系統(tǒng)集成、從行業(yè)應 用入手的 老 路子,很難形成很強的新軟件技術產(chǎn)品的研發(fā)能力,也 難以形成很大的企業(yè)規(guī)模。 基于構件的開發(fā)過程模型是一種范型 [3],它 可以 為軟件開發(fā)的一系列 的開發(fā)過程提供 模板。企業(yè)銀行系統(tǒng)的安全性是一 個核心特點,所有的系統(tǒng)設計都應該著眼于安全性考慮。銀行業(yè)每天有大量的交易數(shù)據(jù),要進行處理 大量數(shù)據(jù)的操作,面對如此多的數(shù)據(jù)量,就要有一個相對安全穩(wěn)定的系統(tǒng)進行支持。特別是銀行業(yè),每天都要面對著海量的數(shù)據(jù)信息,有一套完善的軟件信息管理系統(tǒng)是必不可少的環(huán)節(jié)。 所以, 軟件 行 業(yè) 也開始模仿制造業(yè)的開發(fā)模式,希望采用標準化零件的組裝方式來進行軟件項目的開發(fā),將一個完整的系統(tǒng)劃分成若干部分,采用統(tǒng)一的標準進行開發(fā),最后再集成、組裝 。 正是 由于“軟件危機”的來臨, 軟件行業(yè)也將面臨各種各樣的挑戰(zhàn)。 ( 4) 軟件成本在計算機系統(tǒng)的總成中所占的比例越來越高。由于軟件開發(fā)項目自身的特點,再加上許多 意外因素,導致費用超支、進度拖延等情況屢屢發(fā)生,有時候為了達到預定的目標,就有可能采取一些特別的措施來完成項目,浙江大學碩士學位論文 第 1 章 緒論 2 但是通常這樣做往往會損害了軟件產(chǎn)品的質量。 該 課題來源于 某國有大型股份制銀行 金融市場應用開發(fā)平臺項目 ( Financial Market Development Platform,FMDP) 。s daily life, whether political, military, economic, and cultural aspects are inseparable from the software, but because of puter hardware technology the rapid development of the efficiency of software development is increasingly able to format the rapid growth of demand. Acpanied by economic globalization and information technology development, and promoting the development of all walks of life, especially in the banking sector existing processes, products, service have undergone tremendous changes, reliance on software to a new level . With this trend, how it is more rapid and effective development of highquality banking software system, is the question facing the software industry. At present, the ponent of the development of thinking is one way to solve this problem. Core of the idea of ponent development is reuse through ponent development, bination, reanization, replacement, expansion and other methods, to adapt to business change, enhanced software systems scalability and maintainability of software systems so that the bank is more enough Better development. The main contents of this paper is based on the theory ponent of development, bined with a large stateowned jointstock banks of the software applications development project, through the actual software development projects, describes the software ponentbased development in the banking system development in the application process problem to ponentbased software engineering with development thinking to analyze problem, and in accordance with the use of ponentbased development, development method, ponent and other aspects of the plexs with the corresponding remendations, while prospects of further development of ponents work. Application development platform in the financial markets project FMDP pon