下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 VMSDT一个设备无关的移动电子商务开发平台 刘英群,王克宏 时间:2008年12月02日 字 体: 大 中 小 关键词: 摘要:关键字:设备无关;移动电子商务;WML 1 引言基于上述分析,我们设计并开发了一个移动电子商
2、务开发平台VMSDT。该平台提供一整套工具,能够帮助移动商务服务开发人员以可视化的方式简单快速的开发出支持多种设备语言的移动商务服务,并且能够充分利用现有的业务层处理逻辑。使用这个平台,能够最大限度的降低移动服务构建和维护代价,使服务提供者能够将服务的实现与具体的设备分开,提供设备无关的服务。2 系统介绍VMSDT是一个可视化的移动电子商务集成开发工具,该工具集页面设计,页面预览和代码生成等功能,帮助服务设计人员以可视化的方式简单快速的创建出完整的移动web应用。图1是VMSDT的系统架构图:图1 VMSDT的系统架构图其中IEE和转换器其中的两个核心部分。IEE是一个可视化的集成开发环境,能
3、够帮助设计人员在不熟悉具体设备语言的条件下3 设计与实现? 本节中,我们将重点介绍三个模块的设计与实现。其中数据逻辑编辑器能够对已有的业务逻辑建模,既保证了对已有资源的充分利用,同时也使得通过VMSDT设计生成的应用是完整应用。页面编辑器支持页面组件属性的可配置,最大限度的提高了设计的灵活性和可扩展性。转换器支持静态页面和动态页面的转换,拓展了系统的应用范围。3.1 数据逻辑编辑器从需求的角度来说,用户设计的页面分为两种,一种是静态页面,一种是动态页面。静态页面可以在设计时生成,而动态页面则是在运行时生成的。本系统中同时支持两种页面的设计。一般来说,动态页面所做的处理逻辑主要有以下两种:(1)
4、 从数据源中获取数据,获取到的数据用于构造一个页面。(2)?获取用户提交的数据,调用后端处理逻辑做进一步处理,根据处理结果将页面导航到不同的页面上。实际上,在三层架构模型中,作为表现层的动态页面一般不会直接存取数据,而是通过业务逻辑层获取或操作数据。为了支持动态页面的设计,我们需要对业务逻辑层中的处理逻辑进行建模,称为数据逻辑模型。需要说明的是,数据逻辑编辑器并不支持业务逻辑的创建,而只是对已创建的业务逻辑建模。这样做最大的好处在于可以充分利用已有的系统,避免重复开发。数据逻辑模型是对业务逻辑层中数据处理程序接口的描述,所描述的内容包括以下四个部分:.基本描述:描述应用程序的类型,接口模式等等
5、.操作:描述接口的类及方法名.输入:描述方法的输入参数,以及每个参数的数据类型.输出:描述方法的输出结果及类型。其中,输入输出的描述最为复杂,尤其当输入参数和输出结果的数据类型不是简单类型时。这时,还需要对涉及到的数据对象建模,构造DataBean。我们以下图为例做详细说明:图2 第一种处理逻辑? 图2所示为上述第一种处理逻辑的典型处理模式,其中jsp需要获取该操作所输出的DataBean,并将bean中的内容显示在页面上。对于这个操作,数据逻辑模型不仅要描述Operation,还需要对DataBean的属性及类型进行描述。3.2 页面编辑器页面编辑器是一个树形结构编辑器,用于构造抽象页面。抽
6、象页面与具体的设备语言规范无关,称之为设备无关的页面。这些抽象页面最终可以使用转换器转换成与某种设备相关的页面。在本系统中,每个页面由不同类型的Component组成。Component间构成树形逻辑结构,如下图所示:?图3 ?页的树形逻辑结构? 由图3可以看出,Component分为三类:.?Orgnization Component(OC)OC是构成一个物理页的基本单位。包括PageComponent和ContainerComponent,其中PageComponent可以包含多个ContainerComponent。之所以采用这种Page-Container的两级结构,主要是为了适应手持
7、设备屏幕较小的特点。在有些页面标记语言中也同样考虑到这个因素,如wml采用了Deck-Card两级结构,把一页内容分成多个Card来显示。这样每个Card的内容较少,便于手持设备用户浏览。每个OC包含多个Composite Component。.Composit Component(CC)CC是结构组件,主要包括两种:ParagraphComponent和FormComponent。CC可以包括多个Basic Component,且CC之间可以相互嵌套。.Basic Component(BC)BC是构成页面的基本单位,本系统中支持多种BC,如TextComponent,TableCompone
8、nt,ChoiceComponent等等。3.3 转换器转换器是整个系统的核心模块,需要将页面编辑器中产生的抽象页面转换成符合某种规范的目标页面。本系统支持两种页面的转换,静态页面和动态页面。生成的结果文件包括静态的web页面,如WML,CHTML页面等等,动态的jsp页面,java代码等等。目前,用于手持设备的web页面标记语言还没有统一的标准,使用较为广泛的有CHTML,WML等等。另外,不同的手持设备既使标记语言相同,版本也可能不同。因此,扩展性是转换器设计中需要考虑的最重要的问题。在设计过程中,我们提出了两种转换方案:.xml+xslt,通过使用XSLT将资源文件转换成结果文件。.AP
9、I调用,设计一套底层包,转换引擎通过方法调用将抽象页面转换成结果文件。第一种方法的优点是实现简单,可扩展性强。对于每种规范,我们只需建立一个XSLT文件。当规范的版本升级时,只需修改相应的XSLT文件即可。存在的缺点是无法用于动态页面的生成。第二种方法与第一种方法恰恰相反,能够用于动态页面的生成,但是可扩展性要差。因此,我们在实现时采用了第二种方法,并通过采用可配置管理策略来最大限度的提高可扩展性和可维护性。当规范升级或加入新的规范时,大量的工作放在配置文件修改上,需要增加的代码也不会影响已有的代码。转换引擎采用了一个两阶段转换算法:(1)?第一阶段首先将一个抽象组件树转换成一个concret
10、e组件树。抽象组件树和Concrete组件树都是对象树,最大的不同在于Concrete组件树与某种规范相关,结构上与结果文件是一致的。举个例子,对于下面的一棵抽象组件树,转换成符合CHTML的concrete组件树是:? 图4? 抽象组件树? 在图4中,抽象组件树上包括两个BC,LabelComponent和TableComponent。其中,TableComponent是一个两行三列的Row-Major的表格。由于CHTML规范中不支持表格,因此需要将表格中的内容用另一种组件来代替,在本例中采用了List组件。(1) 第二阶段将Concrete节点树转换成结果文件,这需要将对象树转换成tag格式的字符串,并写入到文件中。每个Concrete组件的属性都是可配置的,在配置文件中设置了Concrete组件和tag间的映射关系。另外,每个Concrete组件都可以根据版本号获得一个最优的转换器,将Concrete组件树转换成符合该版本的目标文件。4 总结与展望在本文的以上章节中,我们介绍了VMSDT的架构及主要的几个功能模块。为了保证设备无关性和应用完整性,我们引入了抽象页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理成本控制技巧
- 小学四年级数学(上册)期末试卷及答案(真题)
- 1710-全国-古代汉语
- 2026年肾盏憩室合并感染诊疗试题及答案(肾内科版)
- 一岁半幼儿认知与探索教案
- 李琴珍:护理服务团队建设
- 2026 塑型进阶奶盖茶课件
- 白血病患者的泌尿系统护理
- 护理环境与安全管理教学目标
- 专四英语2025年模拟试卷
- 酒店明住宿清单(水单)
- 遥感概论-遥感图像的增强
- 超微茶粉加工技术
- 第四章 《金瓶梅》
- 传感器技术与应用-说课
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- GB/T 13816-1992焊接接头脉动拉伸疲劳试验方法
- 碳捕集、利用与封存技术课件
- 新生儿听力筛查(共29张)课件
- 《消防安全技术实务》课本完整版
- (精心整理)数学史知识点及答案
评论
0/150
提交评论