26

这是一个两部分的问题:

我想知道与其他框架相比,Oracle ADF 11g 作为开发/部署 Web/Java EE 应用程序的框架处于什么位置。Oracle ADF 用作开发 Web 应用程序的框架有多少。我从一个角度来问,作为 Oracle ADF 开发人员是否有很好的工作机会,以及那些拥有 Oracle ADF 技能的人的未来会是什么样子。

此外,由于 Oracle 计划将 ADF 用作融合应用程序的核心技术,现在是培养 Oracle ADF 技能作为 siebel 开发人员的好时机吗?与 ERP 等未来的 Oracle CRM 应用程序一样,如果开发人员开始构建 ADF 技能,SCM 将基于 ADF。客户何时开始实施基于 ADF 的应用程序。这些将在内部可用还是以 SaaS 方式大部分按需提供。

4

7 回答 7

55

我们的一个项目选择了我们公司的 Oracle ADF。可悲的是,这被证明是一个大错误。我个人使用过 Oracle 产品,尤其是他们的 DB,但就融合中间件而言,我建议您远离它。ADF 是迄今为止我作为架构师使用过的最糟糕的框架。我注意到它的一些特性是:非常复杂,Oracle 只是“发明”或强制了一些几年前被 Java 社区证明是一种不好的做法的开发方法。与其他框架相比,ADF 非常慢。缓慢是指 ADF 页面运行缓慢。其原因是生成的 html 和 javascript 极其复杂。您可以通过打开 Firebug 并检查生成的 html 来检查这一点……它看起来像是 90 年代的东西……太可怕了。不至于过于迂腐,但是 ADF 页面存在大量验证错误,导致无法在所有浏览器上运行它们。在我看来,ADF 的架构很混乱。例如,Struts2 是一个更简洁的框架,可以很容易地将其与 jQuery 等 3rd 方库集成。Oracle 提倡将 ADF 作为 MVC 框架,但坦率地说,我没有看到那里的实际 MVC 架构。ADF 使用自己的 javascript 库,与 jQuery 或 Prototype 等其他库相比,这些库非常庞大、几乎无法修改、未优化且速度较慢。J2EE 的新兴趋势是轻量级可插拔框架,这些框架很容易与其他工具集成,例如用于管理依赖关系的 Spring、用于脚本的 jQuery、用于持续集成的 CC。ADF 是与其他 ORacle 工具紧密集成的重量级框架,

更不用说您在开发 ADF 时被迫使用的开发工具 - JDeveloper,它有很多错误并且经常崩溃。在 Eclipse 中进行开发是有问题的,因为 ADF 有许多 JDeveloper 自动生成的“特定”文件。

总而言之……ADF 让我们非常失望。我们花了几个月的时间弄乱它,最后我们的客户认为应用程序太慢而且难以支持,于是完全取消了它。

根据我的经验,我只能说远离它。选择一种更受支持且架构更简洁的解决方案,例如 Struts2 或 Spring。

于 2011-02-01T09:10:36.863 回答
7

我在两个企业 ADF 项目中为一家著名的国防承包商使用了 JDeveloper 10 和 11,两者都与 ADF 一起使用。我同意 ADF 很复杂,但不同意 JDev 经常崩溃,或者页面渲染缓慢。

现在...为什么是 ADF?阅读以下 Oracle 的概要,其中指出 JDeveloper 和 ADF 使“业务”程序员更容易进行 Java EE 开发。虽然这并不能保证程序优雅,但它几乎可以肯定地保证,当这些开发人员遇到 ADF 的麻烦时,他们可能会完全迷失,并且不知道如何打开引擎盖并进入内部。相反,他们会在尝试集成当前的 J2EE 开源聚宝盆时更快地迷失方向


讲道 来源:ADF 开发者指南(释义)

“自 1990 年代后期的早期 Java 时代以来,Java 企业平台已经大规模发展,如今已被大型开发人员社区使用。但是,开发人员社区并不是同质化的,其中包括不是专业 Java 程序员,而是业务的开发人员具有行业核心能力的开发人员 随着 Java EE 平台和社区的发展,程序员的平均技能水平正在下降

很难想象会有一个开发人员深入了解 Java EE 平台的所有方面。Java EE 中要解决的问题是提供一种技术,使开发人员能够在不限制其敏捷性的情况下构建尖端的 Web 和 SOA 应用程序。

现有的 Java 框架(如 Struts、Spring、JSF、EJB、GWT 等)是覆盖复杂领域的毯子,它们公开了更简单的控件以供使用。使用框架,开发人员不再使用 java 核心 API,而是与框架公开的接口和服务进行交互。

等等等等等等...

对于有经验的 Java 开发人员来说似乎是一个小问题,但对于刚接触 Java 和 EE 开发的业务开发人员来说,这是另一个障碍。这种类型的开发人员可能会转向一个单一的开发环境,承诺将应用程序开发的所有方面集成到一个单一的技术选择中。具有 4GL 桌面开发背景的开发人员可能会被 PLSQL、.NET、Adobe Flash 所吸引。

一个有经验的 Java 开发人员可能会认为这是一个大错误,但是这些开发人员怎么会知道,除非 Java 也为他们提供了一个单一的解决方案?该解决方案是一个端到端框架,它为技术提供了另一层覆盖,将不同的框架和技术组合成一个单一的产品,它展示了可视化和声明性的开发手势,因为它是主要的编程方法……ADF。”

于 2012-05-19T20:35:39.243 回答
3

我对 ADF 的看法和经验是,它是一个非常稳固和健壮的框架(不幸的是,开发工具不是。)我不确定它是否有很多竞争,至少不是来自单一框架。ADF 本身实际上是多年来结合在一起的几个不同框架,形成了一个非常有凝聚力的产品。既然 Oracle 拥有 Java,我真的希望(希望)部分/大部分 ADF 能够进入 Java EE-proper,因此我们可能会看到替代实现和更好的开发工具。如果发生这种情况,它将很好地巩固 ADF 的未来(只要 Oracle 在此期间不搞砸 Java 社区并将它们推向替代 VM 平台)。

如果您已经熟悉或想要使用 Oracle(相关)产品,ADF 就是您想要的。鉴于甲骨文的市场渗透率,他们可能会保持主导地位并且您的技能将在未来几年保持适销对路可能是一个合理的赌注。甲骨文正在花费大量资金并收购许多公司,以试图拥有和留住企业。

对我来说,SaaS 的问题有点难以回答。虽然它似乎确实在朝着这个方向发展,但我不清楚这是否主要是营销试图推动它,还是业务需求在推动它。还有很多我没有真正跟踪的问题,例如云对关键数据和可靠性的商业信任。

于 2010-08-20T21:19:28.597 回答
3

自过去 6 个月以来,我一直在使用 ADF,我意识到 ADF 是具有强大数据库集成的特别大型应用程序。我还没有看到任何其他框架可以为您提供如此快速和轻松地开发数据库丰富的应用程序。

是的,我同意它有一些错误,但如果你知道如何使用它,它仍然可以很好地工作。

于 2013-06-25T08:46:27.500 回答
3

简短的回答:

  • 您正在开发企业解决方案,您的产品供应商是 Oracle - ADF 是最佳选择
  • 您是独立开发人员,您的解决方案不适合企业,您不会使用 Oracle 堆栈中的其他产品 - ADF 不适合您,请寻找其他框架。

长答案:

如果你去企业,如果你的通用产品的堆栈供应商是 Oracle。您最好的选择是与 ADF 一起使用。每个主要版本的 ADF 都会变得更好。我从 11.1.1.2 开始使用 ADF,查看了 10.x,现在使用 12.1.3,同时在 11.1.1.6 上仍然支持大型企业应用程序。

我看到了巨大的改进,而且很难找到另一种为整个 Oracle 体系提供更好集成和支持的产品。

但是,如果您非常熟悉其他框架或/并且不打算使用其他 Oracle 产品和/或您的客户无法为 ADF/Weblogic/DB/ECM 等支付大量费用。 - 您最好的选择是避免使用 ADF。它适用于大型企业解决方案。

是的,实际上您可以使用免费和受限版本的 ADF - Essentials 进行开发,使用其他应用服务器作为 tomcat 或 glassfish,但使用其他框架会更好。ADF Essentials 只是大型企业世界的起步,而不是小型轻量级应用程序的解决方案。

于 2015-09-17T22:32:20.993 回答
2

ADF 的发展令人心痛。对于新手来说,学习曲线太陡了。我希望它更像是学习 dot NET。

从我的角度来看,在 .NET 中学习和构建功能需要四分之一的时间在 ADF 中完成。当然,随着一个人的学习,这种不平衡会减少,但这几乎是初学者的情况。这令人沮丧。

于 2013-01-09T13:22:49.547 回答
0

自过去 3 个月以来,我一直在使用 ADF,我可以告诉您,ADF 非常适合为具有强大数据库集成的大型企业应用程序提供快速开发过程所必需的情况。

与 Spring 等其他 JavaEE 框架相比,

  • 由于 ADF 的架构和相对于 Spring 缺乏开发社区,修复错误非常复杂。Spring 拥有围绕该框架的大型开发社区。

  • 很难通过 ADF 组件间集成来实现 MVC 架构。

  • 与 ADF 开发人员相比,Spring 开发人员的声誉和需求要高得多。

  • 与 Spring 和与 Oracle 工具集成的框架相比,ADF 非常慢、重量级、紧耦合。

希望这将帮助您解决问题并获得知识。快乐编码!!!

于 2018-03-21T16:24:50.673 回答