Web App模型驱动开发框架实现关键技术——MDWAF中的平台无关模型
2015-09-11熊永平
熊永平
摘要:在HTML5技术日渐成熟的今天,Web APP的发展劲头越来越强,目前有Web APP开发平台提供的开发框架在开发者的开发过程中还要特别注意技术细节上存在的问题,因为在开发的过程中人就存在大量的重复性的工作。文中,笔者结合实践过程,以MDWAF中的平台无关模型探究了Web APP模型驱动开发框架实现关键技术:一是需要模式的建立;二是平台无关模型(PMI)的定义;三是需要模型到平台无关模型的变换。
关键词:Web App;模型驱动开发;关键技术
中图分类号:TP311 文献识别码:A 文章编号:1009-3044(2015)17-0231-02
Web App开发者需要运用状态机图和类图建立平台无关模型(PIM),才能够为运行MDWAF提供基础条件。状态机图是用来表示Web App运行过程中涉及到的各个状态的变迁过程和变迁条件;类图是用来表示Web App运行过程中一个状态内的静态结构。Web App模型驱动开发框架实现关键技术有很多方面组成,但是通过分析目前Web App相关的研究,还是存在不少细节技术上的问题,需要我们特别注意,且要及时解决,才能够满足社会的需求。文中,笔者单从MDWAF中的平台无关模型进行的研究分析。
1 需求模型的建立
通过EMF技术才能够完成在MDWAF中的需求模型的建立,EMF技术将MOF进行了规范,使人们操作起来更加便捷。通过抽取MOF的核心元素组成属于MOF的M3的元模型改变,认真仔细描述UML建模语言的元模型。要想运用EMF技术建立具有持久性的模型,就必须要依靠XMI进行实现。在实践过程中,可以通过XSLT技术将较为复杂难懂的ECORE文档转化成为较易理解、较易实现的XML文档。
认真研读MDWAF的元模型定义,建立MDWAF需求的模型的过程中涉及到的改变和开模型都较为简单,较容易理解和操作。这样以来就能够满足Web App开发领域的简便操作、快速开发的需求。我们可以将Annotation添加到类图元模型中,将class或者Attribute组成一个与之相对应的组件,然后再将其生成视图部分。笔者针对自己调研的情况,分析了类图元模型和状态机图元模型这两种元模型发现,两种元模型涉及到的概念非常繁多,涉及到的主要概念就是类图元模型中的状态概念、变迁改变、关联类概念、以及操作概念等;状态机图元模型的状态改变、变迁改变以及触发事件概念。认真研读上述两种元模型涉及到的概念,可以从建立的类图模型和状态图模型中抽取出需要的内容,并进行有效转化,将其转化为MDWAF中的平台无关模型的描述文档WADDF。
2 平台无关模型(PMI)的定义
根据MVC模式将Web App开发过程中涉及到的移动终端的屏幕界面划分为三层,便于理解和操作。根据MVC模式可以将划分为三层,依次是:一是Model;二是View;三是Controller。通过研究分析,MVC模式中的控制层涉及到的概念非常多,控制层也较为宽,换言之,从一定程度上来讲,对Web App的解码有一定的限制作用。Web技术涉及的非常众多,如HTML5和JavaScript。因此,我们可以用MOVE模型(Model Operation View Event模型),实现MDWAF的平台无关模型的构建。在此基础上,笔者提出了一下几个定义:
一是MDWAF中的每一个屏幕页面都可以用五个元组定义:ID ;Models; Operations; Views;Events。
ID,是用来你识别移动终端屏幕的一个页面;Model,是用来表示移动终端屏幕页面运行的数据模型;Operation,代表移动终端屏幕页面所需要的全部操作;Views,代表当前状态所对应的移动终端屏幕页面所需要的视图;Events,代表相对应的移动终端屏幕页面内涉及的操作所触发的事件结合。
二是移动终端屏幕页面内涉及到的操作集合OP可以定义为一个五元组:Id;Target Page;Parameters;Return;Action。
每一个OP都需要一个且是唯一一个Id,“Id”是用来表示当前的操作;Target Page,用来表示移动终端屏幕页面的变迁过程,针对具体的变迁情况要制定不同的操作; Parameters,表示相对应移动终端屏幕页面内操作的属于参数集;Return,对应移动终端屏幕页面内操作执行完毕后的返回结果;Action是该Operation内的具体操作。
三是移动终端屏幕界面内设计的操作所触及的事件Event可以定义为一个三元组:Dispatcher; Event Description; Event Handler。
Dispatcher表示与之相对应的事件的触发者,它一般与Event Description共同作为一个事件的完整描述。Event Handler表示与目前事件相对应的处理操作,一般对应的就是一个OP。
3 需要模型到平台无关模型的变换
3.1 状态机图的转化
一是状态图中的每一个初始状态都是用State生成一个与之相对应的ScreenPage,同时还要将ScreenPage转化成为与之相对应的Screenpageld。
二是状态图中涉及到的每一个变迁都是有Event和Operation两个共同组成的,其格式为Event/Operation,还可以将每一个变迁描述成为一个与之相对应的ScreenPage内部事件。
三是Operation命名格式为Id(Parameters):Return﹛Action﹜。以每一个变迁的初始状态和目标状态的Name为依据将变迁描述成为一个与之相对对应的ScreenPage内部操作。
3.2 类图的转化
状态机图转化完成之后就要将与之相对应的类图进行转化。要完成类图的转变,就必须要将ClassName匹配到相应的Scrceenpage,从而在进一步转化成为View和Model。
一是类图中涉及到的每一个非其他类组合而成的类都必须要被转化成为一个数据模型,且归入到Models的标签下,同时还要将类图中的每一个属性都进行转化,将其转化成为具有数据模型的属性,还要将转化而成数据模型归类到对应的数据模型中。
二是类图中的每一个非其他类组合成分的类都要以Annotation为依据进行转化,转化成为一个组件模型,归入到Views标签下,同时还要将类图中的每个属性进行转化,转化成为组件模型中的子组件,还要将转化而成的子组件归入到对应的组件模型中。
三是类图中每个非状态图涉及到的全部操作都要进行变换,变换成为对应的Screenpage内的一个操作。
4 结束语
综上所述,目前有Web APP开发平台提供的开发框架在开发者的开发过程中还要非常注意技术细节上面存在的问题,因为在Web APP的开发过程中还存在非常多的重复性的工作。Web App模型驱动开发框架实现关键技术有很多方面组成,笔者单从MDWAF中的平台无关模型进行的研究分析。
参考文献:
[1] 蒋理. 基于MDA的Web应用系统开发框架的设计与实现[D]. 西安: 西安电子科技大学,2010.
[2] 衷文. 基于MDA的Web App开发建模及实现[J]. 电子技术与软件工程,2015(12).