国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

以ESB 與EAI 相結(jié)合的系統(tǒng)集成實現(xiàn)

2015-03-07 09:40陳波
電腦知識與技術(shù) 2015年34期
關(guān)鍵詞:中間件系統(tǒng)集成集中式

陳波

摘要:本文重點闡述以ESB與EAI相結(jié)合的基礎(chǔ)上,提出一種適合中小企事業(yè)單位系統(tǒng)集成方案,即滿足系統(tǒng)集成適應(yīng)性、可靠性、松耦合及可擴展性,又可以滿足低成本的需求。

關(guān)鍵詞:企業(yè)服務(wù)總線(ESB);企業(yè)應(yīng)用整合(EAI);JAVA消息服務(wù)(JMS) ;服務(wù);主題;發(fā)布/訂閱

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)34-0184-02

Abstract:This paper focuses on the combination of EAI and ESB, and puts forward a kind of system integration scheme for small and medium enterprises, which is to meet the needs of system integration, reliability, loose coupling and scalability, and can meet the needs of low cost.

Key words:Enterprise service bus (ESB) ;enterprise application integration (EAI) ;JAVA message service (JMS);Service; theme ;publish / subscribe

1 總體設(shè)計

1.1 集中式

EAI:Enterprise Application Integration,即企業(yè)應(yīng)用整合,本文所說的EAI,特指EAI概念提出時,所指的集中式應(yīng)用整合方案。隨著企業(yè)應(yīng)用集成需求復(fù)雜度增長,和集成經(jīng)驗的總結(jié),出現(xiàn)一些集中式管理集成中間件模式,如消息中樞、應(yīng)用集成中心,這種模式簡化應(yīng)用之間日趨復(fù)雜的連接拓撲關(guān)系,提供異構(gòu)數(shù)據(jù)和功能訪問方式之間的轉(zhuǎn)換。

不過,這個時期系統(tǒng)集成還是沒有統(tǒng)一的標準,各廠商根據(jù)各自的業(yè)務(wù)集成需求提出不同的EAI解決方案,因此出現(xiàn)了各種各樣的中間件平臺,通過集中式方式集成通訊。當各個廠家之間需要集成,就必然出現(xiàn)各個獨立中間件之間溝通集成,存在異構(gòu)環(huán)境、拓撲環(huán)境增加復(fù)雜度、協(xié)議標準等問題。

雖然這種集成方式,極大地簡化了拓撲鏈接關(guān)系,集成度高,消息統(tǒng)一轉(zhuǎn)換,但如同HUB模式一樣,帶來了其他問題,如性能低下,因為每個系統(tǒng)之間的交互都需要中間件服務(wù)來中轉(zhuǎn),當需要連接交互的集成系統(tǒng)越來越多,中間件服務(wù)壓力就越大,當達到極限必然會癱瘓,而且擴展、集群都非常麻煩。

1.2 服務(wù)總線

EAI集成發(fā)展到至今,已經(jīng)具有更為廣義的內(nèi)涵,它已經(jīng)被擴展到業(yè)務(wù)整合的范疇,將應(yīng)用集成進一步拓展到業(yè)務(wù)流程整合的級別,不僅實現(xiàn)異構(gòu)系統(tǒng)的互聯(lián)互通、消息傳輸、轉(zhuǎn)換,此時被集成的對象被明確定義為服務(wù),而不是傳統(tǒng)EAI中各種各樣的中間件平臺,這樣就極大簡化了在集成異構(gòu)性上的考慮。

在此基礎(chǔ)上,提出ESB集成方案,全稱為Enterprise Service Bus,即企業(yè)服務(wù)總線,它是一定基于標準的。它是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。

ESB提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。其出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價的解決方案,同時它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運作,實現(xiàn)了不同服務(wù)之間的通信與整合。對于服務(wù)的系統(tǒng)使用者,不用關(guān)心服務(wù)的提供者是基于什么開發(fā)技術(shù)、在哪個位置、什么硬件平臺提供的服務(wù),這個服務(wù)使用的過程完全是松散和透明的。服務(wù)能夠良好的重用,快速的組裝或編排出新的業(yè)務(wù)應(yīng)用、業(yè)務(wù)流程。

1.2集成方案

從本文的設(shè)計框圖中可以看出,本方案中主體集成思路采用的是服務(wù)總線ESB方式,各個系統(tǒng)通過JMS發(fā)布各自的服務(wù)主題到ESB服務(wù)總線上,再通過JMS訂閱ESB服務(wù)總線上自己需要的服務(wù)主題,無需關(guān)心提供服務(wù)的系統(tǒng)位置,也無需關(guān)心發(fā)布服務(wù)的接收系統(tǒng)位置,完全各自獨立,松散透明,具有集成良好的松耦合、良好的重用性。而且現(xiàn)在流行的JMS組件都提供了大多數(shù)主流開發(fā)語言的接口支持,完全可以滿足各個系統(tǒng)的接入使用。

同時,考慮到企事業(yè)單位系統(tǒng)集成時,或多或少存在著一些難題,導(dǎo)致部分舊系統(tǒng)無法接入ESB總線,如不少舊系統(tǒng)廠家已不存在、或者需要收取高額的二次開發(fā)費用,此時本設(shè)計方案中,增加一個中間件服務(wù),提供集中式的EAI集成方案來協(xié)助ESB服務(wù)總線集成,所以不能接入ESB總線的舊系統(tǒng),由中間件服務(wù)負責統(tǒng)一接入,利用舊系統(tǒng)已有的TCP/IP、WEBSERVICE等接口,或者直接數(shù)據(jù)庫直連獲取數(shù)據(jù),進行分析轉(zhuǎn)換后,發(fā)布達到ESB總線上,提供服務(wù),即不破壞整個系統(tǒng)的ESB服務(wù)總線集成模式,又保持一定的獨立完整性,簡化了集成拓撲關(guān)系。

1.3 JMS簡介

JMS,即Java消息服務(wù)(Java Message Service)應(yīng)用程序接口是一個Java平臺中關(guān)于面向消息中間件(MOM)的API,用于在兩個應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進行異步通信。Java消息服務(wù)是一個與具體平臺無關(guān)的API,絕大多數(shù)MOM提供商都對JMS提供支持。

根據(jù)有效負載的類型來劃分,可以將消息分為幾種類型,它們分別攜帶:簡單文本 (TextMessage)、可序列化的對象 (ObjectMessage)、屬性集合 (MapMessage)、字節(jié)流 (BytesMessage)、原始值流 (StreamMessage),還有無有效負載的消息 (Message)。

1.4 ActiveMQ

ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS Provider實現(xiàn),盡管JMS規(guī)范出臺已經(jīng)是很久的事情了,但是JMS在當今的J2EE應(yīng)用中間仍然扮演著特殊的地位。

多種語言和協(xié)議編寫客戶端。語言:Java,C,C++,C#,Ruby,Perl,Python,PHP。應(yīng)用協(xié)議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP , 支持多種傳送協(xié)議:in-VM,TCP,SSL,NIO,UDP,Jgroups,JXTA。

2 ESB建設(shè)方案

采用ActiveMQ開源JMS組件服務(wù),作為ESB服務(wù)總線樞紐,各個系統(tǒng)對于服務(wù)的發(fā)布與訂閱,采用JMS主題發(fā)布/訂閱(PUB/SUB)模式來進行。

發(fā)布服務(wù):所有系統(tǒng)的信息數(shù)據(jù)全部以JMS主題的方式發(fā)布到服務(wù)總線上,為各個系統(tǒng)提供服務(wù),無需關(guān)心服務(wù)使用者以及目的地位置。

訂閱服務(wù):各個系統(tǒng)使用JMS訂閱各自關(guān)心的信息主題服務(wù),無需關(guān)心信息數(shù)據(jù)服務(wù)的來源,保證系統(tǒng)集成的松耦合、易擴展、可集群的優(yōu)勢。

傳輸協(xié)議:局域網(wǎng)應(yīng)用,建議TCP。

傳輸消息類型:

? 信息數(shù)據(jù):相對于現(xiàn)在的信息系統(tǒng)很多都是使用B/S架構(gòu),建議信息組裝成JOSN格式,形成文本,最終使用TextMessage進行傳輸,即能滿足各個異構(gòu)系統(tǒng)的通用解析,也方便WEB系統(tǒng)的機器閱讀。

? 請求/應(yīng)答類消息:建議采用MapMessage或StreamMessage格式,約定好消息格式即可,如CMD(INT) + RESULT(INT) + DATA (STRING),數(shù)據(jù)類型采用通用數(shù)據(jù)類型,如int、string等,保證異構(gòu)系統(tǒng)的解析方便。

3 EAI建設(shè)方案

ESB建設(shè)方案雖然有很好的擴展性、松耦合性、利于集群等諸多優(yōu)點,但由于ESB的建設(shè)方案還比較新,企事業(yè)單位很多已存在的業(yè)務(wù)系統(tǒng),都不存在ESB所采用的常規(guī)JMS接口,需要系統(tǒng)的原廠家進行二次開發(fā),但在現(xiàn)實項目中,或多或少會存在一定的難題,導(dǎo)致無法接入ESB總線。

遇到此類問題,一般建議建設(shè)一個中間件服務(wù),采用集中式集成方案EAI,所有的無法接入ESB總線的系統(tǒng),全部由中間件服務(wù)來進行接口通訊,可采用多種通訊方案,根據(jù)系統(tǒng)已有接口WEBSERVICE、Tcp/IP等,或直接數(shù)據(jù)庫直連方式等,進行信息數(shù)據(jù)的溝通,最終再由中間件服務(wù)通過JMS接口發(fā)布到ESB服務(wù)總線上,供所有系統(tǒng)訂閱使用。

這樣即解決了以上部分廠家系統(tǒng)無法接入集成的問題,又保證了數(shù)據(jù)共享的松耦合性,讓集成平臺專注于業(yè)務(wù)處理。

中間件服務(wù)的多任務(wù)調(diào)度建議采用Quartz,Quartz是一個完全由java編寫的開源作業(yè)調(diào)度框架,Quartz對任務(wù)調(diào)度的領(lǐng)域問題進行了高度的抽象,提出了調(diào)度器、任務(wù)和觸發(fā)器這3個核心的概念,提供了Job調(diào)度能力,它能滿足典型的企業(yè)需求,如可伸縮性、高可靠性滿足。

Quartz可以與spring集成,配置非常方便,如以下代碼:

${task.requesttime} 30000

class=”org.springframework.scheduling.quartz.JobDetailBean”>

com.commserver.schedule.SignalQuartzJob

10

4 結(jié)束語

通過對系統(tǒng)集成方案的發(fā)展史分析,以及當前企事業(yè)單位集成應(yīng)用的實際情況和難題,結(jié)合當前的流行框架及開源技術(shù),在保證系統(tǒng)集成的松耦合、易擴展、穩(wěn)定可靠的特性基礎(chǔ)上,介紹了一個具有貼近集成實際需求環(huán)境、造價低的系統(tǒng)集成方案組合,及開源技術(shù)使用。為現(xiàn)今企事業(yè)單位的系統(tǒng)集成,提供一個通用性、實用性、可擴展、易用性高、造價低的解決方案。

參考文獻:

[1] 曾文英,趙躍龍,齊德昱. ESB原理、構(gòu)架、實現(xiàn)及應(yīng)用[J].計算機工程與應(yīng)用,2008(25).

[2] 包小明,吳曉,張海輝,等. 一種企業(yè)服務(wù)總線的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2008(3).

[3] 蔡昭權(quán). 基于ESB的異構(gòu)系統(tǒng)集成實現(xiàn)[J]. 計算機應(yīng)用,2008(2).

猜你喜歡
中間件系統(tǒng)集成集中式
加氫站與調(diào)壓站能源供應(yīng)系統(tǒng)集成技術(shù)及應(yīng)用
光伏:分布式新增裝機規(guī)模首次超越集中式
RFID中間件技術(shù)及其應(yīng)用研究
基于VanConnect中間件的設(shè)計與開發(fā)
工業(yè)企業(yè)系統(tǒng)集成技術(shù) 系統(tǒng)集成技術(shù)與信息化集成系統(tǒng)(下)
組串式、集中式逆變器的評估選定淺析
“系統(tǒng)集成”式的改革
接觸網(wǎng)隔離開關(guān)集中式控制方案研究
光伏集中式逆變器與組串式逆變器
中間件在高速公路領(lǐng)域的應(yīng)用