APEX快速开发介绍.doc
27页简介Oracle APEX的全称是 Oracle Application Express,曾命名为 HTML DB,是一个用于 Oracle 数 据库的快速 Web应用开发工具通过 Web浏览器以及少量的编程经验,数据库开发人员就 可以利用它开发和部署专业的应用程序开发、部署或者运行 APEX不需要额外的客户端软件,它的开发环境也基于浏览器 APEXM Web 2.0特性的开发也提供了多种支持,比如分页、基于 Ajax 的列选、动态创建报表以及 Web 服务开发等 Oracle Application Express 结合了个人数据库的质量, 企业数据库的生产效率、 易用性和灵活性, 以及 Web 的安全性、 集成性、可伸缩性和可用性,是一个比较优秀的 Web开发平台版本历史apex始于2004年,发展至今一共经历了 9个版本,它最初被命名为 HTML DB,但htmldb 这个名字在之前已经被另外一个产品使用了,于是在 2006 年第 4 版的时候更名为 Oracle Application Express:Oracle Application Express 4.0Oracle Application Express 3.2Oracle Application Express 3.1Oracle Application Express 3.0Oracle Application Express 2.2Oracle HTML DB 2.0Oracle HTML DB 1.6Oracle HTML DB 1.5运行环境1、 浏览器要求要查看或开发 Oracle Application Express应用程序,Web浏览器必须支持 Java脚本和HTML 4.0 和 CSS 1.0标准。
Oracle Application Express 建议使用以下浏览器进行开发或查看应用程序:微软 Internet Explorer 7.0 或更高版本Mozilla Firefox 3.6 或更高版本谷歌 Chrome 4.0 或更高版本苹果 Safari 4.0或更高版本2、 数据库及HTTP服务器要求推荐使用 Oracle Database 11g release 1 or 2, 11g自带的PL/SQL网关配置比较简单,能够直 接提供HTTP服务器的功能如果安装 Oracle Database 10g,就必须使用 mod_plsql 插件或是 Oracle Application Express 监 听器来连接专业的 HTTP服务器,具体内容见 WEB结构一节实际应用APEX在国内应用并不多,在网上找了一下,深圳有几家公司在上面进行过开发,除此之外 好像就只有Oracle中国一直在内部使用但 Apex在国外还是有相当大的市场,很多软件公司都有基于apex的解决方案,很多大公司、政府部门、学校机构都采用了 apex的应用,而apex的社区人气也非常高,在网上 oracle的官方论坛上查看各版块的发帖数量,就会发现apex的人气仅此于通用数据库及 PL/SQL处于第三位。
互联网应用在Orace apex主页的应用介绍中,可以看到超过 30个互联网应用的介绍,下面只列出几个比较有特色站点:美国犹他州运输部网站: http://www.udot.utah.gov ,该网站包含了超过 1000页的内容,其中包含了图片、文件的上传下载功能,而且网站每日点击超过 6000次Oracle 商店: 比利时最大的拍卖行: www.moyersoen.be 商业应用Apex的商业应用非常广泛,很多公司基于 apex提供企业级的ERR CRM等解决方案,包括Centroid公司、INSUM、K2C等都有基于apex的成熟产品,下面的几个产品则是针对医疗方 面的应用:Erin tech公司的CarePathPlus,是一个远程医疗系统,主要用于病人的护理管理,支持简单 的电子病历应用,支持影像处理应用,提供远程监控设备的接入功能,产品界面如图示:厂GBRe尸己Th-A 法国一家公司使用 apex开发了一个名为AGILAB的实验室信息管理系统,意大利有家公司也 有类似的产品体系结构Application Express使用用户计算机上的 Web浏览器通过 Web监听程序与 Oracle数据 库通信。
开发,部署或运行时不需要浏览器之外的任何其他客户机软件 Application Express页使用浏览器中的 HTML来呈现页请求和提交发送到 Oracle数据库中的 ApplicationExpress 弓 I擎Web BrowserOracle Ddldbase withOracle application Express运行机制Application Express引擎从存储在数据库表中的数据实时呈现应用程序当您创建或扩展应 用程序时,Oracle Application Express创建或修改存储在数据库表中的元数据当应用程序 运行时,Application Express引擎读取元数据并显示应用程序 Application Express完全驻留在Oracle数据库中它是由存储在数据表中的数据和大量的 PL/SQL对象组成,是约 425张表和230个PL/ SQL包,其中包含了超过 425000行代码Apex引擎包括:会话状态管理认证服务授权服务页面流控制验证处理页面渲染和处理APEX采用异步的会话状态管理架构,从而确保消耗最少的 CPU资源Apex将客户浏览器发送的 URL请求,解析成PL/sql调用,数据库处理 PL/sql调用,并将结果以HTML形式返回浏览器。
客户端每次请求或提交页面,重复上述处理 会话状态的管理都在数据库中进行,而并没有为每个会话启用专用的数据库连接 每一个页面的结果都在新的会话中,因此只有当 apex引擎处理或者呈现一个页面的时候才会消耗数据库资源Apex引擎处理web浏览器通过web服务器的访问,从存储在数据表中的元数据库中实时的 呈现应用程序,当建立或扩展应用程序的时候, 并不会产生新的代码,而是对元数据进行创建和修改apex引擎处理过程(读取元数据、授权验证、编译等)所需的时间,经过测量一般都是在 毫秒级,而打开一个页面大多数的时间都花费在了数据库交互、网络延迟、计算机将 html网页提交给浏览器这些过程上Web结构Oracle Applicati on Express架构需要某种形式的Web服务器来代理 Web浏览器和Oracle Applicati on Express引擎之间的请求apex支持3种web服务器:Apache MOD_PLSQL最早提供的访问 Oracle Application Express引擎的方法,就是通过配置 mod_plsql插件,使 用Oracle HTTP Server (Apache作乍为web服务器。
该插件中转 Web服务器与 Oracle数据库 中的APEX对象之间的数据通信,这样可以将浏览器请求映射到数据库存储过程调用;其中 的图像文件存储在文件系统上并由 Apache处理使用 Apache,可以将 Web监听程序放置在与数据库相同的物理计算机上,或放置在单独的物理计算机上,这样就可以将 Apache安装在多个服务器上,从而提供容错功能Oracle Application Express监听程序Oracle Application Express监听程序是 Apache mod_plsql的基于 Java的替代工具,它适用 于j2ee兼容的web服务器apex监听程序提供了对以下平台的支持: Oracle Weblogic Server,Oracle Glassfish Server, OC4 J等WobW?b @(qwu?(W?b @(qwu?(Web Server亠 kAPfx LHtenerJ2EEWeb ServerConnection PtXJ^ 1Oracle Database withOr^cte Application ExpressFirvwdl比女口 WebLogic或 Apache Tomcat,使用监听程序最大的好处就是它支持各种主流应用服务器,它提供了更多的功能,包括基于 Web的配置、增强的安全性和文件缓存功能。
监听程序使用嵌入式JDBC驱动程序,这样它在提供连接性时无需再访问Oracle 主页,因此 OracleAPEX Liste ner 的使用简化了部署过程 Oracle APEX Liste ner安装在J2EE兼容的 Web服务器上,为用户提供到相应服务的直接链接OORACLjG' Applic^rion Express ListenerAdministrationConneciiPiiir>CiidHiiy Pie Fm! Proc swingCoim«cti«nUs^rreini^ap 曰CPuaxjjtseRv.Canne 匚勺inn Tyj m・ JOB匚 S^tting&Appk以Tomcat为例,配置好后会在temp/apex目录下生成 apex-config.xml配置文件该配置界 面只在第一次使用时有效,如果之后需要修改参数,则需要先配置好 WEB服务器的用户权限(admin role)编辑 tomcat-users.xml 文件:
嵌入式PL/SQL网关嵌入式 PL/SQL网关(EPG)在Oracle数据库的 XML DB HTTP服务器中运行,它包括 mod_plsql的核心功能,但不需要 Apache支持的 Oracle HTTP ServeEPG存储和处理所有 文件,包括数据库中的图像, CSS和JavaScript, EPG在较小的配置中非常方便 Oracle不建议较大规模的正式版用例或面向 In ternet的应用程序使用EPG是Oracle 11g的一个新特性,它是 oracle数据库的一部分,epg使oracle数据库能够作 为一个web服务器,提供创建动态应用的基础服务,这样相当于采用了数据库单层架构,使得在系统架构上得以极端简化, 所有运算都在数据库中完成, 这样的单一层次架构, 其性I Owde DautMW with Oracle ApplicaiionWeb能就完全取决于 DBA和开发人员的能力了EPGfEmteddedPli^SQl iSaie-iw;a尽管11g内置的EPG可以当做一个逻辑上独立的 WebServer来用,Oracle的技术顾问也认为在应用规模不大的环境下,该方式比 DB + WebServer的两层架构性能更佳,但是在我个人的使用过程中,发现它在性能上还是存在一些问题的, 但由于时间关系,并没有进行详尽测试,故也不敢断言;不过对于正式环。





