【发布时间】:2016-08-12 17:39:25
【问题描述】:
我正在做一个项目,我必须决定将 EJB、Webservices 或 EJB 与 @WebService 结合使用。我是 Java EE 的新手,我喜欢 EJB 的概念,但我还想为非 Java 系统提供一种使用此服务的方法。以下是有关主要组件的事实:
- 有些组件必须与数据库交互(简单的 DAO)和更多的聚合插入。只能从其他 java 组件调用它们
- 我有一些组件,它们在应用程序服务器上使用共享库进行复杂的计算。该库依赖于两个本机库。所以我必须使用JNI。他们说,在文献中,不建议将 EJB 和本机库一起使用(我不知道为什么)。但在这种情况下,我没有其他机会。这些组件需要与 DAO 交互,并且必须可用于非 Java 应用程序。
- 最终的架构应该是可扩展的(在 EJB 中使用计时器服务或其他一些功能)
计划是在 EJB 中实现所有这些组件,但本机库的这一点让我感到困惑。所以我现在的问题是:
- 我应该如何实现包含所有数据库内容的组件? (我会使用 EJB,因为池和事务的东西)
- 我应该如何实现组件,这些组件通过 JNI 使用本机库,但还必须与数据库交互? (Jax-WS WebService,EJB 声明为 JAX-WS 服务?
另一种选择是将所有内容放在一个 WebService 中。但我不喜欢这种方法,因为 EJB 中的事务性池优势和有限的可扩展性。所以我会很感激,如果你能给我你的意见,你将如何实施这个项目。
【问题讨论】:
标签: web-services jakarta-ee ejb