天天看點

Mule ESB 3.3與CloudHub

mulesoft最近釋出了企業服務總線(esb)産品mule esb 3.3。在新版本中,除了應用程式內建之外,mule esb還擁有了資料內建功能;進而為開發者提供了一個面向本地或雲端應用的內建解決方案。

mule esb 3.3提供了內建本地應用、saas和定制軟體的套件;這些功能都可以在新的mule studio中找到。mule esb 3.3有兩個分支:企業版和開源社群版。mule esb 3.3企業版包含了一系列相關元件,比如datamapper, cloudhub和cloud connectors的mule studio。

muel esb 3.3的特性還包括:

記憶體内資料表(data-grid)

mule表達式語言(mule expression language或mel),這種語言可用于編寫業務邏輯

mule企業版管理控制台支援外部資料庫(postgresql和oracle)

完全支援ws-security,包括web service安全協定saml2

支援java 7

infoq通路了mulesoft的cto兼創始人ross mason和mule的首席架構師daniel feist,向他們了解了mule esb 3.3的新特性和産品的路線圖。

infoq:mule esb 3.3的目标是什麼?

ross mason:在該版本中我們有3個目标: 我們的總體目标是簡化內建工作。在這個版本中,我們的重點是向開發者提供一種完整的內建解決方案,無論是面向本地應用還是雲端應用。我們在一年半之前就釋出了mulesoft的雲端産品cloudhub。但是,這次新版本的釋出是我們第一次完全整合了mule studio、mule esb、 cloud hub、cloud connectors和mule devkit,并且向開發者和使用者提供更好的使用者體驗。 我們完善了開源版mule的運作時(run-time),進而使它可以更好地處理xml;同時,我們也完善了mule studio,開發者可以使用它進行異常管理和自定義業務邏輯開發。 我們意識到企業中間件的整合趨勢。是以,我們使mule esb 3.3同時擁有了應用程式內建和資料內建功能。 mule esb 3.3包括了以下元件: 包含了datamapper的mule studio cloudhub mule esb enterprise manage console cloud connectors mule devkit

infoq:能否介紹一下mule esb 3.3所提供的應用程式內建和資料內建功能?

ross:mule esb 3.3提供了最好的應用程式和資料內建功能。mule esb 3.3在rest、 web service、消息、檔案傳輸和資料庫這些應用程式內建标準的基礎上擴充出了100多種針對企業、saas、社交網絡和移動應用的內建擴充卡。在mule esb 3.3中,這些特性也運用到了資料內建層面。mule的高性能seda內建運作時環境可以提取每個應用程式的中繼資料并且進行圖形化的資料轉換。

infoq:社群版和企業版mule esb 3.3的差別是什麼?

ross:社群版包含了mule esb 3.3的主要核心功能以及免費的開發工具;而企業版則具有更高性能,高可靠性并且是可管理的。以下是一些企業版獨有的功能: mule管理控制台(包括了遠端服務、部署管理、管理和監控、性能分析和調優等功能) 叢集可以不依賴于應用伺服器,僅依靠記憶體内資料表(data grid)就可以完成叢集的配置 業務事件通知提供了分布式系統的業務事件追蹤能力 流程分析器:一個可以顯示mule esb所處理的資料的實時的圖形化工具 圖形化的data mapper 其他擴充卡,比如jdbc、wmq、 ftp或者sap connector 自恢複的連接配接 應用程式倉庫

infoq:能否詳細解釋一下mule esb 3.3對java 7的支援?

daniel: mule esb 3.3的運作時(run-time)在java 7上進行了完整的測試。因而最終使用者可以使用java 7的新特性并且提高性能。mule自身并沒有使用java 7的新特性。但是,隻要有可能,我們就想嘗試nio.2檔案傳輸通道和try-with-resource,也對fork/join并發架構很感興趣。

infoq:另外一個新特性是mule表達式語言(mule expression language或mel)。它是一種領域專用語言(dsl)嗎?能否介紹一下它的特性?

daniel:以mule表達式語言(mule expression language或mel)和其他成熟的表達式語言為基礎,我們建構了領域專用語言(dsl)的特性。這意味着在mule esb中,表達式不僅僅是一種易用的語言而且是一種非常有用的語言。我們以mvel為基礎,這是一種非常成熟而且易于擴充的表達式語言。drools團隊對mvel贊賞有加。我們在mvel基礎上建構的領域專用語言(dsl)能夠通路mule esb的所有運作時上下文,包括伺服器、應用程式、消息負載和工作流參數;同時還能夠解析内聯的xpath表達式和正規表達式。為了確定開發效率,我們把這些特性設計得非常易于擴充:開發者可以非常友善地導入和重用函數。

infoq: mule esb 3.3還支援ws-security和用于web service安全的saml2協定。是否還有其他方面的安全特性?比如認證、授權、資料加密或者消息安全方面的。

daniel:mule esb有一個内建的認證和授權功能;這個功能可以利用各種通用技術來完成工作,比如http basic/digest、 ntlm、ldap、openid、x.509 certs、cas 3.0、saml 1/2和jaas等。mule esb的雲端擴充卡還支援oauth 1.0和2.0。開發者還可以使用spring secruity來完成授權方面的功能。資料加密方面,mule esb支援jdk内建的資料加密功能或者使用其他的安全協定,比如ssl、 https或者tls。

infoq:mule esb 3.3是否包含監控功能?

daniel: 社群版本提供了基于jmx的統計和監控應用程式、結點、工作流的功能。 企業版的管理控制台是監控功能的核心;通過管理控制台,開發或者運維團隊可以完成部署和監控mule esb的所有工作。管理控制台提供了應用程式管理,審查、性能診斷、流程分析、錯誤預警和報表等功能。

infoq:在ipaas (integration platform as a service)方面,創新的趨勢是什麼?

ross:目前,越來越多的paas方案正在取代本地資料中心系統。未來雲端的應用程式會更加依賴于雲端平台和雲端服務。随着開源api、saas應用和手持互聯裝置的快速增長,開發者所需的技能也有所變化。現在開發應用程式更像是把許多api整合在一起。未來運作應用程式的裝置可能是電腦、可能是手持裝置。未來應用程式可能需要使用各種各樣的結構化的或非結構化的資料源。我們的産品正是幫助開發者應對各種各樣不同的api、資料格式和使用者需求。ipaas恰恰就是為這些目的而生的。我們相信ipaas會變得更加流行。

infoq:mule esb和cloudhub的未來路線圖是什麼?

ross: mule:繼續關注api管理和倉儲化的應用程式/資料內建。 mule studio:中繼資料驅動模組化和圖形化ide。 connectors:我們時刻都在開發出新的擴充卡。在短時間内,我們計劃釋出針對google的 calendar、contacts、spreadsheets和tasks的擴充卡以及針對微軟dynamics和sugar crm擴充卡。 cloudhub:我們在接下來幾個月内釋出一些新的管理和監控功能。其中之一就是業務事件通知功能:使用者可以使用這個功能監控自定義的業務資料。另外一個就是消息回顧機制:使用者可以使用這個功能管理同步。

infoq: 感謝ross和daniel寶貴的時間接受采訪。