• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    面向對象的分布式開發系統-理論篇(1)

    發布: 2007-5-25 11:48 | 作者: 陳立峰 | 來源: uml中國 | 查看: 42次 | 進入軟件測試論壇討論

    領測軟件測試網 關鍵字:

      分布式對象Distributed Object  任務驅動Task-Driven

      流水線式設計模式Pipelining Design Model  分布式系統Distributed System

      數據安全Data-Safety   面向對象Object-Oriented

      中間件 Middle-ware   體系結構 Architecture

     

      摘 要

      在Web 應用開發中,之所以能夠利用對象的概念,方便地創建靈活穩定的Web 服務,歸功于J2EE 的多層體系結構。而在傳統軟件(非Web 應用)開發中,如何利用面向對象技術,將是本文闡述的主要目的。本文基于一個分布式的開發工具模型 – SoftEngine, 簡要闡述了分布式系統的基本技術及特征,包括:任務驅動,分布式對象,流水線式設計模式,以及數據安全等關鍵技術 。

     

      1.前言

     

      自從有了J2EE 體系結構,基于諸如:BEA WebLogic, IBM WebSphere 以及Sun ONE 等多層結構的應用服務器,Web 開發已變得如此的便捷、高效。Web 程序工程師也不在過多的關心如何解決系統穩定性、高負荷等問題,而精力更多地集中在如何實現應用邏輯。比如:現在,很少有人在采用了上述的中間件產品后,還問津系統是否穩定、如何擴容等問題。因為J2EE 體系,已經解決了這些繁瑣的技術難點。

      而其他的、非Web 方式的傳統軟件開發工程師就沒有如此的幸運了。特別在一些基礎分布式系統、實時系統及數據傳輸系統的開發項目,基于Web 方式的應用已無法解決。J2EE 已無法提供更多的幫助。此時,只能依靠程序員從系統最基本的功能開始開發。除功能外,系統性能好壞,完全取決于開發人員的素質及經驗。在短時間內構造出如同Web 應用一樣穩定、高效的系統,簡直成為一種夢想。

      為了實現這個夢想,軟件的"總線結構"孕育而生。所謂總線結構,就是所有的功能部件以相同的方式連結在一個用來相互通信的結構性部件上。由此帶來的好處是,部件的內部設計被獨立出來,再也不必考慮部件之間的互連問題,設計人員可以專注于部件的功能設計 。

      CORBA 就是這樣一個比較不錯的協議規范;贑ORBA ,也有一些可用于開發的中間件 。 但CORBA 不是完整的體系結構,無法像J2EE 一樣為所有的Web 系統提供統一的體系。所以更顯基礎、低層一些。而且部份的J2EE 產品是構架在CORBA 產品之上。所以直接利用CORBA 產品做系統開發 ,還需解決以下的問題:

      ·沒有統一可用的體系結構。不同的系統,都需要設計不同的體系結構。在項目開發中通常需要花費大量的時間。

      ·如果在設計的體系結構中存在薄弱點( 瓶頸點) ,還需要為這些點設計負載均衡等解決方案。

      ·眾所周知,進程(Process)間的同步調用(synchronously calling )不適合實時分布式系統;贑ORBA ,還需要做一些復雜的工作,來實現異步操作。

      ·更重要的:CORBA 不是面向對象(Object-Oriented) ,在為應用提供服務時,還需要封裝其復雜的分布式操作。

      ·繁重的集成測試工作。

      上述的這些問題,歸根結蒂:需要一個好的體系結構,幫助程序員解決這些在每次開發中都會遇到的相同問題。參考J2EE ,不難總結出其應當具備的特點:

      ·穩定的,可平滑升級的 。

      ·具有面向對象特性,模塊可重復使用 。

      ·基于組件的,軟總線機制。

      ·可非程序化的可分布機制。

      ·異步的遠程對象訪問。

      ·事件驅動或任務驅動 。

      ·支持流水線式設計模式 。

      ·對象的負載均衡及冗余。

      按照這些想法,就一個分布式開發平臺的原型( 暫命名為SoftEngine) ,本文簡要討論一些實現分布式體系結構想關的理論。在后續文章( 應用篇) 中,將以一個實際的例子: 手機短信增值業務平臺的建設,來描述如何利用這些理論快速開發出,靈活、穩定、高性能的分布式應用系統 。

     

      2.分布式系統所應具有的體系結構

     

      一個分布式計算系統(distributed computing system ),就好比現實生活中的一個公司。其中,某些職員負責日常的內部事務保證公司正常運作;某些職員負責對外聯系工作,保持與其他公司的關系;在公司員工之間定義了一定的工作流程,通過固定格式的表單提交任務及交換信息。在公司運作中,只要員工的職責及工作流程保持不變,其他的可變因數,如:工作的物理位置或交換信息的不同,都不會造成本質的變化。

      因此,在分布式系統中,需要定義出不同的職能對象。這些對象是可分布的。對象之間還需定義各種內容的信息/ 消息體。以SoftEngine 為例,定以了三種最基本的元素對象:

      ·功能對象(Function Object) ,負責內部功能操作。

      ·服務對象(Serve Object) ,具備通訊能力。

      ·任務對象(Task Object) ,在功能及服務對象間傳遞信息。

      對象間的協調、信息傳遞等復雜的操作,被封裝在SoftEngine 的內核。通過簡單的接口對象,演變出各種不同的應用系統。如下圖,所示的體系結構 :

    圖表 1 The Architecture Of SoftEngine

      ·Components Area 組件局域 是一個開放式的區域。為應用組件提供了三種主要的接口: 功能接口(Function Interface)、服務接口(Serve Interface)、任務接口(Task Interface) 。繼承了面向對象的特點,組件局域具備了許多"軟總線"的特性,可以靈活地加載、卸載應用對象 。

      ·SoftEngine Kernel 內核 是SoftEngine 的核心部分,封裝了大部份的內部操作,如: 對象間的協作、任務傳遞和對象的分布管理等。其中最主要有兩個部件: 任務通道(Task Channel)和通訊通道(Communication Channel) ,用于安全,有效,準確地傳輸數據 。

      ·Task Channel 任務通道 直接連接每個對象,傳輸任務信息從一個對象到另一個對象 。

      ·Communication Channel 通訊通道 連接每個分布的SoftEngine 內核。傳輸任務信息從一個SoftEngine 到另一個SoftEngine 系統 。

      ·Singleton Model 獨體運行模式. 如果應用系統不需要分布,也就是說:所有的應用組件發布在同一個SoftEngine 環境中,那么這個單獨運行的模式叫獨體運行模式 。

      ·Group Model 群體運行模式. 基于獨體運行模式,應用組件被分布在不同的SoftEngine 系統。彼此之間通過通訊通道連接在一起,形成一個分布的系統,稱之為: 群體運行模式 。

      SoftEngine 的體系結構,以多態的方 式 ( 獨體Singleton / 群 體 Group ) 存在。獨體充分表現了軟總線的特性;而多個獨體組成的群體表現出分布式的系統特性。

      從獨體上看:是軟總線結構的應用軟件,其中的每個模塊(對象Object )以插件的方式,通過系統提供得接口及配置文件,發布在系統上。對象彼此之間,通過任務通道(Task Channel)協調工作在一起,而Object 之間的構件操作被封裝在SoftEngine Kernel 內。

      從群體上看:是一個分布式的結構,每個獨立運行的SoftEngine 系統,通過Kernel 的通訊通道(Communication Channel)彼此連接,協調工作,成為一個完整的強大的分布式系統 。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>