紅帽JBoss SOA 平臺是用于集成應用程序、服務和數據的一種更簡單、更快速、更靈活的方式。在2013年的紅帽峰會上,來自紅帽公司的專家為我們介紹了JBoss SOA 平臺 6的功能特點與體系結構。
JBoss SOA平臺 6 概覽
FuseSource作為開源ESB的領袖,憑借Apache開發者社區提供的強有力的支持,占據了市場的半壁江山,可以說是JBoss ESB產品的最大競爭對手。而對于紅帽來說,對付競爭對手最好的辦法也許是收購。特別有意思的是,紅帽還特別針對FuseSource指定了兩個階段的整合計劃。第一階段,重塑FuseSource企業產品Fuse ESB Enterprise和Fuse MQ Enterprise到JBoss產品組合中。在這一階段中,難免存在FuseSource與JBoss客戶交叉銷售的處境。第二階段,整合Camel和Active MQ等關鍵技術,加快與SwitchYard和Overlord等JBoss社區的技術融合,從而增強了紅帽公司的旗艦SOA平臺的功能。于是傳說中的JBoss SOA Platform 6就這樣應運而生了,如圖所示。
JBoss SOA平臺的核心組件--SwitchYard
正所謂長江后浪推前浪,紅帽JBoss ESB成為了歷史,取而代之的是一個輕量級的服務交付框架--SwitchYard,它能實現完整的開發、發布和管理面向服務應用程序的全生命周期的功能。
實際上關于SwitchYard的概念,紅帽給出的定義是,SwitchYard依然是一個ESB,但它區別與傳統ESB的標志是對服務組件屏蔽運行時的細節。這樣圍繞SOA服務生命周期的核心內容是業務層,包括服務的定義,測試,管理(比如服務契約,策略,配置,組合)等等。
SwitchYard亮點之一是提供了基于服務組件架構方法(SCA)的可視化模型,也就是說,企業架構師和應用工程師可以通過圖形用戶界面創建應用程序的可視性模型,從而有效加速項目開發和集成。
SwitchYard支持Camel線路、BPMN 2、Drools、其它消息工具、業務流程管理等各種工具建立SOA應用程序,同時企業架構師和應用工程師可以使用SwitchYard進行可視化開發。
接下來,我們梳理一下SwitchYard的主要特點:
Bean Services via CDI:SwitchYard框架充分集成了Java EE6 與 CDI的功能特性。開發者只需要對一個Java對象標注@Service,即可成為一個服務。這些服務Beans會被運行時JBoss EAP自動注冊,而針對其它服務的引用可作為CDI Bean,通過標注@Inject注入。如此一來,很容易就可以通過CDI實現企業服務往JSP表現層的注入。
Integrated Workflow:SwitchYard內置jBPM 5 與 BPMN 2實現業務流程定義與工作流集成。SwitchYard采用契約式服務調用,可有效解耦服務與實現細節。
Declarative Transformation:聲明式編程一直是SOA實現數據轉換的目標。SwitchYard可自動注冊與執行用戶自定義的數據轉換格式,包括Smooks, Java, XSLT, JSON等。
Decision Services with Drools:SwitchYard利用內置Drools組件將各種業務規則封裝成決策服務(deceision service)。
Integration with Apache Camel:SwitchYard將集成的Camel組件作為SwitchYard服務的網關綁定(gateway bindings)。
Development Made Easy: SwitchYard 還提供一整套Forge插件,可快速開發Maven應用。
Testing Made Easy:SwitchYard支持一邊開發,一邊進行開發測試,徹底結束以往的以SOA開發周期的黑盒測試。
SwitchYard的核心組件--Camel
Camel是Apache基金會下的一個開源項目,它是一個基于規則路由和處理的引擎,提供企業集成模式的Java對象的實現。Camel通過API或稱為陳述式的Java領域特定語言(DSL)來配置路由和處理的規則。其核心的思想就是從一個from源頭得到數據,通過processor處理,再發到一個to目的地。這里的from和to也許是FTP文件,MQ隊列,HTTP請求/響應,web service等。
JBoss SOA運行時--EAP 6.1
JBoss EAP在JBoss AS的基礎上,添加了幾項關鍵性技術,主要體現在組件配置、消息控件、集群穩定性三方面。在組件配置方面,JBoss EAP為客戶提供了針對關鍵業務生產環境的最佳出廠配置,企業用戶在生產環境中部署應用時,不用再了解太多JBoss的底層細節;在消息控件方面,JBoss EAP集成了高性能、安全、穩定的JMS消息控件--JBoss Messaging,是SOA平臺實現其消息適配轉發的基礎;在集群穩定性方面,JBoss EAP是經過紅帽正規集成測試和壓力測試流程的軟件產品,每個發行版本在出廠前都經過了至少40個節點組成的局域網集群測試。
總之,紅帽公司憑借自身優秀的JBoss SOA平臺技術,通過不斷吸取開源社區的知識養分而變得越來越強大,企業可以使用現有的、現代的、新興的集成方法,單獨或結合使用開源組件,為整合項目啟用最大的靈活性,更加有效地集成應用程序和服務、處理業務事件和自動化業務流程,在免除供應商鎖定困擾的同時,顯著削減了總擁有成本 (TCO)。