?

基于組件技術的網絡應用系統研究與開發

2016-12-27 19:07趙婉芳
中國科技縱橫 2016年15期

趙婉芳

【摘 要】隨著技術的發展,軟件復用技術從最初的簡單的代碼及函數復用發展到當前流行的軟件組件設計技術,組件技術通過軟件復用,不僅縮短了軟件開發過程,也有利于軟件的更新換代。本文主要分析研究了組件技術的基本原理,主流技術,同時歸納總結了基于組件技術開發應用軟件的過程及關注重點,對于基于組件的網絡應用程序開發有一定建設指導作用。

【關鍵詞】組件技術 CORBA標準 COM標準 EJB標準

隨著技術的發展,軟件開發領域面臨用戶需求日趨復雜的挑戰,由此出現了軟件復用技術來解決這個問題,隨著使用的深入,軟件復用技術也隨之從最初的簡單的代碼及函數復用發展到當前流行的軟件組件設計技術。如今軟件復用技術已經成為計算機軟件技術發展的動力和追求的目標之一,而當前解決軟件復用的最有效最前沿的組件技術也已經引起軟件開發行業的普片關注。

1 組件技術基本原理

組件技術是一種二進制基礎上的代碼復用技術。傳統方式下一個應用程序通常由單個的二進制文件組成,當編譯器生成此應用程序之后,就不會發生任何變化,當操作系統、硬件或客戶需求發生改變時,整個應用程序必須被重新編譯之后才能被認可,這個特征非常不利于軟件的升級更新。而在組件模式下,單個的應用程序則被分割成多個獨立的組件部分,當外界需求發生變化時,只需更新對應組件即可,很好的解決了程序易于老化的問題。在組件技術中提供服務的組件程序被稱為“服務器”,要求得到這種服務的程序稱之為“客戶機”。組件技術的核心就是實現客戶機和服務器之間的雙向通信。組件按照一定的規范進行開發,每個組件提供一個或多個接口,在接口里只定義類和函數的聲明,不包含具體實現。開發完成后的組件被部署在組件容器中,由容器進行組件的創建和刪除管理。組件服務器管理容器同時給客戶程序提供操作環境。組件服務器可以通過組件的唯一標識在需要時地確定組件所在位置??蛻舫绦蚴紫全@得組件的接口規范,聲明組件接口的本地指針,通過組件服務器找到組件程序的位置,啟動組件程序,然后向客戶機返回組件的信息??蛻魴C根據返回信息處理組件接口的本地指針,然后向組件服務器發出請求調用該接口的方法,服務器接受到請求后將該請求轉換為對真正組件方法的調用,最終將執行結果傳送給客戶機。這樣,客戶機就完成了對組件功能的調用。組件開發應用程序原理如圖1所示。

2 組件標準

標準是組件應用的基礎,統一的接口描述、規范的組件通信、標準的對象請求和遠程調用,構成了組件應用的基礎。目前的組件的主要標準有CORBA、EJB、COM三種技術標準。

2.1 CORBA

CORBA(Common Object Request Broker Architecture)是國際對象管理組織OMG(Object Management Group)提出的標準,是一種獨立于語言的分布式對象模型,實現了平臺、語言無關, 但該標準只定義了框架和內核,各種實現相差較大。CORBA其核心是ORB(Object Request Broker)即對象請求代理,對象的接口用IDL描述,在各個對象之間采用因特網ORB交互協議IIOP(Internet Inter-ORB Protocal)進行通信。

2.2 COM/DCOM/COM+

COM(Component Object Model)/DCOM(Distributed Component Object Model)/COM+是微軟公司推出的組件技術標準,主要應用于Windows平臺。COM是對象鏈接和嵌入OLE(Object Linking and Embedding)的發展,分布式COM即DCOM(Distributed COM)和COM+則是COM的基礎上發展起來的技術,和COM相比,DCOM和COM+的實現更加復雜。目前基于COM的OLE(Object Linking and Embedding)和AetiveX技術已經得到廣泛應用。

2.3 EJB

EJB(Enterprise Java Beans)是Sun公司基于J2EE架構提出的標準,在各個EJB之間采用遠程方法調用RMI(Remote Method Invocation)進行通信,而對數據庫的訪問,采用的則是Java數據庫連接JDBC(Java DataBase Connection)。EJB廣泛應用于大型電子商務系統開發,但只適用于Java語言環境和JVM(Java Virtual Machine),未能實現程序設計語言無關性,而且運行效率低,對J2EE 服務器配置要求高。

3 組件技術在多層機構網絡系統中的應用

與傳統的軟件開發不同,基于組件技術的軟件開發的核心是:如何提取可復用組件以及如何將這些抽象出的組件組裝成系統。在基于組件的軟件開發中應著重進行組件的規劃、設計與開發,而且組件的開發過程始終貫穿于整個應用軟件開發過程中,這種組件和整個應用程序的并行開發模式從另一方面大大提高了軟件開發效率。

一般情況下組件的開發過程首先是對組件進行功能分析、規劃和對外接口設計,進而落實內部細節的實現,最終完成組件的部署與管理工作。而在基于組件的整個應用系統開發過程則是在進行完傳統的需求分析后,首先將應用程序抽象為不同功能的各層,然后確定所需組件。組件的確定是通過系統的數據流程圖和系統結構圖來確定系統需要處理的各種應用請求,通過分析歸納這些應用請求就可以初步確定所需的組件。接下來創建各層之間的接口,實現組件的接口及方法。這里要注意組件本質上是獨立的實體,它們之間的相互通信只經由已知的公共接口,所以組件的接口在整個應用系統中起決定性作用。接口設計不合理,不僅影響組件本身的可重用性,而且會影響到整個應用系統的升級,還會縮短系統的生命周期。所以確定組件的接口是其中最重要的一步,要盡量使接口能支持各種不同的應用;最后是實現和邏輯驗證。組件不依賴于特定語言,因此開發者可根據實際需要選擇合適的開發工具。在實現階段的最后必須把經過測試的組件集成到一個系統中,并進行邏輯驗證和系統測試,進行最后的確認,最終開發完成一個應用軟件系統。圖2是基于組件的應用程序開發過程圖。

4 結語

這種以標準的組件構造應用程序的做法,很長時間以來一直是軟件工程開發的一個發展目標,隨著COM、CORBA、EJB、.NET組件的發展,這一目標逐漸被實現,雖然目前很多的應用程序還是需要使用特殊組件,但是一個應用程序的大部分仍然可以用標準的組件建立起來,因此組件技術對于應用軟件系統的開發意義非凡。

參考文獻:

[1]秦偉俊,史元春.基于多層體系結構的網絡教學系統[J].清華大學學報,2006,7.

[2]劉軍,陽小華.基于.NET 組件技術的教學信息發布與管理系統的設計與實現[J].微型電腦應用,2006,4.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合