Web services EJB、WebService与JNI场景的结合

Web services EJB、WebService与JNI场景的结合,web-services,jakarta-ee,ejb,Web Services,Jakarta Ee,Ejb,我正在从事一个项目,在这个项目中,我必须决定以组合方式使用EJB、Webservices或带有@WebService的EJB。我是JavaEE新手,我喜欢EJB的概念,但我也想为非Java系统提供一种使用此服务的方法。以下是有关主要组件的事实: 还有一些组件,它们必须与数据库(简单DAO)交互,还有一些更聚合的插入。应该只从其他java组件调用它们 我有一些组件,它们使用应用服务器上的共享库进行复杂的计算。此库依赖于两个本机库。所以我必须使用JNI。他们说,在文献中,不建议同时使用EJB和本机

我正在从事一个项目,在这个项目中,我必须决定以组合方式使用EJB、Webservices或带有
@WebService
的EJB。我是JavaEE新手,我喜欢EJB的概念,但我也想为非Java系统提供一种使用此服务的方法。以下是有关主要组件的事实:

  • 还有一些组件,它们必须与数据库(简单DAO)交互,还有一些更聚合的插入。应该只从其他java组件调用它们
  • 我有一些组件,它们使用应用服务器上的共享库进行复杂的计算。此库依赖于两个本机库。所以我必须使用JNI。他们说,在文献中,不建议同时使用EJB和本机库(我不知道为什么)。但在这种情况下,我没有其他机会。这些组件需要与DAO交互,并且必须可用于非java应用程序
  • 生成的体系结构应该是可扩展的(使用EJB中的计时器服务或其他一些功能)
计划是在EJB中实现所有这些组件,但是本机库的问题让我感到困惑。所以我现在的问题是:

  • 我应该如何用所有数据库内容实现这些组件?(我会使用EJB,因为有池和事务)
  • 我应该如何实现组件,这些组件通过JNI使用本机库,但也必须与数据库交互?(Jax-WS-WebService,EJB声明为Jax-WS服务

另一种选择是将所有内容放在一个Web服务中。但我不喜欢这种方法,因为EJB中的事务池优势和有限的可扩展性。因此,如果您能给我您的意见,我将非常感谢您如何实现这个项目。

这是我的建议,但我也是J的初学者阿维,也许还有别的办法

你需要先建立

父POM通过在父POM项目中使用Maven,放置所有依赖项,然后创建一个模块,如

parent-project[pom]:
     project-name-data.jar
     project-name-services.jar
     project-name-webservice.war
     project-name-ui.war
通过这种方式,您可以在应用程序上使用所有共享库

我应该如何用所有数据库内容实现这些组件?(我会使用EJB,因为有池和事务内容)

它将在项目名称数据.jar中完成,并在项目名称服务.jar中实现

我应该如何实现组件,这些组件通过JNI使用本机库,但也必须与数据库交互?(Jax-WS-WebService,EJB声明为Jax-WS-service

它将通过添加JAX-WS服务,project-name-services.jar依赖项在项目名称webservice.war中实现

项目名称ui.war中,添加项目名称webservice.war的依赖项,以正常运行应用程序

如果您对此不清楚,那么。这是我个人试用的,使用EJB、Jax RS和其他库。希望对您有所帮助