论文部分内容阅读
在分布的交互式系统中,人机界面处于十分重要的地位。如何高效地开发分布式界面软件已成为软件体系结构研究中一个重要的方向。图形用户界面的特点往往是易于使用而难于实现,而分布式系统所处的复杂的网络环境更是加剧了这种界面开发的难度。好的用户界面体系结构和高效的底层通信模型的支持将极大地提高分布式界面开发的效率。 本文首先讨论有代表性的单用户和分布式用户界面模型及其特征,分析分布式模型的通信特点。在此基础上,我们给出一个分布式用户界面的体系结构。这个体系结构采用了一种新的“构件——事件服务”模型,以它为指导可以构造一个能在Internet或Intranet上灵活地运行的交互式系统。这样的交互式系统中的构件分布在异构的网络环境中,它们之间利用CORBA的事件服务进行通信。实践中,我们发现,尽管CORBA的事件服务具有能屏蔽异构网络环境,进行基于事件的异步通信的优点,但它在发送事件时是广播式的,不能进行必要的事件过滤,因而不能很好地支持前述交互式系统的开发。为此,我们对标准的CORBA事件服务进行了一定的修改,加入事件过滤的功能,此外,还加入了具有实用价值的支持事件查询和回答查询的功能。修改后的事件服务我们称之为MCES(Modified CORBA Event Service)。可以把MCES看作为标准的CORBA事件服务的一个升级版,它不仅具有事件服务原有的功能,而且具有CORBA事件服务及通知服务所不具有的新功能。通过分析MCES的各种可能的使用方式,我们设计一个构件通信语言CCL(Component Communication Language),每个CCL语句是对MCES的一种使用方式的抽象描述,而一个或个CCL语句组合起来就可以完成构件间的通信任务。使用CCL的好处在于不同语言编写的构件可以用同一种语言——CCL来描述并完成自己的通信任务。MCES和建立在MCES之上的CCL一起构成了支持具有我们提出的体系结构的交互式系统开发的通信模型。 使用我们提出的分布式用户界面体系结构,可以开发出具有良好结构和性能的交互式系统。而我们设计和实现的通信模型则为开发工作提供了便利的底层通信支持。