论文部分内容阅读
长期以来,用户界面(User Interface)的开发一直是最耗费时间的一项工作,因此研究者一直希望通过UI复用的方法来降低开发成本。通常情况下研究者采用UI组件技术并以组件协同的方式搭建应用来完成UI复用。目前,UI组件通常通过Mashup技术来实现,其中UI组件的前端其形式是类似wiget小窗口的表现形式,而其UI组件对用户的响应逻辑是通过基于浏览器的事件响应机制来实现,如Microsoft Popfly和Netvibes等系统,然而这些UI组件实现技术其组件的协同逻辑都是通过事件代理机制的方式建立起组件与组件的协同逻辑,从协同逻辑不同的视角出发,大多数UI组件的协同所构成的应用本身都隐含一定的业务过程逻辑。因此研究界也开始关注如何通过业务过程(工作流)来协同UI组件。随着服务集成技术的兴起,大部分研究开始关注用服务集成技术取代业务协同逻辑来完成UI协同。现有最典型的工作是意大利Trento大学的Florian Daniel提出的分布式UI协同系统MarcoFlow等。 随着GIS应用成为某些领域(水利,军事等)的主要应用形态,如何在GIS应用中充分利用UI组件的复用来实现快速、高效、灵活的构建应用,以解决由于应急而带来的领域应用需要UI组件灵活协同的需求,已经成为这些领域中工程应用急需解决的问题。然而,目前分布式UI协同技术的研究没有将GIS应用作为技术应用的主要场景,因此在技术实现上忽略了地理位置作为分布式UI协同关键信息的重要作用,这导致了这些领域应用在应急时缺乏如下能力: 由于应急时需要业务流程保障,因此这类应用通常需要完成一定的业务过程活动,然而这类应用的业务过程活动是以地理位置作为活动任务的时序关系的。 由于应急时可能根据场景需要采用不同的UI组件(如视频,文字),因此这类应用往往需要具备要在不同的地理位置根据不同的应用场景加载不同的UI组件类型的灵活能力。 由于应急时需要基于位置信息的动态服务,因此UI组件的内容将会根据位置信息动态不同而灵活选择该位置信息的服务动态加载。 因此针对上述问题,本文设计并实现了一种面向地图应用的分布式UI协同的开发工具和运行支撑平台。根据面向地图的分布式UI组件的特点,提出了基于地理位置信息的分布式UI协同的组件模型和协同机制,并据此实现了一个面向地图应用的分布式UI组件的开发部署工具以及运行支撑平台。本文的工作主要包括: 提出了一种基于地理位置信息的分布式UI协同模型和通信协议,使用标准BPEL服务组合技术,通过抽象地理位置作为节点间通信数据,实现以地理位置作为活动任务时序关系的业务过程定制。 提出了一种基于地理位置的分布式UI界面集成机制。使用百度地图作为GIS集成环境,以地理位置作为界面布局依据,将不同的UI组件分别在指定的地理位置上进行实例化展示。 提出了一种基于地理位置的分布式UI组件模型。通过对分布式UI组件进行标准化定义,将UI组件的事件生成和响应函数封装成相同格式的接口,使其拥有根据地理位置选择数据源并进行数据展示以及将用户操作事件转译成地理位置参与协同的能力,从而使得集成环境可以很容易的将不同的UI组件进行集成 根据上述组件模型和协同机制,在百度地图GIS框架和标准BPEL引擎Apache ODE的基础上实现了一个面向地图应用的分布式UI组件的开发部署工具以及运行支撑平台。