非常了不起的工具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"來調用。