APEX快速开发介绍 联系客服

发布时间 : 星期日 文章APEX快速开发介绍更新完毕开始阅读248ab0caa1c7aa00b52acbfe

使用监听程序最大的好处就是它支持各种主流应用服务器,比如WebLogic或Apache Tomcat,它提供了更多的功能,包括基于Web的配置、增强的安全性和文件缓存功能。监听程序使用嵌入式 JDBC 驱动程序,这样它在提供连接性时无需再访问 Oracle 主页,因此 Oracle APEX Listener 的使用简化了部署过程。Oracle APEX Listener 安装在 J2EE 兼容的 Web 服务器上,为用户提供到相应服务的直接链接 。

以Tomcat为例,配置好后会在temp/apex 目录下生成 apex-config.xml 配置文件。该配置界面只在第一次使用时有效,如果之后需要修改参数,则需要先配置好WEB服务器的用户权限(admin role)。编辑tomcat-users.xml 文件:

Listener 参数修改后会立即生效。

嵌入式 PL/SQL 网关

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

EPG是Oracle 11g的一个新特性,它是oracle数据库的一部分,epg使oracle数据库能够作为一个web服务器,提供创建动态应用的基础服务,这样相当于采用了数据库单层架构,使得在系统架构上得以极端简化,所有运算都在数据库中完成,这样的单一层次架构,其性能就完全取决于DBA和开发人员的能力了。

尽管11g内置的EPG可以当做一个逻辑上独立的Web Server来用,Oracle的技术顾问也认为在应用规模不大的环境下,该方式比DB + Web Server的两层架构性能更佳,但是在我个人的使用过程中,发现它在性能上还是存在一些问题的,但由于时间关系,并没有进行详尽测试,故也不敢断言;不过对于正式环境,还是建议使用独立的Web Server。

安全体系

Oracle Application Express 提供了多种安全功能,可以增强应用程序开发和运行时的安全性。管理员可以配置 Application Express 实例和相关应用程序,以要求使用带有安全套接字层 (SSL) 的 HTTPS 协议。管理员还可以定义口令复杂性规则和重用策略。

应用程序开发者可以启用会话状态保护,这将在 URL 中集成校验和功能,防止发生篡改和未授权访问。还可以确保仅在会话状态中保存必需的数据,并且只要存在敏感信息 (例如 SSN),就会对值进行加密以使其无法从应用程序外部读取。

登陆验证

验证用于确定是否允许用户访问应用程序。除非应用程序为无需验证的公共应用程序,否则最终用户必须指定用户名和口令以获取访问权限。Oracle Application Express 提供了多种内置验证方案,包括:

? Oracle Application Express 托管用户 ? 单点登录

? 数据库帐户身份证明 ? 定制方案

定制方案也可以用作与任意验证服务之间的接口,包括 Microsoft Active Directory 和Oracle

应用产品。

授权方案在 Application Express 中用于根据用户权限来控制组件的呈现和处理。可以将授权应用于整个应用程序,或者选择性地应用于页或页组件 (例如选项卡,区域,按钮,项,验证,处理等)。授权方案可以成功或失败。只有关联的授权方案成功,用户才能查看或使用组件。

工作区管理员可以创建新 Application Express 用户帐户,管理现有用户帐户和更改用户口令。Application Express 用户帐户可以为工作区管理员,工作区开发者或最终用户。开发权限是使用 Oracle Application Express 用户帐户定义的,不过 Oracle Application Express 应用程序可以使用外部验证方法来运行。Oracle Application Express 用户帐户可以被锁定,并且支持口令失效和口令复杂性以及其他规则。

帐户管理

工作区管理员可以创建新 Application Express 用户帐户,管理现有用户帐户和更改用户口令。Application Express 用户帐户可以为工作区管理员,工作区开发者或最终用户。开发权限是使用 Oracle Application Express 用户帐户定义的,不过 Oracle Application Express 应用程序可以使用外部验证方法来运行。Oracle Application Express 用户帐户可以被锁定,并且支持口令失效和口令复杂性以及其他规则。

安全编码

? 跨站点脚本编写

跨站点脚本编写 (也称为 XSS) 是一种利用动态生成的 Web 页的安全攻击行为。在 XSS 攻击中, Web 应用程序发送一个脚本,当用户浏览器读取应用程序时将激活该脚本。激活脚本后,这些脚本可以盗窃数据,甚至是会话身份证明,然后将信息返回给攻击者。如果在 Oracle Application Express 应用程序中植入了恶意代码,则在正常页呈现过程中,这些代码会呈现到 HTML 区域和应用程序中的其他位置。要了解有关潜在漏洞和可将此类风险最小化的安全编码实践的详细信息。 ? SQL 注入

使用 SQL 注入可以将应用程序的输入流入到 SQL 语句中,从而有效地对 SQL 语句进行变更。一种确保 SQL 语句免受 SQL 注入的非常有效的方法是使用绑定变量。Oracle Application Express 支持在所有 SQL 和 PL/SQL 语句中使用绑定变量。要构建安全应用程序,必须确保在所有动态 SQL 中,没有任何最终用户输入可以注入到 SQL 语句。 ? 保护会话状态

会话保护状态是一种内置功能,可防止黑客篡改应用程序内的 URL。URL 篡改反过来会影响程序逻辑,会话状态内容和隐私信息。启用会话状态保护的过程分为两步。首先启用该功能,然后设置页和项安全属性。

实例管理员可以定义 Application Express 开发者的最大会话长度和最大空闲时间。同样,开发者可以为各个应用程序定义用于仲裁最终用户访问的最大会话长度和空闲时间。

对于测试和正式版实例, Oracle Application Express 支持只安装运行时版本的功能。这可以将安装的覆盖区和权限降到最低。由于在运行时实例中,开发者不会在无意中更新任何应用程序源,这也有助于提高应用程序的一致性。

特性

数据库集成

Oracle Application Express 紧密地集成到 Oracle 数据库。 Apex提供了三种数据库集成的数据入口: ? 替代字符串

替代字符串可以用于以下情况:

引用模板中包含的元素值,这种情况下使用符号(#),例如:#WORKSPACE_IMAGES#,该例引用存放上传图像、文件的虚拟目录地址 引用页面或应用程序中的项目,这种引用格式要求使用项目的大写名称、在项目名称前附加符号(&),在项目名称后附加符号(.),例如:一个项目名为F101_ITEM,在任何可以使用静态文本的位置(区域名称、项目标签等),都可以用&F101_ITEM.引用该项目名称。

引用apex内置的替换字符串来实现特定的功能,例如:&APP_ID.标识当前正在运行的应用程序id。

? SQL绑定变量

绑定变量用以在编写本地的 SQL 查询和 DML 操作。使用绑定变量语法可以访问绑定变量对应的页面项目值。它主要用于类型定义为SQL查询的页面区域(同样也适用于PL/SQL类型的区域),在这里可以使用标准的sql查询,例如: select ename, job from emp where empno = :P2_EMPNO ? PL/SQL语法 在页处理、应用程序级处理、组件条件文本、将 PL/SQL 作为区域源的时候,可以使用PL/SQL语法。在PL/SQL语法中也可以使用绑定变量语法,从而引用会话状态或设置会话状态等。 在PL/SQL语法中也可以Oracle 数据库程序包、过程和函数的调用。例如: begin

htp.p('HELLO WORLD'); end;

在apex中也可以查询以 XML 形式存储的数据;访问 XML类型的数据可以利用 Oracle XML DB 功能的xpath查询:

selectXMLCast( XMLQuery ('$p/PurchaseOrder/Reference/text()'

passing object_value as \ frompurchaseorder

whereXMLExists('$p/PurchaseOrder[User/text()=\ passingobject_value as \

PL/SQL语法也可以处理blob数据,例如: declare

l_thumb blob; begin

-- resize image

selectblob_content into l_thumb from mytable where id = :ID