apex 和 adf 的区别

difference between apex and adf

如果需要从 Oracle Forms 10g 迁移,Apex 或 ADF 哪个更好

If Apex then Why and Why not ADF

If Adf then Why and Why not Apex

显然,这将是一个 opinion-based 答案。

他们 说 "Forms is dead" 至少二十年了,但是 - Forms 仍然存在。印度的人仍在用 6i 开发应用程序,我不确定他们是否已切换到 Web(我怎么知道?通过阅读不同 Oracle 论坛上的问题)。

对于想要放弃 Forms 的每个人来说,ADF 看起来都是一个不错的选择。 ADF 看起来很漂亮。 ADF 为 Java。我不喜欢 Java(但这无关紧要)。 ADF 不是一个简单的工具,不懂 Java 的人可能会遇到某些问题。您可能知道使用 Forms 创建 master-detail 表单(例如,基于 Scott 的 EMP 和 DEPT 表)是多么简单?几分钟的事。我不了解 ADF,但我看过一位 Java 开发人员花费 小时 (字面意思)来完成相同的任务(同时,另一个人在 Delphi 中创建它的速度甚至比在 Forms 中更快。

APEX 比 ADF(和 Forms,老实说)简单得多。您只需要 web-browser。没有复杂的 IAS 或 Web 逻辑安装、JInitiator 和其他东西......好吧 - 如果必须,嵌入式监听器会完成它的工作,但你最好切换到 ORDS。如果您有一般的 (PL/)SQL 背景,创建一个 Apex 应用程序是几个 hours/days 的事情,您将有一个 nice-looking 应用程序。它有多坚固?是的,据我所知。作为开发者,你呢?幸运的是,你在 Apex 19.x 出来的时候来了。在 pre-dynamic 动作时代 (3.x),你会很痛苦,因为 Forms 做任何事情都需要触发器——Apex 中有 none。但是现在,现在你有了动态动作,这是迄今为止最接近触发器的东西。

如果您将逻辑保留在数据库中(存储过程、程序包)并让 APEX 负责 向用户很好地呈现,您应该不会遇到太多问题。我听说(就在昨天)我认识的 ADF 开发人员也在做同样的事情——将所有内容保存在数据库中并使用 ADF 创建一个不错的应用程序。用户不喜欢 Forms 应用程序,因为它们看起来 丑陋 。但是,嘿,他们知道什么?表单应用程序 - 如果编写得好 - 是非常好的、健壮的、可靠的软件。

我听说(在一次 OUG 会议上)- 在 OpenWorld 上 - 有 zillion 个 APEX 演示文稿和 zero 个 ADF .现在Apex,ADF好像出局了。

我想将我的 Forms 应用程序迁移到任何应用程序吗?不,我不会。我很同情你。

取决于您的开发人员的经验和知识以及您想使用哪种语言进行开发。 ADF 实际上是 2 个产品(好吧,实际上是 4 个...)ADF 业务组件 (ADF BC) 是后端服务器 ORM 框架,ADF Faces (JSF) 是用于前端服务器生成的网页。

ADF 是一个完整的 JEE 解决方案,使用 servlet、JSP/JSF、ORM 以及复杂的并发和数据管理。它适用于那些希望为其应用程序提供 Java 解决方案的人。也就是说,大多数人离开 ADF Faces(前端)转而使用 JET(JS)或 APEX(PL/SQL)并选择 ADF BC,因为它具有以声明方式创建 RESTFul Web 服务的出色能力,这可以使用自定义 Java 代码进行扩展。 ADF BC 可以使用许多不同的数据源和数据库——基本上是任何具有 JDBC 驱动程序的数据源和数据库。 APEX 仅是 Oracle 数据库。

从 Forms 到 APEX 的迁移要直接得多,APEX 中有迁移工具可以帮助实现这一点。 APEX 全部是 PL/SQL,而 ADF 是 Java。

如果是我,如果我想要一个基于 Oracle 数据库的 Web 应用程序或从 Froms 迁移,我会使用 APEX。非常了解 Java,如果我必须创建 RESTFul Web 服务并且需要与不同的服务器和源集成,我会使用 ADF BC。虽然我可以在 APEX/ORDS 中创建 RESTFul Web 服务 - 它只是一个 SQL/PL/SQL 解决方案,ADF BC 允许在任何数据中使用 Java来源。