架构

Oracle APEX 使用一种数据库封装的、由元数据驱动的简单架构,可以提供快速数据访问、出色的性能和可扩展性,并确保现成可用。

概览

Oracle APEX 使用简单的 3 层架构,从浏览器发送的请求通过 Web 服务器送达数据库。所有处理、数据操作和业务逻辑都在数据库中执行。此架构可以保证零延迟的数据访问、出色的性能和可扩展性,并确保现成可用。

应用
ORDS
APEX
此图展示用户在 Oracle APEX 中请求或提交页时的流程流。

来自 Web 浏览器的 Web 请求被发送到 Oracle REST 数据服务 (Oracle REST Data Services, ORDS),然后传递到 Oracle 数据库以等待处理。在该数据库内,Oracle APEX 对请求进行处理。完成处理后,将通过 ORDS 把结果发回浏览器。

Oracle RAD 堆栈

Oracle RAD 堆栈是基于三个核心组件的自包含技术堆栈:Oracle REST 数据服务 (Oracle REST Data Services, ORDS)、Oracle APEX 和 Oracle 数据库。

此堆栈提供了开发和部署强大、美观且可扩展的卓越应用所需的一切组件。不需要引入其他附加组件。此外,Oracle APEX 和 ORDS 都是 Oracle 数据库附带的免费功能,这意味着如果您拥有 Oracle 数据库,也就拥有了此 Oracle RAD 堆栈。

  • Oracle REST 数据服务 (Oracle REST Data Services, ORDS)

    ORDS 是一个 Java 应用,具备 SQL 和数据库技能的开发人员可以利用它来开发适用于 Oracle 数据库、Oracle 数据库 12c JSON 文档存储和 Oracle NoSQL 数据库的 REST API。

  • APEX

    APEX 是 Oracle 数据库的本机低代码开发平台,您可以利用它来构建可扩展的、安全的卓越应用。这些应用将具有先进的功能,而且可以在任何地方部署。

  • 数据库

    Oracle 数据库是一个非常全面的、安全的集成式数据库解决方案,适用于任何规模的部署。借助这个坚实的基础,使用 Oracle APEX 构建的应用从一开始就能满足企业需求。

Oracle RAD

由元数据驱动

创建或扩展应用时,Oracle APEX 将创建或修改存储在数据库表中的元数据。运行应用时,Oracle APEX 引擎将读取元数据并显示请求的页或者处理页提交。

为了在应用内提供有状态行为,Oracle APEX 以透明方式管理数据库中的会话状态。应用开发人员可以使用简单替换以及标准 SQL 绑定变量语法来获取和设置会话状态。不必进行基于文件的编译,也不会生成代码。

所有处理都由 PL/SQL 执行,将直接针对数据库中的数据方案进行操作。由于数据都直接在数据库中进行处理,然后将结果发回 Web 浏览器,因此 Oracle APEX 应用非常高效。通过一个请求执行单次 API 调用,就能根据元数据定义调用所有必需的数据处理,而不需要对数据库进行多次调用。

无状态访问

Oracle APEX 的可扩展能力非常出色,而且可以支持数万个并发用户,原因就是 Oracle APEX 采用了一种特有的方式管理数据库请求。对 Oracle APEX 引擎的 API 调用使用标准 Oracle 数据库连接池。这意味着,API 调用处理完毕并将响应发回浏览器后,使用的连接就会返回到数据库连接池并可由任何其他请求使用。

数据库会话只在执行请求时处于活动状态,在其他时候,用户会话处于不活动状态,而且不会使用任何数据库资源。在用户初次验证时,会话状态信息会存储在浏览器高速缓存中,然后会随每个后续请求发送。

应用开发即服务

这种由元数据驱动的数据库架构的优势之一是,Oracle APEX 能够提供完全自动化的自助式应用开发平台。

您可以将 Oracle APEX 配置为在自助模式下运行,使组织中的任何人都能注册自己的工作区。采用这种方法,部门可以继续负责构建自己的应用,同时仍在 IT 的统一管理范围内。现在,IT 主要负责妥善管理与访问和使用公司数据相关的策略与过程。

这有助于在 IT 和部门之间形成更协调的工作关系,而避免让各个部门成为“影子 IT”。协作对 IT 有利,对各个部门有利,因而对组织更是大有益处。

  • 自助功能

    APEX 提供电子邮件预配,可以让每个人注册自己的托管工作区(开发环境),而且只需几分钟就能准备好并开始运行,接着他们就可以开发自己的应用。

  • IT 监管

    开发环境由 IT 部门进行专业管理,以确保所有数据都会备份,因为所有内容都在数据库中。IT 可以轻松监视应用性能和数据访问。

  • 协作

    IT 可以轻松为各个部门提供帮助,因为他们使用一致的工具(都是基于 SQL 和 PL/SQL)。如果需要,IT 还可以使用 JavaScript、HTML 和 CSS 等低层代码来帮助扩展应用。

  • 直接访问公司数据

    部门常常难以访问公司数据,有时甚至需要重新输入数据。IT 可以在 APEX 应用中提供对数据源的可信访问权限,或者提供他们可以使用的 RESTful Web 服务。