如何使用Weblogic构建Rest + EJB?

| 我需要使用weblogic构建1个Restful Web服务。该Web服务将具有用于选择服务应返回哪些数据的参数。例如\'客户\'或\'产品\'。 现在,我想将\'customer \'和\'product \'代码作为单独的可部署应用程序进行部署,以便我可以添加或删除新代码,而无需每次更改时都重新部署所有代码。 所以我想要一个通用的Web服务来调用这种业务逻辑。 我的问题是,构建此结构的最佳方法是什么?是否可以为业务逻辑部署单独的EJB,并让Web服务根据传递的参数来调用EJB? 还是应该将业务组件作为共享库并以这种方式调用?我正在寻找一种获得最佳性能的方法。 我将有其他程序员编写的大约20个不同的业务模块。就像我说的那样,我不希望所有模块都在同一个EAR或WAR文件中。它们需要可单独部署。 有什么想法吗?     
已邀请:
WebLogic 10.3.4包括新的Java EE6 API支持,包括带有Jersey的JAX-RS 1.1。我们最近对此功能进行了网络广播,而网络广播#4涵盖了JAX-RS。这是链接:http://www.oracle.com/technetwork/middleware/weblogic/learnmore/weblogic-javaee6-webcasts-358613.html在此上还有一个名为Oracle Parcel Service的示例应用程序,您可以下载此处的代码:https://www.samplecode.oracle.com/sf/projects/oracle-parcel-svc/。 如果使用JAXB,则可以将JSON和XML编组为同一Java对象。这里的挑战是,默认情况下,JAXB生成的类不可序列化,因此,如果您想从JAX-RS服务访问远程EJB,则会遇到问题。 由于您不能在同一个EAR中拥有这些模块,因此还有另一种选择。您可以使用Java EE共享库。然后,您可以将EJB \作为Java EE共享库进行部署,并在REST客户端中引用该库。这是一个例子: 在您的EJB模块中,清单中包括以下内容:
Extension-Name: ops-util
Implementation-Title: OPS 2.0 Utils Library EXAMPLE_ONLY
Implementation-Vendor: Oracle
Implementation-Vendor-Id: com.oracle
Implementation-Version: 2.0.1
Specification-Title: Oracle Parcel Service 2.0 Utils Library
Specification-Vendor: Oracle
Specification-Version: 2.0
然后在weblogic.xml(WAR)或weblogic-application.xml(EAR)中引用共享库:
<wls:weblogic-application
    xmlns:wls=\"http://www.bea.com/ns/weblogic/weblogic-application\"
    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd\">
  <!-- server-version: 10.3 -->
<wls:library-ref>
  <wls:library-name>ops-util</wls:library-name>
  <wls:specification-version>2.0</wls:specification-version>
  <wls:implementation-version>2.0.1</wls:implementation-version>
  <wls:exact-match>false</wls:exact-match>
</wls:library-ref>
</wls:weblogic-application>
    

要回复问题请先登录注册