国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于CORBA/WEB技術構建三層體系結構的應用

2019-11-18 12:41:38
字體:
來源:轉載
供稿:網友

  1 問題提出
  在應用系統開發過程中,CLIENT/SERVER體系結構得到了廣泛的應用 。其特點是,應用程序邏輯通常分布在客戶和服務器兩端,客戶端發出數據資源訪問請求,服務器端將結果返回客戶端。但CLIENT/SERVER結構存在著很多體系結構上的問題,比如:當客戶端數目激增時,服務器端的性能會因為負載過重而大大衰減;一旦應用的需求發生變化,客戶端和服務器端的應用程序都需要進行修改,給應用維護和升級帶來了極大的不便;大量的數據傳輸增加了網絡的負載等等。
   隨著分布式對象技術的逐漸成熟,多層分布式應用體系結構得到了越來越多的應用。應用系統只有向多層分布式轉變,才能最終解決CLIENT/SERVER結構存在的問題。在多層架構下,應用可以分布在不同的系統平臺上,通過分布式技術實現異構平臺間對象的相互通信。將應用系統集成于分布式系統之上,能極大地提高系統的可擴展性。
    在多層分布式應用中,在客戶端和服務器之間加入了一層或多層應用服務程序,這種程序稱為“應用服務器”。開發人員可以將應用的商業邏輯放在中間層應用服務器上,把應用的業務邏輯與用戶界面分開。在保證客戶端功能的前提下,為用戶提供一個簡潔的界面。這意味著假如需要修改應用程序代碼,只需要對中間層應用服務器進行修改,而不用修改成千上萬的客戶端應用程序。從而使開發人員可以專注于應用系統核心業務邏輯的分析、設計和開發,簡化了應用系統的開發、更新和升級工作。
  2 CORBA 簡介
  CORBA是Common Object Request Broker Architecture的縮寫,它是分布計算機技術的發展結果,CORBA技術的成功在于,它除了能夠解決由于多個系統層次上的異構帶來的“孤島”問題,還在理論和技術上擴展了客戶/服務器的模式,使系統具有良好的可伸縮性,便于系統的開發與升級,保護已有投資。
  CORBA體系的主要內容包括以下幾部分,
  (1) 對象請求代理ORB(Object Request Broker):負責對象在分布環境中透明地收發請求和響應,它是構建分布對象應用、在異構或同構環境下實現應用間互操作的基礎。
  (2) 對象服務(Object Services):為使用和實現對象而提供的基本對象集合,這些服務應獨立于應用領域。主要的CORBA服務有:名錄服務(Naming Service)、事件服務(Event Service)、生命周期服務(Life Cycle Service)、關系服務(Relationship Service)、事務服務(Transaction Service)等。這些服務幾乎包括分布系統和面向對象系統的各個方面,每個組成部分都非常復雜。
  (3) 公共設施(Common Facilitites):向終端用戶提供一組共享服務接口,例如系統治理、組合文檔和電子郵件等。
  (4) 應用接口(application Interfaces):由銷售商提供的可控制其接口的產品,相應于傳統的應用層表示,處于參考模型的最高層。
  (5) 領域接口(Domain Interfaces):為應用領域服務而提供的接口。如OMG組織為PDM系統制定的規范。
  CORBA的產生有其特定的背景,它是在面向對象的技術興起,客戶/服務器模式普遍得到應用的前提下,為屏蔽通信和實現細節的需求,繼續已有系統,消除“孤島”現象而產生的。他彌補了傳統分布處理系統的不足(如RPC等),具有很多新的特色:
  (1) 引入代理(Broker)概念。代理起到如下作用:完成對客戶方提出的抽象服務請求的映射;自動發現和找到服務器;自動設定路由,實現服務方程序的執行。
  (2) 客戶方程序與服務方程序完全分離。用傳統的客戶/服務器方式有很大的不同,客戶將不再與服務方發生直接的聯系,而僅需要與代理發生聯系,客戶與服務器方都可方便升級。
  (3) 提供“軟件總線”機制。任何應用系統只要提供符合CORBA系統定義的一組接口規范,就可以方便的集成到CORBA系統中,這個接口規范獨立于任何實現語言和環境。如此,客戶應用于服務對象之間可以透明地交互運行,實現應用軟件在“軟件總線”上的“即插即用”。
  (4) 分層的設計原則和實現方式。CORBA系統的底層核心是一個精練的系統,各種復雜系統和應用可以由核心擴展和延伸。
  CORBA技術是先進技術發展的結果,它將面向對象的概念揉合到分布計算中,使得CORBA規范成為開放的、基于客戶/服務器模式的、面向對象的分布計算的工業標準。
  3 CORBA與WWW 相結合
  WWW技術迅速發展,它已不再僅僅是超媒體信息的瀏覽工具,以逐步成為人們進行事務處理的前端。由于分布對象的計算技術,非凡是CORBA技術對于提高WEB的網絡計算能力有著無可比擬的巨大作用,CORBA與WWW技術迅速融合,產生誘人的技術前景。
  CORBA與WWW結合,構架出真正的三層體系結構。這種三層的體系結構,以分布對象技術為基礎構架,增加了應用層,將客戶層與資源層隔開,降低了Web服務器的負載,避免了Web服務器的性能缺陷對整個性能的影響。并且具有連接緩沖,負載均衡,安全治理等功能,從而提高了Web應用整體的靈活性,可伸縮性,可擴展性。
    該結構中,CORBA客戶方程序從Web服務器上下載執行,與應用服務器上的CORBA應用對象通過IIOP(Internet-Inter-ORB PRotocol)協議進行通訊,調用其指定的操作。CORBA應用對象首先對客戶的請求進行認證和解釋,根據客戶請求的內容,或是直接訪問資源層的數據庫,或是與網絡上的其它CORBA對象交互,共同完成客戶請求。CORBA-WEB體系與ActiveX,java RMI(Remote Method Invocation)比較起來,有明顯優勢。
  在CORBA與Web的結合技術上,JAVA是CORBA結合Web的一個很好的切入點。CORBA規范中定義了IDL/Java的映射,CORBA產品提供商則根據規范開發了Java ORB。
  JAVA ORB不僅能開發分布式的JAVA應用,更重要的是它能夠開發WEB的CORBA應用。
  Java ORB是基于CORBA的Java應用的中心,Java客戶,包括Applet和Application,通過樁(Stub)代碼向本地的Java ORB發出請求,本地ORB再與服務器方的Java ORB進行IIOP通訊,服務方ORB根據請求的內容調用相關的骨架(Skeleton)代碼由指定的對象實現來完成請求,并將請求結果按原路返回給客戶。Java ORB作為信息中介的橋梁,負責遠程對象請求的生成、編碼、傳輸等工作。
  4 Java的CORBA/WEB應用實現概述與圖解
  在進行JAVA的CORBA/WEB應用系統開發時,首先要建立IDL描述文件,然后把IDL描述文件通過IDL/JAVA進行編譯,生成相應的樁和骨架文件。接下來采用JAVA分別實現服務器方和客戶方程序,然后將服務器方主程序和客戶方程序分別與骨架文件和樁相聯編,并將該客戶端程序嵌入到Html頁面中,這樣,通過瀏覽器瀏覽該頁面,就可以調用服務器方應用對象實現的操作。
  5 JBuilder 4 Enterprise 開發CORBA/WEB應用實例
  實例思路 本實例將建立一個銀行賬號查詢程序。先創建一個IDL文件,執行idl2java編譯器,生成服務器端的骨架和對應的客戶端的樁,然后,基于以上生成的框架,創建服務器端JAVA程序和html客戶端程序。
  實例開發工具 Borland Jbuilder 4 Enterprise
  (1) 選擇FileNew Project 菜單,在Jbuilder 中創建一個新項目。
  (2) 修改Project name為BankTutorial,修改Root path 為c:/sample,單擊完成。
  (3) 選擇FileNew,在Enterprise頁上選擇Sample IDL。
  (4) 在File Name框中輸入BankTutorial.idl,單擊OK,將創建一個示例IDL文件。在IDL文件中輸入如下代碼:
  module Bank {
  interface Account();{
  float balance();
  };
  interface AccountManger {
  Account open(in string name);
  };
  };
  (5) 在project 欄中右擊BankTutorial.idl文件。選擇Make,執行idl2java編譯器。
  (6) 創建服務器端程序:選擇FileNew,從Enterprise頁中選擇CORBA Server Application。
  (7) IDL File 框中選擇c:/sample/BankTutorial/scr/ BankTutorial /BankTutorial.idl。選擇Generate Visible Application With Monitor,為服務器程序創建一個監控界面。單擊OK。服務器程序名為BankServerApp.java。
  (8) 在具體項目開發中,CORBA接口服務器端實現,可加到project欄中的banktutorial.Bank.server相應類里。本實例暫不加任何用戶代碼。
  (9) 創建CORBA的HTML客戶端程序,選擇FileNew,從Enterprise頁中選擇HTML CORBA Client 。
  (10) HTML CORBA Client 向導中,IDL File選擇與生成服務器端對應的IDL文件,即:c:/sample/BankTutorial/scr/ BankTutorial /BankTutorial.idl。package選擇banktutorial,單擊OK,將生成HTML CORBA Client相關文件,其中會生成一個jsp頁面文件。
  (11) 關客戶端的程序,可加到project欄中的banktutorial.Bank.clienthtml相應的類中。本實例暫不加任何用戶代碼。
  (12) 譯項目,選擇projectMake Project “BankTutorial.jpx”。
  (13) 啟動Smart Agent,選擇ToolsVisiBroker Smart Agent。
  (14) 啟動服務器程序:在project欄中右擊文件BankServerApp.java,選擇Run。在屏幕上將顯示服務器端運行界面。
  (15) 運行HTML 客戶端程序:在project欄中右擊文件FormBank.jsp,選擇Web Run。在屏幕上將顯示客戶端運行界面。此時,假如打開瀏覽器,輸入地址:
  http://localhost:8080/scr/banktutorial/FormBank.jsp ,在瀏覽器中會顯示相應界面。
  (16) 一個基于CORBA/WEB技術的三層結構的應用框架已經建立了。
  6 小結
  基于CORBA/WEB技術建立三層結構的應用,有效地解決了在CLIENT/SERVER體系結構下負載平蘅、系統伸縮性等問題,JAVA是實現CORBA/WEB技術很好地切入點,Borland Jbuilder 4 Enterprise 提供了純JAVA開發環境,為實現CORBA/WEB技術提供為強大地技術支持。
  參考文獻
  [1] Jin Huang. Internet/CORBA-based Multi-Agent System for Tele?Design

上一篇:corba學習1--專有名詞

下一篇:RMI 起步

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梅河口市| 宜丰县| 宁南县| 芷江| 永寿县| 封丘县| 罗平县| 沙洋县| 舟曲县| 吴旗县| 毕节市| 类乌齐县| 海丰县| 防城港市| 白银市| 昂仁县| 万源市| 永康市| 罗城| 农安县| 宜兰市| 永顺县| 托里县| 兴安盟| 临朐县| 罗江县| 高邑县| 东至县| 寻甸| 仪征市| 江永县| 扎囊县| 城步| 安陆市| 淳化县| 张家口市| 龙口市| 廉江市| 新蔡县| 廉江市| 临湘市|