Jakarta ee OSGI与JavaEE的集成

Jakarta ee OSGI与JavaEE的集成,jakarta-ee,ejb,osgi,Jakarta Ee,Ejb,Osgi,目前,我正在开发一个OSGI应用程序,以在一些后端服务上抽象前端UI。后端的体系结构是在jboss应用服务器中运行的传统JavaEE 在前端应用程序中,我需要从后端检索一些数据(最终是数据库数据),但是有一些EJB可用于检索数据 根据我所做的一些阅读,从OSGI容器中调用EJB似乎不太容易,如果不使用servlet桥也不可行 我曾想过将它们包装到web服务中,但不确定最好的方法是什么。我想了解一下在数据交互方面将OSGI与Java EE集成的最佳实践或方法。假设您使用的是JBoss 4.3.x版

目前,我正在开发一个OSGI应用程序,以在一些后端服务上抽象前端UI。后端的体系结构是在jboss应用服务器中运行的传统JavaEE

在前端应用程序中,我需要从后端检索一些数据(最终是数据库数据),但是有一些EJB可用于检索数据

根据我所做的一些阅读,从OSGI容器中调用EJB似乎不太容易,如果不使用servlet桥也不可行


我曾想过将它们包装到web服务中,但不确定最好的方法是什么。我想了解一下在数据交互方面将OSGI与Java EE集成的最佳实践或方法。

假设您使用的是JBoss 4.3.x版-您应该能够包装jbossall-client.jar,然后使用org.JBoss.remoting.InvokerLocator创建org.JBoss.remoting.client-这将允许您这样做任何东西都很重(罐子是4.7mb)。另一个选项是访问JBoss实例的JNDI


无论哪种方式,您(显然)都需要OSGi应用程序可用的EJB定义。

假设您使用的是JBoss 4.3.x版-您应该能够包装jbossall-client.jar,然后使用org.JBoss.remoting.InvokerLocator创建org.JBoss.remoting.client-这将允许您做任何事情,但不是很重(jar是4.7mb)。另一个选项是访问JBoss实例的JNDI


无论哪种方式,您(显然)都需要OSGi应用程序可用的EJB定义。

我们有一个应用程序通过(本例中的第19.4节)使用此方法


创建一个在客户端上有远程调用包的服务接口,并直接访问服务器上的EJB是很简单的。它还具有对服务器特定代码没有依赖性的优点。

我们有一个应用程序通过(本例中的第19.4节)使用此方法


创建一个服务接口很简单,它在客户端上有一个远程调用包,并在服务器上直接访问EJB。它还具有不依赖于服务器特定代码的优点。

这听起来更像是我想做的事情。你能解释一下你是如何做到的吗?听起来你已经做到了调用servlet的osgi包(我猜是在spring应用程序中运行的)在servlet中,您正在访问ejb?我的回答正确吗?我会接受这个答案,因为它让我想到了我当前的解决方案。我提供了一个服务接口,可以对现有ejb进行Web服务调用和端点包装。@broschb-您的第一个评论基本正确。servlet实际上是Spring DispatcherServlet和我们连接EJB,通过servlet调用。然后客户端只需使用Spring提供的HttpInvoker代码创建一个动态代理,该代理将调用servlet。这听起来更像我想做的事情。你能解释一下你是如何做的吗?听起来你有一个osgi bund调用servlet的le(我猜是在spring应用程序中运行)在servlet中,您正在访问ejb?我的回答正确吗?我会接受这个答案,因为它让我想到了我当前的解决方案。我提供了一个服务接口,可以对现有ejb进行Web服务调用和端点包装。@broschb-您的第一个评论基本正确。servlet实际上是Spring DispatcherServlet和我们连接EJB,通过servlet调用。然后客户端只需使用Spring提供的HttpInvoker代码创建一个动态代理,该代理将调用servlet。