友情链接
 
首页 > 技术服务 > 服务资讯 > Java和.NET互操作
 服务资讯内容
Java和.NET互操作
2010/6/8 18:11:55

通过Web Service混合.NET和Java技术往往很容易,但Web Service并非是.NET和Java互操作的万灵丹。Web Service在集成独立的跨网络通信的组件时非常有用,在简单的调用/返回情景中,涉及的数据类型数量非常有限,且Web Service是基于标准的,混合.NET和Java技术通常显得很简单,因此有人认为Web Service是实现.NET和Java互操作的万能答案,但事实却并非如此。
  在搜索引擎中搜索一下“Java .NET互操作”将会返回很多搜索结果,但听过今年6月JavaOne会议上微软主题演讲的人应该还有印象(51CTO编者注:互操作性在近年来成为了微软的关注重点之一,不仅仅是Java,还有PHP互操作性等等),微软说放弃Web Service可能是最好的办法。这是很不幸的消息,因为对于很多任务,Web Service并不是Java和.NET互操作的理想解决方案,而且对于部分任务,根本不可能使用Web Service。在这篇文章中,我会列举三个Java和.NET互操作情景,如果使用Web Service实现会被认为是愚蠢的行为。
  首先,我先说一下我认为的Java和.NET互操作的含义,真正的Java和.NET互操作机制应允许你在任何地方使用.NET语言编写的代码代替用Java语言编写的代码,换句话说,它应该允许你从.NET代码中访问任何基于Java的实体(如对象,类或方法),反之亦如此。
  情景1 在Java应用程序中嵌入.NET UI控件
  假设你要在基于AWT的Java应用程序中使用一个Windows窗体控件,标准的做法是获得与AWT容器对等的句柄,然后使用该句柄设置Windows窗体控件的父对象为AWT容器,你可以使用一个Web Service实现这类互操作。
  Web Service是松散耦合的,服务和客户端运行在独立的进程中,因为是独立的进程,你就不能交换窗口句柄,句柄只在同一个进程中才有效,有意义,换句话说,这是一个必须紧密结合才能互通的情况,这种情况Web Service不能适应,想在基于Java的GUI应用程序中嵌入基于.NET的控件,开发人员必须想另外的办法,反之亦如此。
  情景2 从Java应用程序中调用.NET程序库
  如果你想在Java程序中调用.NET程序库,那你可能正处于以下环境:
  1)已经在.NET开发中使用过这个库,你想在Java环境中继续使用;
  2)已经花钱购买过.NET程序库,不想再花钱购买Java程序库;
  3)不考虑平台差异的话,这个程序库可能是最好使用的了。


上一篇:IIS与ASP.NET管道
下一篇:
 
    培训通知 | 联系一江 | 网站地图 ©   1999-2010      河南一江企划(软件)有限公司 He nan e Jiang Enterprise(soft) CO.,LTD