iNET:Microsoft.NET的Java实现 (2)

发表于:2007-06-30来源:作者:点击数: 标签:
为什么要用Java来实现.NET? 两个本质原因: --即时跨平台支持 --与成熟的支持完备的Java技术的集成 从上述描述看,Microsoft隐藏了每个基
    
    为什么要用Java来实现.NET?
  
    两个本质原因:
  
     --即时跨平台支持
  
     --与成熟的支持完备的Java技术的集成
  
    从上述描述看,Microsoft隐藏了每个基础。从发展观点看,这是肯定的;
  
    但从配置角度看,其中存在着障碍:跨平台支持。Microsoft的.NET体系机构类似于Java,CLR对应于Java虚拟机,因此至少在理论上能运行于多个平台。
  
    用Java虚拟机CLR和.NET框架类需要被转移到目标平台,而这一转换并非无关紧要的任务。例如,广为传言Corel正在致力于一个Linux.NET端口,尽管它最近在财政上受挫,任何具体的时间表仅是如意算盘。本着这一目标,Halcyonsoft(http://www.halcyonsoft.com)开始了运用Java这一很多平台支持的开发语言来开发.NET框架。Halcyonsoft的Instance.NET项目的优点是一旦完全转换到Java,.NET应用软件将能在任何支持Java的平台运行,从S/390主机到IBM基于Linux的手表。
  
    跨平台支持对于.NET网络服务的部署变得越来越重要。.NET网络服务即可以通过互联网整合到其它应用软件的.NET应用软件,本质上其需要配置到一个有最大正常运行时间的良好环境。例如,当网络服务主平台重新启动而导致交易周期性中断,如果你购买了前面所提到的包括在公司购物车软件里的税收表应用程序,情况会乐观一些。网络服务卖主的确有必要在一定的服务合同下对系统停机时间负责(希望有此合同)。就此移植关键任务的网络服务到像Solaris或OS/400等良好的平台对于双方都具有重大意义。实际上像IBM的S/390这种重负荷机能被用作网络服务伺服器,作为成千上万台Linux虚拟机的主机。
  
    还有额外的好处是.NET应用软件也能捆绑像JavaBeans, EJB,及CORBA组件等基于Java的技术。这些.NET应用软件也同样能互相作用于来自Oracle, BEA, IBM和Sybase的大型应用服务器。
  
    Halcyonsoft的Java.NET如何工作的?
  
    尽管用Java复制.NET框架所需的开发努力是巨大的,但从开发者角度看实际操作应该是简单的。运用一个"il2java"的命令行实用程序,开发者能直接将他们的.NET应用软件的中间语言转换为Java字节代码或Java源代码(或者根据情况转换为这两种代码)。然后由被转换的Java.NET应用程序和必要的支持库组成的运行时软件包将产生并被配置到可运行Java的平台上。
  
    当在Java平台上找不到一种特定的服务时,像Microsoft Office,我们将利用和更新我们的Java Bridge--RJAX。RJAX是一种高性能的桥服务器,它设置在Windows机器上,可以使Java应用程序访问.NET应用程序及旧的COM/COM+/ActiveX
  
    对象和DLLs。现在2.1版本的RJAX是一个良好的、高速度的、易升级的解决方案,能使我们寻找到任何无法预料的Windows特殊的从属物。
  
    下列图表表示了与Microsoft的.NET体系相联系的Halcyonsoft的.NET体系结构:
  
  
  
  
    在Java.NET引擎和Microsoft后台服务之间的箭头表示上面讨论过的RJAX Bridge。
  
    其它服务,像MSMQ和MTS被划为他们Java的相对部分,分别是JMS和JTS.因为他们的SOAP通信界面将在Java和原始.NET两个版本中保持一致,网络服务将会有明显的处理。
  
  下图更详细的描述了Halcyonsoft的.NET的执行体系结构:
  
  
  
  
    目前,Halcyonsoft正致力于开发Java.NET,并将于今年10月份正式推出其中的一部分-ASP.NET Beta版。为了获得更多的有关的应用实例,Halcyonsoft邀请其原有的iASP(Microsoft ASP的Java构架,可跨平台)用户及更多的开发者作为其测试者,Halcyonsoft将免费为其Beta版测试者作ASP.NET的案例研究。
  
    资料国际资源: http://www.halcyonsoft.com
  
  

原文转自:http://www.ltesting.net