APP下载

分布式软件技术及其应用研究

2022-01-10王昱皓

科技信息·学术版 2022年1期
关键词:软件技术分布式应用

王昱皓

摘要:在计算机技术飞速发展的时代背景下,分布式软件技术的优势被逐步凸显了出来,并在各个领域中得到了广泛应用,同时也克服了许多传统软件技术中存在的弊端。本文首先阐述了分布式软件技术的模型和应用框架,接着就COM和DCOM两种软件技术进行了分析,最后就分布式软件技术在工业自动化领域以及图像处理中的应用和发展前景进行的探究。

关键词:分布式:软件技术;应用;COM;DCOM

中图分类号:TP31

引  言:虽然在我们的实际生活当中一些先进软件技术已经得到了十分广泛的应用,但是我国国内的这些软件技术的应用和发展相较于发达国家来说仍然相对落后,所以在分布式软件技术这一板块的研发上我们还需要进一步地加强。

一、分布式软件技术

(一)各类分布式组件模型

在新型软件技术进一步发展下,组间软件成为了新的发展标志,这一技术的诞生的主要应用目的是為了将软件的生产力尽可能提升,在应用程序的开放上更为严谨,所以软件的设计研发人员就将能够重用软件组件以及组装构造充分地利用了起来,形成了新型应用软件系统,但是从分布式软件的应用和发展上来分析,它仍然处于工业标准的形成阶段。当前分布式的软件技术有DCE、CORBA以及COM三种,但是因为DCE这项技术缺乏实际应用的支撑,所以发展已经近乎停滞。而CORBA这一分布式组件技术在非Windows平台上的应用以及发展前景是非常可观的,并且得到了多家大公司的认可与支持,同时COM技术在windows平台上的应用也具备较强的优势,因此COM技术的发展前景也是非常可观的[1]。

(二)分布式应用框架

将框架引入其中的主要目的就是为了合理有效的配置和管理分布式组件,保障所形成的分布式系统能够满足实际应用的需求。其实Johnson在上世纪九十年代初就已经提出了框架的概念。框架主要的组成是一组抽象的构件同构件实例之间的相互作用方式,这些对象能够相互协同完成某些工作。也就是说,当前CORBA以及COM两种技术所构建的组件框架都是组件之间的相互作用而形成的。

二、COM/DCOM分布式软件技术

(一)COM分布式软件技术

1.COM结构

(1)对象和接口

COM的对象是与C++非常相似的一种概念,可以说,COM的对象是应用系统当中的某种类型中的实例,接口则是某组逻辑上的接口成员函数集合。

(2)客户/服务器模型

只要客户/服务器模型作为支撑,才能够实现对象与客户间的相互作用。COM除了是一种简单的模型外,客户在某种特殊情况下也能够反之为其服务,所以在这种情况下,客户与对象之间的定义是相互的,而COM能够对这种特殊情况进行有效处理。

2.COM特性

(1)语言无关性

COM不会特定要求于某种类型的语言,所以组件对象就可以与客户程序分别使用两种不同的编写语言,只要这两种语言所分别生成的执行代码,能够符合COM的规范就能够在COM的支撑下得以实现正常运行[2]。

(2)进程透明性

客户端和服务器的代码运行的进程可以相同也可以不同,所以我们可以按照“进程内服务程序、本地服务程序、远程服务程序”对客户端和服务器的代码运行的进程进行区分。

(3)可重用性

COM的可重用性这一实用性非常强的优势,在某些比较大型的软件系统当中的应用能够起到非常重要的作用。因为COM对象客户程序对于对象内部实现的过程并不了解,因此就能够基于组建对象的行为方式来建立组建对象的重用性。

3.COM对象

(1)接口描述

对象与客户联系的纽带就是COM对象接口,这两者在接口的标识上遵循一致的规则,从而来实现对接口方法的实现进行描述和定义。而每个COM对象都有一个唯一的名称标识,并且这一名称的唯一具有着空间以及时间的双面支撑。

(2)IUnknown接口

全部COM接口都必须与IUnknown接口相继承,继承方式主要包括QueryInterface、AddRef、Release三种。而这三种继承方式能够被灵活调用进任何的接口当中。

(3)线程模型

COM在新的线程模型上并没有进行定义,直接将Win32的线程进行了直接性的运用。而Win32线程本身就包含“用户界面线程”以及“工作线程”这两种具有一定差异性的类型。用户线程所连接的窗口也是一个或多个的,并且每个窗口都具有相应的消息循环。工作线程则主要在后台的处理中进行应用,所以并没有相应的窗口关联,消息循环也就没有[3]。

(4)IClassFactory接口

因为ClassFactory能够创建其他组件的组件,所以客户能够运用ClassFactory实现同一类的多个实例,也同样属于COM的对象之一,并支持IClassFactory接口。

(二)DCOM分布式软件技术

1.DCOM结构

COM的基础上进行扩展形成了DCOM,COM定义组件与这一组件相应的客户之间的进行相互作用形式,这一定义就成为了组件与客户端之间不需要任何中介就能够实现简单、便捷的联系奠定了强有力的基础,客户端在操作的过程中能够直接运用组件中的方法。在原本的Windows操作系统当中,不同的进程之间是完全相互独立的,所以原本的Windows操作系统不能实现在不同进程的前提下进行地址空间的访问。但是COM技术的应用使不同进程的相互访问实现成为了可能,并且能够将这一操作完全透明化。DCOM在分布式结构下同样也运用了这一透明化的访问方式,所以DCOM也因此成为了真正意义上的分布式组件模型。在不同设备的情况下,DCOM也能够利用网络协议来实现进程间的通讯,但是虽然进程之间相互访问的线路长了很多,但是客户和组件两者都不可能发现。

2.DCOM特点

(1)位置独立性

DCOM的这一特点就是指客户的同一进程中和网络中各个位置的所有组件的所处位置都是完全透明的。客户对于各个组件的连接和调动在各种情况下都是一致的方式。DCOM在源码在改变上以及程序的重新编译上都不需要做出任何改变。各个组件相互连接方式的改变仅仅需要一个十分简单的再配置动作。

(2)可拓展性

分布式应用的一项重要指标就是可扩展性。用户的数量的增加必然会带来数据量的增加,而数据量的增加又会同步推动分布式应用处理能力的提升。在用户需求比较小的情况下,分布式应用系统的运行也速度也就比较快,并且能够在处理用户附加需求的同时还能够保障系统性能的和可靠性不受损毁。在此情况下,DCOM能够为其提供“灵活部署、对称多进程处理、版本独立”等多种方式来实现应用可扩展性的增强。但是DCOM在系统负载增加的情况下,也能够通过将分布性组件部署到其他设备上,以此来提升系统的可扩展性,而这种部署处理方式是非常灵活且简单的。DCOM的使用,使得用户各个进程之間组件连接方式的改变变得更加便捷、灵活[4]。

(3)容错性

容错性在银行电子交易系统等需要可靠性高的应用系统来说是不可或缺的。DCOM能够将应用系统容错性的实现变得更加简单。而容错性的实现有两种方法,其一是当客户的进程当中某一个组件出现错误时,就会重新与进程当中的第一个指示组件建立连接。从而得知在服务器当中有哪一部分信息是不再有效的,同时还能够在另一设备上实现这一组建新实例的运行。另一处理方式就是我们通常所说的“热备份”。在不同的设备上同时运行同一服务器组建的两个复本,而这两个副本在同时处理的信息也是一致的,而用户进程需要同时连接这两台设备,这样一来也就将拥有系统的容错性得以提升。

(4)协议无关性

因为一个应用体系中需要集成多种的分布式应用,所以就必须存在一个相对特殊的网络协议。而在此过程中也要对潜在的所有客户进行更新,但是在以往的应用系统当中几乎是不可能实现的。但是因为DCOM能够支持TCP/IP、UDP、IPX/SPX、NetBIOS、HTTP等多种传输协议,所以开发者能够准确判断应用系统是否与协议有关。

(5)平台无关性

DCOM技术面向所有跨平台开发工作公开,所以DCOM并不排斥某种比较特殊平台的服务和优化,也不会出现仅适用于某一系统的问题。

三、分布式软件技术在工业自动化中的应用

工业自动化这一行业领域软件发展也同其他行业一样也面临着新的挑战。计算机技术的日益发展使得当前用户所应用的桌面和网络应用程序越发复杂。而因为这些软件的复杂性,所以就对软件的研发工作带来了许多问题:开发比较复杂的现代软件应用程序需要大量的时间和成本。在开发应用程序的过程中必须基于单片集成电路进行持续性的开发。应用程序的数据和功能都不能实现对外集成。提供者的素质反映在应用程序的编程模式上。而COM框架软件技术的应用,则能够针对于上述问题进行有效解决。在针对于组件来进行模型的编程旨在将其互操作性发挥出来。因为互操作性是组件能够在组件软件的环境中进行协同工作的主要能力。如果工程中的软件集成不能达到较为自然的标准,那就应当将应用程序分成组件。

COM作为当前应用最为广泛的分布式组件技术,国际上的工业自动化领域对于该技术给予了全面的支持。经调查分析,基本上所有著名工作自动化软件的开发都建立在Windows平台的基础上,并且在整体上或者某一部分上运用了COM分布式软件技术。在此基础上还有很多原本在UBIX平台和VMS平台上开发的工业自动化软件,也纷纷转向了Windows平台。而国际基金会也根据COM技术构建了过程控制这一板块的数据访问标准,也就是指OPC。而在这一标准构建完成后,就瞬间得到了广泛的应用。由此看来,COM技术在工业自动化领域当中得到了十分成功的应用,并且具备非常可观的前景。

四、分布式软件技术在图像处理中的应用

当前工程、工业、医疗、保健、航空、航天、军事科研以及安全保卫等各个方面都应用了图像处理技术,因此我们可以分析得出图像处理在我国国计民生以及国民经济的发展当中起到了十分重要的作用,所以,从当前图像处理,发展前景来分析,构建统一开放可扩展的图像处理平台是该项应用系统必然的一项发展趋势,因此该平台的构建就列为了该领域研究的一项重要话题。

虽然图像处理应用系统在各领域当中的应用在功能要求上存在着一定的差异性,但是无论是哪一领域图像处理应用系统都必然存在着相似的系统框架,甚至还具有几乎一致的图像处理基本操作。而在各领域当中的共同应用点就成为了各领域通用且统一的图像处理应用平台能够得以构建的前提条件。

Supersoft公司以及北京超图地理信息技术有限公司等国内外很多家公司在图像处理领域已经运用组建技术设计并研发了组件化的图像处理软件。以往都是由厂家向用户提供整体性的系统或者能够进行二次开发的软件,而发展至今,已经形成了厂家向用户提供组件,然后再由用户自行开发的形式。所以我们不能看出,GIS软件也在其他软件革新的过程中同步发生了巨大的变化。但是其他应用领域软件在图像处理这一板块上的发展还较为缓慢,统一性的图像处理平台,也没有相应全面的研发与构建。

结束语:总而言之,虽然我国分布式软件技术已经得到了一定程度上的研发和相对广泛的应用,并且该项技术适应性强、灵活性高、开发性好等优势也得到了一定的体现,但是,我国对于该项技术的研究仍然有着非常大的探索空间,也只有进一步地挖掘分布式软件技术的优势和特点,才能够使该项技术在各领域当中的应用愈发广泛,以此来推动我国社会经济的发展。

参考文献:

[1]史俊.分布式软件技术及其应用研究[J].无线互联科技,2012(12):1.

[2]孔芹芹,刘俊娜,丁宪生.无线分布式系统技术及其应用[J].气象水文装备,2011,022(004):72-73.

[3]吴朝娅.以资源平台网络化发展推进高校资源共享与开发[J].中国成人教育,2016(06):41-43.

[4]竺南直,院总体部.分布式系统技术及其发展[J].中国电子学会95年C3I工程与技术学术研讨会,2007.

[5]余学锋.DCOM分布式软件技术在EIS中的研究和应用[J].华北地震科学,2008,26(3):4.

作者简介:王昱皓(2000.11—)男,四川省广元市人,四川商务职业学院软件技术专业学生,研究方向:软件技术、计算机信息管理;通信地址及电话:四川省成都市青羊区文家正街227号四川商务职业学院。

猜你喜欢

软件技术分布式应用
信息时代机械设计制造及自动化分析
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化
Thinking Through Visual Communication
UGNX软件技术在农机从业人员技术培训中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
民办高职院校软件技术专业深度校企合作模式探索
气体分离提纯应用变压吸附技术的分析
会计与统计的比较研究