2013-06-12 144 views
0

我有一個服務狀態在SOA(它應該是無狀態)的問題:SOA服務狀態

我有一個服務,在客戶端的請求後生成一個結果。這個結果非常大,所以客戶端懶惰地加載它以提供快速可視化。 生成的數據必須緩存在某處才能用於延遲加載過程。

所以,這個結果可以被認爲是延遲加載支持服務的'狀態'嗎?

如果SOA服務必須是無狀態的,那麼應該使用哪種SOA模式來實現此方案?

非常感謝!

+0

你說的是什麼,無狀態就像一個網站是無國籍的?網站絕對是有狀態的,否則幾乎沒有任何功能。但是,一旦你的問題得到處理並且HTML已經被返回,你就會失去狀態,並且下一個請求正在被處理,就好像這是你的第一次。 由於網站由國家組成,您的SOA服務也有狀態,就我而言。 –

回答

0

假設場景包含從數據庫中讀取數據並允許用戶通過這些數據導航(前進和後退)的過程,解決方案是在持久層中實現分頁查詢機制。

分頁查詢可以用不同的方式實現,最具擴展性的是可重複查詢數據庫,因爲用戶通過結果頁面查詢。

此解決方案的缺點是用戶可能會看到數據的不一致視圖,因爲數據庫可以在查詢執行之間進行更改。

你可以直接使用JDBC來實現這個(如果你使用的是Java),但是像Hibernate這樣的幾個ORM框架可以幫助你實現這個機制。

+0

感謝您的回答。數據不是來自查詢,而是數據批量處理的結果。 – user1275011