.net To Java 代码转换工具

对一个公司来说,把自己竞争对手产品用户拉到自己产品上来,是经常要干的事情。下面罗列几个相关内容。Java To .net 的转换工具大家都熟知了,我们来看 .net To Java 的转换工具:

把 .net 代码,转换为 Java 代码,

Mainsoft 公司(就是上次泄露Win2000源代码的那个公司)的 Visual MainWin for J2EE 就是完成 .net To Java 代码转换工作的。(我没用过,有问题自己到 http://www.mainsoft.com/ 下载一个看看)

 

可以把ASP .NET应用程序转换为J2EE应用程序吗?Visual MainWin for J2EE让这件看似不可能的事成为现实!到目前为止,在Java平台上开发应用还是少数资深Java开发人员的“专利”,Visual MainWin的出现将使Java平台向全球3000多万.NET开发者开放,使他们可以在熟悉的Visual Basic.NET或C#环境中开发Java应用。

当我初次听说Mainsoft公司的Visual MainWin for J2EE时,我认为这不过是一个轻率的想法。仔细阅读这个产品的帮助主题,它竟然说“这个产品是用来开发J2EE平台上的ASP.NET应用。”这更令我觉得匪夷所思。

但是,当我亲自动手试用了这个产品之后,心中的疑虑就一扫而光了。如果说Visual MainWin for J2EE是一个轻率的想法,那么它就是一个我所看到的执行得最好的“轻率的想法”。

简单地说,Visual MainWin可以把.NET应用转换成Java应用,而Visual MainWin for J2EE则允许你把过去用ADO.NET建立的ASP.NET应用转换成J2EE应用,并把它们部署在J2EE应用服务器上,所有这一切都在Visual Studio.NET中完成。

Visual MainWin for J2EE作为一个插件程序安装到Visual Studio.NET IDE中,它也同时安装一个Tomcat 5.0应用服务器,该服务器作为将ASP.NET应用转换为J2EE应用的测试平台。

虽然“无缝”这个词现在已经没有什么意义了,但是Visual MainWin与Visual Studio的集成的确可以被称为“无缝”。Visual MainWin将自己附着在编译过程的输出结果上,并把Visual Studio产生的IL(中间语言)代码转换为等效的Java字节码。它根据不同的目标应用服务器的类型,把代码封装到相应的归档文件中,并把该文件与ASP.NET的Java版本和ADO.NET库一起部署到应用服务器上。

如此一来,MainWin也就把Visual Studio.NET变成了针对J2EE应用“开发、调试和部署”的集成开发环境。采用这样一种变通方法,用户就可以用VB(Visual Basic).NET或C#来编写Java应用了。

除了附加到Visual Studio之上的Visual MainWin项目模板外,你几乎不知道Visual MainWin的存在,你可以使用ASP.NET服务器端的所有控制功能,而ADO.NET是在JDBC顶端实现的。最新版本的Visual MainWin提供通配的数据库连接。

该产品的另一个更让人吃惊的功能是可以将字节码与.NET源代码逆向关联以便于调式程序。你可以在Java字节码执行的同时单步执行C#或VB.NET源代码,翻译器不仅可以把IL代码转换为字节码,而且它还能保留调试信息,这可真是一个意想不到的附加功能。

不过,虽然Visual MainWin能够把.NET实体很好地映射成为等效的Java功能,但也会有例外存在。例如,在异常处理时,Java提供一个异常类,而 .NET则提供三个,因此Visual MainWin必须把三个.NET异常处理映射为同一个Java异常处理,这个问题很难解决,你只能绕过这种多对一的映射。

虽然所有的.NET异常都是从System Exception类派生而来,但并不是所有的Java 异常都是从java.lang.Exceptions 类派生而来的,有一部分由JVM(Java虚拟机)产生的异常是从java.lang.Error类派生来的。这样的不一致性将表现在试图控制全部异常处理的.NET代码中。当把这些代码转换为Java代码时,从java.lang.Error类派生的异常将被忽略。

在编译应用程序时,Visual MainWin的两个条件编译常量——JAVA和NET是非常有用的。当在编译输出为Java字节码时,JAVA为“真”;而在编译输出为Microsoft IL时,NET为“真”。利用这两个编译常量,你可以创建与平台无关的源代码,你甚至可以把EJB引用导入.NET项目,并用Mainsoft提供的封装代码从VB.NET或C#代码中调用EJB。

Visual MainWin for J2EE除了在编写与异常处理有关的代码时需要走点弯路外,其他情况下都是非常不错的工具,它功能强大且平滑流畅。不管怎么说,这个产品至少打开了从Linux通向ASP.NET应用世界的大门。

测试结果

支持平台: 任何支持Visual Studio.NET 2003的平台,可配置在支持Tomcat 5.0、WebSphere或WebLogic应用服务器的任何平台上。

评价: Visual MainWin 把Java的可随处运行能力和Visual Studio.NET IDE平滑的应用开发能力完美地结合在一起,如果你想把ASP .NET应用部署到你过去从来没有想到的地方去运行,那么Visual MainWin就是最好的工具。(有兴趣的读者可以到www.mainsoft.com网站下载试用版本。)

价格: 5000美元/套

相关链接

Visual MainWin的工作原理

Visual MainWin使软件开发人员能够利用Visual Basic.NET或C#及ASP.NET和ADO.NET类库来开发运行在J2EE平台上的应用,它是一个完整的J2EE开发解决方案。Visual MainWin包括以下组件:

● 一个集成到Visual Studio.NET中的开发环境,它可以被用来开发、部署和调试J2EE应用;

● 一组Java运行时间库,它使那些在Visual Basic.NET 和 C#中开发的应用可以运行在J2EE应用服务器上。

Visual MainWin利用其独有的编译器,将微软中间语言(Microsoft Intermediate Language,简称MSIL)编译成标准的Java字节码(Java Bytecode)。开发人员既可以用Visual Basic.NET写程序,也可以用C#写程序,然后再把程序源码直接编译成标准的Java Bytecode。

·点评·

简化Java开发

“一次编写,随处运行”,这是Java最成功之处。然而,Java面世已经9年,虽然在企业级软件开发上得到了广泛的应用,但其开发者团体的发展却不够迅速,目前全球的Java开发人员不过200多万,而使用微软Visual Basic.NET等开发工具在Windows环境下开发应用程序的开发人员数量已达千万量级,这种情况导致Java的普及应用受到限制。

造成这一结果的根本原因是Java的易用性不够。通常情况下,一位编程新手经过一两个月的培训就能基本掌握Visual Basic.NET等可视化开发工具的使用,并开始编写应用程序,但要想成为Java高手却不是一件容易的事情。

不过,这一情形正在迅速得到改善。工具软件厂商MainSoft公司新推出的Visual MainWin使开发人员可以在熟悉的Visual Basic.NET环境中开发、调试和部署Java应用,如果这一工具在效率、兼容性方面的表现能够尽如人意,那就意味着有数千万开发人员可以即刻加入Java开发阵营,开发Java应用。除此之外,Java的鼻祖Sun公司也从去年开始致力于提供更多的工具简化Java开发。在去年的JavaOne大会上,Sun公司宣布它正在开发代码为Project Rave的产品,今天,这一产品终于面世了,并被重新命名为Sun Java Studio Creator,这一产品被Sun公司称为是“Visual Basic风格的Java开发工具”。Sun公司希望Sun Java Studio Creator的出现会使全球的Java开发人员从现在的200万发展到1000万。Sun公司负责Java Web服务的副总裁Joe Keller称,有5万多开发人员参与了Sun Java Studio Creator的场外测试,且效果不错。

简化Java开发的努力还不止于此。今年5月,在旧金山举办的BEA eWorld大会上,BEA公司宣布启动“蜂巢计划”,将其WebLogic Workshop集成开发环境框架作为开放源码贡献给Apache组织,这一举措将使更多的Java开发人员能够利用WebLogic Workshop来方便地开发Java应用。据BEA公司有关负责人介绍,蜂巢计划是对商用及开放源代码集成开发环境(比如Eclipse)的补充,它提供了一个开放源代码的应用框架,通过这一框架,Java开发人员可以使用他们喜欢的工具创建应用程序并把这些程序部署在任意J2EE服务器上。

我们有理由相信,经过众厂商的努力,更多方便、易用的Java开发工具将会出现!(四木)


 







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值