我没有这方面的sample, 但有个朋友曾经与我谈论过,他们有这方面的例子。
我记得他是使用corba实现的,并不是很难。

解决方案 »

  1.   

    用Corba实现需要为每一个EJB组件写IDL,这个过程非常复杂的。
    用Soap实现的话面临如何把每个抽象的Java类序列化并在VB中
    进行类型匹配转换,这个方式好像更加复杂。
    那位朋友有这个方面的资料?望赐教。
      

  2.   

    利用SOAP访问EJB和COM或者.net是没有问题的,只是性能上有点慢!我曾经使用过Apache SOAP 2.2 和 MS SOAP 2.0做过试验,没有问题。
      

  3.   

    to 踏雪:
    真的吗?请问你是如何解决对象Deserializes的?
    也就是一个ejb的home和remote接口传递回来,如何在
    VB中产生相应的对象类型?
      

  4.   

    Apache SOAP 2.2 有一个ejbHello的例子。问题关键是如何写好wsdl文件,不过这样目前也并不能解决多数问题(尤其是复杂参数)。关于EJB和COM和SOAP的桥接问题,我现在正在做对比试验。
    约一个月差不多完成。
      

  5.   

    Apache SOAP 2.2中关于Server端的服务描述是用rpcrouter这个servlet进行的,好像
    不能生成wsdl啊。
    我看了里面的ejb samples,它的实现方式好像是客户端直接提交一个Remote接口中所要
    调用方法和参数,由系统来完成EJB的实例化和接口之间的映射,所以不存在要把Home
    接口和Remote接口传递回来地问题。
    但是,例子中的是sessionbean,如果换成entity bean,就面临Home接口和Remote接口
    在客户端必须有相应的类型匹配这个问题了。该如何解决?
      

  6.   

    关于WSDL的问题主要是给MS SOAP高级(Hige Level)调用的,这样可以利用COM的IDispatch直接访问SOAP的RPC方法。关于EntityBean的问题,在开始使用时,就没有打算使用它,因此也没有过多的投入力量,主要是因为性能的原因,我们不想有过多的SOAP调用产生,所以主要有Statless SessionBean完成。对一笔业务,最好用宜到两个SOAP调用完成,数据是批量的。
    SOAP只有在大批量的数据情况下才有优势,关键是Marshlling/unmarshalling的耗时太多,听说Apache SOAP 小组已经开始重新写一部分代码,来解决这个问题。对于频繁交互的情况,可以试着采用其它Java-COM的桥接技术(如:利用JNI 和 COM的IDispatch)。我在技术方案是有两个层次的
    业务单元间(使用Web Services、主要指SOAP和XML)、业务单元内(Java-COM),不知,这样回答是否可以。 :)
      

  7.   

    主要考虑使用Corba吧。如果你使用Weblogic5.1,你需要写一个Corba proxy,如果使用IAS/BAS,应该可以直接访问。
    EJB to Com bridge有现成的东西,就在developer.java.sun.com。
    如果采用proxy的方式会降低系统的可伸缩性。
      

  8.   

    to lcgong:
    我对Java-COM桥这方面的东西没有看过,你能给我一些相关资料,大致说明是怎么样的
    一种架构和机制吗?多谢了。我的email是[email protected]
      

  9.   

    对于Java-COM类似的技术,我可走了许多的弯路,也自己写过一部分。
    重点推荐(其它的技术我想大家就没有必要看了):
    http://developer.java.sun.com/developer/earlyAccess/j2eecas/PS:
    Sun 已经看出了ERP系统中的互操作问题,对其Java平台的生存有至关重要的影响,因此也推出了J2EE ConnectorArchitecture Specification草案,可见其重要程度。
    可以从http://java.sun.com/jcp/中找到希望大家多多讨论
    email: [email protected]
    lcgong