1. 程式人生 > >基於SOA的資料同步方案

基於SOA的資料同步方案

2.1 SOA及其相關技術

    面向服務的體系架構(service—orientedarchitectI埔,SOA)是一種粗粒度、鬆耦合的服務結構。SOA是服務的集合,服務是最核心的抽象手段,業務被劃分(元件化)為一系列粗粒度的業務服務和業務流程嘲。服務通過基於標準、精確定義的介面通訊,通訊可能涉及簡單資料傳遞、兩個或更多的在一個活動中協作的服務。由此,SOA是一個其所有功能均被定義成精確定義的、可呼叫的、獨立的服務,且能被有序編排、構建業務流程的應用架構。

    SOA通過應用元件和傳輸協議的鬆散耦合,服務的即時繫結,從而實現業務元件的虛擬化,造就一個虛擬的整合架構或者整合平臺服務匯流排,這樣使得服務整合不受任何限制,可以同時整合.NET元件和J2EE元件,以及整合其它遺留系統的各種應用,同時也可以隨時更換這些服務元件。最終達到敏捷的、不受限制的服務整合目標,從而使IT能夠隨著業務需求的變化而自由調整,達到所謂的“隨需而變”的最高境界。

    SOA是目前EAI領域最先進的體系結構,並得到了IBM、BEA等眾多IT廠商的支援,並推出自己的解決方案和相關產品,已日益成為行業應用整合標準。SOA很適合於應用在像數字化校園這種分散式、鬆耦合、異構平臺的場合,它可以徹底地解決“資訊孤島”問題,並且充分利用已有的軟體資源。所以,採用SOA框架構建數字校園是實現數字校園資訊資源整合的最佳選擇。

    實現SOA架構的技術有ESB、Web Services和JMS等。

    (1)ESB技術。企業服務匯流排(enterprise servicebus,ESB)是構建基於SOA解決方案時所使用基礎架構的關鍵部分,是由中介軟體技術實現並支援SOA的一組基礎架構功能Ⅲ。它是一種為進行連線服務提供的標準化的通訊基礎結構,基於開放的標準,為應用提供了一個可靠的、可度量的和高度安全的環境,並可幫助企業對業務流程進行設計和模擬,對每個業務流程實施控制和跟蹤、分析並改進流程和效能。目前各大IT公司都推出了基於自己的平臺工具的ESB產品,如IBM的WebSphere ESB、BEA的AquaLogic Service Bus等。除此之外,也出現了眾多的開源ESB產品,如Mule、ServiceMix和ApacheSynapse等。

    (2)Web Services技術。WebServices主要是為了使原來各孤立的站點之間的資訊能夠相互通訊、共享而提出的一種介面。該介面隱藏了服務實現的細節,允許通過獨立於服務實現、獨立於硬體或軟體平臺、獨立於編寫服務所使用的程式語言的方式使用該服務。Web Services可以通過HrrP、SOAP(XML)、SMTP等協議的組合被訪問,利用標準網路協議和XML資料進行通訊,具有良好的普適性和靈活性,這使得基於WebServices的應用程式具備鬆散耦合、面向元件和跨技術實現的特點。Web Services技術的主要目標是在各種異構平臺的基礎之上構建一個同樣的、與平臺與語言無關的技術層,各種應用都可以靠這個技術層來實施彼此的連線和整合。

    (3)JMS技術。Java訊息服務(Javamessage service,JMS)是訪問企業訊息系統的標準API,是Sun公司提出的Java訊息服務規範,是用於訪問訊息系統的不依賴於某個具體廠商的APl,它提供給應用程式建立,傳送,接受和讀取訊息的介面,具體實現可以不同m。JMS技術採用非同步通訊模式,傳送訊息者將需要變更的資料訊息提交到訊息平臺後,就完成了自己的任務,就可以進行其它的操作,不需要等待伺服器端的訊息處理結果。這時即使網路出現故障甚至伺服器崩潰也不會造成資料的丟失或不一致,訊息會儲存在訊息佇列中直到被最終接收。