科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用Delphi客户端访问EJB组件

用Delphi客户端访问EJB组件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文分析了COM客户使用COM桥访问EJB组件的原理,并给出了Delphi访问EJB组件的实例

作者:thx 来源:论坛 2007年10月31日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
3、访问策略的考虑

  3.1与其他集成方案的比较

  Windows下GUI模式非java客户访问EJB还可以有其他的集成方案,可以采用以下几种:

  使用CORBA集成。CORBA是支持跨语言和跨平台的一种分布式应用解决方案,很多语言都支持CORBA,因此我们只需要用java建立一个CORBA服务器应用来调用EJB组件,就可以使用支持CORBA的任何客户端语言。这种方法有几个大的弊端,一是增加开发成本,另外在EJB和客户中间多了一个网络服务层,明显会降低系统性能,增加维护的复杂性,此外我们要为所涉及的所有Java类生成IDL文件供客户使用,增加了开发的复杂性。Delphi使用CORBA到BAS的访问虽然很简洁,但不够通用,它只支持BAS。

  使用Web Services集成。EJB可以作为Web Service发布,使用它发布的WSDL文件,便可以方便的开发客户端应用。但这种方式不能充分利用EJB容器的安全策略。此外客户与服务器之间要传递Web Service不能直接支持的复合类型时,在服务器端要对这些类型编写附加的外覆类用于到XML数据之间的相互转换,增加了开发的复杂性。但这种方案较之COM桥更容易与其他应用进行数据交换,因为它是基于XML的。因此Web Service可以作为一种可选集成方案。

  3.2优化考虑

  如果业务逻辑和数据分散在不同的会话Bean和实体Bean中,我们直接使用COM访问它们,就必须查找每一个Home对象,这种JNDI查找非常费时,一种优化的策略是,我们对每种类型的客户使用一个会话Bean外观来封装他所需要的其他Bean提供的业务方法和数据,由这个会话Bean来调用其他Bean。最新的EJB规范增加了一个LocalHome接口用于服务端对Home接口的查找,比直接查找Home接口快。我们使用会话外观可以减小响应时间。

  客户往往需要实体Bean的多个值,为了减少远程调用的数目,同时为了避免相关的负载,最好使用一个值对象把来自于实体Bean的数据传递给客户端。

  4、结束语

  COM桥使得GUI用户能高效访问EJB组件,将EJB组件的客户进行了扩展,同时充分结合了Windows平台下开发工具开发图形用户界面的优势。可以作为一种集成方案应用用在基于J2EE的分布式系统中。在不改变用户界面风格的情况下使得我们可以利用先进的EJB组件带来的优势。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章