OpenHandX-River 1.0
ESB企業服務總線產品
2012-10-8
作者:彭明華
openhandx@foxmail.com
本文檔中的任何部分都不得以任何手段任何形式進行復制與傳播
目錄
1 前言
2 組件
3 主要特性
4 ESB現實意義
5 代理模式
6 點對點模式
7 異步消息服務
8 完善簡潔的服務、用戶、權限管理
9 支持ESB服務集群,負載均衡
10 服務監控
11 OpenHandX所有項目介紹
1 前言
OpenHandx-River是一個OpenHandX-Unreal Web Service標準的ESB(Enterprise Service Bus)企業服務總線產品。ESB本身是構筑企業系統的必要元素,改變了傳統的軟件架構,可以提供比傳統中間件產品更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協調運作,實現了不同服務之間的通信與整合。OpenHandx-River提供了一種開放的、基于Unreal的 OpenService,通過簡單的服務注冊,來完成粗粒度應用(服務)和其他組件之間的互操作,夠滿足大型異構企業環境的集成需求。OpenHandx-River以一種無縫的非侵入方式提供企業全新的服務接口,并能夠在部署環境中支持任何標準。更重要的是,充當“緩沖器”的River(負責在諸多服務之間轉換業務邏輯和數據格式)與服務邏輯相分離, 從而使得不同的應用程序可以同時使用同一服務,不用在應用程序或者數據發生變化時,改動服務代碼邏輯。
OpenHandx-River是將所有基于OpenHandX-Unreal開發項目的Web Service(或相同標準的Web Service)集中起來,統一包裝、統一管理、統一入口構成企業服務總線,是打造數據服務為中心企業架構的重要組件。River提供了代理、點對點兩種ESB服務模式,同時滿足安全和高速訪問的需求。在消息傳遞上River具備發送消息的功能,解決系統間異步的消息和數據傳遞。此外OpenHandx-River也是OpenHandx-Real和Unreal框架的最佳實現。
2 組件
組件名稱 |
說明 |
open-river1.0.jar |
River ESB核心包,提供river代理、點對點兩種服務模式,消息傳遞的功能,并具備集群、監控的能力 |
index.htm |
登錄主界面 |
clusterchart.htm、clustermonitor.js 、config.js、frame.js、group.js、grouprela.js、login.js、marketchart.htm、marketmonitor.js、marketservice.js、marketservicerela.js、messagechart.htm、messagemonitor.js、messagename.js、messagenamerela.js、rootuser.js、store.js、user.js、userrela.js |
River ESB服務注冊、用戶管理及服務運行監測界面 |
3 主要特性
l 提供代理、點對點兩種ESB服務模式
l 異步的消息和數據傳遞功能
l 支持ESB服務集群,負載均衡
l 支持服務調用出錯自動重試
l 完善簡潔的服務、用戶、權限管理
l 提供集群方式的服務調用監控和內存監控的功能
4 ESB現實意義
SOA(Service-Oriented Architecture)服務導向架構把企業系統的元素分解或者打包成一個個面向服務的模塊,供外界調用。這種做法解決了企業各個跨系統間的調用、系統間的功能整合、增強了所有系統的綜合能力等有重要意義。另外一個層面的意義防止信息孤島。但是隨著企業信息化建設的深入,系統之間的服務往來越來越多就會出現以下狀況:
在如此眾多的企業系統部署和維護不是一個容易的事。假設有一個相對主要的系統出現故障,備用系統替換故障系統非常困難(所有依賴的系統也需要重新配置),因此依賴的相關系統也會出現故障,以此類推最終導致企業所有系統癱瘓,這是一個很恐怖的后果
。
ESB企業服務總線就是將SOA服務器包裝、注冊、發布出來供系統間調用,所有系統只有通過ESB才能交互。ESB完成消息轉換和消息路由。每個系統無需關心被調用的服務來自何方,系統間的耦合度降低。另外系統間的維護代價大大降低,比如:1、ESB總線上“電子商務”系統需要升級(或者IP和域名發生變化),單純采用SOA方式需要將所有下游系統做適應性改變,使用ESB只需要在ESB中修改已注冊的服務,其下游系統不需任何改變。2、“電子商務”系統出現故障,馬上啟用“電子商務”備份系統,在有ESB的情況下只需要修改注冊服務而已。ESB的優勢還有更多。
ESB另外的作用是為了業務流程平臺(Business Process Platform,BPP) 。雖然企業系統SOA服務為業務流程提供了充足的原材料,但是只有ESB才能提供統一和穩定的服務,為業務流程平臺的實現流程服務的可配置、個性化,快速響應提供基礎。
5 代理模式

代理模式是指A系統需要訪問B的系統服務必須通過River ESB,River ESB充當代理了角色,完成服務轉發和信息的傳遞。這種模式安全性較高,B系統處于企業安全性最高的生產網,并且不直接暴露給外網提供服務。A系統可以處于級別低的辦公網,中間可以由River ESB完成代理功能。這樣既保證了B系統的安全,又能完成系統間服務的調用,用作安全性要求較高的場合。
6 點對點模式
點對點模式是指A系統通過River ESB拿到B系統的相關信息,然后直接調用B系統的服務,River ESB僅僅充當了服務地址解析的角色。這樣做的好處減少了網絡和River ESB服務器的開銷,因此性能大大提高。這種模式需要A、B系統處于同一網絡,能直接互聯,主要用作性能要求高的場合。River ESB提供專門的接口來調用,B系統具體部署在何處對于A系統仍然是不透明的,就象代理方式訪問River ESB一樣。
7 異步消息服務
通常有這樣一種需求,A系統需要給B系統傳輸消息或數據,B系統由于種種原因忙于別的事情(比如:正在做數據加工匯總等批量)不能立即響應當前服務請求。A系統可以將消息或數據上傳到River ESB服務器中,B系統有空的時候再從River ESB服務器取回消息或數據。這樣就完成了系統間異步消息的傳輸。
8 完善簡潔的服務、用戶、權限管理
服務注冊

消息設置

用戶設置

分組設置
9 支持ESB服務集群,負載均衡
River ESB支持集群,可以通過添加River ESB服務器得到性能上的線性提升。部署最復雜可分為兩級,River ESB使用服務器集群,B系統也使用服務器集群。A系統使用River的接口方法就能完成ESB服務器均衡的調用。River ESB服務器也能均衡調用B系統的服務器。其中任何一臺服務器出現故障,所有的服務調用都會轉到其他服務其上,保證了River ESB的穩定性。
10 服務監控
集群監控-監控每臺River ESB服務器的調用次數和服務內存消耗情況

服務監控-分別監控每個服務及在每臺River ESB服務器的調用情況

消息監控-分別監控隊列及在每臺River ESB服務器的分布情況
11 OpenHandX所有項目介紹
項目名稱 |
說明 |
open-Common |
公共開發包,整理了日常開發中可能經常用到的方法、工具類 |
open-Chart |
圖表工具,核心采用jfreechart,將jfreechart重新包裝簡化,方便使用 |
open-Report |
多維度報表工具,支持表達式計算、匯總、分組、排序、集成圖表,支持Excel輸出 |
open-Real |
持久層報表工具,封裝jdbc的增、刪、改、查。具有自動匹配sql條件,orm影射 |
open-Batch |
分布式批量架構,處理復雜耗時的數據加工或ETL加工 |
open-Unreal |
SS(Script-Service)腳本服務Web開發框架,并提供WebServie功能 |
open-River |
基于open-unreal的ESB產品,提供代理和點對點模式,并提供快速消息傳輸通道 |
OpenHandX下載地址:http://code.google.com/p/openhandx2/
posted on 2012-11-12 21:24
彭明華 閱讀(1713)
評論(2) 編輯 收藏 所屬分類:
OpenHandX產品