通过RMI与EJB和Toplink的ADF业务组件

时间:2020-03-06 14:23:28  来源:igfitidea点击:

实施远程业务逻辑有什么区别?

当前,我们正在计划使用ADF开发前端Web应用程序(从Struts迁移)。从Struts到ADF的迁移还将包括PL / SQL和Oracle Forms,从而大大增加了用户数量,因此使用TopLink的前端调用EJB与通过RMI的ADF业务组件之间通过可伸缩性有什么区别?

解决方案

我现在正在经历类似的情况。我不是专家,但是这里是我从我的经验中学到的。 EJB使用Toplink还是ADF更好地伸缩,在很大程度上取决于我们所处的情况。在某些情况下,一个可能会比另一个更好,但是我感觉到它们都是非常好的解决方案。

但是,由于我们提到该项目还涉及到Oracle Forms的迁移,因此ADF似乎是最佳选择,因为Oracle似乎将JDeveloper和ADF定位为Forms和Reports的后继者(请参阅针对Forms和Designer的ADF文档)开发人员)。

ADF范围很广,因为它涵盖了从数据访问一直到前端的所有前端。如果我们要使用整个堆栈,那么这是一个很棒的RAD框架,但是如果我们只打算使用一部分或者另一部分,那么它就不会那么热。

我假设我们正在谈论将TopLink或者ADF业务组件(BC4J)用于数据访问层。

我想说的是,如果我们打算使用基于RMI的应用程序,那么TopLink可能会更好,主要是因为BC4J的强大之处在于它的视图对象,该对象不会序列化(因此将这些结果转换为TopLink样式值对象,反正)。

如果我们正在做一个简单的Web应用程序,而又不太在乎EJB和RMI,那么我认为我们会发现BC4J提供了许多使标准Web应用程序扩展的方法。将SQL映射到视图对象,这些对象基本上是具有非常可调行为的智能数据网格,可以直接绑定到Oracle ADF Faces的JSF组件,从而提供了非常好的无缝RAD。

我们不应使用ADF BC的EJB部署。它需要大量的RMI同步。我将其与ADF Swing一起使用。转到下一条记录大约需要三秒钟。我们需要重写组合框以使其执行。

在Oracle 11g(2009-05版)中,我们可以选择基于视图对象创建SDO WS,并且可以在其他ADF项目中基于ADF BC服务的实体中使用它们。