【问题标题】:difference between apex and adf顶点和adf之间的区别
【发布时间】:2019-09-15 05:38:17
【问题描述】:

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

If Apex then Why and Why not ADF

If Adf then Why and Why not Apex

【问题讨论】:

  • 更好是非常主观的,因此无法回答。 APEX 可能比 ADF 更类似于 Forms,因为它们是用于生成应用程序的代码相对较低的框架。 ADF 是一个用于生成企业 Java 应用程序的框架,因此您可以了解企业 Java 应用程序的所有优点和缺点。

标签: oracle oracle-apex oracle-adf


【解决方案1】:

显然,这将是一个基于意见的答案。

他们说“Forms 已经死了”至少有二十年了,但是 - Forms 还活着。印度的人仍在使用 6i 开发应用程序,我不确定他们是否已转向 Web(我怎么知道?通过阅读不同 Oracle 论坛上的问题)。

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

APEX 比 ADF 简单得多(老实说,还有 Forms)。您所需要的只是一个网络浏览器。没有复杂的 IAS 或 Web 逻辑安装、JInitiator 和其他东西......好吧 - 如果必须,嵌入式侦听器可以完成它的工作,但您最好切换到 ORDS。如果您有良好的 (PL/)SQL 背景,创建 Apex 应用程序只需几个小时/几天,您将拥有一个漂亮的应用程序。它有多强大?相当,据我所知。作为开发人员,你呢?幸运的是,Apex 19.x 发布时你来了。在前动态动作时代 (3.x) 中,您会感到痛苦,因为 Forms 使用触发器完成所有操作 - Apex 中没有。但是现在,您现在有了动态动作,这是迄今为止最接近触发器的东西。

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

我听说(在一次 OUG 会议上) - 在 OpenWorld 上 - 有 zillion APEX 演示文稿和 ADF 演示文稿。 Apex 现在in,ADF 似乎已经出局了。

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

【讨论】:

  • 他需要的所有信息都带有一些很好的幽默:)
  • 如果您的开发人员“将所有内容保存在数据库中” - 您的意思是他定期从 ADF 调用 PL/SQL?如果是这样,我会告诉他他违反了 ADF 的精神和意图,离开 ADF 并搬到 APEX。 . ADF BC 专门设计用于避免调用 PL/SQL,因为 Oracle 建议最佳实践是将逻辑移至中间层以广泛共享使用。这就是为什么 ADF 中没有声明性机制来调用 PL/SQL 并且必须进行自定义编码。实际上,他可能没有按预期使用 ADF fwk,那么为什么要全部使用它呢?
【解决方案2】:

取决于您的开发人员的经验和知识以及您想要使用什么语言进行开发。 ADF 实际上是 2 个产品(嗯,实际上是 4 个……)

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。

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

【讨论】:

  • 你认为我们可以用其他数据库运行 apex,比如 adf 可以用 Mysql 或 T SQL 运行,那么 apex 呢?
  • Apex 是 Oracle 数据库中的另一个 schema,因此它最适用于 Oracle。但是,没有什么可以阻止您将 Oracle 与 MS SQL Server 连接并从该数据库中获取数据。不过,我预计性能会受到影响。但是 - 这与您的情况有关吗?您当前的 Forms 应用程序使用哪个数据库?
猜你喜欢
  • 1970-01-01
  • 2020-11-22
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-06
  • 2018-03-18
相关资源
最近更新 更多