基于图形编辑框架的SCA组件编辑器设计与实现

时间:2024-02-20 点赞:48656 浏览:98870 作者原创标记本站原创

本文是一篇视图论文范文,视图方面专升本毕业论文开题报告,关于基于图形编辑框架的SCA组件编辑器设计与实现相关毕业论文的格式范文。适合视图及组件及系统结构方面的的大学硕士和本科毕业论文以及视图相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:随着面向服务体系结构(SCA)的不断发展,出现了许多不同种类的SOA实现技术.服务组件体系结构(SCA)作为一种新SOA实现及现代编程模型备受瞩目.本文针对开源的TuscanySCA实现,基于图形编辑框架(GEF)设计并实现了一个SCA组件的图形编辑器.该图形编辑器的实现是一个Eclipse的插件,这为基于SCA开发面向服务体系结构的应用系统提供了一个灵活、开放的基础设施.

关 键 词:SOASCAGEF服务组合

中图分类号:TP39文献标识码:A文章编号:1007-3973(2010)01-057-02

SCA是OSOA(开放SOA)组织发布的一个技术框架规范,它旨在解决使用各种不同的实现来创建面向服务的组件,以及如何将创建的组件进行装配和发布,满足业务流程需要的开发和部署.TuscanySCA是Apache开源组织的SCA规范的实现,同时也是OSOA组织推荐的SCA实现.但是TuscanySCA没有提供一个便利的工具来进行组件的组装,用户要手工生成应用所需的各种XML文件.

本文对TuscanySCA进行了扩展,为其添加了一个图形化的组件组装工具.用户只要进行简单的图形编辑操作就可以生成应用所需的XML文件这无疑极大的提升了用户感受.而且该工具以Eclipse插件的形式实现,这增强了该工具的用户友好性,使得用户不用切换开发环境,即可进行图形的编辑操作.

1系统架构

因为SCA组件图形化编辑器主要的功能是辅助用户完成复杂的SCA组装模型的由于我们将该编辑器实现为Eclipse的插件,因此它依赖于Eclipse平台.另外它还依赖于TuscanySCA实现.其系统结构如图1所示.

图1系统架构

与其他具有MVC结构的应用程序一样,在编辑器本身主要有三层模块组成.它们分别是:Model层、控制层(EditPart)、视图层(IFigure).

2系统实现

组件编辑器采用了MVC的系统机构.Model层对应于TuscanySCA实现中的Assembly模块下面的组件,如:Composite、Component、Service、Reference、Wire、Property等.控制层由GEF的EditPart实现,这些EditPart监听模型的变化,并将这种变化通知视图层以进行刷新.组件编辑器也为用户提供了两种主要的GEF视图,其中编辑器视图层由Draw2D的Figure实现,大纲视图层是由一个树状视图实现.

2.1模型层

GEF程序中模型只与控制器打交道,而不知道任何与视图有关的东西.为了能让控制器知道模型的变化,应该把控制器作为事件监听者注册到模型中.当模型发生变化时,控制器负责通知各个视图进行更新.图2是编辑器模型层简化类图.AbstractModel作为所有模型的抽象父类,实现了Cloneable、Serializable以及IPropertySource三个接口.AbstractModel引用了Write2XML类来实现写入到XML文件的功能.其他业务组件的模型都继承自此抽象类,其中,ServiceModel和ReferenceModel实现了IConnection接口.该接口提供了连线功能的接口.

图2模型层简化类图

WireModel、Composite、直接继承自AbstractModel,ComponentModel通过ElementModel间接继承自AbstractModel,而ServiceModel、ReferenceModel和PropertyModel通过WidgetModel间接继承自ElementModel.

2.2视图层

由于GEF已经实现了画线,因此在视图层,我们仅仅需要实现Component、Service、Reference、Property四个图形组件.GEF使用Draw2D的Figure作为视图层,因此我们创建了一个ElementFigure类,它继承自Figure类.与模型层类似,视图层也采用了树形的继承结构.视图层的简化类图如图3所示.

图3视图层简化类图

2.3控制层

控制层是GEF程序的核心,同时它也是整个编辑器的最复杂的模块.它不仅要监听模型的变化,当用户编辑视图时,还要把这种编辑结果反映到模型上.

图4控制层简化类图

图4所示是组件编辑器控制层简化类图.Wire的控制器WireEditPart继承自AbstractConnectionEditPart.控制层实现了两种视图的控制器,其中视图编辑器对应的控制器继承自AbstractGraphicalEditPart,树形大纲视图对应的控制器继承自AbstractTreeEditPart.这两种控制器都实现了PropertyChangeListener接口,以便监听模型的变化.同样,不管是视图编辑器对应的控制器还是大纲树形视图对应的控制器都采用了树形的结构实现.

3应用实例

以TuscanySCA给的一个Store的例子为例,编辑好之后的图形化SCA组件编辑器如图5所示:

图5SCA组件编辑器运行图

上述图形化组件的模型将输入标准的SCDL文件.参考TuscanySCA的例子可知,采用SCA组件图形化编辑器生成的XML文件完全符合SCA的规范.

4总结

本文介绍了一种对TuscanySCA进行扩展的组件图形化编辑器.这种编辑器使用图形编辑框架(GEF)实现,并且实现形式是Eclipse插件.该插件工具增强了TuscanySCA开源实现的易用性,和用户友好性,使得用户从繁琐的容易出错的XML文件编写任务中解脱了出来.另外,由于该编辑器使用Eclipse插件的形式开发,使得用户不用切换开发环境,即可进行图形的编辑操作.

相关论文

Mapgis在图形编辑中的实际应用

该文为地理信息系统相关毕业论文的格式范文,与Mapgis在图形编辑中的实际应用相关毕业论文格式要求,可作为论文格式专业地理信息系统论文写。

基于OO技术图形编辑器的设计

本文是一篇图形论文范文,关于图形相关硕士学位论文,关于基于OO技术图形编辑器的设计相关硕士学位毕业论文范文。适合图形及标准及矢量方面的。

在线数学公式编辑器的实现

本文是一篇计算机论文范文,计算机类毕业论文开题报告范文,关于在线数学公式编辑器的实现相关在职毕业论文范文。适合计算机及教育信息化及参。

几种数学公式编辑器的比较与

本文是一篇数学教育论文范文,数学教育类专科毕业论文开题报告,关于几种数学公式编辑器的比较与相关本科论文范文。适合数学教育及计算机及公。

数字音频技术编辑软件设计构建

本文是一篇计算机技术论文范文,关于计算机技术方面毕业论文格式范文,关于数字音频技术编辑软件设计构建相关学士学位论文范文。适合计算机技。