一种WEB服务关系拓扑显示工具的设计

来源 :吉林画报·新视界 | 被引量 : 0次 | 上传用户:joyce
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】服务发现是服务计算中的关键技术之一,服务发现的一种重要方法是通过数据挖掘技术挖掘服务或服务实现(Java类)之间的关系。服务的关系包括相似关系和前驱后继关系,服务实现(Java类)的关系包括继成、关联、依赖。然而这些关系挖掘结果往往很难理解,限制了用户的使用。
  【关键词】WEB服务关系;拓扑显示工具;设计
  【中图分类号】TP【文献标识码】A
  【文章编号】1007-4309(2011)02-0049-2
  
  本文通过分析服务之间的各种关系,利用成熟的信息可视化技术,包括可视化映射技术、图形显示技术和交互控制技术等,并对信息可视化的参考模型和关键技术做了深入详细地分析。在此基础上,设计一个直观的WEB服务关系拓扑展现工具。
  一、系统需求和功能的概要分析
  服务关系显现工具用于展现一次挖掘作业的结果,需要展现的关系包括:Web服务相似关系、Web服务前驱后继关系、JAVA类继成关系、JAVA类关联关系、和JAVA类依赖关系。对系统的功能需求的分析可基于两个方面的考虑:从展现的关系角度和从用户交互功能角度。除上述功能需求外,还有一些非功能的要求,比如界面的整体美观性、用户操作友好性等等。
  二、服务关系显示工具的体系结构
  (一)外部结构设计
  首先,用户在“服务总线拓扑展示模块”展示的总线树形界面中,单击某次挖掘作业的节点,引发本工具作为Eclipse插件的透视图显示该次挖掘作业的挖掘结果,即WEB服务及WEB服务实现(JAVA类)的5种关系。
  然后,我的显示工具从上述单击事件中得到了作业号(JobId),并以该作业号为参数,调用查询原子接口,原子接口由“服务关系挖掘模块”和“Java类动静态分析模块”提供,可以查询所有WEB服务和JAVA类,以及其各类关系,得到关系的查询结果。
  最后将此次查询结果为本显示工具的输入,WEB服务及WEB服务实现(JAVA类)的5种关系将可视化的表现出来。
  (二)内部子模块结构及功能设计
  内部结构
  根据需求分析,并参考信息可视化的模型和Prefuse的框架,设计出了本工具的内部结构。将之划分为四部分:数据载入、关系可视化演示、交互控制和用户主界面,如上图所示。下面是其结构和功能的设计介绍:
  1.数据载入模块
  由于本工具的开发与整个项目开发的其他模块同时进行,受挖掘信息库的进度限制,在数据输入上,准备了两套方案:
  一是,调用“服务关系挖掘模块”提供的查询所有WEB服务和WEB服务关系的接口,调用“Java类动静态分析模块”提供的查询所有JAVA类和JAVA类关系的接口,得到查询结果,并将此结果作为输入,载入到关系的数据表抽象结构(Graph、Tree的数据结构)中,并将该数据表作为参数传递给关系可视化演示模块。这个方案是按照项目要求应该要实现的方案,但考虑到开发初期测试的问题,所以准备了第二套方案。
  二是,读取以GraphML格式描述的XML文件,该方案直接使用Prefuse数据转化的技术,有专门用作读GraphML文件的类GraphMLReader,其转换数据时调用了XML文件解析器,将关系描述载入到数据表抽象结构中。这个方案是仅用作开发初期的测试,在开发其余子模块时用来模拟的方案。
  2.关系可视化演示模块
  该模块是整个工具的核心,包含了工具所需的所有可视化演示的类,包括生成聚簇图、力导引图、区域分块图、辐射图的类。
  每个可视化演示的类都将完成如下功能:将从数据载入模块得到的数据表,通过调用Prefuse的映射技术接口,映射成相应的可视化数据结构,包含坐标位置、大小、形状、颜色等信息,然后将这些可视化数据结构,通过调用Prefuse的图形显示技术,渲染表现成可视化对象,即JAVA组件,显示出来。最后,在可视化对象上,添加交互控制模块提供的各种类的实例,形成演示。
  3.交互控制模块
  包括自定义的交互控制类,在关系可视化显示结果上进行的交互控制处理。由于Prefuse已提供了很多必要的交互控制类,比如拖拽、平移、放大缩小等,所以这部分功能不用另外实现,只需调用接口。但根据需求还有一些交互控制,比如鼠标浮动到某节点处时,其节点信息在ToolTip中的显示、在控制面板中的表格中的显示、辐射图的中心节点变换、相邻节点的高亮显示等等,需要本工具自行定义。
  4.用户主界面模块
  负责关系可视化显示的结果在主界面中显示,还有控制面板中各控制组件的显示、布局、添加事件响应等。负责视图的切换、全局/过滤效果切换、布局效果的切换控制,并针对不同的关系演示视图,生成相应的搜索框、生成信息表格、生成力导引控制面板。
  在用户主界面模块中,还要实例化数据载入和关系可视化演示的相关类。
  三、执行流程设计
  首先,从用户界面处得到显示命令、要显示的关系类型、以及挖掘作业的ID号,调用数据载入;数据载入模块查询数据库中的关系信息,并构造出关系图的数据结构Graph,把它传递给关系可视化显示模块;通过实例化关系显示模块的相关类,然后把显示的结果视图加载到用户界面上;用户在关系可视化显示上进行的鼠标动作、如拖拽、单击、双击、放大缩小或查询请求等,都通过交互控制模块来控制,并返回新的结果。
  四、界面及关系的表现形式设计
  (一)用户界面
  用户界面,分左右两部分,左边用于视图演示区用于显示关系,右边是控制面板。中间的分割线可用鼠标点击拖拽移动,任意改变左右两部分的比例。
  控制面板包括关系视图切换、搜索栏、布局切换、信息栏、力导引控制板五部分。其中,关系视图切换,是一个下拉菜单,可选择显示Web服务前驱后继关系、Web服务相似关系、JAVA类继承关系、关联关系、依赖关系,共5种关系,鼠标选择点击后,左边关系视图区显示当前选择的关系演示。下边两个按钮提供过滤和全局视图两种视图模式。全局模式可显示所有的节点,过滤模式只显示当前用户选择的焦点节点(Focus_Item)及其相邻的节点(Neighbor)的组件,其余组件不可见。
  搜索栏用于查询节点,用户输入后,采用前方一致的原则,即时响应输入,显示当前匹配数;布局切换提供若干按钮,用于变更当前视图的布局方式;信息栏用表格的形式,显示当前鼠标浮动所在节点的详细信息;力导引控制板,用于调节节点与节点之间的引力斥力的大小,边的张力,从而改变节点之间的距离。
  (二)关系的表现形式设计
  1.WEB服务相似关系
  可以将服务相似关系抽象成树形结构,即层次图。有一个根节点,根节点无实际意义,第一层深度为1的分支节点代表服务的分类,第二层深度为2的节点,即树的叶子节点代表单个服务。相似的服务可聚集在同一个区域,不同的区域连接到同一个中点上,形成一个星状,相似服务彼此聚集在一起的聚簇表现,称之为聚簇图,
  2.WEB服务前驱后继关系、JAVA类继承、关联、依赖关系
  这四种关系,其关系结构类似,都可抽象为网状图,有向,且可能非连通,因此采用相同的布局方式。力导引图采用了可视化算法中的力导引算法(FDA),通过不断模拟节点之间引力斥力的大小,以及边的张力大小,来计算节点与节点之间的排布距离,且用户可自主调节力的大小,可以将所有节点均匀分布显示在视图中,是一个动态的排布效果。对于节点众多,用户期望看到总体效果的需求非常有利。
  辐射图以某节点为中心,其余节点根据于中心节点的距离(从中心节点到该节点需要进过的节点数)依次辐射显示在中心节点的周围,形成辐射圆环状。这种特殊的聚焦特性,非常有利于查看单个节点的局部信息的情况。所以,想要综合两种布局的优势以满足用户挖掘信息的需求,决定采用这两种布局方式。
  五、数据结构设计
  有必要专门说明一下数据表的结构设计,数据表就是用来表述关系拓扑信息的数据结构。如前所述,WEB服务前驱后继关系、JAVA类继承、关联、依赖关系可表现为有向图,我们可以使用Prefuse提供的Graph的数据结构来表述,Graph中有两个表(Table),包含一个节点表(Nodes Table)和一个边的表(Edge Table)。节点表的每一行代表一个节点,边表的每一行代表一条边。节点表的字段可由用户自行定义,边表有源(source)和目标(target)两个字段,分别指向对应节点的ID。图的所有节点和所有的边都要在表中注册。服务的相似关系可表述为一棵树,但树可以看做无回路的图,因此可以先用Graph来描述其关系拓扑,然后,通过指定其根节点,来将Graph转换为Tree的数据结构。
  六、小结
  本文首先从用户角度分析了服务关系显示工具功能需求,然后对其外部结构进行了阐述,根据需求设计出了工具内部的整体结构,并分析了各子模块要实现的主要功能,设计出了用户界面和预期的关系演示表现形式。在此基础上,根据项目需求设计了WEB服务及服务实现(JAVA类)的关系拓扑显示工具。
  
  【参考文献】
  [1]秦甲拓,张浚.基于Web的可视化数据挖掘工具综述[J].实验科学与技术,2006.12.
  [2]王柏,吴巍,徐超群,吴斌.复杂网络可视化研究综述[J].计算机科学,2007.
  【收稿日期】2011年1月10日
  【作者简介】李凤祥(1972- ):男,辽宁凌源人,讲师,研究方向:计算机教学。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
其他文献
[摘要] 目前建筑业方面对安全工程上的管理引入重视,主要以“安全第一,预防为主”的方针进行贯彻落实,对于建筑行业出现的问题及不安全因素进行分析,制定强制措施并认真落实,根据现状纳入正确的安全管理模式。  [关键词] 安全 管理 安全模式    建筑业的生产活动危险性大,不安全因素多,是事故多发行业。近几年我国建筑业的死亡率是所有工业部门中仅次于采矿业的最高的行业,损失巨大,令人痛心。虽然强制实行了
摘 要:本文针对所在高校非英语专业英语听力教学现状,结合教育理念的发展,提出了更新学生学习观念,改变学习策略,在教师指导下开展非英语专业大学生课外听力自主学习,从根本上改变大学英语听力教学现状。  关键词:大学英语听力 必要性 自主学习    长期以来,听力理解困难都是中国各阶段英语学习者面临的主要问题。大学英语教学也同样受到这一困扰。传统理念认为英语教学质量和学生的语言天赋是造成学生听力理解技能
期刊
现代社会中,科学技术行为对于社会生活产生的作用和影响越来越大,但是也必然随之引起各种伦理道德问题的产生.因此本文指出了科技行为和伦理道德相互之间所产生的负面影响,并
摘 要:人才培养质量事关教育成败,人才培养问题是高校工作的中心问题,其重要性不言而喻。高校践行科学发展观,应该以学生为本,从不同角度致力于人才培养模式和方式方法的创新。高校辅导员应从关注学生现实需要、实行分阶段分层次分类别指导和建立符合大学生实际的社会支持系统以及团队辐射等几个贯穿大学生培养阶段始终的方面着手,开展学生培养工作。  关键词:辅导员 大学生培养 模式  人才质量事关学校教育成败,人才
诚信,就是诚实守信。企业诚信是指企业能够履行承诺而取得顾客的信任,从而获得企业持续发展和利润收益。随着市场的不断发展和完善,诚信越来越被社会所重视,诚信是市场经济的
自从参加嘉兴老年大学二胡班学习以来,在韩祖康老师的精心教授和悉心指导下,我们逐渐掌握了二胡演奏的初步技巧,体会到晚年学一两件乐器确实能修身养性,健身防老,增添乐趣。
期刊
摘 要:小学数学教学中,教师要培养学生良好的学习习惯,提出矛盾的问题,引起学生的疑惑。通过尝试活动、诱发求知欲、自学活动等方法培养学生学习数学的方法。  关键词:小学数学 学习方法 培养途径    为了适应学生的学习心理,发掘其潜能,义务教育教材已适当地降低了对数学知识体系严密性的要求,拉开了知识结构之间的“距离”,并以“结构化”与“问题化”互补的教材体系呈现出来。因而,学生必须掌握、并且具有一定
<正>中国企业要走出去,积极推进国际化战略,需要深入了解世界一流建筑企业的情况,有效地进行对标,更加清晰地找出与它们的差距。2012年国际工程承包商225强的概况2012年8月,