2011年3月1日 星期二

[Oracle SOA 應用] 使用Mediator與Event處理content-based routing

這幾天剛好有個朋友問到一種在SOA設計上面常遇到的情境,使用SOA (ESB)架構做request 的content-based routing設計,常常設計出下列的composite:


這樣的設計是由SOA平台對外提供單一介面,然後根據傳入訊息內容決定要呼叫哪一個End-Point Web Service。

在SOA 11g的SCA架構中,通常是把相對應的end-point,中間的mediator與對外的web service打包成一個composite,然後一次部署上server。這樣的設計在一般情境下都非常適用,開發人員只要拖拉點選就可以快速完成。只不過,要是需求的end-point有可能有上百個的話,這張圖可能就太大了,而每一次的重新部署都會影響到所有的服務,相對應的在維護上反而造成了小小的不便。

要怎麼樣解決這樣的問題哩? 我建議可以從幾種方式下手: