Java 在oracle adf中构建应用程序时何时使用JPA/EJB和JSF

Java 在oracle adf中构建应用程序时何时使用JPA/EJB和JSF,java,jsf,jakarta-ee,oracle-adf,Java,Jsf,Jakarta Ee,Oracle Adf,我需要一些关于ADF框架和应用程序/项目类型的输入。我正在将现有的Oracle Forms 6应用程序重新编写为Java J2EE应用程序。我正在探索Oracle ADF框架以及其他framworks,如struts 2和jsf以及sping&hibernate和jsf 以下是我的新申请的要求 三层体系结构应用 需要丰富的UI功能,如动态表、图表、从表导出文件等 使用现有数据库表查看、编辑和保存数据 Flexbile design可更改、编辑或添加新页面和业务逻辑 支持业务规则 灵活添加并将一

我需要一些关于ADF框架和应用程序/项目类型的输入。我正在将现有的Oracle Forms 6应用程序重新编写为Java J2EE应用程序。我正在探索Oracle ADF框架以及其他framworks,如struts 2和jsf以及sping&hibernate和jsf

以下是我的新申请的要求

  • 三层体系结构应用
  • 需要丰富的UI功能,如动态表、图表、从表导出文件等
  • 使用现有数据库表查看、编辑和保存数据
  • Flexbile design可更改、编辑或添加新页面和业务逻辑
  • 支持业务规则
  • 灵活添加并将一些业务服务公开为web服务
  • 支持大型数据库表上的crud操作
  • 使用oid和ldap支持https
我有几个问题

1) 你推荐Oracle ADF吗

2) oracle ADF framework是否支持上述所有要求

3) 我在Oracle的网站上找到了“使用Oracle ADF开发”和“使用JPA/EJB和JSF开发Oracle ADF”的教程。哪一个更适合我的需要?何时在ADF应用程序中使用JPA/EJB

任何关于上述内容的见解都将受到高度赞赏。提前感谢。

以下是我的看法:

三层体系结构应用

任何基于JavaEE或Spring的应用程序都会满足这一要求。Spring将迫使您很好地分层应用程序

需要丰富的UI功能,如动态表格、图表、文件导出 从桌子上等等

您更可能使用jQuery、d3和其他基于JavaScript的库中的UI表单元素获得这些。框架不会限制您的选择

使用现有数据库表查看、编辑和保存数据

JDBC或任何构建在它之上的东西(JPA、Hibernate等)将使这成为可能

灵活的设计,可更改、编辑或添加新页面和业务逻辑

没有任何框架可以让这变得容易。不管怎样,你都得拿一把铲子来做这项工作

支持业务规则

您可以用多种方式表达业务规则:代码、状态机、Rete规则引擎。你想要哪一个

灵活地添加并将一些业务服务公开为web服务 服务

无论框架选择如何,都可以这样做。Spring有很好的契约优先,基于xsd的web服务远程处理

支持大型数据库表上的crud操作

大是无关紧要的。JDBC允许CRUD

使用oid和ldap支持https

我不明白HTTPS与LDAP有什么关系

你的问题对我来说并不意味着一个资深的Java人

我不推荐Struts或JSF。两者都是90年代的技术,不适合移动平台。世界正朝着HTML5、CSS3和JavaScript的方向发展。我建议你也这样做

如果你想使用Spring,我会坚持使用他们的web MVC。它比Struts和JSF都好,并且您可以获得Spring提供的所有其他好东西(例如DI和AOP)

我个人认为对甲骨文ADF的关注太强烈了。它将您与Oracle表单联系在一起,就像以前一样


我会从web服务、REST或SOAP以及灵活的UI的角度来考虑这一点。完全解耦前端和后端。UI来来往往,但一个适合您的业务流程的良好服务模型,在适当的粒度级别上,将经得起一段时间的考验。

ADF的一个好处是它是一个集成的产品,所有部分都设计为适合JDeveloper内置和支持的工具并与之协同工作。没有真正的设置,也不需要“让事情协同工作”。它只是这样,OOTB。 其他解决方案需要或多或少的“拼凑”。ADF是从数据源(RDB、WS、POJO、EJB等)到UI的完全集成。 此外,您使用的任何第三方fwk都将导致连接。 ADF将您与Java联系在一起,但这并不像使用专有PL/SQL的表单那样紧密

ADF Faces是基于JSF的,但扩展了JSF,JSF在2004年引入,并不是90年代的技术。此外,它还可以根据需要轻松地与JS LIB一起使用。我建议你看看ADF的成功。Oracle使用ADF构建了一整套全新的业务应用程序。他们简直把公司押在这上面了。怀疑他们是否会用二等的、不达标的技术做到这一点

工具支持对于ADFBC比JPA更好,但两者都可以使用。此外,ADF Faces支持从同一UI设计开发和部署到iOS或Android。不确定还有其他fwk可以这么说。 是的,ADF支持您的所有需求。 社区版glassfish上的ADF essentials是免费的


此对话对象:JPA或ADF BC。

谢谢。您是否实施过任何Oracle ADF应用程序?我从研究中发现,使用ADF可以满足我的所有需求。我希望能找到一些人分享他们在ADF中实现的经验,特别是大型和数据驱动的应用程序。我曾在前端使用过Icefaces(JSF2)和Ext JS,在后端使用过Spring、Hiberate和Ibatis。我个人倾向于使用Primefaces、Spring和Hibernate应用程序,但客户端是一家大型oracle商店,拥有大量数据驱动(每个表中有数百万条记录)遗留(oracle表单)需要现代化的应用程序,它们倾向于ADF框架。自2005年以来,编写了大量Java,尤其是Spring。当然,你的客户想要什么就要什么。当他们想把那些乱七八糟的东西再弄出来的时候,你保证会再次订婚。谢谢乔。这就是我要找的。ADF是否满足我的要求?如果满足,从ADF BC(BC4J)和EJB/JPA中选择什么。我也发现了这一点。在我们的例子中,主键关系在旧的基于表单的应用程序的表中没有很好地定义。有30多个表单具有复杂的业务规则和验证。你推荐ADF BC而不是JPA吗?取决于开发者