Oracle ADF 11g 在 Java EE 框架中处于什么位置?

发布于 2024-09-15 10:30:49 字数 385 浏览 5 评论 0原文

这是一个由两部分组成的问题:

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

此外,由于 Oracle 计划使用 ADF 作为融合应用程序的核心技术,现在是作为 siebel 开发人员培养 Oracle ADF 技能的好时机吗?作为未来的 Oracle CRM 应用程序(如 ERP),如果开发人员开始构建 ADF 技能,SCM 将基于 ADF。客户大约什么时候开始实施这些基于 ADF 的应用程序。这些是在本地提供还是主要以 SaaS 方式按需提供。

This is a two part question:

I would like to know where does Oracle ADF 11g stand as a framework to develop / deploy Web / Java EE Applications as compared to other frameworks.
How much is Oracle ADF being used as a framework to Develop Web Applications.
I am asking from a perspective that whether or not there are good job opportunities as an Oracle ADF Developer and what the future looks like for those holding Oracle ADF skills.

Also as Oracle plans to use ADF as core technology for Fusion Applications, Is it good time to build Oracle ADF skills as a siebel developer? As the future Oracle CRM Applications like ERP, SCM will be based on ADF should developers start building ADF skills. Around when will customers start implementing those applications based on ADF. Will these be available On Premise or mostly On Demand in SaaS way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

蘑菇王子 2024-09-22 10:30:49

我们为我们公司的一个项目选择了 Oracle ADF。可悲的是,事实证明这是一个大错误。我个人使用过Oracle产品,特别是他们的DB,但就融合中间件而言,我建议你远离它。 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 工具紧密集成的重量级框架,这使得很难以 Oracle 设计之外的任何其他方式使用它。

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

总而言之...ADF 让我们非常失望。我们花了几个月的时间来搞乱它,最终我们的客户认为该应用程序太慢并且他们难以支持它,因此完全取消了它。

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

We have chosen Oracle ADF in our company for one of our projects. Sadly, this proved to be a big mistake. I personally have used Oracle products, in particular their DB, but as far as fusion middleware is concerned, I would advise you to stay away from it. ADF was by far the worst framework I have ever used as an architect. Some of its features I noticed are: very complex, Oracle just "invents" or forces some development approaches that have been proven as a bad practice by the Java community years ago. ADF is very slow compared to other frameworks. With being slow I mean ADF pages run slow. The reason for this is extremely complex generated html and javascript. You can check this by opening up Firebug and inspecting the generated html...it looks like something from the 90s...Terrible. Not to be overly pedantic, but ADF pages have huge amounts of validation errors causing problems in making them run on all browsers. The architecture of ADF is, in my view, messy. Struts2 for example is a much cleaner framework which makes it very easy to integrate it with 3rd party libraries such jQuery, etc. Oracle advocates ADF as an MVC framework but frankly I failed to see the actual MVC architecture there.
ADF uses its own javascript libraries, which are huge, practically impossible to modify, unoptimized and slow in comparison to others such as jQuery or Prototype. The emerging trends in J2EE are lightweight pluggable frameworks that are easily integrated with other tools such a Spring for managing dependencies, jQuery for scripting, CC for continuous integration. ADF is a heavy-weight tightly-integrated framework with other ORacle tools, which makes it very difficult to use it any other way than Oracle devised.

Not to mention the development tools that you are forced to used when developing ADF - the JDeveloper which is very buggy and crashes regularly. Developing in Eclipse is problematic, because ADF has numerous "specific" files which JDeveloper generates automatically.

All in all...ADF was a huge disappointment for us. We spent months messing with it, when finally our client decided the application was too slow and difficult for them to support it and the cancelled it altogether.

Based on my experience i can only say stay away from it. Choose one of the more supported and architecturally clean solutions such as Struts2 or Spring.

但可醉心 2024-09-22 10:30:49

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

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


讲道
资料来源:ADF 开发人员指南(释义)

“自 1990 年代末的早期 Java 时代以来,Jave 企业平台已大幅发展,如今已被大型开发人员社区使用。但是,开发人员社区并不同质,包括不同类型的开发人员他们不是专业的 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。”

I have used JDeveloper 10 and 11, both with ADF, on two enterprise ADF projects for a prominent defense contractor. I agree that ADF is complex, but disagree that JDev crashes frequently, or that the pages are slow to render.

Now... why ADF? Read Oracle's synopsis below, stating that JDeveloper and ADF make Java EE development more accessible to "business" programmers. While this does not guarantee elegant programs, it does almost certainly guarantee that, when these developers get into trouble with ADF, they will probably be utterly lost and will have little idea how to open the hood and reach inside. Conversely, they would be lost even sooner trying to integrate the current J2EE open-source cornucopia.


THE SERMON
Source: ADF Developer's guide (paraphrased)

"Since the early Java days in the late 1990's , the Jave enterprise platform has grown massively and today is used by a large community of developers. However, the developer community is not homogenous and includes developers who are not expert Java programmers, but are business developers who have core competencies in their industries. As the Java EE platform and community grows, the average programmer skill level is declining.

It's hard to imagine that there is a single developer who understands all aspects of the Java EE platform in depth. The problem to address in Java EE is to provide a technology that empowers developers to build cutting edge web and SOA app's without limiting their agility.

Existing Java frameworks such as Struts, Spring, JSF, EJB, GWT, etc are blankets pulled over areas of complexity that expose simpler controls to work with. Using frameworks, developers no longer work with the java core API's but instead interact with interfaces and services exposed by the framework.

Blah, blah, blah...

What seems a small problem for experienced java developers is another hurdle for business developers who are new to java and EE development. This type of developer may turn to a a single dev environment promising integration of all aspects of app development in a single technology chouice. Developers from a 4GL desktop dev background might be attracted by PLSQL, .NET, Adobe Flash.

An experienced Java developer might see this a a big mistake, but how would those developers know, unless Java too provides a single solution for them? The solution is an end-to-end framework which pulls another blanket over the technologies, one that combines different framewokrs and technologies into a single product that exposes visual and declarative development gestures as it's predominant programming methodology... ADF."

网名女生简单气质 2024-09-22 10:30:49

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

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

I have been working with ADF since last 6 months, and i realise that ADF is made particularly large application with strong database integration. I haven't seen any other Framework which can provide you with so fast and easy development of database rich applications.

Yes i agree that it have some bugs, but still it works well if you know how to work with it.

一曲爱恨情仇 2024-09-22 10:30:49

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

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

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

My perception of and experience with ADF is that it is a very solid and robust framework (unfortunately, the development tools are not.) I'm not sure there's much competition to it, at least, not from a single framework. ADF itself is really several different frameworks combined over the years into a mostly cohesive product. Now that Oracle owns Java, i really expect (hope) parts/much of ADF finds its way into Java EE-proper so we can maybe see alternative implementations and better development tools. If that were to happen, it'd pretty well solidify ADF's future (as long as Oracle doesn't screw the Java community in the meantime and push them to alternative VM platforms).

If you are already familiar with or want to work with Oracle(-related) products, ADF is what you want. Given the market penetration of Oracle, it's probably a reasonable bet that they'll remain dominant and your skills will remain marketable for years to come. Oracle is spending lots of money and acquiring lots of companies to try to own and retain the enterprise.

The SaaS question, to me, is a little harder to answer. While it does seem to be moving in that direction, it's not clear to me if it's mostly marketing's attempt to give it that push or if business-need is driving it. And there are lots of questions i don't really track such as business trust of the cloud for critical data and reliability.

素年丶 2024-09-22 10:30:49

简短回答:

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

长答案:

如果您选择 Enterprise,如果您的通用产品的堆栈供应商是 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 只是大型企业世界的启动,而不是小型轻量级应用程序的解决方案。

Short answer:

  • You developing Enterpise solution, your product vendor is Oracle - ADF is a best choice
  • You indie developer, your solution is not for enterprise, you not going to use other products in the Oracle stack - ADF is not for you, look for another framework.

Long answer:

If you going to Enterprise, if your general product's stack vendor is Oracle. Your best choise is to go along with ADF. ADF becomes better with each major release. I've started using ADF since 11.1.1.2, had a look at 10.x and now using 12.1.3, while still supporting large enterprise applications on 11.1.1.6.

I see a huge improvement and its really hard to find another product that provide better integration and support for whole Oracle stack.

However, if you quite familiar with other framework or/and not going to use other Oracle products and/or your customers can't afford to pay quite a lot for ADF/Weblogic/DB/ECM etc.. - your best choise is to avoid ADF. Its good for large enterprise solutions.

Yes, in fact actually you can develop using free and limited version of ADF - Essentials, use other app server as tomcat or glassfish, but you'll be better off with the other framework. ADF Essentials is only kickstart to large enterprise world, not a solution for small lightweight application.

烧了回忆取暖 2024-09-22 10:30:49

ADF的开发是一件让人心痛的事。对于新人来说,学习曲线太陡了。我希望它能更像学习 dot NET。

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

Development in ADF is a pain in the heart. For a newcomer, the learning curve is too steep. I wish it could be more like learning dot NET.

From my perspective, learning and constructing a functionality in dot NET takes a quarter of the time to do the same in ADF. Of course, it imbalance reduces as a person learns along, but that's pretty much the scenario for beginners. It's frustrating.

伪装你 2024-09-22 10:30:49

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

与 Spring 等其他 JavaEE 框架相比,

  • 由于 ADF 的架构以及相对于 Spring 缺乏开发社区,修复错误时非常复杂。 Spring拥有庞大的开发社区

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

  • 与 ADF 开发人员相比,Spring 开发人员拥有更多的声誉和需求。

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

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

I have been working with ADF since last 3 months, and i can tell you that ADF is a really suitable for situations which is essential to provide fast development process for large enterprise applications with strong database integration.

Compairing to other JavaEE framworks like Spring,

  • It is extremely complex when fixing bugs becasue of the architechtur of the ADF and lack of dev community relative to Spring. Spring has large development community
    around the framework.

  • It is hard to impliment MVC architecture with the ADF inter component integrations.

  • Spring Developers have much more reputation and demand compared to ADF developers.

  • ADF is very slow, heavy-weight, tightly-coupled compared to Spring and integrated framework with Oracle tools.

Hope this will help you to solve your problem and gain your knowledge. Happy coding!!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文