Oracle ADF 11g在Java EE框架中的位置在哪里?

Wal*_*ker 26 oracle jsf java-ee oracle11g oracle-adf

这是一个两部分问题:

我想知道Oracle ADF 11g作为开发/部署Web/Java EE应用程序的框架与其他框架相比在哪里.Oracle ADF被用作开发Web应用程序的框架多少钱.我从一个角度询问,作为Oracle ADF开发人员是否有良好的工作机会,以及持有Oracle ADF技能的人的未来是什么样的.

此外,由于Oracle计划将ADF用作Fusion Applications的核心技术,是否应该以siebel开发人员的身份构建Oracle ADF技能?作为未来的Oracle CRM应用程序,如ERP,SCM将基于ADF,开发人员应该开始构建ADF技能.客户什么时候开始实施基于ADF的应用程序.这些是可用于内部部署还是主要以SaaS方式随需应变.

小智 53

我们在公司选择了Oracle ADF作为我们的一个项目.可悲的是,这被证明是一个很大的错误.我个人使用过Oracle产品,特别是他们的数据库,但就融合中间件而言,我建议你远离它.ADF是迄今为止我用作架构师的最糟糕的框架.我注意到的一些功能是:非常复杂,Oracle只是"发明"或强制一些开发方法,这些方法多年前已被Java社区证明是一种不好的做法.与其他框架相比,ADF非常慢.由于速度慢,我的意思是ADF页面运行缓慢.原因是生成的html和javascript非常复杂.您可以通过打开Firebug并检查生成的HTML来检查这一点......它看起来像90年代的东西......太糟糕了.不要过于迂腐,但ADF页面有大量的验证错误,导致它们在所有浏览器上运行时出现问题.在我看来,ADF的架构很混乱.例如Struts2是一个更清晰的框架,它使得它很容易与第三方库如jQuery等集成.Oracle提倡ADF作为MVC框架但坦率地说我没有看到那里的实际MVC架构.ADF使用自己的javascript库,这些库是巨大的,与jQuery或Prototype等其他版本相比,几乎不可能修改,未优化和缓慢.J2EE中出现的趋势是轻量级可插拔框架,可以轻松地与其他工具集成,例如用于管理依赖项的Spring,用于脚本的jQuery,用于持续集成的CC.ADF是一个与其他ORacle工具紧密集成的重量级框架,

更不用说开发ADF时必须使用的开发工具 - JDeveloper非常错误并且经常崩溃.在Eclipse中开发是有问题的,因为ADF有许多JDeveloper自动生成的"特定"文件.

总而言之... ADF对我们来说是一个巨大的失望.我们花了几个月搞乱它,最后我们的客户决定应用程序太慢而且难以支持它并完全取消它.

根据我的经验,我只能说远离它.选择一个更受支持和架构清晰的解决方案,如Struts2或Spring.

  • 我完全同意.我现在被迫在Oracle ADF中开发 - 考虑改变工作因为它.这是最糟糕的. (5认同)
  • 如果你需要帮助,只想添加,你就是一个人.OTN上的答案大多数情况下是错误的或没有帮助,因为只有2或3个人真正了解ADF的工作原理.此外,构建业务服务所需的时间将在构建开发中最长的UI时丢失.远离 !!! (3认同)
  • 非常感谢您分享您的经验. (2认同)
  • 我不同意.我已经在Oracle ADF工作了16个月了.这是一个相当笨拙的学习者曲线,但过了一段时间,快速发展开始了.我没有看到任何其他框架做所有这些事情,Oracle ADF管理.Shure,它有缺陷,速度慢,JDeveloper并不是最好的 - 但DAMN可以快速交换一些实体对象,创建新的主 - 细节,并为您的应用程序添加有价值的数据. (2认同)

J S*_*ick 7

我使用了ADF的JDeveloper 10和11,在一个着名的国防承包商的两个企业ADF项目中.我同意ADF很复杂,但不同意JDev经常崩溃,或者页面渲染速度很慢.

现在...为什么ADF?阅读下面的Oracle概要,说明JDeveloper和ADF使"业务"程序员更容易访问Java EE开发.虽然这并不能保证优雅的程序,但几乎可以肯定的是,当这些开发人员遇到ADF问题时,他们可能会彻底迷失,并且不知道如何打开引擎盖并进入内部.相反,即使尝试整合当前的J2EE开源聚宝盆,它们也会丢失.


THE SERMON来源:ADF开发人员指南(转述)

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

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

现有的Java框架,如Struts,Spring,JSF,EJB,GWT等,都是覆盖复杂区域的毯子,这些区域暴露出更简单的控件.使用框架,开发人员不再使用Java核心API,而是与框架公开的接口和服务进行交互.

等等等等等等...

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

有经验的Java开发人员可能会认为这是一个很大的错误,但这些开发人员会怎么知道,除非Java为他们提供单一的解决方案?该解决方案是一个端到端的框架,它将技术结合起来,将不同的框架和技术结合到一个产品中,这个产品暴露了视觉和声明性开发手势,因为它是主要的编程方法...... ADF."