JAVA將繼續保持它的特點:跨平台的伺服器端應用,如WAP伺服器,或者是電信領域的如JAIN(Java API for Intelligent Networks,同時它在嵌入式系統中將繼續保持它的優勢,象智慧卡、行動電話、PDA等。而我們還將看到.NET的成熟,當然這種成熟需要時間,可能是相當長的一段時間,就好象當年JAVA成長那樣。
非微軟產品,包括伺服器,案頭或是攜帶型裝置的作業系統如Solaris, Linux和Palm OS的.NET介面。與JAVA核心的整合。比如說,針對CLI(Common Language Infrastructure)的JAVA編譯器,針對JAVA虛擬機器的C#編譯器。SQL SERVER 或是 ORACLE 等資料庫產品中整合的VES 引擎。由中立的第三方開發的開放源碼的,完善的.NET平台。
JAVA的一個主要目標是通訊裝置供應商,如NOKIA就在它的WAP SERVER 應用了JAVA。類似於70年代和80年代初,PC銷售時硬體供應商將最終的應用程式綁定在作業系統中一起銷售,JAVA現在也被綁定於通訊裝置中被銷售。
它的另一個主要方向是JAIN(Java API for Advanced Intelligent Network),它主要是定義一套與協議(如CDMA,GSM,IMT2000)無關的API,以便於基於開放市場的組件開發。這使得ISV(獨立軟體廠商)可以以外掛程式的形式提供通訊服務,如可自動轉接至最近的可撥通的國際話務中心的800免付費電話。當然,JAIN也遇到了對手,想微軟和不列顛通訊提出的Parlay計劃——它也被業界所支援。
在這裡,JAVA API 與每一個相應 .NET API之間將建立一個映射,比如Java API中的java.io.File將被映射到 .NET的System.IO.File 類。相對於比較簡單的IO類的映射,還有一些映射比較複雜,比如java.net包到.NET 的SYSTEM.NET的映射。這裡存在的一個問題是:該項工作如果在C#中進行開發會比較方便。而假如在JAVA中實現,則需要有一個直接指向CLI(Common Language Interface)的編譯器,它能產生符合CLS(Common Language Specification)標準的CIL(Common Intermediate Language)代碼。
可以通過編寫一個嚮導式的工具來避免一些煩瑣的工作,例如,可以利用C# 或JAVA來編寫一個基於XML格式的對象描述,用它產生一個架構代碼,然後根據需要向其中手寫添加其他代碼。如果你確實打算進行這樣的操作,在http://xml.apache.org網站你可以找到很多有用的資料。微軟的過時的JAVA SDK中也有類似的工具可供參考——一個用來產生Jdirect(JDirect was the Microsoft's hack for implementing native interfaces)代碼的工具,利用它可以實現訪問本地WIN32 API。SDK中有該工具的原始碼。順便提一句,由於這裡涉及到微軟的一套獨特的JAVA擴充標記,因此SUN和微軟一直就此問題打著官司。
這個.NET API bridge 應該以一種最佳化的方式被映射到PALM OS API上。連接器和裝載裝置的映射表駐留在PC 的網關上。通過資料線或藍芽傳輸PALM OS 的可執行代碼。它的實現將依賴於PALM OS 的駐留虛擬機器 KVM(the Java 2 Micro edition)運行時,同時它還應該避免KVM設計中JAVA運行程式載入過慢的缺陷。另外這一套API 與 為WINDWOS CE 的 設計的不同,它不應捨棄那些資源佔用較大的API 象System.Xml。.NET依賴於SOAP進行遠端方法調用。SOAP 基於 XML格式,因此它需要System.Xml的支援。如果沒有,基於SOAP的分布式應用將無法工作。通過調用System.Xml API 的方法可以實現對PDA諸如WINDOWS CE 和 PALM OS上的應用程式或是一些伺服器端的應用的遠程操作。甚至可以在SOAP的基礎上利用為WAP (Wireless Access Protocol)設計的WBXML (Wap Binary XML)標準與WAP 閘道器進行通訊。
.NET API and lib. bridge for POSIX.
這部分將對.NET API 和UNIX API進行映射,大量的 C 的編程工作將是一個困難,但更大的困難將來自於GUI 元素的處理上。這些UNIX平台會有很多GUI架構,比較安全的做法是給它們提供一個WIN32 API 的連接埠作為媒介。如果能以前文所述的MICROSOFT JAVA SDK的方法來進行映射的操作,那麼將節省大量的編程工作。