非常了不起的工具iNET----------帮你实现.NET项目跨平台运行.
2024-07-10 12:59:22
供稿:网友
非常了不起的工具inet,实现.net跨平台!
执行摘要
微软的.net是一套连接信息、人、系统、设备的软件技术。此新一代的技术是基于web服务和小模块创建的应用,可以使任何应用彼此互连并且能连接到internet上的其他大型应用。.net的基础核心是集成开发设备(ide), visual studio.net和一种新的应用执行环境-microsoft .net开发框架。这些系统使开发人员能够像灵活使用 visual basic 和c#一样开发强大的应用程序和web服务。
但是有局限的一点是:用.net开发的应用程序必须运行于.net服务器或者客户端。如果所有的用户都按照.net运行环境技术标准化这也许可行,但是实际上当然不是这样。成千上百万台电脑运行的是linux、unix, os x 和其他操作系统,而这种环境不是.net应用程序的标准化运行环境。因此软件开发组织需要考虑: 如何有效利用它们的 microsoft开发人员和visual studio.net的技术特征和优势但是仍然可以访问非微软服务器, pc机,手提电脑和移动设备?怎样才能使他们用.net编写的程序运行时不受运行环境的局限?
stryon公司开发的inet解决了这一难题。inet可以使应用程序和web服务在visual basic 和c#下开发,但发布于任何支持java的运行环境,网络主机也从ibm网络服务器扩展到linux和unix的服务器。有了inet技术,开发人员既可以利用visual studio .net开发环境的优势,但是又不局限于microsoft的运行环境。
什么是.net? 其工作原理?
要想了解inet是什么,需要首先了解.net的框架结构和工作原理。
.net包括很多内容,但从一个开发者的角度来讲,它是一个基于web应用和web服务的开发和发布的开放式环境。开发者通常用microsoft ide和visual studio.net开发.net应用程序(borland厂商已宣布他们的ides已经具备和 microsoft's ide竞争的实力,但是此产品目前还没在市场上发布)。.net框架已经(或者将)嵌入所有的 microsoft视窗操作系统,取代microsoft的web应用服务,iss。
.net包含三种基本的开发语言,visual basic.net, c# 和 visual c++.net。 当应用程序和web服务用这些语言编写时,必须经过两步编译成可执行的机器代码。首先,.net framework编译器接收源代码,并产生一套用 inet 内部框架通用语言编写的指令集。这种语言称为微软中间语言(msil),它是独立于cpu的。因此在代码可执行之前,它还必须在通用语言运行环境(clr)下转换为本地、专用cpu代码。
基于.net 框架的可执行和管理的代码被称为 "管理代码"。它必须为通用语言运行环境提供必要的信息来支持它的服务,包括内存管理,跨语言集成,代码访问安全性,自动对象生命周期控制。所有的基于微软中间语言的代码可作为管理代码执行。相比较而言,开发人员也能编写"非管理代码",即代码执行直接依赖于操作系统,而脱离microsoft .net 框架的通用语言环境。非管理代码必须自己提供内存管理,类型校验,安全支持,不像管理代码从通用语言环境接受这些服务。非管理代码必须脱离.net framework执行。
.net 框架包括一套较完备软件技术,涵盖了执行常用的必需的函数。其中涉及的组件、.net的类库对任何用.net管理代码编写的应用程序都有效。它们按函数类型分组,包括ado.net(数据访问和管理), asp.net(创建、发布、运行web应用和服务),xml(语言标识),soap(数据交换),webforms(web应用),和winforms(windows 应用)。
理论上,.net应用程序可运行于多种平台,但是前提是clr和.net的框架类库必须指定端口连接到目标平台。这是一项意义非凡的研究,因为.net开发的应用程序必须应用于.net环境,从实用的角度出发,inet出现了,它的出现解决了跨平台运行这一难题。
什么是inet?
stryon的inet以纯java将.net开发构架重新实现 。在运行之前,inet将.net app转换成本地java,因此它可以运行于任何java虚拟机上。用java的实现框架为java和其他的服务器端的架构提供跨平台的 .net执行应用优势和核心技术支持。
inet包括 三个组件:
il to java 转换模块(il2java)
o 它的功能是将msil代码转换成本地java。因此也意味着inet可以转换任何.net 源码,不管是visual basic, c#, 还是visual c++.
inet 运行时类库
o inet运行时类库是一套用java实现的软件组件,它准确地复制了.net framework 提供的所有功能。比如 ado.net, asp.net, winforms, webforms, xml, soap - 所有的都是用java来实现.
inet 配置工具
o 提供的工具让用户更容易实现在j2ee平台上展开inet 应用.
inet的工作原理?
在运行之前,.net编译器会将源代码编译成msil代码,那么我们就可以通过inet里面的il2java工具将它们转换成本地java。因为inet运行时类库与.net类库完全兼容,所以本地java源码是由执行il2java这一命令产生的取代了.net运行类库的inet运行类库。
一旦应用程序被完全转换成java源码,它就像任何java应用一样,被java虚拟机(jvm)编译成java字节码后被执行。这个应用程序运行时包会包括inet运行时类库。
inet 的il2java工具是内嵌在visual studio.net里面,因此开发者只需要简单的点击"建立java"菜单就可以将代码转换成java,在visual studio.net里面配置它到本地机器上或者到远程目标机器上。它也可以通过一个简单的命令行"il2java.exe"来调用。