没有合适的资源?快使用搜索试试~ 我知道了~
首页apex开发及APEX程序剖析
apex开发及APEX程序剖析
需积分: 50 205 浏览量
更新于2023-05-27
评论
收藏 7.85MB DOC 举报
APEX基础概念详解 APEX程序剖析详细说明 虽然不是新版,但入门很有参考价值
资源详情
资源评论
资源推荐

第 5 章 APEX 简介
这一部分主要使读者熟悉 APEX 的基本概念、环境和使用。本部分介绍了 APEX 主要
特性,三个组件(应用程序构建器、SQL 工作室、实用工具)和四类用户。本部分回答了
以下问题:什么是 APEX? 用 APEX 可以构建什么类型的应用程序?何时使用 APEX?
5.1 什么是 APEX?
APEX 是一个用于 Oracle 数据库的快速 Web 应用程序开发工具。APEX 结合了个人数
据库的品质如生产效率、易用性和灵活性,企业数据库的品质如安全性、集成性、可伸缩
性和可用性,以及针对 Web 构建三个方面的优点。APEX 是一个构建 Web 应用程序的工具,
而且应用程序开发环境也基于 Web,非常方便。只需在 apex.oracle.com 注册一个帐户即可
试用 APEX。开发、部署或运行 APEX 应用程序无需客户端软件。
APEX 提供三大工具:
应用程序构建器(Application Builder) — 创建数据库驱动的动态 web 应用程序。
SQL 工作室(SQL Workshop) — 浏览数据库对象,运行 SQL 查询、PL/SQL 程序以及
图形化的查询构建器。
实用程序(Utilities) — 允许从纯文本和电子表格上载和下载数据。所谓上载数据是指将
文本文件或电子表格中的数据导入到数据库中。所谓下载数据是指将数据库中的数据保存
到文本文件或电子表格中。
5.2 用 APEX 可以构建什么类型的应用程序?
APEX 是构建数据库数据报表应用程序的有效工具。报表通常与其他报表进行超文本
1

链接,允许用户以 web 站点的导航方式浏览数据库数据。报表中的列可轻松链接到其他报
表、图表和数据项表单,这都是以声明方式完成的。一个全面的图表引擎允许以图形方式
表示 SQL 查询,从而可以更有效地进行数据通信。APEX 还非常适合编辑数据库数据并支
持大量声明性表单控件,包括单选按钮组、复选框、选择列表、梭形按钮、文本编辑器和
日期选择器。
5.3 何时使用 APEX?
由于其易用性,APEX 旨在快速构建机会性和部门级应用程序。这些应用程序部署在
web 上,具有优越性能。以前,部门、原型和小项目依赖桌面数据库提供快速的开发工具,
以满足这些规模较小的或部门级应用程序开发的需求。桌面数据库可能非常零散,因为它
们在多处保存数据,它们可能非常脆弱或者不适用于敏感信息,而且它们通常不是 web 友
好的。基于浏览器的设计时界面(声明式编程框架)和简单的向导使 APEX 成为多用户桌
面数据库应用程序(例如,Microsoft Access)的理想替代品。
SQL Savvy 应用程序开发人员还可以体会到易用性,因为您即使具有很少的 web 体验
甚至没有该体验也可以创建数据库应用程序。无需学习脚本语言或复杂的部署框架,只需
编写几个查询并从已经构建好的用户界面主题和表单控件中选择即可创建高度专业、安全
且可伸缩的应用程序。
使用 APEX,开发是高度声明式的。这意味着很多情况下,您不需要编写任何代码,
而由您与向导和属性表进行交互,就可完成程序开发。SQL 语言用于定义报表和图表,因
此懂一些 SQL 知识很有帮助。可选择使用 PL/SQL 编写代码段(如果需要过程逻辑)。声
明式开发给开发人员带来较少的差异,该一致性使 APEX 应用程序易于维护和管理。
APEX 引擎从存储在数据库表中的数据实时呈现应用程序。当您创建或扩展应用程序
时,APEX 创建或修改存储在数据库表中的元数据。当应用程序运行时, APEX 引擎读取
元数据并显示应用程序。APEX 完全驻留在 Oracle 数据库中。它仅由表中的数据和大量
PL/SQL 代码组成。APEX 大约由 215 个表和 200 个 PL/SQL 对象(包含 300,000 多行代
码)组成。
为了在应用程序内提供有会话状态行为,APEX 以透明的方式在数据库中管理会话状
态。应用程序开发人员可以使用简单的替换以及标准的 SQL 绑定变量语法获取和设置会话
状态。
2

5.4 APEX 主要特性
以下几部分介绍了 APEX 的主要特性。
报 表 : 使 用 APEX , 可 快 速 生 成 显 示 SQL 查 询 的 HTML 报 表 。 还 能 以
HTML、PDF、RTF(兼容 Microsoft Word)和 XLS(兼容 Microsoft Excel)格式下载和打
印报表。
可通过声明方式将各个报表链接在一起提供下钻报表,并使用绑定变量将信息从会话
状态传递至报表。报表支持声明式列标题排序、分组控制、汇总以及分页。报表排序和分
页可以使用部分页面刷新 (PPR) 技术来避免刷新整个页面。还可以向报表添加声明式链接,
以将报表数据下载为 CSV 或 XML 格式。此外,您可以使用模板对报表外观进行自定义。
表单:使用向导,可以基于表或存储过程轻松创建表单。基于表创建表单时,这些向
导将自动管理插入、更新、删除以及缺失更新检测等操作。一旦创建了表单,就可使用直
观显示的界面重新排列表单域(称为表单项),以快速获得想要的布局。表单项提供了丰
富的显示选项,包括文本域、文本区、单选按钮组、选择列表、复选框、日期选 择器、弹
出式值列表等。
图表:还可使用向导创建 HTML、SVG 或 Flash 图表。此外,可创建图表来支持用户
从一个图表下钻至另一个图表或报表。可使用部分页面刷新 (PPR) 技术刷新图表以避免刷
新整个页面。也可将图表配置为按指定间隔刷新。此外,还可利用报表列模板向任意报表
添加简单的 HTML 条形图。
电子表格上载:使用电子表格向导中的 Create Application 可快速地将电子表格数据直
接上载至数据库中。您可以选择将数据存储在新的数据库表中,或将其添加至现有数据库
表。一旦上载了数据,就可以快速创建应用程序了。通过这个方便的向导,只需单击几下
就可以实现电子表格与共享应用程序之间的切换。
会话状态管理:APEX 以透明的方式管理数据库中的会话状态(或应用程序上下文)。
表单将自动保存会话状态,记住会话中应用程序的上下文。在 SQL 和 PL/SQL 内引用会话
状态就像使用绑定变量般简单。例如,请看以下 SELECT 语句:
SELECT * FROM EMP WHERE EMPNO = :P1_ID
在本例中,P1_ID 项中的值在运行查询时自动进行绑定。还可通过给项名称加上前缀
& 符号和后缀句点 (.) 在静态上下文内引用会话状态,例如:&P1_NAME.
对于二维数据集的管理,APEX 提供了一个强健的集合基础架构。最值得一提的是,会话
管理是无会话状态的,不会消耗内存。
用户界面主题:APEX 将显示(或用户界面主题)与应用程序逻辑相分离。您可以用
一个主题设计应用程序,然后更改为另一个附带主题,或者创建和使用自己的自定义的主
3

题。通过将应用程序逻辑(如查询、流程以及分支)与 HTML 呈现分离,应用程序可在第
一时间利用新设计和其他技术,而无需重写应用程序。
流控制和导航:每个 Web 应用程序都需要导航,而每个动态应用程序都需要流控制。
APEX 提供了内置的组件,简化了导航控件的开发和维护。导航是通过使用声明式选项卡
(一级或二级)、路径式导航项、树控件以及链接列表来进行控制的。而流控制是通过使
用可在特定事件以及一定条件下起作用的声明式分支来实现的。由于导航控件的外观通过
模板控制,因此可轻松更改导航控件的外观。
所有组件上的条件控制:创建动态 Web 应用程序时,许多应用程序组件和处理都是具
有条件的。换言之,您只能基于应用程序上下文、数据、事件或权限显示或处理特定的信
息。APEX 使您能够以声明方式指定所有组件的条件性。这使得您可以精确控制用户可在
选项卡、按钮、项目、列表项等上看到的内容。
外部接口和可扩展性:尽管 APEX 为构建应用程序提供了强健的声明式环境,但您还
是可以选择开发自定义界面或控件。例如,如果一个组件不符合环境需要,您可以使用
PL/SQL 生成自己的自定义 HTML。您还可以使用 Web 服务调用外部服务。APEX 包含的
API 可以方便将电子邮件警报集成到应用程序中。此外,因为 APEX 驻留在 Oracle 数据库
中,所以您可以利用数据库本身的功能,如外部表、PL/SQL、数据库链接、网关以及数据
库 Java 来扩展应用程序功能。APEX 中也允许使用 JavaScript、CSS 以及 AJAX 等技术。
安全性:利用 APEX,您可以创建无需用户登录的公共应用程序,或创建要求身份验
证的安全应用程序。APEX 提供了许多内置的身份验证模式(包括一次性登录、数据库帐
户证书)和一个易于使用的用户管理系统。您还可使用可与任何身份验证服务(包括
Microsoft Active Directory 和 Oracle Applications)交互的自定义模式。
此外,您可自定义身份验证以满足环境要求,并选择性地对整个应用程序、页面或页
面组件应用身份验证。最后,您还可利用创新的会话状态保护特性来防止 URL 篡改,利用
内置特性来保护应用程序免受 SQL 注入攻击和跨站点脚本编写 (XSS) 攻击。
SQL Workshop 工具:SQL Workshop 提供的工具支持从 Web 浏览器查看和管理数据库
对象。使用 SQL 命令运行 SQL 和 PL/SQL 语句。Query Builder 支持通过拖放表格定义查询,
轻松创建对象间的关联。Object Browser 提供了一个易于使用的图形用户界面,可用于查看、
创建、浏览以及删除数据库对象。最后,您可使用 SQL 脚本工具创建、编辑、查看、运行
以及删除脚本文件。
Supporting Objects 实用程序:通过创建一个打包应用程序,您可以简化在另一个
APEX 中导出和安装应用程序所需的步骤。使用 Supporting Objects 实用程序,您可以通过脚
本处理应用程序定义,以创建数据库对象、种子数据、图像、层叠样式表和 JavaScript。
打包的应用程序的创建可向应用程序用户提供类似于安装程序的体验,并使在另一个
开发、测试甚至是生产实例中导入并安装应用程序的过程自动化。
性能:APEX 可为应用程序开发人员和应用程序用户提供极高级别的性能。因为
APEX 驻留在 Oracle 数据库中,所以其对网络流量影响甚小。此外,Application Builder 还
有许多监视报表,使你能够识别并调整应用程序性能。
打包的应用程序:打包的应用程序是一个可以使用和自定义的功能齐全的应用程序。
打包的应用程序不仅阐释 APEX 应用程序的有趣示例,还提供立即有用的战术性业务应用
程序。打包的应用程序可立即运行 — 它们提供数据库模式、种子数据、图像、应用程序定
义以及您所需的一切,安装只需使用向导即可完成。
4

托管开发:APEX 支持在单个数据库中托管大量用户。用户在一个称为工作区的专用
工作区域中工作。这种灵活的体系结构使单个数据库实例可以管理数千个应用程序。您可
确定供应(或创建)工作区的过程的工作方式。在请求供应模式下,用户在登录页面上使
用链接来请求一个工作区。工作区请求批准后,用户会收到一封包含链接的电子邮件,用
户必须单击链接来验证其电子邮件地址的有效性。然后他们收到一封具有其登录凭据的电
子邮件。
5.5 APEX 工作区和用户类型
应用 APEX 来开发应用程序的准备工作可按如下步骤进行:
1) 安装 Oracle 数据库
2) 安装 APEX,参见附录 1
3) 登录 APEX 管理界面,创建工作区,创建工作区用户
4) 登录 APEX 工作区,开发应用程序
现在假设 Oracle 数据库和 Oracle APEX 已经安装,我们来看一下如何创建工作区及工
作区用户。
那么,什么是工作区(workspace)?简单的说,工作区就是用户用来开发应用程序的
地方。工作区是一个虚拟的私有数据库,它能使多个用户同时使用相同的 APEX 实例,而
能保持其数据库对象和应用程序为私有,互不影响,互相看不到对方的工作从而也不会影
响互相的工作。每一个工作区都有一个唯一的 ID 和名称。
在一个 APEX 实例中,可以只创建一个工作区,由所有开发人员共享使用。也可以创
建多个工作区,在每个工作区内完成指定项目,并且只允许项目开发人员访问其项目所在
5
剩余63页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0