李 成
【摘要】在今天的網(wǎng)絡(luò)信息和經(jīng)濟一體化時代,全球企業(yè)正向著電子商務(wù)的運營模式轉(zhuǎn)變。企業(yè)內(nèi)部各經(jīng)營環(huán)節(jié)與外部連接的都非常緊密,甚至融為一體。這就迫切需要企業(yè)消除信息孤島,使各個系統(tǒng)應(yīng)用間既相互獨立又能有效協(xié)同工作。如何將不同的應(yīng)用集成到一個完整的企業(yè)級信息化環(huán)境中,并能夠?qū)崿F(xiàn)與其他企業(yè)間的集成,成為企業(yè)信息化過程中亟待解決的問題。企業(yè)應(yīng)用集成(Enterprise Application Integration,簡稱EAI)是解決了企業(yè)信息系統(tǒng)的集成而產(chǎn)生的。
【關(guān)鍵詞】EAI;Web Service;SOA;B2B;,A2A
1.前言
隨著社會的發(fā)展,企業(yè)內(nèi)部和企業(yè)之間的交互變的越來越頻繁,尤其是企業(yè)內(nèi)部的系統(tǒng)。一個大型企業(yè)會用到大小不一的多個系統(tǒng),他們可能是用不同的語言寫的,運行在不同的機器上,有不同的系統(tǒng)平臺,但是隨著企業(yè)的發(fā)展,他們之間開始需要有信息交互,那么他們就需要被集成起來,也是企業(yè)急需要解決的問題。
2.EAI技術(shù)概述
目前,實現(xiàn)EAI的技術(shù)標(biāo)準(zhǔn)有:COM+/DCOM、CORBA、JavaRMI、JMS、WebService、ESB和XML等。EAI技術(shù)發(fā)展經(jīng)過如下圖所示的各個階段

向面組件(EJB、DCOM):組件同組件特定的通信協(xié)議緊密耦合在一起,如圖1所示。
面向標(biāo)準(zhǔn)組件(Web Service):WS使用了標(biāo)準(zhǔn)的通信協(xié)議SOAP,解決了跨平臺問題,但對SOAP來說,還是WS所特有的一種協(xié)議,如圖1所示。
面向服務(wù)(SOA):SOA將組件同具體協(xié)議解耦,實現(xiàn)了服務(wù)的位置和傳輸協(xié)議的透明化,如圖2所示

3.EAI技術(shù)的選擇
以上就是實現(xiàn)EAI的一些技術(shù),針對企業(yè)不同的情況,采用合適的技術(shù)和成本,來解決企業(yè)系統(tǒng)互連。目前企業(yè)應(yīng)用集成主要是在兩個方面:(1)企業(yè)內(nèi)部集成(這里簡稱A2A),(2)企業(yè)之間的集成(這里簡稱B2B)。本文以這兩個方面描術(shù)企業(yè)應(yīng)用集成過程中的技術(shù)的選擇。
1)、A2A:企業(yè)內(nèi)部的集成。主要是在企業(yè)局域網(wǎng)內(nèi)部的應(yīng)用程序之間的集成,這一類集成需要考慮到了帶寬、和響應(yīng)速度以及企業(yè)內(nèi)部各系統(tǒng)是否采用相同的技術(shù)(如java、.net),不要只顧著使用新技術(shù),而忽略一些實際問題。很多公司在A2A的情況下使用了webservice,但是我認(rèn)為這是不恰當(dāng)?shù)?太重量級了,不合適企業(yè)內(nèi)部應(yīng)用之間的調(diào)用(特殊情況例外,比如兩個應(yīng)用使用不同語言開發(fā)等等)。 在這種情況下通常A2A可以使用COM+/DCOM、CORBA、JavaRMI、JMS來實現(xiàn),還有輕量級遠(yuǎn)程調(diào)用。本例以java為例,個人覺得如果都是構(gòu)建于java語言,那么使用jms+httpinvoke或者jms+Hessian比較好,這樣簡單。且兩個都是java的應(yīng)用使用xml作為通信的結(jié)構(gòu)會帶來不必要的復(fù)雜,而且會浪費大量的帶寬,也是一些大師推薦。
2)、B2B:企業(yè)之間的集成。這一些集成主要是企業(yè)之間的互連,跨越Internet網(wǎng),傳統(tǒng)方法,不能穿越企業(yè)防火墻,現(xiàn)在我們一般采用SOA的方式來集成,SOA是(service-oriented architecture)是面向服務(wù)的體系結(jié)構(gòu),是一類分布式系統(tǒng)的體系結(jié)構(gòu)。這類系統(tǒng)是將異構(gòu)平臺上應(yīng)用程序的不同功能部件(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和規(guī)范按松耦合方式整合在一起,即將多個現(xiàn)有的應(yīng)用軟件通過網(wǎng)絡(luò)將其整合成一個新系統(tǒng)。SOA有基于文本的消息傳遞和使用HTTP傳輸協(xié)議特點。這樣SOA可以很方便的穿越企業(yè)防火墻,實現(xiàn)異構(gòu)平臺上不同程序語言編寫程序的互連問題。Web Service是就現(xiàn)在而言最適合實現(xiàn)SOA的一些技術(shù)的集合。通過Web service,你的公司可以把關(guān)鍵的商務(wù)應(yīng)用暴露給指定的供應(yīng)商和客戶。用Web service來實現(xiàn)B2B集成的最大好處在于可以輕易實現(xiàn)互操作性。只要把你的商務(wù)邏輯暴露出來,成為Web service,你就可以讓任何指定的合作伙伴輕松的調(diào)用你的商務(wù)邏輯,而不管他們的系統(tǒng)在什么平臺上運行,使用的是什么開發(fā)語言。這樣就大大減少了花在B2B集成的上的時間和成本。這樣的低成本讓許多原本無法承受EDI的投資成本的中小企業(yè)也能實現(xiàn)B2B集成。當(dāng)然,Web service也不是萬能的,你不能到處濫用Web service。在有些情況下,Web service 會降低應(yīng)用程序的性能,而不會帶來任何好處。例如,一臺機器或一個局域網(wǎng)里面運行的同構(gòu)應(yīng)用程序就不應(yīng)該用Web service 進行通信
總結(jié):
企業(yè)應(yīng)集成問題是企業(yè)經(jīng)過一段時間信息化后普遍需要解決的問題。企業(yè)應(yīng)用集成不僅是企業(yè)面臨的一個技術(shù)問題,還是一個企業(yè)面臨的管理問題和組織問題,如果單純考慮企業(yè)應(yīng)用系統(tǒng)集成,很容易使企業(yè)步入”IT黑洞”
【參考文獻】
[1] 孫長俊,周曉峰,基于Web Services的企業(yè)應(yīng)用集成模型[J].計算機技術(shù)與發(fā)展,2006.
[2] LINTHICUM D S.Enterprise application integration. Reading,MA,USA:Addison-Wesley,1999
[3] ROBISON G. Key standards for utility enterprise application intergration(EAI) //Proceedings of the Distributech 2002 Conference , March ,2002 , Miami,FL,USA.
[4][美]Thomas Erl .SOA概念、技術(shù)與設(shè)計[M] 王滿紅,陳榮華譯注.北京:機械工業(yè)出版社,2006
[5][美]Dirk Krafzig、Karl Banke、Dirk Slama .Enterprise SOA 中文版——面向服務(wù)架構(gòu)的最佳實戰(zhàn)[M] 韓宏志譯注.北京:清華大學(xué)出版社,2006.
[6]周剛,朱清波,胡南軍,等.Web服務(wù)解決方案分析[J].計算機工程,2002,(6):47-4.