关于Oracle Application Express
我终于意识到了,Oracle 到底有多强大!!不至于数据库,还可以进行低代码快速开发Web应用!!
Oracle APEX 技术,真正的小众,但又很优秀的技术,不知道为什么没有学习资料站,也没听说有企业应用使用它开发,难道没人发现过这个优秀的伪全栈技术
嘛?!
我感觉我离全栈工程师的距离,只差一个APEX !!
# 了解Oracle APEX
Oracle Application Express (Oracle APEX)
以前称为 HTML DB, 它是 Oracle 数据库的一个完全支持的 "无成本
" 选项。Oracle Application Express 通过了 Oracle Database 10.2.0.3 的所有版本和更高版本的认证, 包括 Oracle Database 10g Express Edition (Oracle XE)。
Oracle Application Express 的最新版本可以从 Oracle 技术网 (OTN) [http://otn.oracle.com/apex] 免费下载
# Oracle APEX 适合做神马?
Oracle APEX适合做企业应用,即 ERP、CRM 等管理类应用产品。
这类产品的特点是对UI和并发要求不像互联网产品那么高,但同时业务逻辑相对更复杂,更适合企业内部使用。
通过 Oracle APEX 可以完成前端 + 后端的所有工作,而且基本属于零代码开发,无论从开发效率,还是开发质量方面,都不是传统企业开发工具或者技术能够比拟的,这一点在后面使用过程中大家就会深刻体会到。
# 浏览器即IDE?只用APEX,实现伪全栈开发!!
只需使用 Web 浏览器并具备一些编程经验, 即可在数分钟内开发以数据为中心的应用程序。
在大多数计算机上, 通过基于浏览器的开发, 只需使用现代 Web 浏览器即可开发应用程序
。
所以,常规开发所需要的 JDK + Tomcat + Maven + IDE + HTML + CSS 等等,都不需要了!!
你只需要安装有 Oracle APEX ,一个浏览器,就可以进行 web全栈开发
了!!
# 快速应用程序开发 (RAD)
使用简单向导
和声明性编程
可以创建功能强大的报告和数据输入应用程序。
# 创建应用程序的方式:
- 从上载的电子表格创建应用程序
- 在现有数据库表和视图的基础上创建
- 通过 SQL 工作室, 在其中可以创建和管理支持应用程序的数据库对象
# 声明性开发
# 1、什么是声明性开发?
Application Express
中的代码是声明性:
这表示
无需生成或编译代码
, 您只需与向导和属性工作表交互。如果需要使用
过程逻辑
, 则可以使用 PL/SQL 编写代码片段
。Application Express
引擎使用数据库表中存储的数据实时呈现应用程序
。创建或扩展应用程序时, Oracle Application Express 会创建或修改元数据。当应用程序运行时, Application Express 引擎会随之基于元数据显示页或处理页提交操作。
# 2、声明性开发的优势
- 声明性代码在不同开发者之间造成的差别较小, 这种一致性使得应用程序
易于维护和管理
。 - 多个开发者可以编辑同一页, 并且所做更改在应用程序运行时会立即生效,
无需任何编译或部署工作
。
# 3、Oracle Application Express 中的声明性编程示例:
表单 使用向导可以方便地在表或存储过程上创建表单。在表上创建表单时, 这些向导可以自动管理插入, 更新和删除, 并且可以检测丢失的更新。创建表单之后, 可以使用直观的表示形式重新排列表单字段 (称为表单项), 从而快速地实现所需的布局。
交互式报表 要创建交互式报表, 开发者可以选择表或提供 SQL 语句。然后, 开发者可以根据需要限制向最终用户提供的功能 (例如禁用下载, 不允许隐藏列)。最终用户将会看到报表, 并且应用程序的所有报表中的功能都相同 (例如, 如何过滤, 突出显示, 订阅和保存定制视图)。
会话状态 Oracle Application Express 在数据库中透明地管理会话状态。不需要 SET 和 GET, Oracle Application Express 将为您处理所有事宜。应用程序开发者可以
使用简单的替换以及标准 SQL 绑定变量语法来访问会话状态
。
创建一个处理来清除某个页的会话状态是非常简单的, 只需单击数次鼠标并指定所需页即可。
# Application Express 组件
# 1、应用程序构建器:数据库应用程序
应用程序开发者使用向导以声明方式装配
按页组织
的应用程序。页内容组织到区域中。区域可以包含文本, 定制 PL/SQL, 报表, 图表, 地图, 日历, Web 服务引用或表单。
表单由可从多个内置类型 (如文本字段, 文本区域, 单选组, 选择列表, 复选框, 日期选取器和弹出式值列表) 中选择的字段组成 (称为“项”), 或者开发者可以使用插件支持创建自己的类型。
表更新功能是内置的
, 并且可以使用 PL/SQL 来处理数据。会话状态 (或应用程序上下文) 是透明管理的,
用户界面表示形式独立于应用程序逻辑
, 因此应用程序的外观只需通过选择不同主题即可更改
。
# 2、应用程序构建器:Websheets
- 使用 Websheet 应用程序, 最终
用户无需开发者协助就可以管理结构化和非结构化数据
。 - 页区段包含非结构化数据, 并且可以使用
WYSIWYG 编辑器
编辑。 - 报表提供了通过编写 SQL 来访问数据库数据的功能。
- 数据网格可以管理结构化数据, 而
无需编写 SQL
。 - 使用运行时对话框可以定义如何添加列, 重命名列和执行验证。
- 数据网格数据的每一页和每一行都可以使用文件, 标记, 注释和链接进行注解。
- 页可以包含区段以及报表和数据网格, 并且所有这些内容都可以链接起来以提供导航。
所有信息都可由最终用户搜索和完全控制。
# 3、SQL 工作室
SQL 工作室提供了可
用于查看和管理数据库对象的工具
。通过
对象浏览器
可以使用树控件查看对象属性和创建新对象
。使用 SQL 命令工具可以
输入临时 SQL
。通过
查询构建器
可以使用拖放功能创建联接查询。使用 SQL 脚本可以存储和运行脚本。
使用数据工作室可以
加载和卸载文本, DML 和电子表格数据
。
# 4、小组开发
小组开发有助于
管理应用程序开发的生命周期
。它提供了对应用程序功能, 待办事项条目, Bug 和最终用户反馈的跟踪和管理。
小组开发紧密地集成到 Oracle APEX 应用程序构建器中。
例如, 编辑页时将列出打开的反馈, Bug 和待办事项。
# 5、管理
- 每个 Oracle APEX工作区都是完全与其他工作区隔离的独立应用程序开发环境。
- 管理组件提供了
工作区管理功能
, 包括服务 (可用方案, 空间请求和首选项), 用户 (同时包括开发者和最终用户
) 和工作区活动 (页访问, 登录尝试和开发者活动)。 - 只有具有工作区管理权限的 Oracle APEX 开发者才能进行访问。