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