將 Oracle Forms 應用程式現代化到 Autonomous Database 上的 Oracle APEX

Oracle Forms 應用程式仍然扮演著重要的角色,但許多應用程式都在尋找將應用程式現代化的方法。將 Oracle Forms 應用系統搬移至雲端的 Oracle APEX ,即可將其現代化。

您所儲存的程序和 PL/SQL 套裝程式會以原生方式在 Oracle APEX 中運作,因此它是能夠以更多功能、更低的複雜性和更低的開發和維護成本,輕鬆將 Oracle Forms 應用程式轉換為現代 Web 應用程式的明確選擇平台。

Oracle APEX 為低程式碼開發平台,可讓您建置具備世界級功能且可隨處部署的高擴展性、高安全性的企業 App。您可以快速開發和部署極具吸引力的應用程式,以解決實際問題並提供立即價值。您將不需要成為眾多技術的專家,才能提供精密的解決方案。

架構

This architecture shows the process of modernizing on-premises Oracle Forms applications by moving them to Oracle APEX applications on Oracle Cloud Infrastructure.

下圖說明此參考架構。

Form-apps 的描述 -apex.png 如下
form-apps-apex.png 圖解描述

表格 - Apps-apex-oracle.zip

架構包含下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可設為某個區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

  • 負載平衡器

    Oracle Cloud Infrastructure Load Balancing 服務提供自動化的流量分佈,從單一進入點到後端的多部伺服器。

  • 安全清單

    您可以為每個子網路建立安全規則,以指定子網路中必須允許的來源、目的地以及流量類型。

  • 自治式異動處理

    Oracle Autonomous Transaction Processing 是一種自我驅動、自我保護、自我修復的資料庫服務,已針對交易處理工作負載最佳化。您不需要設定或管理任何硬體,或是安裝任何軟體。Oracle Cloud Infrastructure 可處理建立資料庫,以及備份、打補丁、升級及調整資料庫。

  • 身分識別與存取管理 (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的存取控制層。IAM API 和使用者介面可讓您管理識別網域和識別網域內的資源。每個 OCI IAM 識別網域代表獨立身分識別與存取管理解決方案或其他使用者群體。

  • 稽核

    Oracle Cloud Infrastructure Audit 服務會自動將所有支援 Oracle Cloud Infrastructure 公用應用系統程式設計介面 (API) 端點的呼叫記錄為日誌事件。目前,所有服務都支援由 Oracle Cloud Infrastructure Audit 記錄。

推薦

使用下列建議作為規劃現代化至 Oracle APEX 的起點。您的需求可能與此處所述的架構不同。
  • VCN

    建立 VCN 時,請判斷每個子網路中的雲端資源需要多少 IP 位址。使用「無類別網域間路由 (CIDR)」表示法,指定足以容納所需 IP 位址的子網路遮罩和網路位址範圍。使用標準專用 IP 位址空間內的 CIDR 區塊。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

  • 設計子網路時,請考量功能和安全需求。同一層或角色內的所有運算執行處理都應該移至相同的子網路。

    使用區域子網路。

  • 安全清單

    您可以使用安全清單來定義套用至整個子網路的傳入和傳出規則。

  • 雲端保全

    複製並自訂 Oracle 提供的預設方法,以建立自訂偵測器和回應器方法。這些處方可讓您指定哪些類型的安全違規會產生警告,以及允許對它們執行哪些動作。例如,您可能想要偵測可見性設為公用的物件儲存的儲存桶。

    在租用戶層次套用雲端保全、以涵蓋最廣泛的範圍、並減少維護多個組態的管理間接成本。

    您也可以使用「受管理清單」功能,將特定組態套用至偵測器。

  • 安全區域

    對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與以最佳做法為基礎之 Oracle 定義的安全原則方法關聯的區間。例如,安全區域中的資源不得從公用網際網路存取,且必須使用客戶管理的金鑰加密。當您建立和更新安全區域中的資源時,Oracle Cloud Infrastructure 會根據 security-zone 處方中的原則驗證作業,並拒絕違反任何原則的作業。

  • 綱要

    保留 Oracle Forms 所建置的資料庫結構,如原樣,並使用該結構作為 Oracle APEX 的綱要。

  • 商業邏輯

    Oracle Forms 的大部分商業邏輯都位於觸發程式、程式單元和事件中。開始將 Oracle Forms 移轉至 Oracle APEX 之前,請先將商業邏輯移轉至資料庫中儲存的程序、函數和套裝程式。

考量

將 Oracle Forms Object 導覽器元件移至 Oracle APEX 時,請考量下列主要項目:
  • 資料區塊

    Oracle Forms 的資料區塊與 Oracle APEX 有關,每個頁面都會分成數個區域和元件。複查「通用主題」中提供的 Oracle APEX 元件樣板。

  • 觸發程式

    在 Oracle Forms 中,觸發程式幾乎可以控制一切。在 Oracle APEX 中,控制項是根據在送出頁面時啟動的彈性條件,並由驗證、運算、動態動作及處理作業進行管理。

  • 警示

    Oracle APEX 中的大部分訊息都會在您送出頁面時產生。

  • 連附的程式庫

    Oracle APEX 負責支援「通用主題」的 JavaScript 和 CSS 程式庫,此主題支援彈性、動態應用程式所需的所有元件。您可以透過多種方式包含自己的 JavaScript 和 CSS,主要透過頁面屬性。您可以選擇將內嵌程式碼新增為資料庫中現有作為 BLOB (#APP_IMAGES#) 或位於中間層的參照檔案 (通常由 Oracle REST Data Services (ORDS) 提供)。當參照檔案位於 Oracle WebLogic Server 上時,檔案位置前面會加上 #IMAGE_PREFIX#

  • 編輯器

    Oracle APEX 具有文字區域和 RTF 編輯器,相當於 Oracle Forms 中的「編輯器」。

  • 值清單 (LOV)

    Oracle APEX 中,值清單會與「項目」類型結合。無線電群組可以處理少量的值。選取中間大小集的清單,然後選取大型資料集的「蹦現值清單」。您可以在 Oracle Forms 中的「記錄群組」查詢 Oracle APEX 中的 LOV 查詢。Oracle APEX 中的 LOV 可由 SQL 查詢動態驅動,或以靜態方式定義。靜態定義可讓各種條件套用至每個項目。接著,這些 LOV 可以與「選項群組」和「選取清單」等「項目」建立關聯,也可以與報表中的資料欄建立關聯,將程式碼轉譯成標籤。

  • 參數

    Oracle APEX 中的頁面項目會植入頁面,以將資訊傳遞至下一頁,例如報表中選取的記錄。具有數個項目的較大表單通常會以整體方式提交,其中頁面處理程序會處理資料,並分支至下一頁。這些值預設會受到保護,避免受到階段作業狀態安全、項目、頁面和應用程式層次的 URL 竄改。

  • 蹦現功能表

    Oracle APEX 的方塊中沒有「即現式功能表」,但您可以使用「清單」建立功能表,並將按鈕與功能表建立關聯。

  • 程式單元

    將 Oracle Forms 程式單元中定義的預存程序和函數移轉至「資料庫預存程序和函數」,並使用 Oracle APEX 處理作業、驗證和運算中的「資料庫預存」程序和函數。

  • 特性類別

    Oracle Forms 中的特性類別可讓開發人員在元件的每個執行處理之間使用一般屬性。在 Oracle APEX 中,您可以在資料說明中定義「使用者介面預設值」,以便每次為特定表格或資料欄建立項目或報表時,預設會套用相同的功能。對於應用程式的樣式,您可以將類別套用至具有特定外觀與感覺的元件。「通用主題」具有可供宣告重新設定的預設外觀。

  • 記錄群組

    使用「記錄群組」中的查詢來定義 Oracle APEX 中的「動態」值清單。

  • 報表

    Oracle APEX 中的「互動式報表」隨附一些程式實際執行操作選項,可讓使用者自訂及操作報表。「傳統報表」是指未提供程式實際執行操作選項,但以 SQL 為基礎的簡單報表。

  • 功能表

    Oracle Forms 具有由資料庫角色控制的特定功能表檔案。更新沒有作用中使用者的 .mmx 檔案。Oracle APEX 中的功能表可以位於頂端或左側。這些功能表可以靜態定義,也可以動態驅動。靜態導覽項目可以由授權計劃或自訂條件控制。動態功能表可以有整合至 SQL 中的安全性表格。

  • 特性

    Oracle APEX 引進的「頁面設計工具」與 Oracle Forms 類似,特別是在一次編輯多個元件的能力上,只有相交的屬性。

探索更多

瞭解有關 Oracle APEX 的詳細資訊。

複查這些額外資源: