关于表单现代化转型的合作伙伴专家研讨会

观看由软件开发副总裁 Joel Kallman 主持、全球 APEX 社区的多位专家共同参与的 Oracle 表单现代化转型研讨会。了解使用 Oracle APEX 实现 Oracle 表单应用现代化转型能带来的好处以及面临的挑战。此研讨会中将讨论真实的成功案例、挑战和技巧。

参与者

Joel Kallman(主持人)
Oracle 软件开发副总裁,美国俄亥俄州哥伦布

Dario Bilić
BiLog 董事会成员和经理,克罗地亚萨格勒布

Simon Greenwood
Explorer UK Ltd. 的开发服务主管,英国利兹

Sergei Martens
Smart4APEX 管理合伙伙伴,荷兰蒂尔堡

Francis Mignault
Insum Solutions 首席技术官和共同创始人,加拿大蒙特利尔

可以在 APEX 问答时间网站上观看录制的视频:https://apex.oracle.com/officehours

讨论要点

问题 1

是否可以简要介绍一个您已完成的项目(或正在进行的某些工作)?(11:55)

Dario:

  • 欧洲地区的一家大型银行
  • 500 个 Oracle 表单;600 个 Oracle 报表
  • 试用了 APEX、采用 Angular 的 Java 和 .NET,并尝试了升级到表单 12c
  • 根据试用结果,选择了 Oracle APEX

Simon:

  • 管理天然气智能仪表和电表的能源领域 ISV
  • 英国 6 大能源供应商中已有 4 家在使用
  • 正在转换 100 多个表单
  • 进行现代化转型的原因是
    • 需要 SaaS 产品来支持软件交付(仅限浏览器)
    • 自适应的现代设计,不仅支持桌面,也要支持平板电脑
    • 入门成本较低
    • 需要面向未来的云方案,而不是 Oracle 表单云服务
    • 要扩展到欧洲,因此需要支持多语言
    • 表单开发人员已具备学习 APEX 的必备技能

Sergei:

  • 石油和天然气行业的储罐终端公司
  • 实现 Oracle 表单的现代化转型,以准备迎接未来的预期成长;进行重整,以更好地满足业务需求。
  • 开始在 ADF 上犹豫,后来相信 APEX 会更快
  • 由 2 个团队开发关键任务应用,每个团队 10 个成员

Francis:

  • 美国大型的邮轮、船舶财产管理系统(登船、岸上活动、宾客服务、后勤部门和报表)
  • 数年完成了多个项目
  • 300 个表单已实现现代化转型,积累了大量报表
  • 进行现代化转型的原因是
    • 性能问题
    • 改进了 UI
    • 能够利用所有 PL/SQL 投资

问题 2

您在使用 APEX 实现现代化转型时采用了哪种方法?重写,部分迁移,还是创建与现有 Oracle 表单应用相近的新应用?(20:50)

Simon:

  • 应根据环境来考虑所有情况
  • 通常,完全重写以利用许可费用更低的优势,等等
  • 可以但不应该采用类似的架构 — 表单基本上是客户端/服务器架构
  • 使用 APEX 构建现代 Web 应用
  • 没有“一劳永逸”的方法可以将表单迁移到任何其他工具 — 必须重新开发
  • 重用尽可能多的代码

Sergei:

  • 从一对一(或更多)迁移开始,以便开发人员学习 APEX
  • 将触发器逻辑移至数据库逻辑
  • 选择容易实现的新功能,使企业乐意接受
  • 考虑迁移“用户组”,使他们不必既要使用表单又要使用 APEX

Francis:

  • 难以判断“一次大变革”是否能处理一个项目中的方方面面
  • 部分重写以扩展现有应用 — 按模块
  • 先了解 APEX,再开始使用 APEX 处理现有表

问题 3

您在这种类型的项目中遭遇过哪些大挑战?(29:40)

Sergei:

  • 转变表单开发人员的思维方式 — 从尽可能集中在一个页面上转变为 Web 友好设计
  • 对于大型项目,设置 UI 标准并保持一致
  • 范围逐渐增加 — 企业不断提出新功能要求

Simon:

  • 表单开发人员习惯使用持久数据库连接,因而需要使用临时表 — 在 APEX 中,需要使用 APEX 集合
  • 多行编辑页面
  • 在 APEX 中,使用项目和块触发器进行验证,而不必等到提交页面时才验证
  • 试图完全照搬表单处理(例如,跨多个页面)时出现问题

问题 4

给客户带来了哪些显著优势?客户对结果是否满意?

Dario:

  • 购买数据库许可就已获得 APEX,因此从表单迁移到 APEX 可以节省成本
  • 表单开发人员经重新培训就能使用 APEX — 显著节省成本
  • 即时迁移到 Web 技术 — 实现 Web(集中式)部署,不必向数千个最终用户推送
  • 使用 APEX 可提供移动和 REST 服务功能
  • 现代应用更吸引业务用户

Francis:

  • 利用现有的 Oracle 投资 — 许可、数据模型、相同的技术堆栈
  • 培训表单开发人员使用 APEX 比培训其他 Web 技术更容易
  • 迈入 21 世纪 — 移动、自适应的现代应用

问题 5

我们多次谈到保留您的后端业务逻辑以及 SQL 和 PL/SQL 投资。这是否可以实现?需修改多少后端代码才能在使用 APEX 的新环境中正常工作?(41:50)

Francis:

  • 如果逻辑位于数据库中(不在表单内),几乎可以利用所有代码
  • 如果逻辑内置在表单中(或由设计器生成),则很难了解并提取业务逻辑
  • 可以使用 APEX 中内置的 APEX 表单迁移功能对逻辑进行批注
  • APEX 采用尽可能接近表单的开发方法 = 更易于重用

Dario:

  • 表单中的大多数代码 — 必须尝试全部移至数据库
  • 如果代码已经在数据库中,则非常容易重用。

问题 6

对于某种情况是否适合使用 APEX 实现现代化转型,能介绍下您采用的评估流程吗?有没有无法使用 APEX 实现表单应用现代化转型的示例?(46:30)

Simon:

  • 有些情况不适合采用 Web 框架,例如,执行桌面操作的 web_util
  • 根据表单触发器中的代码量来确定工作量
  • 查看哪些部分仍在利用(不再使用 = 不必进行现代化转型)

Dario:

  • APEX 采用基于 Web 的架构,而不是客户端/服务器架构(后者存在一些限制)
  • 表单对客户端进行较多控制,这不是真正的“Web”该做的事
  • 可以使用插件及其他技术来实现客户端要求

问题 7

如何指导具有表单背景的其他人使用 APEX?APEX 基于 Web,而 Web 是一种不同的技术。(50:55)

Sergei:

  • 对公司内的表单开发人员进行了 3 个阶段的培训
    • 初级 — 介绍 APEX 基础知识;然后让开发人员在实践中学习更多知识
    • 中级 — 呈现阶段、客户端阶段、处理阶段
    • 高级 — 优秀实践和标准;一致性
  • 在他们开始开发时,讨论 JS 和 CSS
  • 建议安排 JS、CSS、HTML 方面的 Web 开发人员专家

Dario:

  • 建议有 Web 技术专家加入团队,帮助理解新的 Web 技术
  • 专门针对需要现代化转型的表单开展研讨会
  • 让他们了解 APEX 社区(twitter、apex.world)的强大作用
  • 鼓励他们提出问题(甚至进行 Google 搜索)
  • 为多个页面/应用都需要的通用功能构建插件
  • 考虑第三方框架,例如 FOEX

Francis:

  • 向表单开发人员介绍 Web 的工作原理并指出“思维转变”的重要性
  • 让他们动手操作并构建简单的应用
  • 与他们合作,向其传授开发准则
  • 了解如何调试/跟踪应用
  • 还需培训最终用户 — 屏幕显示和流程将会不同

问题 8

目前的表单开发人员经过多长时间的培训后能够进行 APEX 和 Web 开发?之后的开发是否仅靠他们自己?(1:01:45)

Dario:

  • 42 分钟
  • 经培训后,几周之内就能进行开发,会需要支持
  • 一到两个月后,生产能力进一步提升,无需太多支持

Simon:

  • 几天内能入门,几周后能开发
  • 像 JavaScript 或 jQuery 等其他 Web 技术需要的时间较长,可能需要数月
  • 开发人员爱上使用 APEX,这需要时间和经验累积

问题 9

客户可以自行迁移吗?这个问答时间论坛中有我们的许多合作伙伴,如果我了解这种情况,我可能会想“喔,我需要外界帮助来完成此工作”。您觉得怎么样?

Francis:

  • 如果他们已经了解 APEX,则可以轻而易举地自行开始迁移
  • 让有经验的指导人员/合作伙伴来帮助您会非常有用
  • 合作伙伴拥有工具,可以提供培训及其他帮助
  • 合作伙伴在应对挑战、确保安全性、选择合适的方法等方面具有丰富的经验
  • 客户应从小的原型开始

Sergei:

  • 小型应用没有问题
  • 对于大型应用,建议参照合作伙伴的优秀实践(版本控制、环境、插件...)
  • 尤其在前几个月,务必寻求适当的帮助

问题 10

对于遇到这种情况并正在考虑使用 APEX 对部分表单应用进行现代化转型的任何人,您有什么具体建议?(1:08:40)

Dario:

  • 业务用户和管理层都希望这样,开发人员也确实乐意这样做,那就动手开始吧
  • 参加 Oracle 或 APEX 会议,看看大家的热情和精彩内容

Simon:

  • 下载新版 APEX
  • 在 apex.oracle.com 上注册
  • 表单开发人员可以快速掌握 APEX
  • 查看现有应用,确保页面仍在使用
  • 没有“一劳永逸”的迁移方法 — 基本上是重新设计
  • 参见与表单相关的白皮书《Java 客户端路线图》,对未来情况做出预估
    { https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}

Sergei:

  • 从小项目开始 — 选择可以快速获得结果的小项目
  • 研究报告功能,例如,交互式报表、交互式网格等

Francis:

  • 立即开始使用 APEX — 动手操作
  • 计划 UI,计划安全性(验证和授权),计划导航
  • 分阶段开发,不要“一次大变革”
  • 保持简单 — 尽量减少不必要的功能
  • 不要尝试复制表单
  • 更改管理 — 需要培训用户、开发人员、分析员、数据库管理员
  • 加入 APEX 社区