将 Oracle Forms Applications 迁移到 Oracle APEX 和 Oracle Autonomous Database

将 Oracle Forms 应用迁移到云端 Oracle APEX ,从而提高性能并简化管理。

您的存储过程和 PL/SQL 程序包可在 Oracle APEX 中原生运行,因此,它是轻松将 Oracle Forms 应用转换为现代 Web 应用的理想平台,具有更高的功能、更低的复杂性以及更低的开发和维护成本。

Oracle APEX 是一个低代码开发平台,您可以在该平台上构建可扩展的安全企业应用程序,这些应用程序具有先进的功能,而且可以随时随地部署。您可以快速开发和部署引人注目的应用,以解决实际问题并立即创造价值。您不需要成为众多技术的专家,就能提供复杂的解决方案。

体系结构

此架构展示了将本地 Oracle Forms 应用迁移到 Oracle Cloud Infrastructure 上的 Oracle APEX 应用的过程。

下图说明了此参考体系结构。

后面是 forms-apps-apex.png 的说明
插图 forms-apps-apex.png 的说明

forms-apps-apex-oracle.zip

该体系结构包含以下组件:

  • 区域

    OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。

  • 可用性域

    可用性域是区域中独立的数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响该区域中的其他可用性域。

  • 虚拟云技术网络 (VCN) 和子网

    VCN 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,CIDR) 块,在创建 VCN 后可以更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定为某个区域或某个可用性域。每个子网由一系列不与 VCN 中的其他子网重叠的连续地址组成。您可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 负载平衡器

    Oracle Cloud Infrastructure Load Balancing 提供从单个入口点到多个服务器的自动流量分配。

  • 安全列表

    您可以为每个子网创建安全规则,以指定允许进出子网的通信的源、目标和类型。

  • 自治事务处理

    Oracle Autonomous Transaction Processing 是一个自治驱动、自我保护和自我修复的数据库服务,针对事务处理工作负载进行了优化。您不需要配置或管理任何硬件,也不需安装任何软件。OCI 可处理数据库创建、备份、打补丁、升级和调优。

  • 身份和访问管理

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 为 OCI 和 Oracle Cloud Applications 提供用户访问控制。借助 IAM API 和用户界面,您可以管理身份域及其中的资源。每个 OCI IAM 身份域都代表一个独立的身份和访问管理解决方案或不同的用户群体。

  • 审计

    Oracle Cloud Infrastructure Audit 服务会自动将对所有支持的 OCI 公共应用编程接口 (API) 端点的调用记录为日志事件。所有 OCI 服务都支持 Oracle Cloud Infrastructure Audit 日志记录。

推荐

使用以下建议作为计划 Oracle APEX 现代化的起点。您的要求可能与此处描述的体系结构不同。
  • VCN

    创建 VCN 时,确定每个子网中的云资源所需的 IP 地址数。使用无类域间路由 (Classless Inter-Domain Routing,CIDR) 表示法,指定一个子网掩码和一个足够大的网络地址范围来满足所需的 IP 地址。使用标准专用 IP 地址空间内的 CIDR 块。

    创建 VCN 后,您可以更改、添加和删除其 CIDR 块。

  • 设计子网时,请考虑功能和安全要求。同一层或角色中的所有计算实例都应进入同一子网。

    使用区域子网。

  • 安全列表

    使用安全列表定义适用于整个子网的入站和出站规则。

  • Cloud Guard

    克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定生成警告的安全违规类型以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的 OCI Object Storage 存储桶。

    在租户级别应用 Oracle Cloud Guard ,以涵盖最广泛的范围,并减轻维护多个配置的管理负担。

    还可以使用“托管列表”功能将某些配置应用于检测器。

  • 安全区域

    对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,不能从公共 Internet 访问安全区域中的资源,并且必须使用客户管理的密钥对其进行加密。在安全区域中创建和更新资源时,OCI 将根据配方中的策略验证操作,并防止违反任何策略的操作。

  • 方案

    保留 Oracle Forms 所基于的数据库结构,并将其用作 Oracle APEX 的方案。

  • 业务逻辑

    Oracle Forms 的大多数业务逻辑都位于触发器、程序单元和事件中。在开始将 Oracle Forms 迁移到 Oracle APEX 之前,请将业务逻辑迁移到数据库中的存储过程、函数和程序包。

注意事项

将 Oracle Forms Object Navigator 组件移至 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 具有文本区域和富文本编辑器,与 Oracle Forms 中的编辑器等效。

  • 值列表 (LOV)

    Oracle APEX 中,LOV 与项目类型耦合。无线电组可以很好地处理少量值。为中型集选择列表,并为大型数据集选择弹出式 LOV。您可以使用 Oracle Forms 中记录组的查询来查询 Oracle APEX 中的 LOV 查询。Oracle APEX 中的 LOV 可以由 SQL 查询动态驱动,也可以静态定义。静态定义允许对每个条目应用各种条件。然后,这些 LOV 可以与单选按钮组和选择列表等项目关联,也可以与报表中的列关联,以将代码转换为标签。

  • 参数

    在页面之间填充 Oracle APEX 中的页项,以便将信息传递到下一页,例如报表中的选定记录。具有多个项目的较大表单通常作为一个整体提交,其中页面处理处理数据,分支到下一页。默认情况下,可以通过会话状态安全性(在项、页和应用程序级别)来保护这些值,使其免受 URL 篡改。

  • 弹出式菜单中选择

    Oracle APEX 中没有现成的弹出式菜单,但您可以使用“列表”并将按钮与菜单关联来构建弹出式菜单。

  • 程序单元

    将 Oracle Forms 中程序单元中定义的存储过程和函数迁移到 Database Stored Procedures and Functions,并在 Oracle APEX 进程、验证和计算中使用 Database Stored 过程和函数。

  • 属性分类

    Oracle Forms 中的属性类允许开发人员在组件的每个实例之间利用公用属性。在 Oracle APEX 中,您可以在数据字典中定义用户界面默认值,以便每次为特定表或列创建项或报表时,默认情况下会应用相同的功能。至于应用程序的样式,您可以将类应用到带有特定外观的组件。通用主题具有可声明重新配置的默认外观。

  • 记录 组

    使用记录组中的查询在 Oracle APEX 中定义动态 LOV。

  • 报告

    Oracle APEX 中的交互式报表附带了许多运行时操作选项,使用户能够自定义和处理报表。经典报表是简单报表,不提供运行时操纵选项,但基于 SQL。

  • 菜单

    Oracle Forms 具有由数据库角色控制的特定菜单文件。更新 .mmx 文件需要没有活动用户。Oracle APEX 中的菜单可以位于顶部,也可以位于左侧。可以静态定义或动态驱动这些菜单。静态导航条目可以由授权方案或定制条件控制。动态菜单可以在 SQL 中集成安全表。

  • 属性

    Oracle APEX 中引入的页面设计器与 Oracle Forms 类似,尤其是在能够一次编辑多个组件(仅交叉属性)方面。

了解更多

详细了解 Oracle APEX

查看以下其他资源:

更改日志

此日志列出了重大更改: