金剛波
【摘要】本文介紹了目前面向服務架構(SOA)的特點,構造了一種基于SOA的企業(yè)服務總線的應用模型,SOA主要是為了定義一個體系方法,以此來增加在IT系統(tǒng)整合的伸縮性.通過業(yè)務周期的各個條件,可以用一定的時間迅速提升體系和IT系統(tǒng)整合的伸縮性。主要包括:加快業(yè)務實現(xiàn)新產品或者新流程,或改變現(xiàn)有甚至以新的方式能組合它們.減少IT系統(tǒng)實現(xiàn)以及所有權的花費,減少系統(tǒng)之間整合。
【關鍵詞】SOA;企業(yè)服務總線
一、引言
面向服務的體系架構(Service Oriented Architecture,SOA)是由Gartner在1996年提出的,但是由于其特性,當時一直沒被引起重視。隨著互聯(lián)網技術的日益成熟和應用日益普及,SOA的概念又重新被人們提到,并開始大力研究。當前,SOA是軟件領域最炙手可熱的一個概念。SOA是面向軟件工程的,SOA就是一組服務的有機集合;從軟件和業(yè)務功能兩方面的觀點看,服務就是定義良好的軟件組件,它不依賴于任何調用它的應用程序的上下文或狀態(tài),而且強調開放性、標準化、即插即用,實現(xiàn)組件之間以及組件與平臺之間的松散耦合。
二、SOA參考架構
說到SOA技術標準的應用,需要從業(yè)務角度了解一下SOA參考架構。不同廠商及組織定義的SOA參考架構,基本上大同小異,參照相關的國際標準,充分考慮國內的實際業(yè)務需求,提出了一個SOA參考架構,SOA參考架構本身,體現(xiàn)了松散耦合特性,它結合了傳統(tǒng)技術和Web服務技術,考慮了各種應用場景,可靈活地分拆組合使用。服務總線,作為服務之間的協(xié)調中介,可將組織中的所有服務如適配器服務、信息服務、安全服務、業(yè)務服務等,集中管理起來,暴露服務接口,并提供服務查找、內容路由、服務質量保障等功能,它在SOA參考架構中起著核心中樞的作用;流程服務,用來將組織中的服務,進行編排組合,以滿足業(yè)務流程的需要,同時,也能夠封裝形成更大粒度的業(yè)務服務。能不能體現(xiàn)業(yè)務敏捷性及滿足用戶復雜的業(yè)務流程需要,流程服務起著關鍵的作用;頂層的交互服務,是直接面向用戶的一層,能夠為用戶提供友好的交互界面及門戶集成的功能
三、企業(yè)服務總線的研究
ESB(企業(yè)服務總線)定義通常如下:它是基于中間件技術實現(xiàn)并支持SOA的一組基礎架構功能,它主要實現(xiàn)消息的傳輸、轉換和路由,它是連接企業(yè)各種紛繁復雜應用的骨干神經系統(tǒng)。將連接到ESB上的不同的應用程序定義為不同組件(或稱為服務),服務之間的接口是采用中立的方式進行定義的,它獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。
(一)企業(yè)服務總線的功能
企業(yè)服務總線的功能可以簡單概括為三點:通信功能:提供位置透明性的路由和尋址服務;控制服務尋址和命名的管理功能;至少一種形式的消息傳遞范型(例如,請求/響應、發(fā)布/訂閱等等)。集成功能:支持服務提供的多種集成方式,比如Java 2連接器、Web服務、異步通信、適配器等等。服務交互功能:一個開放且與實現(xiàn)無關的服務消息傳遞與接口模型,它應該將應用程序代碼從路由服務和傳輸協(xié)議中分離出來,并允許替代服務的實現(xiàn)。當然,在許多甚至是大多數情形中往往需要其他的功能,并且這種需要變得越來越常見。主要包括:安全性、服務質量和服務級別、消息處理、管理和自治和基礎架構智能等功能。
(二)企業(yè)服務總線的特點
企業(yè)服務總線ESB是一種基于標準的、保護投資的軟件平臺產品。ESB將分屬于不同所有者的應用系統(tǒng)所提供的功能抽象到服務級別,使系統(tǒng)的互聯(lián)不再糾纏于接口細節(jié)的描述。ESB具有以下的特點:可擴展的、基于標準的互連技術:ESB包含了基于標準的消息系統(tǒng),使企業(yè)內部以及外部系統(tǒng)之間可以很容易地通過異步或同步交換信息。ESB通過Web服務、J2EE、.NET和其它標準提供更強的系統(tǒng)互連功能。靈活的、基于服務的應用組合:基于面向服務的架構,ESB應用模型允許復雜的分布式應用,包括跨越多個應用程序、系統(tǒng)和防火墻的集成解決方案,由事先開發(fā)和測試好的服務靈活組合而成,通過業(yè)務流程編排簡化服務間的耦合,為系統(tǒng)提供了易擴展性,適應了業(yè)務的多變性。
(三)企業(yè)服務總線與SOA的關系
面向服務的體系結構是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構建在各種這樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互。ESB支持這些服務交互功能,并通過提供集成的通信、消息傳遞以及事件基礎架構來支持這些功能。因此,它將當今正在使用的主要企業(yè)集成模式組合成一個實體。ESB為SOA提供與企業(yè)需要保持一致的基礎架構,從而提供合適的服務級別和可管理性、以及異構環(huán)境中的操作。ESB就是在SOA架構中實現(xiàn)服務間智能化集成與管理的中介。
四、總結
隨著SOA在中國進一步發(fā)展,面向服務架構這一課題最近已經是研究方向的一個熱點。如何說明SOA使企業(yè)受益,或是通過SOA這層架構,如何讓企業(yè)更好的整合其內部的IT部門,使之間的跨平臺,跨部門,跨領域變的可操作性。SOA旨在將單個應用程序功能彼此分開,以便這些功能可以單獨用作單個的應用程序功能或“組件”。
參考文獻:
[1]黃兆勤,倪志剛,王銘孜.SOA權威指南:通過BEA Aqualogic Service Bus實現(xiàn)[M].電子工業(yè)出版社,2008.1
[2]Josuttis,N.M.SOA實踐[M].東南大學出版社,2008.3