在微软为试图将Java这一编程语言扼杀做了多年的尝试之后,一家软件公司已经开发出了一种工具,它将一种新的.NET 工具送到了Java开发者的手中.
总部位于加州硅谷中心和密歇根州的Stryon将于10月份发布其Instant.NET(iNET)的第一个Beta版本,这是微软Visual Studio .Net的一个中间插件,能将基于XML(Extensible Markup Language) 的.Net Web services转换为Java,并在任何支持Java的server的软件上运行.
企业开发人员可以使用web services让由不同的销售商提供的不同的应用软件在Internet上交流,沟通.
例如,在一个Oracle 公司里, 要求数据库能自动和来自from PeopleSoft 公司的CRM (customer resource management)应用软件分享.电子钱包也是Web service包括的一种方法,能使用户不需在每次交易中都输入信用卡和其他信息进行在线交易。
由不同商家的工具开发的Web services能够从任何配置的Internet存取,不管它运行的是哪种操作系统,微软的.NET Web services只能在其.NET服务器软件运行.它包含了一个现在只能适用于微软自己的软件的运行时环境.但是公司已经向European Computer Manufacturers Association (ECMA)---业界标准机构,提交了部分运行时环境.
iNET的一个好处是那些IT技术基础基于J2EE (Java2 Enterprise Edition)和Windows软件上的公司能够继续用Microsoft代码编写应用程序,在Java支持的服务器上处理它们,譬如, BEA Systems Inc., Sun Microsystems Inc 和IBM Corp这些微软的竞争者. Don His,Stryon的CTO如此说.
Linux和Mac OS X操作系统也支持Java,也能够用iNET处理.Net Web services.这将为希望建立基于.NET的Web services的公司提供了更多的软件选择.
“微软(服务器软件)能否成为配置应用程序的巨大场所,这还存在争议,”他说,”可能Linux包或者 (Sun) Solaris 包更好.iNET让开发者在那些平台上配置.Net Web services.
一微软的.NET 发言人拒绝提出对Stryon技术的看法。
微软对iNET不作反应, 因为它不愿意支持Java这一编程语言替代它的技术,Don His说。
由Sun开发的Java已经发展成为微软的编程技术的劲敌。微软在其Windows XP里已不再支持Java,两家公司都在努力吸引开发者使用其编程语言。
“微软表示将.NET运用于其他操作系统,”Don His说,“但微软不能抹杀我们用Java实现这一目标的事实。”
.Net Web service 只能在运行微软软件的服务器上处理,因为它包含了一项称为CLI (Common Language Infrastructure)的技术,和一个实现Web service的运行时环境核心部分,类似于JVM (Java Virtual Machine)如何存在于客户机上并运行Java应用程序,CLI是运行.NET应用程序的必需引擎。
.Net Framework是微软的CLI的商业工具包含了如类库和客户端用户接口等附加特征。
Stryon 的iNET 将取代CLI的地位。Stryon已经用所有的技术开发了一个运行时环境,它能使用这一工具开发的.Net Web service在JVM中运行。
“我们绕过了整个CLI,”Don His说道。
其实现途径是开发者在Visual Studio .Net内创建一个.Net Web service,并将其编译成一种叫做MSIL的语言(Microsoft Intermediate Language)。
然后用Stryon的 IL-to-Java (Intermediate Language-to-Java)工具,将MSIL代码最终转换为Java字节码。在打包到Stryon的完全运行时环境,至此,Web service 就能在JVM上运行。
“Stryon的这一项目是有价值的,”Yefim Natis ,位于Stamford, Conn 的Gartner的副总裁,研发主任,如此说,它顺应了软件开发的潮流。然而,它有可能实践其承诺,因为微软在不断更新.Net Framework,并不断开发出新的特征,他说。
“我对它的成功持怀疑态度,” Natis说,“表面看来,很有吸引力,因为你能使用同类中最好的开发环境,即Visual Studio .Net,不必受制于使用微软的软件。
因为.Net Framework与JVM相比包含了例如类库和用户接口等更多特性来实现。Net Web services,Stryon已经开发了附加的运行时特征来补偿差异。
譬如,Stryon开发了微软的Windows forms的Java版,它能使开发者创建一个客户端的用户接口和Microsoft's ASP.Net,应用程序能在Web 站点上运行。
因为每次微软有改变或发布一个服务包,Stryon必须快速实现其新的性能,Matis说,“它不是.NET的拷贝版.”
Don His宣称尽管微软可以有任何技术上的改变,Stryon也能够为Java重建.NET。他有着90位拥有最新技术并能随时更新的开发人员,他们从2000年10月起一直在钻研这一计划。
Stryon已经成功开发了Instant ASP (iASP),它是微软Microsoft's ASP (Active Server Pages)的Java版本。已经拥有的客户如Hewlett Packard Co.―― 其iASP license 客户,Don His说他的公司已经证明它知道怎样随处把微软代码转化为Java代码。
还有其他商家在使用ECMA标准将.NET Web services运用于Windows之外的平台。Ximian Corp. 是走在前列的,它在努力将CLI 移植到Linux和Unix操作系统,将使开发者能用Linux工具创建.Net Web services。
在Corel的技术帮助下,微软为Unix的FreeBSD也已开发一CLI版本。微软说那计划的目的是要证明使用开放标准能克隆部分.Net Framework。这一计划类似于Mono,但是适用于微软的共享资源license,这意味着代码仅能作研究使用,而不能在商业应用中被企业顾客使用。
现在可以从http://www.stryon.com.cn,免费下载Stryon的iNET beta2版本和Java的运行时环境。10月份可以下载beta3版本,将会实现更多功能。