体系结构

Application Express 使用用户计算机上的 Web 浏览器通过 Web 监听程序与 Oracle 数据库通信。开发, 部署或运行时不需要浏览器之外的任何其他客户机软件。Application Express 页使用浏览器中的 HTML 来呈现。页请求和提交发送到 Oracle 数据库中的 Application Express 引擎。


元数据驱动

Oracle Application Express 是 Oracle 数据库的集成功能。Oracle Application Express 的核心是 300 多个表和 200 多个 PL/SQL 对象, 其中包含的代码超过 300,000 行。Oracle Application Express 引擎根据 Oracle Application Express 元数据资料档案库中包含的数据实时动态地呈现页。

创建或扩展应用程序时, Oracle Application Express 会创建或修改存储在其数据库表中的元数据。当应用程序运行时, Oracle Application Express 引擎随后会读取元数据并显示请求的页或处理页提交。

为了在应用程序中提供有状态的行为, Oracle Application Express 在数据库中透明地管理会话状态。应用程序开发者可以使用简单的替换以及标准 SQL 绑定变量语法来获取和设置会话状态。

Web 监听程序

 顶部
Oracle Application Express 监听程序

Oracle Application Express 监听程序是 Apache mod_plsql 的基于 Java 的替代工具。Oracle Application Express 监听程序可以在 Oracle WebLogic Server 和 OC4J 上运行。

Apache MOD_PLSQL

访问 Oracle Application Express 引擎的方法之一是配置包含 mod_plsql 插件的 Oracle HTTP Server (Apache)。该插件用作 Web 服务器与 Oracle 数据库中的 Oracle Application Express 对象之间的通信中介。这样可以将浏览器请求映射到数据库存储过程调用。图像存储在文件系统上并由 Apache 处理。使用 Apache, 可以将 Web 监听程序放置在与数据库相同的物理计算机上, 或放置在单独的物理计算机上。

嵌入式 PL/SQL 网关

嵌入式 PL/SQL 网关 (EPG) 在 Oracle 数据库的 XML DB HTTP 服务器中运行, 它包括 mod_plsql 的核心功能, 但不需要 Apache 支持的 Oracle HTTP Server。EPG 存储和处理所有文件, 包括数据库中的图像, CSS 和 JavaScript。EPG 在较小的配置中非常方便。不建议较大规模的正式版用例或面向 Internet 的应用程序使用 EPG。

多客户共享

 顶部

Oracle Application Express 允许在单个数据库中托管大量的应用程序和用户。开发者在称为“工作区”的专用工作区域中工作, 根据一个或多个方案开发应用程序。通过这种灵活的体系结构, 单个数据库实例能够起到 "平台即服务" (PaaS) 的作用, 从而在组织内部提供了托管的 Intranet 功能。

报告

 顶部
Oracle BI Publisher

如果已安装了 Oracle BI Publisher, 则可以配置 Oracle Application Express 以提供 "高保真" 的打印功能。在 Oracle Application Express 中, 开发者能够以声明方式定义多个查询 (包括绑定变量) 来构成 Oracle BI Publisher 中报表布局的基础, 然后将这些报表集成到其 Oracle Application Express 应用程序中。

其他报表服务器

报表服务器可以是 Oracle BI Publisher, 带有 Apache FOP 的 OC4J 或其他标准 XSL-FO 处理引擎。

在 Application Express 中配置报表服务器后, 可以从交互式报表区域下载各种报表格式, 例如 PDF。

交互操作性

 顶部
Web 服务支持

Application Express Web 服务引擎支持松散定义的类型和文档样式 Web 服务。这实现了对 JDeveloper 创建的 Web 服务和 Oracle BPEL 同步 Web 服务的支持。可以与基于 SSL 的 Web 服务 (HTTPS) 以及需要基本验证的 Web 服务进行交互。在 Application Express 引擎无法正确对特定服务的 WSDL 文档进行语法分析时, 还支持手动创建 Web 服务引用。只需提供 SOAP 请求信封和 URL 端点及其他信息。

Application Express 提供了向导, 可以简化定义 RESTful Web 服务的任务。您也可定义公共区域以发出 REST Web 服务。

数据库集成

 顶部

Oracle Application Express 紧密地集成到 Oracle 数据库。

SQL

在本机编写 SQL 查询和 DML 操作。使用绑定变量语法可以访问绑定变量。

select ename, job from emp where empno = :P2_EMPNO
PL/SQL

在页处理, 应用程序级处理以及组件条件文本中, 在本机将 PL/SQL 用作区域源。使用绑定变量语法可以引用会话状态和设置会话状态。

对 Oracle 数据库程序包, 过程和函数的调用也可以集成到区域源中。

begin
   htp.p('HELLO WORLD'); 
end;
Oracle Text

使用 Oracle Text 的 contains 子句对文档执行全文搜索。

select * from emp where contains(resume, :P1_SEARCH, 1) > 0
XML DB

查询以 XML 形式存储的数据, 访问 XML 数据类型的数据, 执行利用 Oracle XML DB 功能的 xpath 查询。

select XMLCast( XMLQuery ('$p/PurchaseOrder/Reference/text()' 
passing object_value as "p" returning content) as VARCHAR2(32)) "Reference" 
from purchaseorder 
where XMLExists('$p/PurchaseOrder[User/text()="SBELL"]' 
passing object_value as "p")
Oracle Real Application Clusters

通过 Oracle Real Application Clusters (RAC) 提供的高可用性和可扩展性, 业务部门可以确保在 IT 投资上获得高额回报。通过将 Oracle Application Express 和 Oracle RAC 结合使用, 用户可以快速构建, 修改和部署其应用程序, 并可在保持对关键数据进行不间断访问的同时从 Oracle RAC 提供的可靠和透明的基础结构中获益。

Oracle Spatial

使用 Oracle Application Express 可以集成空间查询和空间数据。

declare
   l_thumb    blob;
begin
   -- resize image
   select blob_content into l_thumb from mytable where id = :ID
   ordsys.ordimage.process(l_thumb, 'maxScale=64 64');
end;
多媒体

Oracle Multimedia 是在 Oracle 数据库标准版和企业版中提供的功能。它提供了对大多数常用多媒体格式的支持, 并且内置元数据提取和基本图像处理功能。Oracle Multimedia 还提供了对 DICOM 内容的全面支持。在 Oracle Application Express 应用程序中可以使用 PL/SQL API 访问多媒体。

分析功能

编写使用分析功能的 SQL 来集成功能强大的回溯, 预期和其他分析功能。