第四章 EEP MAUI APP離線功能\4-1簡介與架構

離線的應用與需求

APP的離線需求包括以下幾點:

1.持續工作效能: 企業必須確保其團隊在沒有網路連接的環境中仍能夠維持高效率的工作。離線應用使員工能夠在任何地方、任何時間進行工作,確保業務運作的連續性。

2.差旅和遠程工作: 隨著全球化和現代化的發展,企業團隊經常需要在不同的地區進行業務。離線應用使在差旅或遠程地區能夠方便地訪問和編輯資料,而無需依賴穩定的網路連接。

3.節省數據流量成本: 有些企業可能希望減少在移動數據時產生的成本,特別是在較大的數據傳輸過程中。離線應用可以在有網路時下載資料,然後在離線狀態下進行操作,從而節省數據流量和相關成本。

4.提高應用性能: 一些企業應用需要處理大量數據,在離線狀態下,透過本地存儲和處理數據,可以提高應用性能,同時減少對伺服器的依賴。

總體而言,企業使用離線應用的需求主要體現在提高工作靈活性、應對地理位置分散的團隊以及節省成本等方面。透過離線應用,企業能夠更好地因應現代商業環境的挑戰,實現更高效、更靈活的運營。

 

EEP MAUI APP的離線架構

如下圖,為EEP MANU APP的離線架構。

一張含有 文字, 螢幕擷取畫面 的圖片

自動產生的描述

 

整個APP的離線機制如下:

1.    手機或平板安裝EEP MAUI公版的APP

2.    使用者登入企業的應用系統,如下圖,可以輸入企業的網址或掃描QRCode連線到EEP主機,第一次需輸入帳號密碼後進入APP主畫面,此時APP會記住網址與帳號密碼,下次可以直接進入主畫面。

2.

3.    使用者於主畫面帳號中,預先下載所需的離線表單,表單中有設定離線的數據會跟著一起下載。(由開發者事先定義哪些表單具有離線功能)

4.    根據上述架構圖,APP將透過Server下載經Render過的RWD表單,並將其儲存至APP裝置中。若已設定離線資料,相應的Cache Data也將透過InfoCommand下載至APP裝置。數據下載的單位以Server端的模組為主,通常是一個RWD表單對應到一個Server端的模組,並一同打包至APPCache Data中,以確保每個離線表單都能獨立運作。

然而,為了節省時間與空間,我們也可以讓不同的RWD表單共用Server端的數據源(InfoCommand)。然而,值得注意的是,這樣的設計必須謹慎處理相依性,以確保各表單間的相互作用和資料共享不會影響系統的穩定性和效能。

使用者可以切換成離線狀態,APP就會進入離線模式。

5.    使用者可以打開已經下載的離線表單,並進行必要的操作,如新增/更改/刪除的動作,會被記錄到相對的Cache Data中,並留下完整的異動紀錄。

5.打開離線表單時,在Server端多了一個CacheSynchronize的設定,可用來控制離線數據的同步條件,有(None/EveryTime/Smart)三種,None就是不更新(或重新下載表單時會更新)EveryTime就是每次都會打開表單時都會更新(如果有網路的話,沒有連網就不更新)Smart則可以設定一個VerifyField欄位(如資料日期時間欄位),當Cache Data的這個欄位比主機端最大的這個欄位小時,就會將大於Cach Data的主機資料下載更新。

5.如架構圖,如果裝置在有網路的狀態下切換到線上模式,即可將這些新增/更改/刪除的異動紀錄數據上傳到Server中,並透過UpdateComponent回寫到資料庫中。

Top of Page