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