王子光 王子明
(1.中國人民保險集團股份有限公司,北京 100084;2.中國科學(xué)院計算機網(wǎng)絡(luò)信息中心,北京 100190)
基于WEB 企業(yè)信息系統(tǒng),通常采用B/S 架構(gòu),很多信息系統(tǒng)開發(fā)之初主要為了實現(xiàn)相應(yīng)的業(yè)務(wù)功能計算機化, 在實施這些系統(tǒng)的早期階段并沒有考慮到不同系統(tǒng)之間的數(shù)據(jù)交換和協(xié)同工作。 在開發(fā)新系統(tǒng)時,通常徹底更換掉舊的遺留系統(tǒng),新系統(tǒng)的功能必須與已有的系統(tǒng)、數(shù)據(jù)源相整合;即使是建設(shè)全新的系統(tǒng),也會遇到各類異構(gòu)平臺的技術(shù)集成等問題。 通常,WEB 信息系統(tǒng)架構(gòu)可分為數(shù)據(jù)層、業(yè)務(wù)層、表示層3 個層級。 WEB 信息系統(tǒng)的集成按照上述層次劃分, 可分別通過數(shù)據(jù)集成、 服務(wù)集成、頁面集成3 種技術(shù)實現(xiàn)多個應(yīng)用系統(tǒng)間的信息集成。
某銀行公司需要開發(fā)一套綜合服務(wù)平臺系統(tǒng), 向基層銀行工作人員提供方便快捷的業(yè)務(wù)查詢及統(tǒng)計分析功能。 該系統(tǒng)基于B/S 架構(gòu), 用戶通過瀏覽器訪問系統(tǒng),可以實時查看到業(yè)務(wù)最新進展及相應(yīng)的統(tǒng)計分析報表。 該系統(tǒng)在設(shè)計時定位于一個綜合服務(wù)平臺, 需要與銀行內(nèi)多個應(yīng)用系統(tǒng)進行信息交互, 考慮通過數(shù)據(jù)集成技術(shù)實現(xiàn)系統(tǒng)間的數(shù)據(jù)同步;一些通用功能,比如貸款試算等,已經(jīng)在信貸管理系統(tǒng)中實現(xiàn), 為避免重復(fù)開發(fā)帶來的時間和人力的浪費, 考慮將信貸管理系統(tǒng)中的貸款試算功能通過服務(wù)集成技術(shù)實現(xiàn)業(yè)務(wù)功能的重用;另外,該銀行已部署了自己的統(tǒng)計分析平臺系統(tǒng),運行較為穩(wěn)定,可以實現(xiàn)多維度報表的展現(xiàn)及數(shù)據(jù)查詢分析功能, 考慮通過頁面集成技術(shù)將報表查詢界面嵌入到新系統(tǒng)中, 實現(xiàn)業(yè)務(wù)查詢及統(tǒng)計分析功能, 實際開發(fā)中需要注意兩個系統(tǒng)界面風(fēng)格的統(tǒng)一。
基于WEB 的企業(yè)信息系統(tǒng), 通常采用B/S 架構(gòu),系統(tǒng)從下到上一般分為數(shù)據(jù)層、業(yè)務(wù)層和表示層3 層。 針對這種傳統(tǒng)分層模式,我們可以在兩個系統(tǒng)A 和B 之間,根據(jù)層次結(jié)構(gòu)和集成深度,分別使用數(shù)據(jù)集成、服務(wù)集成及頁面集成技術(shù)達到兩個系統(tǒng)間的信息集成。 數(shù)據(jù)集成主要將兩個系統(tǒng)間的結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù), 以邏輯或物理方式實現(xiàn)數(shù)據(jù)集中共享; 服務(wù)集成主要以分散業(yè)務(wù)功能的跨系統(tǒng)調(diào)用為方式,實現(xiàn)業(yè)務(wù)邏輯的組合;頁面集成主要以系統(tǒng)間用戶界面的無縫訪問為方式, 實現(xiàn)功能調(diào)用及頁面整合。 整個集成框架如下圖1 所示:
圖1 WEB 信息系統(tǒng)分層集成方式
綜合服務(wù)平臺系統(tǒng)需要保存一套與核心業(yè)務(wù)系統(tǒng)相同的代碼表來實現(xiàn)本地查詢功能,銀行機構(gòu)代碼、用戶賬戶信息等代碼表數(shù)據(jù)需要定期通過同步的方式, 將數(shù)據(jù)插入到綜合服務(wù)平臺系統(tǒng)數(shù)據(jù)庫中。 由于兩個系統(tǒng)都使用ORACLE 數(shù)據(jù)庫,對于這類數(shù)據(jù),核心業(yè)務(wù)系統(tǒng)需提供數(shù)據(jù)庫只讀權(quán)限用戶, 在綜合服務(wù)平臺系統(tǒng)數(shù)據(jù)庫中建立與核心業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫的DBLink。 DBLink(Database Link)數(shù)據(jù)庫鏈接顧名思義就是數(shù)據(jù)庫的鏈接,就像電話線一樣,是一個通道,當(dāng)我們要跨本地數(shù)據(jù)庫,訪問另外一個數(shù)據(jù)庫表中的數(shù)據(jù)時, 本地數(shù)據(jù)庫中就必須要創(chuàng)建遠程數(shù)據(jù)庫的DBLink, 通過DBLink 本地數(shù)據(jù)庫可以像訪問本地數(shù)據(jù)庫一樣訪問遠程數(shù)據(jù)庫表中的數(shù)據(jù)。 最后由應(yīng)用程序使用QUARTZ 組件晚間定時執(zhí)行數(shù)據(jù)同步任務(wù)。
需要注意的是,處于數(shù)據(jù)安全考慮,核心業(yè)務(wù)系統(tǒng)只能提供只讀權(quán)限用戶并限制可訪問的數(shù)據(jù)庫表。
另外,對于大數(shù)據(jù)量的數(shù)據(jù)同步與加工,可采用專用的ETL 工具來實現(xiàn);對于異構(gòu)數(shù)據(jù)源的數(shù)據(jù)同步,可通過應(yīng)用程序?qū)?shù)據(jù)轉(zhuǎn)換為XML 進行交互[2]。
將信貸管理系統(tǒng)中的貸款試算等通用功能以服務(wù)的方式提供給綜合服務(wù)平臺系統(tǒng), 接口使用標(biāo)準(zhǔn)的WebService 方式進行集成。 對于實時性要求不太高的,也可采用異步方式,比如JMS 來實現(xiàn)。
WebService 是使用一個標(biāo)準(zhǔn)的輸出接口來定義代碼提供的功能, 以便讓外界可以通過這個標(biāo)準(zhǔn)的輸出接口來調(diào)用,而所謂的標(biāo)準(zhǔn)輸出接口就是WSDL(Web Services Description Language),WSDL 是一個XML 組成的文件,描述了實現(xiàn)程序?qū)ν馓峁┖瘮?shù)的原型, 客戶端可以通過WSDL 來調(diào)用實現(xiàn)程序提供的服務(wù)代碼。
由于Web 服務(wù)使用基于XML 的消息處理作為基本的數(shù)據(jù)通信方式,從而消除了使用不同組件模型、操作系統(tǒng)和編程語言的系統(tǒng)之間存在的差異, 使異類系統(tǒng)能夠作為單個計算網(wǎng)絡(luò)協(xié)同運行。
為在綜合服務(wù)平臺系統(tǒng)中實現(xiàn)業(yè)務(wù)查詢及統(tǒng)計分析, 考慮通過頁面集成技術(shù)將統(tǒng)計分析平臺系統(tǒng)的報表查詢界面嵌入到新系統(tǒng)中。 在實現(xiàn)頁面集成之前,需要實現(xiàn)與統(tǒng)計分析平臺系統(tǒng)間的單點登陸, 減少用戶再次輸入用戶名、密碼,提升用戶體驗。 實現(xiàn)單點登陸的方法很多,在本系統(tǒng)開發(fā)中采用用戶映射表方式,在新系統(tǒng)創(chuàng)建用戶時, 先初始化該用戶對應(yīng)的統(tǒng)計分析平臺系統(tǒng)的用戶名以及密碼密文,形成兩個系統(tǒng)用戶映射關(guān)系,以后該用戶在統(tǒng)計分析平臺系統(tǒng)修改用戶名和密碼時, 將會通過服務(wù)方式通知新系統(tǒng)更新。 另外,在統(tǒng)計分析平臺系統(tǒng)數(shù)據(jù)庫中還需要設(shè)計維護一張集成頁面編碼表, 頁面集成時,新系統(tǒng)通過POST 方式將登陸信息提交給統(tǒng)計分析平臺系統(tǒng)驗證,驗證通過后,根據(jù)傳遞過去的編碼信息跳轉(zhuǎn)到相應(yīng)的集成頁面。
由于在設(shè)計開發(fā)新的WEB 信息系統(tǒng)過程中受到項目時間、人員和成本的限制,利用已有資源進行系統(tǒng)集成已經(jīng)成為一種非常普遍的需求,本文通過使用數(shù)據(jù)集成、服務(wù)集成以及頁面集成三種技術(shù)較好完成了上述某銀行綜合服務(wù)平臺系統(tǒng)的開發(fā), 取得了良好的效果, 對其他WEB 信息系統(tǒng)集成具有一定的借鑒意義。
[1]王慧斌, 王建穎. 信息系統(tǒng)集成與融合技術(shù)及其應(yīng)用[M].國防工業(yè)出版社,2006.
[2]馬應(yīng)章.企業(yè)MIS 建設(shè)的信息工程與系統(tǒng)集成[M].湖南大學(xué)出版社,1995.