軟件測試分布對象技術的新進展[2] 軟件測試工具
關鍵字:面向對象 分布對象
相比之下,Java標準的制訂就快得多,Java是Sun公司自己定的,演變的很快。Java的優勢是純語言的,跨平臺性非常好。Java分布對象技術通常指遠程方法調用(RMI)和企業級JavaBean(EJB)。RMI提供了一個Java對象遠程調用另一Java對象的方法的能力,與傳統RPC類似,只能支持初級的分布對象互操作。Sun公司于是基于RMI,提出了EJB;贘ava服務器端組件模型,EJB框架提供了像遠程訪問、安全、交易、持久和生命期管理等多種支持分布對象計算的服務。目前,Java技術和CORBA技術有融合的趨勢。
COM技術是Microsoft獨家做的,是在Windows 3.1中最初為支持復合文檔而使用OLE技術上發展而來,經歷了OLE 2/COM、ActiveX、DCOM和COM+等幾個階段,目前COM+把消息通訊模塊MSMQ和解決關鍵業務的交易模塊MTS都加進去了,是分布對象計算的一個比較完整的平臺。Microsoft的COM平臺效率比較高,同時它有一系列相應的開發工具支持,應用開發相對簡單。但它有一個致命的弱點就是COM的跨平臺性較差,如何實現與第三方廠商的互操作性始終是它的一大問題。從分布對象技術發展的角度來看,大多數人認為COM競爭不過COBRA。
目前我們經常談到的分布式對象技術主要就是這3種,涉及到它的模型、規范、標準和實現。3種分布對象技術的詳細比較可參見附表。
問:據說,國外軟件廠商像Oracle、Sybase、Lotus等紛紛宣布其軟件產品中采用了分布對象技術,并呈現出很好的應用勢頭。那么,分布式對象技術有哪些應用?如何應用呢?有人說,我國在分布式對象技術領域基本與國外處在同一起跑線下,您對此怎么看?介紹一下我國的情況,以及分布式對象技術的新進展。
答:Oracle、Sybase和Lotus等國外軟件產商均在其主流產品中支持CORBA、EJB和DCOM技術以支持企業級應用和Web應用,這些產品在企業ERP和電子商務中均得到大量的應用。
分布對象技術在比較大型的網絡系統中應用較多,比如像醫學方面的醫學信息系統、銀行業、交通、電信,幾乎各行各業都有成功的例子,但在國內成功的比較少。
分布對象技術應用起來比較復雜,因為這種軟件通常都比較龐大,涉及到網絡、對象技術等多種技術,尤其是COBRA,系統開發比較困難。分布式系統通常采用組合框架軟件(Component Software)方法進行開發或集成,是基于軟件體系結構的集成,只有特殊需求的組件才需要新開發,與其他組件在集成框架下集成為一個整體。當然使用組合框架軟件進行分布式系統開發需要一整套方法、工具和平臺的支持。
國外利用分布對象技術開發的大型應用相對傳統方法也不是很多,除了開發難度較大外,我想這里面還有這樣一個原因,那就是人們都喜歡用成熟的技術。而在大型軟件采用分布對象技術,在項目開發過程的控制方面的經驗不足,從一定程度上限制了分布對象技術的應用。對于分布式對象計算這樣的應用來說,需要有一系列方法論、軟件工程的方法和工具。如果不從開始就按照面向對象的方法來設計,利用面向對象的方法論和工具來支持的話,很難做成一個成功的分布式應用。
我個人不贊成處于同一起跑線上這一說法。我認為,在分布式對象技術方面,我國和國外的差距還是全面的,應該說國內一直在跟蹤這個技術,也在研究開發方面加入了一些中國特色,比如通訊方面,中國的通訊線路不太好,我們就專門針對通訊模塊做了改進。說差距是全面的,首先所有分布對象技術的標準均是國外組織和企業制定的;第二在支撐平臺上,國外有名的產品已不下百種,而中國除了少數幾個科研院所和公司有一些原型外,基本沒有自己的產品;第三,成功的應用太少。一般說來,網絡分布式應用的第一代模式叫Client/Server模式,第二代叫3層Client/Server模式,第三代叫分布式對象模式,目前國外基本上已經從第二代向第三代過渡,電子商務的興起將加速這一進程。而我國目前大型應用還主要是簡單Client/Server結構,但越來越多地采用3層Client/Server的模式。
談到分布式對象技術的新進展,目前國外的一個進展就是將分布對象計算與Web 以及嵌入式移動計算結合在一起,另外就是和中間件(如交易中間件、通訊中間件等)的結合。例如COBRA新的標準里加入了Internet服務和消息服務,消息服務可以支持異步的方法的調用,可以提高程序的吞吐量,并行能力的加強提高了系統整體的性能,并增加了系統的靈活性。
問:有人說,分布式對象技術的發展方向是智能Agent技術,這種說法您怎么看?請您談一下分布式對象技術將來的發展趨勢?
答:我認為,分布式對象技術和Agent技術具有一些共性,它的某一個分支可能會發展成智能Agent,但智能Agent技術不能代表分布式對象技術的全部。Agent通常包含2個含義:第一,Agent較普通組件具有更高的自主性,能夠對周圍環境具有一定的趕制性,第二,Agent可以理解為移動組件,它可以根據需要在網絡節點間移動。
分布對象技術中,有關其軟件體系結構及開發方法上還有許多研究課題,此外如何通過統一的方式集成不同標準的組件也是未來值得研究的課題。分布對象技術將會向智能化、小型化和標準融合的方向發展,并將在移動計算和電子商務的應用中發揮巨大的作用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/