关于Forms转换到APEX小记

Posted on February 26, 2010

Oracle Forms是非常高效、健壮的开发工具,它的历史已经超过了20年,在今后几年里将会继续完善和支持下去。APEX已经具备了相当多的Web 2.0因素,它继承了Oracle Forms最大优势,那就是几乎可以用PL/SQL来完成所有的开发工作,对于企业内部应用,它无异成为了首选的平台。在这种趋势下,自APEX 3.2版本开始,就引入了Forms Converter,该工具用于将传统的Forms应用转换到APEX应用,对于一些Oracle Forms应用丰富、历史悠久的企业而言,它是相当吸引眼球的。

从FastForms到SQL*Forms,从CS架构到现在基于Web的WebForms,Oracle Forms的基础结构却变化不大,本质依旧是Java程序,程序逻辑的实现几乎完全基于SQL和PL/SQL。APEX则是非常纯粹的WEB应用开发平台,它需要的是PL/SQL、Java Script、CSS和最基础的HTML知识。对于开发人员而言,两者需要技术技能几乎相同。从Oracle Forms转移到APEX,对开发人员的技能培训几乎可以省略。Oracle Forms的几个核心组件:块(Block)、触发器(Trigger)、PL/SQL库、值列表(LOV)都可以交由Forms Converter完成转换。

转换器会生成XML格式的原数据文件,然后上传到APEX生成具体的Web应用。在这里,转换器的作用是“转换”,而不是“迁移”。两个平台在技术上是不同的,从而导致某些功能上的差异,比如Forms中的快捷键在目前的APEX中是不存在的,此外,Forms中某些java beans的应用也无法在APEX上实现。Oracle Forms和Oracle APEX各元素的差异主要如下表所示:

Oracle Forms Oracle APEX
Alerts 在应用层或页面上的验证逻辑中实现文本消息
Blocks 在APEX是区域(Region)
Canvases 在转换过程中被忽略
Editors HTML编辑器
Lists of Values 记录组在转换过程中将会被调整
Program Units 对应PL/SQL程序单元
Triggers APEX中没有触发器,不过页面查询过程有相应的机制实现逻辑,比如Processes

对于APEX 4.0版本,或许还有另外一些特殊的差异,比如Websheets,内置的图表引擎(这是非常酷的,可以做简单的BI),加强的Web Services功能等。在用户界面上,Oracle Forms响应迅速,而APEX则可以通过AJAX特效实现类似功能。

关于转换的具体操作,可以参考《Oracle® Application Express Application Migration Guide,这本书《Oracle Application Express Forms Converter》有更详细的介绍。

Related Posts

  1. 为什么要学APEX

» Filed Under APEX Print This Post Print This Post

Comments

3 Responses to “关于Forms转换到APEX小记”

  1. 明 强 on March 12th, 2010 13:43

    咦 ADF不是用来取代FORM的吗? 怎么还有个oracle apex啊! ADF是基于javaEE基础上的!

  2. Zeeno on March 12th, 2010 14:04

    Oracle ADF 是相对独立的开发框架,目前,ADF没有被EBS应用认证过,也就是说,虽然可以做到使用ADF来扩充EBS,但这并非是一种推荐的方式。

    当然,从趋势角度来看,今后的EBS将更多采用Fusion技术,目前采用OAF开发的业务逻辑可以方便的迁移到新平台中。

    APEX的前身是HTML DB,是一种完全基于WEB的开发框架,在功能上,能够实现多数的Web应用,但是在技术上,是和ADF完全不同的存在。至于ADF是否用来取代Form,这个恐怕目前还是无法肯定的,至少Oracle并没有停止Oracle Form的改进和支持。

  3. 明 强 on March 12th, 2010 18:55

    今天下班 在说笑中请到了三天假 他问我做什么 随便也提到了谢哥你的博客 我老大说了下他05年就做了一年多APEX 也提到了APEX的前身是HTML DB,看来他记性很好啊!呵呵 老大顺便说了下 要是他去做这些事情就比较简单了 还提到了你们有没有实现metadata ,数据库对象及元数据从开发环境到生产环境的快速迁移。

Leave a Reply