通过Soap访问EJB组件可行吗?

tcjj 2001-07-18 09:35:35
公司要求我做一个Demo,客户端可以是VB或者C#,服务端是EJB组件,实现
两者之间的通信。
有那位高手做成功的例子吗?
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcgong 2001-07-24
  • 打赏
  • 举报
回复
对于Java-COM类似的技术,我可走了许多的弯路,也自己写过一部分。
重点推荐(其它的技术我想大家就没有必要看了):
http://developer.java.sun.com/developer/earlyAccess/j2eecas/

PS:
Sun 已经看出了ERP系统中的互操作问题,对其Java平台的生存有至关重要的影响,因此也推出了J2EE ConnectorArchitecture Specification草案,可见其重要程度。
可以从http://java.sun.com/jcp/中找到

希望大家多多讨论
email: lcgong@263.net
lcgong
tcjj 2001-07-22
  • 打赏
  • 举报
回复
to lcgong:
我对Java-COM桥这方面的东西没有看过,你能给我一些相关资料,大致说明是怎么样的
一种架构和机制吗?多谢了。我的email是tcjj@263.net
feelyou 2001-07-21
  • 打赏
  • 举报
回复
主要考虑使用Corba吧。如果你使用Weblogic5.1,你需要写一个Corba proxy,如果使用IAS/BAS,应该可以直接访问。
EJB to Com bridge有现成的东西,就在developer.java.sun.com。
如果采用proxy的方式会降低系统的可伸缩性。
lcgong 2001-07-21
  • 打赏
  • 举报
回复
关于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),

不知,这样回答是否可以。 :)
tcjj 2001-07-20
  • 打赏
  • 举报
回复
Apache SOAP 2.2中关于Server端的服务描述是用rpcrouter这个servlet进行的,好像
不能生成wsdl啊。
我看了里面的ejb samples,它的实现方式好像是客户端直接提交一个Remote接口中所要
调用方法和参数,由系统来完成EJB的实例化和接口之间的映射,所以不存在要把Home
接口和Remote接口传递回来地问题。
但是,例子中的是sessionbean,如果换成entity bean,就面临Home接口和Remote接口
在客户端必须有相应的类型匹配这个问题了。该如何解决?
tcjj 2001-07-19
  • 打赏
  • 举报
回复
to 踏雪:
真的吗?请问你是如何解决对象Deserializes的?
也就是一个ejb的home和remote接口传递回来,如何在
VB中产生相应的对象类型?
lcgong 2001-07-19
  • 打赏
  • 举报
回复
Apache SOAP 2.2 有一个ejbHello的例子。

问题关键是如何写好wsdl文件,不过这样目前也并不能解决多数问题(尤其是复杂参数)。

关于EJB和COM和SOAP的桥接问题,我现在正在做对比试验。
约一个月差不多完成。

文艺青年2 2001-07-18
  • 打赏
  • 举报
回复
那需要做COM
我也菜鸟
lcgong 2001-07-18
  • 打赏
  • 举报
回复
利用SOAP访问EJB和COM或者.net是没有问题的,只是性能上有点慢!

我曾经使用过Apache SOAP 2.2 和 MS SOAP 2.0做过试验,没有问题。
tcjj 2001-07-18
  • 打赏
  • 举报
回复
用Corba实现需要为每一个EJB组件写IDL,这个过程非常复杂的。
用Soap实现的话面临如何把每个抽象的Java类序列化并在VB中
进行类型匹配转换,这个方式好像更加复杂。
那位朋友有这个方面的资料?望赐教。
riverhorse 2001-07-18
  • 打赏
  • 举报
回复
我没有这方面的sample, 但有个朋友曾经与我谈论过,他们有这方面的例子。
我记得他是使用corba实现的,并不是很难。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧