企業(yè)應(yīng)用系統(tǒng)間的整合問題伴隨著企業(yè)經(jīng)濟(jì)的不斷發(fā)展和信息技術(shù)的快速進(jìn)步遇到了不小的困難,這就迫切需要企業(yè)引進(jìn)一種新的技術(shù),來實(shí)現(xiàn)企業(yè)應(yīng)用間的整合。在這樣的背景之下,SOA思想開始被引進(jìn)企業(yè)應(yīng)用整合當(dāng)中。
困境一:應(yīng)用系統(tǒng)間不兼容
伴隨著信息科技和互聯(lián)網(wǎng)的發(fā)展,很多有一定經(jīng)濟(jì)實(shí)力的企業(yè)根據(jù)業(yè)務(wù)的需要,開發(fā)部署了許多不同的應(yīng)用系統(tǒng)。出于投資、技術(shù)和應(yīng)用領(lǐng)域的考慮,這些應(yīng)用系統(tǒng)一般出自不同廠商所提供的產(chǎn)品。而每個應(yīng)用都有其自己特有的基礎(chǔ)架構(gòu),這些不同的應(yīng)用在開發(fā)語言、部署平臺、通信協(xié)議、對外交換數(shù)據(jù)的格式都存在著極大的不同,并且這些應(yīng)用系統(tǒng)之間很少進(jìn)行通信,造成每個系統(tǒng)都是一個信息孤島。同時,每個應(yīng)用系統(tǒng)在建設(shè)初期,也很少去考慮以前系統(tǒng)的功能與數(shù)據(jù)的重新利用。這樣造成的后果就是企業(yè)的信息冗余,維護(hù)起來十分麻煩;并且許多功能重復(fù)開發(fā)嚴(yán)重,造成企業(yè)的資源浪費(fèi)。然而,這些企業(yè)并不能一夜之間就將他們的那些孤立程序全部放棄或替換,因?yàn)樗鼈兌际且恍╆P(guān)鍵業(yè)務(wù),而且在當(dāng)前的商業(yè)環(huán)境下,重新開發(fā)他們的整個信息系統(tǒng)常常是不合算的。
困境二:業(yè)務(wù)流程變更、新技術(shù)引進(jìn)與原有系統(tǒng)的矛盾
我們知道,企業(yè)為了發(fā)展的實(shí)際需要,經(jīng)常會變更自身的業(yè)務(wù)流程,但是傳統(tǒng)的應(yīng)用系統(tǒng)代碼都是固定的,缺少變更的靈活性,這就導(dǎo)致了原有的系統(tǒng)無法適應(yīng)最新業(yè)務(wù)員流程的需要,這勢必會給企業(yè)應(yīng)用整合帶來一定的阻礙。再加上很多企業(yè)為了新業(yè)務(wù)的拓展和最新企業(yè)運(yùn)營的需要,會不時引進(jìn)各種新的應(yīng)用和系統(tǒng)。而這些新方案是基于最新的體系架構(gòu),他們與原有舊系統(tǒng)的體系架構(gòu)有著很大的不同。如何有效地解決這些問題,成功實(shí)施企業(yè)應(yīng)用的整體集成,是每一個企業(yè)必須解決的問題。
傳統(tǒng)的企業(yè)應(yīng)用整合
傳統(tǒng)的企業(yè)應(yīng)用整合通常是采取建立系統(tǒng)間接口,然后實(shí)現(xiàn)系統(tǒng)對接,或者采用現(xiàn)在主流的網(wǎng)絡(luò)模式,采用ESB(Enterprise Service Bus,企業(yè)服務(wù)總線)工具、消息中間件等進(jìn)行系統(tǒng)的集成。這兩種模式雖然在一定程度解決了企業(yè)內(nèi)部系統(tǒng)的集成,但依舊面臨許多問題。對于點(diǎn)對點(diǎn)集成模式,企業(yè)的應(yīng)用越多,這種邏輯關(guān)系就會成級數(shù)上漲。在實(shí)施過程中,就會出現(xiàn)投入比過高、實(shí)施周期過長的問題。同時,系統(tǒng)接口之間必須遵循同樣的API(ApplicationProgramming Interface,應(yīng)用程序編程接口)約束。當(dāng)其中一個實(shí)體對象的代碼有了更改,那么訪問該對象的代碼也必須做出相應(yīng)更改,從而約束了企業(yè)敏捷服務(wù)和自由擴(kuò)充的實(shí)現(xiàn)。
對于基于服務(wù)總線的集成模式而言,ESB本質(zhì)只是作為一種由企業(yè)自身來維護(hù)的工具,它提供了一種總線(BUS)結(jié)構(gòu)來調(diào)和各系統(tǒng)接口間的協(xié)議、數(shù)據(jù)格式等差異。然而它并沒有將各系統(tǒng)架構(gòu)服務(wù)化并合理的構(gòu)建作為服務(wù)對象,企業(yè)的整體系統(tǒng)架構(gòu)也就不是面向服務(wù)的,對客戶服務(wù)需求的變化則難以做出敏捷反應(yīng)。
基于SOA架構(gòu)的企業(yè)應(yīng)用整合的產(chǎn)生
在這樣的背景之下, 眾多學(xué)者開始致力于面向服務(wù)架構(gòu)SOA(Service-Oriented Architecture)的研究,并且致使逐步成為IT行業(yè)的焦點(diǎn),SOA本質(zhì)是一種系統(tǒng)架構(gòu)的設(shè)計(jì)思想,SOA可以代表一種系統(tǒng)模型,其中的自動化邏輯可分解為不同的邏輯單元,這些單元可以組成一個大的業(yè)務(wù)自動化邏輯片段,也可以對這些單元進(jìn)行獨(dú)立分布式部署。在SOA內(nèi)部,這些邏輯單元就是所謂的服務(wù)。每個服務(wù)都可以封裝為一個業(yè)務(wù)流程的單個步驟或包含一系列步驟的子過程,服務(wù)甚至可以封裝整個處理邏輯。綜上所述,SOA能夠建立業(yè)務(wù)邏輯與技術(shù)的抽象,將業(yè)務(wù)流程的邏輯從應(yīng)用中釋放,然后集中到業(yè)務(wù)流程管理器,形成一個業(yè)務(wù)流程集成層。從而可以對業(yè)務(wù)流程進(jìn)行建模、監(jiān)控和優(yōu)化,減少不必要的流程開銷,提高中小型企業(yè)信息化的效率。目前SOA的實(shí)現(xiàn)技術(shù)有Web Service、COM、CORBA等,由于Web Service具有更高的可靠性、可擴(kuò)展性以及開放性,因此大多數(shù)實(shí)現(xiàn)的技術(shù)選用Web Service方式。
基于SOA的應(yīng)用整合框架基于SOA的集成模型,將不同系統(tǒng)中的應(yīng)用功能通過服務(wù)之間定義良好的接口和規(guī)范契約聯(lián)系起來,ESB作為服務(wù)提供者和服務(wù)請求者之間的消息橋梁,對消息驅(qū)動和服務(wù)進(jìn)行靈活的管理,使各應(yīng)用系統(tǒng)的請求和應(yīng)答在集成中能得到快速響應(yīng)。本文設(shè)計(jì)的基于SOA的集成模型框架在邏輯上分為四層:數(shù)據(jù)集成層、服務(wù)層、業(yè)務(wù)層、表達(dá)層。
該企業(yè)應(yīng)用整合框架的核心是對業(yè)務(wù)流程的管理以及實(shí)現(xiàn)系統(tǒng)之間數(shù)據(jù)的交換。通過建立基于UDDI的服務(wù)管理中心,以及基于業(yè)務(wù)流程管理引擎,利用消息中間件技術(shù),實(shí)現(xiàn)一個松耦合、可擴(kuò)展的集成服務(wù)平臺。并對基礎(chǔ)服務(wù)進(jìn)行封裝,實(shí)現(xiàn)基于SOA的服務(wù)應(yīng)用集成。圖1是基于SOA的企業(yè)應(yīng)用集成框架示意圖。
各層的具體描述如下:
圖1 基于SOA的企業(yè)應(yīng)用整合框架模型
1、表達(dá)層
表達(dá)層提供應(yīng)用接口,使業(yè)務(wù)流程和服務(wù)以開放的形式暴露給用戶,提供給用戶單一的入口,根據(jù)用戶提供的參數(shù)返回所需的信息結(jié)果,并為用戶提供統(tǒng)一的用戶交互服務(wù),包括單點(diǎn)登錄、權(quán)限控制和個性化服務(wù)等。其中,企業(yè)信息門戶終端界面是客戶端的用戶界面,集成用戶訪問的全部應(yīng)用程序和服務(wù),是用戶訪問集成系統(tǒng)的入口。
2、業(yè)務(wù)層
在業(yè)務(wù)層,業(yè)務(wù)邏輯從服務(wù)注冊中心查找并調(diào)用相關(guān)的服務(wù),然后進(jìn)行業(yè)務(wù)流程編排,形成一個業(yè)務(wù)流程,并定義業(yè)務(wù)流程的相關(guān)信息。當(dāng)業(yè)務(wù)邏輯發(fā)生變化時,僅僅調(diào)整業(yè)務(wù)流程的編排,調(diào)用相關(guān)的服務(wù)即可,這可以使企業(yè)靈活,快捷地適應(yīng)市場變化,也充分體現(xiàn)出服務(wù)的重要性。
3、服務(wù)層
服務(wù)層主要包括企業(yè)服務(wù)總線、服務(wù)發(fā)布工具、服務(wù)選擇器等。企業(yè)服務(wù)總線是整個應(yīng)用系統(tǒng)的核心。ESB總線集成了消息機(jī)制和諸如日志、安全、審計(jì)等服務(wù),還提供服務(wù)注冊以及服務(wù)網(wǎng)的存儲,通過BPEL(Business Process Execution Language,業(yè)務(wù)流程執(zhí)行語言)描述將服務(wù)網(wǎng)中服務(wù)的關(guān)系部署到服務(wù)器并實(shí)現(xiàn)。通過ESB總線,不同應(yīng)用系統(tǒng)之間可以形成松耦合的體系架構(gòu),實(shí)現(xiàn)信息的交換、路由、分發(fā)、流程定義等功能。該企業(yè)應(yīng)用整合框架中的ESB總線,克服了傳統(tǒng)技術(shù)的缺陷,能夠?qū)Ω鞣N技術(shù)和應(yīng)用系統(tǒng)提供支持,具有很強(qiáng)的靈活性和可擴(kuò)展性。這種模式有助于減少應(yīng)用接口的數(shù)量和復(fù)雜性,從而降低IT維護(hù)和更改的成本,讓企業(yè)能夠以更簡單、更快速、更安全的方式來使用服務(wù)。其中SOAP路由器可實(shí)現(xiàn)SOAP消息的傳遞。Web服務(wù)器分析HTTP頭信息找到SOAP路由器的名稱,然后將請求消息傳遞到指定的SOAP路由器。SOAP路由器分析HTTP頭找出某個Web Services適配器的位置,將該請求傳遞到所請求的適配器,適配器激活應(yīng)用并將結(jié)果返回給適配器以后打包成SOAP消息,返回給SOAP路由器,SOAP消息再返回到Web服務(wù)器,客戶最終得到包含執(zhí)行結(jié)果的SOAP消息。
ESB提供了一個服務(wù)注冊中心,ESB上的各種異構(gòu)服務(wù)可以通過服務(wù)發(fā)布工具注冊到該中心上,注冊中心存儲著服務(wù)的描述文件,以便為用戶和其他應(yīng)用系統(tǒng)提供服務(wù),發(fā)現(xiàn)和查找服務(wù)選擇器基于一系列QoS(Quality of Service,服務(wù)質(zhì)量)的規(guī)則集,它可以依據(jù)規(guī)則在服務(wù)注冊中心查找具體服務(wù),查找的結(jié)果是返回服務(wù)的綁定地址,這是一種動態(tài)地調(diào)用服務(wù)。
4、集成層
主要是提供相應(yīng)的數(shù)據(jù)接口和企業(yè)應(yīng)用接口服務(wù),集成各個應(yīng)用系統(tǒng)和數(shù)據(jù)存儲庫。對企業(yè)內(nèi)部各種EIS系統(tǒng)進(jìn)行Web服務(wù)封裝,為應(yīng)用集成系統(tǒng)提供各類Web服務(wù)接口。Web服務(wù)封裝用于將各種企業(yè)應(yīng)用轉(zhuǎn)換成Web服務(wù)的方式進(jìn)行發(fā)布和調(diào)用;Web服務(wù)適配器主要處理Web服務(wù)的綁定調(diào)用,同時它還是一個Web服務(wù)的WSDL(Web服務(wù)描述語言)發(fā)布者,將Web服務(wù)封裝層提供的WSDL注冊到企業(yè)的UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)注冊中心。
總之,SOA是未來IT技術(shù)發(fā)展的焦點(diǎn),也為企業(yè)應(yīng)用的整合提供了一個很好的解決方案,但是現(xiàn)在還有很多方面不太成熟,需要眾多學(xué)者去研究探討。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。