<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 用RMI開發(fā)基于Java的企業(yè)分布式應(yīng)用

    時間:2024-09-01 06:54:50 計算機畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    用RMI開發(fā)基于Java的企業(yè)分布式應(yīng)用

    摘要由于Java具有跨平臺、代碼可移植性、安全高效等廣泛而強大的功能,因而在開發(fā)網(wǎng)絡(luò)分布式應(yīng)用的時候,可以用它自身的機制實現(xiàn)分布式計算,一種基于Java的遠程方法調(diào)用(RMI)為我們開發(fā)企業(yè)分布式應(yīng)用提供了行之有效的解決方案。
    關(guān)鍵詞JavaRMI企業(yè)分布式應(yīng)用
    1概述
    隨著電力企業(yè)信息化建設(shè)的不斷深入和發(fā)展,企業(yè)內(nèi)部和企業(yè)與企業(yè)之間對信息、對數(shù)據(jù)的交換量大大增加,這些信息與數(shù)據(jù)越來越需要在不同的計算機網(wǎng)絡(luò)間傳送和交流。同時,由于各單位、各部門之間的現(xiàn)存的計算機網(wǎng)絡(luò)硬件設(shè)備與操作系統(tǒng)千差萬別,應(yīng)用水平也參差不齊,因此,開發(fā)出跨平臺、可移植、高效安全的網(wǎng)絡(luò)分布式應(yīng)用來服務(wù)于電力企業(yè),就顯得尤為重要。
    在當今的編程術(shù)語里,分布式計算已經(jīng)成為很常見的詞,它將企業(yè)的業(yè)務(wù)數(shù)據(jù)和程序分布在網(wǎng)絡(luò)的不同物理位置上,通過調(diào)動網(wǎng)絡(luò)上多臺計算機的處理能力,發(fā)揮遠程調(diào)用數(shù)據(jù)的功能。
    遠程方法調(diào)用(RemoteMethodInvocation,RMI),可以在不同的Java虛擬機(JVM)之間實現(xiàn)對象與對象的通信。JVM可以位于相同或不同計算機上,在多個JVM中,一個JVM可以調(diào)用存儲在其它JVM的對象的方法。
    本文主要介紹RMI的特點,分析應(yīng)用RMI進行企業(yè)分布式計算的原理,以及利用RMI實現(xiàn)基于Java的企業(yè)分布式應(yīng)用的具體步驟。

    2遠程方法調(diào)用(RMI)的特點
    2.1TCP編程的缺點
    由于Java編程語言設(shè)計之初就是面向?qū)ο蠛椭С志W(wǎng)絡(luò)的,因此,基于對象的RMI機制已經(jīng)內(nèi)置在Java平臺中。
    我們經(jīng)常會在網(wǎng)絡(luò)開發(fā)中使用TCP/IP編程,這樣,自然而然地就會涉及到Socket(套接字)編程。但是,使用Socket編程需要大量重復(fù)編碼,在復(fù)雜分布式操作時顯得非常麻煩,而且易于出錯。因此,如何快速、高效、安全、可擴展地進行網(wǎng)絡(luò)分布式計算,是開發(fā)者們一貫追求和倡導(dǎo)的主題。直到RMI的出現(xiàn),這種繁雜、低效的開發(fā)情況才有很大改觀。

    2.2RMI編程的特點
    當我們利用對象序列化在網(wǎng)絡(luò)上分配對象時,RMI提供了非Java平臺無法匹敵的獨特而強大的分布式計算模型,RMI主要有以下特點:
    ?客戶機可以向本地方法一樣調(diào)用遠程服務(wù)器上的方法;
    ?可以根據(jù)接口指定客戶機/服務(wù)器編程合約;
    ?可以從服務(wù)器對象缺省二進制類文件,自動生成調(diào)動/反調(diào)動代碼;
    ?將Java編程模型擴展到機器邊界(和Java虛擬機(JVM)邊界之外),不需要任何特殊語法;
    ?還可以和一個遠程方法調(diào)用中的數(shù)據(jù)同時傳輸行為(代碼)。
    盡管RMI不是唯一的企業(yè)級遠程對象訪問方案,但它卻是最容易實現(xiàn)的。

    2.3RMI與CORBA
    作為分布式應(yīng)用程序框架的規(guī)范,COBRA首當其沖,它是由對象管理組織(OMG)開發(fā)的。與CORBA不同的是,CORBA能夠利用不同編程語言(例如C/C 、Basic等)開發(fā)實現(xiàn)分布式應(yīng)用,而RMI是一種純Java解決方案。在RMI中,程序的所有部分都由Java語言編寫,這樣,開發(fā)出來的程序完全符合Java規(guī)范,便于實現(xiàn)跨平臺訪問、擴展和移植。按照筆者所在西北電力建設(shè)集團公司的情況看,服務(wù)器操作系統(tǒng)主要有Linux和Windows2000Server,分別存在于公司和部門當中,它們是不同的系統(tǒng)平臺;同時,公司下屬各個工程項目部又距離很遠,近的幾十公里,遠則達到上千公里甚至位于國外,因此跨平臺和遠程訪問這兩大功能在開發(fā)企業(yè)應(yīng)用系統(tǒng)時就必須考慮,而RMI恰恰能夠用它的自身特點來滿足編程需要。

    3RMI基本體系結(jié)構(gòu)簡介
    RMI通過TCP/IP在內(nèi)部使用Socket,象其名稱暗示的那樣,它能夠幫助我們查找并執(zhí)行遠程對象的方法。RMI的目的是讓位于不同JVM中的對象,在外觀及行為上都像是本地的對象。
    通常,我們把調(diào)用這種遠程對象的JVM,稱為客戶機;而把包括這種遠程對象的JVM,稱為服務(wù)器。
    盡管對一個遠程對象的引用和獲得對本地對象的引用有所不同,但我們可以把遠程對象像本地對象一樣使用。應(yīng)用程序并不知道一個對象是遠程的還是本地的。實際上,遠程對象上被調(diào)用的方法與本地對象上調(diào)用的方法,具有相同的語法結(jié)構(gòu)。
    作為RMI的底層(會包含復(fù)雜的Socket操作),它會自動截獲方法調(diào)用,找到遠程對象,然后處理遠程請求。筆者認為,RMI設(shè)計的重要之處,就在于不但在設(shè)計上實現(xiàn)了遠程訪問功能,而且實現(xiàn)了設(shè)計的透明性。
    RMI的基本體系結(jié)構(gòu),概括起來說,由三個抽象層組成:

    3.1存根/框架層(Stubs/SkeletonsLayer)
    RMI為我們引入了兩種特殊類型的對象,稱為存根(Stub)和框架(Skeleton),它們組成了RMI的第一層。
    在遠程通信的時候,要利用TCP/IP協(xié)議,做很多底層數(shù)據(jù)的打包傳輸。運用Java技術(shù),我們先要把數(shù)據(jù)或者對象轉(zhuǎn)換成字節(jié)流(bytestream),便于網(wǎng)絡(luò)傳輸,這個過程叫匯集(marshaling);當收到遠程傳來的字節(jié)流后,我們要把流信息轉(zhuǎn)換成對象或者數(shù)據(jù),這個過程叫解讀(unmarshaling),它與匯集剛好相反。
    Stub和Skeleton層位于實際應(yīng)用程序之下,建立在Proxy(代理)設(shè)計方案之上。Stub類的作用是遠程服務(wù)器實現(xiàn)的代理的角色,Stub是客戶方對象;Skeleton類用于幫助對象通過RMI鏈接與Stub通信,它從鏈路中讀取方法調(diào)用的參數(shù),向遠程服務(wù)實現(xiàn)對象進行調(diào)用,接受返回值,然后再把返回值寫回到Stub。
    3.2遠程引用層(RemoteReferenceLayer)
    遠程引用層定義和支持著RMI連接的調(diào)用語義(semantics)。
    RMI進行遠程訪問要用到JRMP(JavaRemoteMethodProtocol,即Java遠程方法協(xié)議),
    這一層提供專用于JRMP的RemoteRef對象,它位于java.rmi.server包內(nèi),代表著遠程對象的一個句柄。RemoteRef使用遠程引用來執(zhí)行遠程對象的一個遠程方法調(diào)用。
    3.3傳輸層(TransportLayer)
    傳輸層在JVM之間建立基于流的網(wǎng)絡(luò)連接,并且負責

    【用RMI開發(fā)基于Java的企業(yè)分布式應(yīng)用】相關(guān)文章:

    開發(fā)基于路由器VR功能的寬帶應(yīng)用03-07

    基于Java的應(yīng)用編程-視頻點播系統(tǒng)JSP+TOMCAT+SQL11-23

    基于CS管理的房地產(chǎn)企業(yè)開發(fā)設(shè)計01-11

    淺談基于Pushlet推技術(shù)的網(wǎng)絡(luò)應(yīng)用程序開發(fā)的研究03-01

    開發(fā)基于SQL SERVER 的C/S數(shù)據(jù)庫應(yīng)用系統(tǒng)?03-18

    分布式發(fā)電系統(tǒng)的應(yīng)用及前景03-18

    基于CPRI標準的分布式基站研究與設(shè)計03-07

    基于后綴數(shù)組的分布式串匹配算法11-14

    用GNU工具開發(fā)基于ARM的嵌入式系統(tǒng)03-18

    主站蜘蛛池模板: 国产线视频精品免费观看视频 | 欧美一区二区精品系列在线观看| 国产精品自在线拍国产第一页| 精品9E精品视频在线观看 | 国产精品乱视频| 国产精品视频第一页| 亚洲国产精品无码久久一线| 精品水蜜桃久久久久久久| 中文精品一卡2卡3卡4卡| 精品国产网红福利在线观看| 国产精品无码久久综合| 亚洲AV无码久久精品成人| 亚洲国产精品无码久久久久久曰| 国产午夜精品一区二区| 91探花国产综合在线精品| 国产精品亚洲午夜一区二区三区| 大伊香蕉精品一区视频在线 | 91午夜精品亚洲一区二区三区| 久久青青草原精品影院| 国产精品网址你懂的| 国产精品免费网站| 久久亚洲精品视频| 四虎影视国产精品永久在线| 欧美精品一本久久男人的天堂| 国产精品一区二区久久| 精品国产一区二区三区免费| 久久99精品国产一区二区三区| 国产亚洲精品a在线观看app| 国产精品爽爽va在线观看网站| 精品亚洲永久免费精品| 日韩精品一区二区三区四区| 欧美性videofree精品| 囯产精品一区二区三区线| 国产精品 视频一区 二区三区| 国产精品夜色视频一级区| 精品无人区无码乱码毛片国产 | 久久亚洲中文字幕精品一区| 日韩精品无码永久免费网站| 下载天堂国产AV成人无码精品网站| 四虎成人精品国产永久免费无码| 亚洲av午夜成人片精品电影|