Tapestry for Nonbelievers
I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。
作者 Ryan Slobojan译者 陈黎夫 发布于 2007年7月25日 下午11时50分
Mainsoft公司最近发布了 2.0版本的Mainsoft for Java EE(原名Visual Mainwin),同时发布的还有一份有趣的白皮书 。据该白皮书称,一个基于.NET的应用程序,若是借助于Mainsoft for Java EE技术交叉编译之后运行于Java EE平台上,那么在某些方面的性能甚至会强于原有的.NET应用程序。InfoQ为此特地采访了Mainsoft的CEO——Yaacov Cohen。
Cohen首先介绍了Mainsoft for Java EE的工作原理:
我们的交叉编译引擎将.NET Framework生成的Microsoft Intermediate Language(MSIL)交叉编译成Java的字节代码。然后我们基于Java的.NET Framework实现即可支持应用程序运行于Java平台之上。不但如此,我们的Visual Studio扩展还能够允许开发者在Java EE平台上编写、编译、部署以及调试Web或服务器应用程序。因为代码的交叉编译发生于字节码级别,所以其过程并不需要源文件转换——这就意味着开发者仍旧可以使用Visual Studio.Net作为他们可移植程序的开发环境。InfoQ了解到,Mainsoft还使用Java重新实现了很大的一部分.NET Framework,包括ASP.Net、ADO.Net、以及Web Service API等。不过因为Mainsoft for Java EE主要专注于Web以及服务器应用程序方面,所以类似Windows Form的组件则没有提供。
InfoQ查阅了Mainsoft的白皮书 ,这份白皮书提供了一个案例分析,讲述某家公司使用Mainsoft for Java EE将一个现有的基于Windows平台上的.NET应用程序迁移到基于Linux平台上的Java EE中的故事。InfoQ
在这个案例中发现了如下值得注意之处:
对于为何Java要快于.NET,Cohen谨慎地解释说,这份白皮书的意义仅仅在于说明服务器应用程序能够在不损失性能的情况下进行迁移而已:
我们尽力调整这个开源的.NET实现让其符合WebSphere的架构,以便充分发挥其长处——这与微软公司的.NET Framework也充分地发挥了IIS和Windows的优势一样。关于那份性能评价,我们在两个操作系统以及硬件平台上都仔细地调整了垃圾收集算法、 页和堆的大小。在使用这些类库的同时,我们也发现了IBM Java虚拟机中很多值得优化的部分。在最新发布的WebSphere Application Server 6.1中,可以看到很多地方已经有所改进。
随着越来越多的公司开始开放其产品的源代码(例如Sun公司的JDK,Terracotta公司的DSO以及Adobe公司的Flex SDK等),InfoQ又询问了Cohen关于Mainsoft是否要跟随这个潮流。Cohen回答到:
跨平台的.NET将是一个非常艰巨的项目,并且Mainsoft是Mono开源项目最大的贡献者——几乎和Novell一样。所以除了核心的mscorlib.jar(这个将作为Mainsoft的私有Java EE实现)之外,我们将所有的.NET Framework代码都共享给了Mono项目。
Mainsoft同时也提供了一个叫做Grasshopper的免费开发版本 ,可用于将产品部署到Tomcat服务器以及单CPU配置上。
查看英文原文:Mainsoft: Running .NET on the JVM While Maintaining Performance
在中国,基本不存在这样的需求,可能性太小。
如果一个ejb公司需要在原有平台上部署.net应用呢
从客户角度来看的确是一个很好的技术,比如我现在所在的单位,他们倾向于J2EE的解决方案,原来有一个用.NET实现的系统,后来用J2EE重写,其中的浪费可想而知。此外.NET和J2EE平台现在来很难说谁优谁劣,各有所长,如果能够发挥各自的优势岂不是非常妙的事情。 通常要实现.NET与J2EE之间的互操作只能通过高层接口,如WebService等,效率比较低,此外必须部署和维护不同的操作系统等问题,现在可以把.NET的程序编译成JVM bytecode,那么两类程序可以融合在一块。不过互操作还是得通过高层接口才能实现,不知道mainsoft在他们之间的互操作上有什么好方法没。着方面有JIntegra的产品,ArcGIS用的就是这个产品。
I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。
在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。
InfoQ中文站有幸与IBM中国开发中心Web 2.0首席架构师毛新生聊了聊Project Zero和软件新发展的相关话题,其中包括Project Zero的组织形式、支持的语言、以及未来发展方向等等。
在某个软件产品设计的初始阶段,Segundo Velasquez曾以客户的身份与一个敏捷团队共同工作;Deborah Hartmann就这段经历对他进行了采访。
本视频从互联网的分类讲起,介绍了开放平台的类型、开放的价值以及开放平台对开发者的机会和挑战。然后以雅虎的NCP开放平台为例,讲解了NCP的特点、基本架构和具体的开发过程。
3 条回复
回复