一、OpenAdaptor背景
????? 德國的投資銀行,Dresdner Kleinwort Wassertein(DrKw),以 "openadaptor" 的名字公開了該軟件的源碼,被 DrKW 稱之為 "讓所有電子商務的異種系統無縫連接的一個最基本的部件。"DrKW 把源碼的發布的看作是 "加速投資銀行客戶之間的電子商務聯絡的一個重要一步。"
????? 根據 DrKW 公司的聲明,“opendadptor 允許快速、簡單地把免費代碼集成到其他的系統中,通過對網站的操作,使所有的供應鏈和內部系統整合成一個整體。”openadaptor 軟件原來是由 DrKW 內部開發的,據說從 1998 年開始,已成功應用于超過 40 個的項目。實際上,該軟件被用來配備 DrKW 銀行的全球交易系統。
????? Openadaptor 軟件早先是用 Java 寫的,支持很多金融和 IT 業的標準,包括了:XML(可擴展的標記語言)、JMS (Java消息服務),JDBC (Java數據庫連接),以及 RMI(遠程方式調用)等。它還有與第三方軟件包比如 Tibco 和 IBM 的 MQSeries 相互交換數據的接口界面。授權協議參考了 MIT 的 X license 的協議格式,該協議允許在任何開放源碼軟件或有版權的應用程序中自由免費的使用其源碼。
????? 為什么 DrKW 銀行會決定把 openadaptor 的源碼公開呢?在聲明中,DrKW 的 CIO,Al-Noor Ramji 談了一些做出這個決定背后的有意思的觀點:
????? "我們需要為我們的客戶降低做生意的成本,這可不是一個容易解決的問題,因此我們必須采取的一項重要的基本措施是加快我們的客戶的聯絡速度,甚至我們因此還要付出幫助我們的競爭對手的高昂代價。因為我們的客戶都是投資銀行的老客戶了,他們通常會選擇幾個服務商。讓客戶在網站上與他們選定的任何人打交道,將不只是增加市場的透明度和流動性,而且使所有的客戶降低了成本,增加了商業機會。我們在繼續努力鞏固我們的 "客戶技術員" 的角色,為雙方提供更多的商機 。openadaptor 允許所有的客戶積極地參加這個開放環境,沒有任何侵權的顧慮。"
????? DrKW 的常務董事 Conor Killeen 是這樣說的:"這只是 DrKW 在 2001 年中一系列關鍵技術發布的開始,要為全球的客戶扮演一個 "可依賴的顧問" 角色,在別人還只是在口頭上討論時就付諸實施以成為業界領導者是勢在必行的了。
二、OpenAdaptor簡介
??????現代企業需要將大量不同的系統連接在一起,使得它們之間可以進行信息交互。原有的典型處理方法是直接的“點對點”的數據傳輸,并自行完成數據的安全性、可靠性、一致性等處理。隨著系統的不斷增加,直接的定向連接和定制編程的情況會急劇增加,這最終會成為信息流動的瓶頸。
????? OpenAdaptor是一個基于Java/XML的軟件平臺,允許用少量的或非常規的編程進行快速地商業系統集成。它具有高擴展性并已經為JMS,LDAP,Mail,MQSeries,Oracle,Sybase,MSSQL Server和作為數據交換格式的XML構建接口組件。OpenAdaptor為開發人員提供了大量接口組件,通過Source、Pipe、Sink組件鏈的形式實現系統和系統間的連接,從而完成數據的交換。
Source 數據獲取對象,是一個接口,可以根據數據獲取來源不同,實現很多子類,比如:FileSource、JMSSource等。它本身并沒有定義任何方法,但是擴展了線程,所以它的核心方法應該就是線程的run方法。
Pipe?? 對source獲取的數據進行處理,比如過濾、重新組織等,比如:FilterPipe。最上層是一個抽象類,核心方法是processMessage()
Sink? 數據發布,將整合后的數據,根據配置文件,發布出去,比如:FileSink、JMSSink等。定義了一個接口,核心方法是processMessage()
Controller 整個消息傳遞的控制類,是一個線程,負責對上面所說的三個對象的調用,完成一次消息的傳遞,每一次消息的傳遞都會新建一個線程實例。定義了一個接口。
DataObject 傳遞消息數據的對象,定義了一個接口。
Message 對DataObject對象集合的封裝,用來傳遞消息。
三、OpenAdaptor鏈接
??????https://www.openadaptor.org/????????????????????????OpenAdaptor
??????http://visualadaptor.sourceforge.net/????????????????Eclipse Plugin for the OpenAdaptor framework