[英]Mechanism to maintain service when internet connection is lost with application server
我們目前有一個集中的 web 應用程序和數據庫(在 glassfish 和 oracle 上運行),可從分布在全國各地的多個站點訪問。
在車站,有數據輸入系統並從系統中讀取(通過瀏覽器)。
當工作站和集中式 web 應用程序之間的(外部)連接斷開時,我們希望工作站繼續使用 function - 存儲和呈現數據,然后當連接返回時,數據會被推回中央服務器以保持數據庫完整性。
鑒於我們願意在值得的情況下更改我們的應用服務器或數據庫,如何最好地處理這個問題,是否有任何開箱即用的解決方案?
在各個位置安裝服務器,“定期”復制您想要在它們之間共享的內容,並將所有其他集中但非重要的任務(例如,報告)留在中央系統上。
沒有“開箱即用”的解決方案。 無論出於何種原因,您的系統都是中心化的。 你要求它去中心化。 通過這樣做,您首先需要重新考慮為什么它是集中式的,以及由於這種集中化而存在哪些依賴關系(例如每個站點都可以即時訪問所有其他站點的數據)。
解決那些你可以做的事情,多長時間,以及如何分享這些問題,然后你就可以建立自治站點。 此過程的規模和復雜性取決於您的應用程序及其為遠程用戶提供的服務。
如果您可以容忍丟失當前會話,我會指出您尋找分布式數據庫(復制)。 Oracle 可能支持它。 在每個辦公室,你都會有一個 glassfish 服務器
但這會花費很多:
如果您選擇只為所有辦公室使用冗余互聯網訪問,也許會更容易/更便宜。
如果你願意 go 最前沿,那么看看HTML 5 with Local Storage 。 請注意,HTML 5 中的本地存儲規范仍在過渡中。 當 HTML 5 本地存儲不可用時,我包含的第二個鏈接有一個很好的后備選項。 使用 Store.js 的后備選項,您甚至不需要要求您的客戶使用現代瀏覽器,盡管它肯定會有所幫助。
如果您願意朝這個方向發展,另一種選擇是使用 Adobe Flex 3 作為您的 UI,通過LiveCycle與托管在 Glassfish 上的應用程序進行對話。 不過,將會有更多的活動部件和更陡峭的學習曲線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.