陳亞楠 卓 佳 王凌飛
提要在我國(guó)金融行業(yè)信息化發(fā)展中,銀行之間的競(jìng)爭(zhēng)促使銀行信息化的要求越來(lái)越高。近年來(lái),為提高自身競(jìng)爭(zhēng)力,各家銀行普遍實(shí)現(xiàn)了數(shù)據(jù)大集中的架構(gòu),信息系統(tǒng)已發(fā)展得非常完善和成熟。但是,為正確把握IT規(guī)劃和IT整合的實(shí)施進(jìn)程,提高系統(tǒng)競(jìng)爭(zhēng)力,使用SOA技術(shù)對(duì)系統(tǒng)進(jìn)行規(guī)劃和整合成為目前金融業(yè)信息化建設(shè)的重點(diǎn)。本文系統(tǒng)地探討了SOA架構(gòu),并闡述了如何在系統(tǒng)規(guī)劃和整合中應(yīng)用SOA技術(shù),同時(shí)提出了在SOA建設(shè)過(guò)程中需要注意的幾個(gè)問(wèn)題。
關(guān)鍵詞:SOA;系統(tǒng)整合;信息
中圖分類號(hào):F83文獻(xiàn)標(biāo)識(shí)碼:A
一、引言
在我國(guó)金融行業(yè)信息化發(fā)展中,銀行之間的競(jìng)爭(zhēng)促使銀行信息化的要求越來(lái)越高。近年來(lái),為提高自身競(jìng)爭(zhēng)力,各家銀行普遍實(shí)現(xiàn)了數(shù)據(jù)大集中的架構(gòu),建立數(shù)據(jù)中心,把全國(guó)所有用戶的信息集中存放在大型數(shù)據(jù)庫(kù)和服務(wù)器上,采用網(wǎng)絡(luò)連接營(yíng)業(yè)網(wǎng)點(diǎn)、ATM以及POS等,進(jìn)一步將各種應(yīng)用軟件集中在應(yīng)用層的服務(wù)器上,便于應(yīng)用軟件的整合和集中,隨著互聯(lián)網(wǎng)的發(fā)展,基本都推出了網(wǎng)上銀行和用戶認(rèn)證等安全措施??梢哉f(shuō),其自身的緊耦合信息系統(tǒng)已發(fā)展得非常完善和成熟。但是,國(guó)內(nèi)銀行在實(shí)施信息化建設(shè)的過(guò)程中還存在著不少的問(wèn)題。首先,各應(yīng)用系統(tǒng)偏重于柜面的負(fù)債、核算業(yè)務(wù)的處理,難以滿足個(gè)性化金融增值業(yè)務(wù)的需要;其次,缺乏對(duì)大量管理信息、客戶信息、產(chǎn)業(yè)信息的收集、儲(chǔ)存、挖掘、分析和利用,信息技術(shù)在金融企業(yè)管理領(lǐng)域的應(yīng)用層次較低;第三,各銀行之間的互聯(lián)互通問(wèn)題難以得到解決,許多銀行都已經(jīng)建立了自己的體系,由于機(jī)型、系統(tǒng)平臺(tái)、計(jì)算機(jī)接口以及數(shù)據(jù)標(biāo)準(zhǔn)的不統(tǒng)一,使得系統(tǒng)的整合和連接比較困難。
隨著業(yè)務(wù)和技術(shù)的飛速發(fā)展,用戶提出的需求日趨多樣,各銀行之間競(jìng)爭(zhēng)更為激烈,如何依托信息技術(shù),對(duì)現(xiàn)有系統(tǒng)改造和整合,以降低成本,提高銀行的競(jìng)爭(zhēng)力,這是各家銀行所面臨的一個(gè)重要問(wèn)題。在系統(tǒng)改造和整合中,一方面要增加各種軟件(如CRM、網(wǎng)上銀行、認(rèn)證中心)外,還需要整合和改造不同時(shí)代的新舊系統(tǒng)。SOA(面向服務(wù)的架構(gòu))為系統(tǒng)的整合和建設(shè)提供了新的解決方案和策略,為金融業(yè)的發(fā)展注入新的活力。
二、SOA概述
SOA是一類面向服務(wù)的分布式系統(tǒng)體系結(jié)構(gòu),是把構(gòu)件如何組成一個(gè)新系統(tǒng)的模型,它是一種實(shí)現(xiàn)方案和策略。它可以根據(jù)需求通過(guò)網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。
SOA的關(guān)鍵是“服務(wù)”的概念,將新舊系統(tǒng)中的不同功能單元(稱為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和規(guī)范按松耦合方式整合在一起,即將多個(gè)現(xiàn)有的應(yīng)用軟件通過(guò)網(wǎng)絡(luò)將其整合成一個(gè)新系統(tǒng),使得系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
在整個(gè)架構(gòu)中,被整合的應(yīng)用都是以松耦合的方式聯(lián)結(jié),松耦合系統(tǒng)的好處有兩點(diǎn):一是它的靈活性;二是當(dāng)組成整個(gè)應(yīng)用程序的每個(gè)服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)逐漸地發(fā)生改變時(shí),它能夠繼續(xù)存在。如需要增加新的業(yè)務(wù)功能,修改現(xiàn)有的軟件,整個(gè)系統(tǒng)無(wú)需進(jìn)行大規(guī)模變動(dòng)。
當(dāng)前,金融信息化的目標(biāo)就是降低成本和提高競(jìng)爭(zhēng)力,為此需要做二件事:首先要增添實(shí)現(xiàn)以客戶為中心的各種軟件,如用戶需求管理CRM、數(shù)據(jù)倉(cāng)庫(kù)、聯(lián)機(jī)分析處理OLAP、成本核算、網(wǎng)上銀行、各銀行之間的清算中心、各種信息安全措施等軟件;其次就要將老系統(tǒng)中將開(kāi)放的功能包裝服務(wù)模型的接口,并設(shè)計(jì)一批新的服務(wù)和新的業(yè)務(wù)過(guò)程,用企業(yè)服務(wù)總線將其整合起來(lái)。而SOA恰恰就是為此而生。
三、SOA的實(shí)施
要實(shí)現(xiàn)SOA架構(gòu):第一,要提供一套工具和環(huán)境,用于將各種服務(wù)整合在一起。按SOA的定義,只要是一種大家公認(rèn)的規(guī)定接口就行,早期的SOA曾采用CORBA方式來(lái)實(shí)現(xiàn)SOA,目前較多采用J2EE或.NET等標(biāo)準(zhǔn)。同時(shí),還包括TCP/IP、簡(jiǎn)單存取協(xié)議SOAP、Web Service描述語(yǔ)言WSDL、安全性協(xié)議UDDI等,有了這些標(biāo)準(zhǔn),SOA才被廣泛流傳和接受;第二,建設(shè)企業(yè)服務(wù)總線(ESB)。我們需要提供一批中間件來(lái)實(shí)現(xiàn)接口協(xié)議,把這批中間件組合成一個(gè)包,稱為企業(yè)服務(wù)總線(ESB)。國(guó)際上的著名公司都正在開(kāi)發(fā)和完善這個(gè)工具,目前國(guó)際和國(guó)內(nèi)一些公司已經(jīng)推出了ESB產(chǎn)品,開(kāi)始提供試用和完善,當(dāng)然目前也有一些free軟件可供大家試用;第三,做到松耦合。要提供一個(gè)注冊(cè)軟件,登記注冊(cè)被整合的每個(gè)服務(wù),當(dāng)要訪問(wèn)此服務(wù)時(shí)就先到注冊(cè)處查詢。一旦查到后就將服務(wù)和請(qǐng)求服務(wù)者綁定,然后調(diào)用。雖然這類間接引用要花費(fèi)一些資源,但能給使用方帶來(lái)極大方便。除此之外,有時(shí)還需要提供傳輸正確性保證、事務(wù)處理以及安全措施等質(zhì)量保證措施。
在系統(tǒng)整合過(guò)程中,舊系統(tǒng)保持不變,而是把舊系統(tǒng)中準(zhǔn)備開(kāi)放給新系統(tǒng)的那些功能,包裝成服務(wù)的模型提供出來(lái),做好接口就行。針對(duì)新系統(tǒng)中增加的業(yè)務(wù)過(guò)程,如果被整合的各服務(wù)還不能實(shí)現(xiàn)新業(yè)務(wù)過(guò)程的需求,那么在新系統(tǒng)中要擴(kuò)充一批服務(wù),組成金融行業(yè)專用構(gòu)件庫(kù),因此SOA所提供架構(gòu)可以長(zhǎng)期保持下去,可以不斷地?cái)U(kuò)充和更新。
四、SOA實(shí)施的主要問(wèn)題
在SOA實(shí)施過(guò)程中,經(jīng)??梢钥吹巾?xiàng)目效果變得越來(lái)越差。在SOA的使用中存在著隱患,我們很容易被這些錯(cuò)誤的概念或者做法誤導(dǎo)。下面是在SOA實(shí)施過(guò)程中常見(jiàn)的幾種問(wèn)題:
1、將SOA等同于傳統(tǒng)項(xiàng)目建設(shè)。在構(gòu)建面向服務(wù)的解決方案時(shí),要采用與構(gòu)建傳統(tǒng)分布式解決方案相同的構(gòu)建方式。SOA既不是CORBA+XML,也不是ASP.NET+WSE。同樣,面向服務(wù)既不是面向?qū)ο?也不是“足夠接近”面向?qū)ο蟆OA是基于面向服務(wù)的、與眾不同的架構(gòu)模型以及截然不同的設(shè)計(jì)模式。對(duì)于構(gòu)建自動(dòng)化邏輯——純粹的面向服務(wù),與SOA產(chǎn)業(yè)向全球規(guī)模發(fā)展保持一致——理解上述這些不同之處,是非常關(guān)鍵的。
2、缺乏標(biāo)準(zhǔn)化。由于涉及到多個(gè)系統(tǒng)的接口問(wèn)題,SOA在實(shí)施過(guò)程中必須創(chuàng)建并且嚴(yán)格執(zhí)行內(nèi)部設(shè)計(jì)標(biāo)準(zhǔn)。舉例說(shuō)明,如果一個(gè)項(xiàng)目采用構(gòu)建面向服務(wù)的解決方案,與其他項(xiàng)目不同,那么,該項(xiàng)目的解決方案的關(guān)鍵點(diǎn)將不再是與相關(guān)的應(yīng)用程序保持一致,它可能是需要互操作或者分享某些不可預(yù)知的服務(wù)。缺乏標(biāo)準(zhǔn)化可能引發(fā)很多問(wèn)題,包括不匹配的數(shù)據(jù)表示、含有不規(guī)則接口特性和語(yǔ)義的服務(wù)契約,以及使用非互補(bǔ)的Web服務(wù)擴(kuò)展(或者是用不同方式實(shí)現(xiàn)的擴(kuò)展)。
3、忽略XML基礎(chǔ)架構(gòu)。在SOA架構(gòu)中,所有的事情都開(kāi)始于XML。依據(jù)XML標(biāo)準(zhǔn),許多補(bǔ)充的標(biāo)準(zhǔn)都已經(jīng)逐漸發(fā)展起來(lái),并且形成了實(shí)際的數(shù)據(jù)表示架構(gòu)。xml奠定了許多Web服務(wù)規(guī)則的形成基礎(chǔ),并且促進(jìn)著SOA的發(fā)展。在實(shí)施過(guò)程中,我們更多地關(guān)注于數(shù)據(jù)在服務(wù)之間是如何傳輸?shù)?而經(jīng)常忽略數(shù)據(jù)構(gòu)造和驗(yàn)證的方式。但對(duì)于SOA而言,這一層是基礎(chǔ),如果它存在著弱點(diǎn),所有基于這一層的解決方案都會(huì)受到不利影響。