SOA 是實現跨平臺、跨技術的各種軟件服務的整合。作為一個理想的SOA架構平臺,應該有無限的服務擴展性,任何新的服務都能以插件的方式加入此SOA平臺,馬上對外發布;此外它應該有無限的服務兼容性,任何應用的傳輸協議,不管是J2EE,.NET, CORBA, DCOM 還是Web Service等, 它都能夠提供支持并進行相應的協議轉換,不管是同步服務還是異步事件都能處理。
SOA需要一個對各種服務進行集成管理的核心架構, 這就是企業服務總線(ESB),全稱為Enterprise Service Bus, 其本質是一個架構, 而不失一個真正的產品。
ESB的標準
? 下面是IBM公司定義的作為ESB應該有的功能:
????1. ??能夠在做管理的服務之間實現消息路由, 也就是說能夠將消息從服務A轉向另一個服務B。
????2.??能夠在服務請求者和服務提供者之間實現傳輸協議的轉換。比如說服務提供者得應用服務是EJB,應用協議是Java RMI,而服務請求者的協議是HTTP/SOAP, ESB將會把請求著的傳輸協議轉換為Java RMI發送到服務提供者, 在得到響應后, 再將響應消息的傳輸協議轉化為HTTP/SOAP返回給服務請求者。
???3. 能夠在請求者和服務之間實現消息格式的轉換。?
???4. 能夠處理不同來源的業務事件。 也就是說不管業務來源于何處,不管是同步還是異步事件,都能進行相應的處理。
???5. 一個ESB應該是用戶更加關注與核心業務, 而不是關注如何將各種程序連接在一起的IT底層基礎技術。?
?? 6. 一個ESB應該是用戶能夠在現有的服務中加入新的服務。 或者改變現有服務,而沒有對現有服務的使用產生影響。
???
?????????