天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JAVA與.NET的相互調(diào)用——利用JNBridge橋接模式實現(xiàn)遠程通訊

  分布式開發(fā)的歷史

  利用Remote方式調(diào)用遠程對象實現(xiàn)服務器與客戶端之間通訊是一種常用的網(wǎng)絡(luò)開發(fā)方式,在.NETJava開發(fā)當中,對Remote遠程對象早已有著足夠的支持(對Remote遠程對象調(diào)用有興趣的朋友歡迎參考一下利用遠程對象實現(xiàn)分布式開發(fā))。

  從2003年開始.NET當中就盛傳著.NET Remoting遠程對象調(diào)用的分布式開發(fā),.NET Remoting主要用于管理跨應用程序域的同步和異步RPC 會話。在默認情況下,Remoting可以使用 HTTP 或 TCP 協(xié)議進行信息通訊,并使用 XML 編碼的 SOAP 或二進制消息格式進行數(shù)據(jù)交換。.NET Remoting 提供了非常靈活和可擴展的編程框架,并且可以管理對象的狀態(tài)。在Framewok2.0出臺以后,WCF盛世登場,它是綜合了.NET Remoting遠程對象,TCP/IP套接字,Web服務,MSMQ,P2P點對點等各類型通信方式的產(chǎn)物,WCF使遠程通信進入另一個臺階。

  而在Java方面,對遠程通信也有強大的支持,它定義了的RPC(Remote Procedure Call Protocol)協(xié)議是—項遠程過程調(diào)用協(xié)議,它可以通過網(wǎng)絡(luò)從遠程計算機請求的服務獲得計算結(jié)果,它無需了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議就可以使用如TCP或UDP等通信方式,為程序之間傳遞信息數(shù)據(jù)。在網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應用層。RPC使系統(tǒng)更容易地實現(xiàn)分布式式開發(fā)。但RPC通訊卻并未實現(xiàn)面向?qū)ο蟮拈_發(fā)原則,到而RMI(Remote Method Invocation)遠程方法調(diào)用是一種計算機之間利用遠程對象互相調(diào)用實現(xiàn)通訊的一種機制。它以面向?qū)ο蟮拈_發(fā)方式,利用RPC協(xié)議,使服務器與客戶端的對象能夠?qū)崿F(xiàn)遠程調(diào)用。

  但在.NET Remoting與RMI通信中同時存在一個弊端,那就是對開發(fā)語言的限制,無論是使用哪一種通訊方式,服務器與客戶端都必須支持同一種開發(fā)語言。通訊過程中不能跨越開發(fā)語言的限制,這是一個人令人懊惱的消息。因為在大型的開發(fā)項目當中,往往會集合著不同語言開發(fā)進行不同模塊的開發(fā)。而使用Remote進行分布式開發(fā),可以提高通信的效率但卻又受到限制。對此,各大開發(fā)公司做出了積極的貢獻,開發(fā)出如J-Integra(又名Ja.NET),IIOP.NET(InterNET Inter-Orb Protocol),JNBridge等集成開發(fā)工具,對.NETJava之間實現(xiàn)Remote遠程對象的相互調(diào)用作出足夠的支持。下面在下為大家對“JNBridge實現(xiàn).NETJava的相互操作”作出詳細的介紹。

  JNBridge概述

  NBridge是一種領(lǐng)先的Java與.NET互操作的的產(chǎn)品,憑借JNBridge技術(shù),Java和.NET代碼無需交叉編譯器就可以實現(xiàn)對象共享。所有Java代碼運行在JVM上,而.NET代碼則運行在CLR上。在該方案下,JVM和CLR可以運行在不同的機器上,也可以運行在一臺機器的不同進程上,甚至還能運行在相同的進程的不同應用程序域上。經(jīng)歷多年的發(fā)展,JNBridge已經(jīng)發(fā)布了JNBridgePro 5.0,JNBridgePro 5.0有著更強大的功能。

    1. 支持ava和.NET之間的跨平臺事務;
    2. 支持Microsoft Visual Studio和Eclipse插件;
    3. 兼容Windows 7;
    4. 跨平臺交易一體化主要是對用戶透明;
    5. '回滾'- 任何一方的終止都將導致雙方的行動被回滾;

      JNBridge支持.NET To JavaJava To .NET兩種服務方式,并可以行用TCP、HTTP、SOAP等多個協(xié)議進行雙方通訊,下面就以 “Java調(diào)用.NET” 實現(xiàn)一個簡單開發(fā)例子,介紹一下JNBridge的功能。

      JNBridge配置

      首先可以在JNBridge的官方網(wǎng)站http://www.jnbridge.com/downloads.htm 下載程序,安裝JNBridgePro 5.0后,啟動JNBProxy v5.1.exe,選擇Create new Java->.NET Project,新建一個項目后,點擊Project->Java Options對系統(tǒng)進行配置。首先設(shè)置好本機的Java.exe應用程序和jvm.dll程序集的路徑,然后設(shè)置jnbcore.jar和bcel.jar的路徑(在5.1版本中,這兩個文件存在于“/JNBridge/JNBridgePro v5.1/jnbcore/”),最后可以選擇HTTP或TCP通訊方式(在此例子當中在下選擇TCP通訊,系統(tǒng)默認接口為8085你也可以選擇自定義的接口)。點擊“OK”按鈕,配置完成時,系統(tǒng)將自動生成一個 "/JNBridge/JNBridgePro v5.1/jnbcore/jnbcore_tcp.properties" 文件記錄TCP配置信息。

      .NET服務端開發(fā)

      假如閣下使用的是Visual Studio 2008或者Visual Studio 2010版本,系統(tǒng)將會感知JNBridge的存在,在新建項目時,可以直接新建一個DotNETJavaProxies項目。在此在下想展示一下JNBridge的轉(zhuǎn)換性能,所以直接新一個解決方案。添加一個Model項目,加入Person類,為Person加入Serializable特性,注意要去除不必要的引用,因為對Framework的引用在轉(zhuǎn)換時將變?yōu)閷陌?/p>

    using System;

    namespace Model
    {
    [Serializable]
    public class Person
    {
    public int ID
    {
    get;
    set;
    }

    public string Name
    {
    get;
    set;
    }

    public int Age
    {
    set;
    get;
    }
    }
    }

    NET技術(shù)JAVA與.NET的相互調(diào)用——利用JNBridge橋接模式實現(xiàn)遠程通訊,轉(zhuǎn)載需保留來源!

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

    主站蜘蛛池模板: 99久久e免费热视频百度 | 久久黄色录像 | 国产亚洲日韩另类在线播放 | 午夜AV国产欧美亚洲高清在线 | 国产成人精品精品欧美 | 99久久精品6在线播放 | 亚洲刺激视频 | 成人国产精品视频频 | 久久伊人久久 | 91天堂国产在线 在线播放 | 女配穿书病娇被强啪h | 娇小萝被两个黑人用半米长 | 欧美黑大炮18p| 日本阿v直播在线 | 美女被j进去动态 | 小黄文纯肉短篇 | 欧美午夜福利主线路 | 男女生爽爽爽视频免费观看 | 久久99热成人精品国产 | 99精品免费观看 | 中文字幕高清在线观看 | 久久国产精品自线拍免费 | 大地影院免费观看视频 | 最新色导航 | 野花高清影视免费观看 | 国产精品麻豆a在线播放 | 18禁止看的免费污网站 | 无码11久岁箩筣 | 欧美白人战黑吊 | 99热免费精品店 | 国产一级做a爰片久久毛片男 | 成人天堂资源WWW在线 | 97无码人妻精品1国产精东影业 | 国产精品点击进入在线影院高清 | 亚洲精品视频区 | 欧美性FREE玩弄少妇 | 大屁股妇女流出白浆 | 一进一出抽搐gif免费60秒 | 97超级碰碰人妻中文字幕 | TUBE19UP老师学生 | 国产乱妇乱子在线播视频播放网站 |