一.SOA
SOA是一種新架構程序的方法通過服務組合,而不是模塊方法組合代碼.
SOA軟件系統架構原理是基於自身描述理念:一個服務是一個Function(usually a business function)服務提供者和服務消費者之間通過消息交換來完成.
SOA優點:
1)SOA主要的優點是:松耦合(decoupling)
在服務提供者和服務消費之間提供接口,這樣可以更改服務的具體實現而不影響服務消費。
2)SOA的另外一個好處是可重用的(reuse)服務可以在不同的應用程序中重用。
我們可以想象應用程序除了包括使用服務、服務提供之外沒有其他的東西了。
SOA應用:
一個應用程序符合SOA包括兩個不同的開發行為:
1)Service Creation:集成現成的方法使它們成為服務。
2)Service Composition:使用現成的服務創建一個應用程序和更大的服務.
二.JBI(Java Business Integration)
JBI是SOA的解決和集成的基礎
JBI提供了組件之間交互的消息基礎:
1)NormalizedMessage(NM) 所有基于消息的數據片段——SOAP片段、MOM消息、HTTP數據或其它信息——被聚合、集中、
應用到業務邏輯、傳輸,如果有必要則轉換成其他格式隨後被分派到最終目的地
2)JBI machine (SE)
組件提供或者消費服務是基於本地的
3)JBI binding (BC)
組件 提供或者消費服務是通過一些通信協議或者是其他遠程技術
組件之間的交互通過消息交換,消息是服務提供者發佈的WSDL
服務元件(Service Unit)
一個服務元件看作是一個黑盒子,它提供了一個靜態的服務,
服務元件中包含有,提供的服務和服務消費者。它們都從屬服務元件,一個服務元件可以有0個或者多個服務
服務集合(service Assembly)
組合服務元件是大的應用程序或者新的服務形式出現 A Service Assembly:一組JBI 服務元件連同描述它們的關係和目標組件
總結:
JBI是SOA結構的基礎,它把原來的業務函數集成為一個服務,使服務提供者和服務消費者之間的交互是松耦合的,通過service assembly(服務集合)
可以組合不同的程序,架構圖:
servicemix