kaiyun官方注册
您所在的位置:首页 > 嵌入式技术 > 设计应用 > VMSDT——一个设备无关的移动电子商务开发平台
VMSDT——一个设备无关的移动电子商务开发平台
刘英群 王克宏
摘要: 用于构建设备无关的基于Web的移动电子商务的系统化集成开发平台。
Abstract:
Key words :

  摘  要: 用于构建设备无关的基于Web的移动电子商务的系统化集成开发平台。

  关键词: 设备无关  移动电子商务  无线标记语言WML

 

  随着无线通信的快速发展和手持设备用户的持续激增,无线技术与电子商务的结合,即移动电子商务得到了越来越多的关注。

  目前移动电子商务的实现主要基于以下三种方式:SMS、Web和J2ME。其中基于SMS的移动服务占据了主导地位,基于J2ME的服务则在快速发展之中。但是基于Web的移动服务在未来会成为非常重要的移动服务实现方式。首先,它能够为手持设备用户提供丰富的Web资源;其次,它允许开发者最大限度地利用现有资源;最后,服务开发者仍然可以沿用已有的开发模式。然而,构造基于Web的服务还存在一定的困难。从技术的角度来分析,主要体现在以下二个方面。

  (1)设备多样性

  目前的手持设备多种多样,从laptop到smart phone,它们在计算能力、显示能力等方面具有很大差异。设备多样性的存在为移动商务系统的构造带来很大困难,其中设备语言的多样性所带来的困难最为突出。由于不同的设备使用不同的设备语言,其服务实现的方式不同,因此同一服务就需要进行多次设计、多个实现并维护多套代码。这样将会造成服务的生产成本和维护代价不能忍受。

  (2)现有资源的充分利用

  在构建移动服务时,服务提供商需要考虑新构建的移动服务与已有的电子商务服务之间的关系。充分利用已有的资源,能够极大地降低构建成本。从三层计算模型的角度来分析,只需重新开发其中的表现层,而充分利用现有的业务层和数据层的资源。

基于上述分析,这里设计并开发了一个移动电子商务开发平台VMSDT。该平台提供一整套工具,能够帮助移动商务服务开发人员以可视化的方式简单快速地开发出支持多种设备语言的移动商务服务,并且能够充分利用现有的业务层处理逻辑。使用这个平台,能够最大限度地降低移动服务构建和维护代价,使服务提供者能够将服务的实现与具体的设备分开,从而提供设备无关的服务。

1 系统介绍

  VMSDT是一个可视化的移动电子商务集成开发工具。该工具集页面设计、页面预览和代码生成等功能为一体,帮助服务设计人员以可视化的方式简单、快速地创建出完整的移动Web应用。图1是VMSDT的系统架构图。

 

  系统中的IEE和转换器是二个核心部分。IEE是一个可视化的集成开发环境,能够帮助设计人员在不熟悉具体设备语言的条件下以可视化的方式完成M-Commerce服务开发。转换器用于结果文件生成,根据用户的设计,转换引擎调用底层包生成适用于不同客户端的动态和静态页面。底层包是一个底层软件包,提供一套API,供转换引擎调用。

  配置管理服务为IEE和转换器,可提供最大限度的可配置和可扩展性。系统的可扩展性对于解决设备语言多样性问题极为关键。目前不同的厂家所生产的手持设备采用了不同的设备语言,比较常见的有WML、CHTML、HDML等;另外,各种设备语言的版本也在不断升级之中。这就要求系统能够以较小的代价快速适应设备语言标准的变化,以保证所开发的服务能够支持新的设备。本系统采用了基于XML的配置管理策略,保证了当设备语言更新时,只需修改XML文件及少量程序即可升级整个系统。

  下面将结合VMSDT的特色重点介绍其中几个主要部分的设计与实现。

2 设计与实现

  这里将重点介绍三个模块的设计与实现。其中数据逻辑编辑器能够对已有的业务逻辑建模,既保证了对已有资源的充分利用,也使得通过VMSDT设计生成的应用是完整应用;页面编辑器支持页面组件属性的可配置性,最大限度地提高了设计的灵活性和可扩展性;转换器支持静态页面和动态页面的转换,拓展了系统的应用范围。

2.1 数据逻辑编辑器

  从需求的角度来说,用户设计的页面可分为静态页面和动态页面二种。静态页面在设计时生成,动态页面在运行时生成。本系统同时支持二种页面的设计。通常,动态页面所做的处理逻辑主要有以下二种:

  (1)从数据源中获取数据,获取的数据用于构造一个页面。

  (2)获取用户提交的数据,调用后端处理逻辑做进一步处理,根据处理结果将页面导航到不同的页面上。

  实际上,在三层架构模型中,作为表现层的动态页面一般不会直接存取数据,而是通过业务逻辑层获取或操作数据。为了支持动态页面的设计,需要对业务逻辑层中的处理逻辑进行建模,称为数据逻辑模型。需要说明的是,数据逻辑编辑器并不支持业务逻辑的创建,而只是对已创建的业务逻辑建模。这样做最大的好处在于可以充分利用已有的系统,避免重复开发。

数据逻辑模型是对业务逻辑层中数据处理程序接口的描述,所描述的内容包括以下4个部分:

  (1)基本描述:描述应用程序的类型、接口模式等。

  (2)操作:描述接口的类及方法名。

  (3)输入:描述方法的输入参数及每个参数的数据类型。

    (4)输出:描述方法的输出结果及类型。

  其中,输入输出的描述最为复杂,尤其当输入参数和输出结果的数据类型不是简单类型时。这时,还需要对涉及到的数据对象建模,构造DataBean。这里以图2为例做详细说明。

  图2所示为上述第一种处理逻辑的典型处理模式,其中JSP需要获取该操作所输出的DataBean,并将Bean中的内容显示在页面上。对于这个操作,数据逻辑模型不仅要描述Operation,还需要对DataBean的属性及类型进行描述。

 

2.2 页面编辑器

  页面编辑器是一个树形结构编辑器,用于构造抽象页面。抽象页面与具体的设备语言规范无关,称之为设备无关的页面。这些抽象页面最终可以使用转换器转换成与某种设备相关的页面。在本系统中,每个页面由不同类型的Component组成。Component间构成树形逻辑结构,如图3所示。

  由图3可以看出,Component分为3类:

  (1)Orgnization Component(OC)。OC是构成一个物理页的基本单位。包括PageComponent和ContainerComponent,其中PageComponent可以包含多个ContainerComponent。之所以采用这种Page-Container的二级结构,主要是为了适应手持设备屏幕较小的特点。在有些页面标记语言中也同样考虑到这个因素,如无线标记语言WML采用了Deck-Card二级结构,把一页内容分成多个Card来显示。这样每个Card的内容较少,便于手持设备用户浏览。每个OC包含多个Composite Component。

  (2)Composit Component(CC)。CC是结构组件,主要包括2种:ParagraphComponent和FormComponent。CC可以包括多个Basic Component,且CC之间可以相互嵌套。

  (3)Basic Component(BC)。BC是构成页面的基本单位。本系统支持多种BC,如TextComponent、TableComponent、ChoiceComponent等。

2.3 转换器

  转换器是整个系统的核心模块,需要将页面编辑器中产生的抽象页面转换成符合某种规范的目标页面。本系统支持静态页面和动态页面的转换。生成的结果文件包括静态Web页面(如WML、CHTML页面等)和动态JSP页面(如Java代码等)。

  目前,用于手持设备的Web页面标记语言还没有统一的标准,使用较为广泛的有CHTML、WML等。另外,不同的手持设备即使标记语言相同,版本也可能不同。因此,扩展性是转换器设计中需要考虑的最重要的问题。在设计过程中,提出了二种转换方案:

  (1)xml+xslt。通过使用XSLT将资源文件转换成结果文件。

  (2)API调用。设计一套底层包,转换引擎通过方法调用将抽象页面转换成结果文件。

  第一种方法的优点是实现简单,可扩展性强。对于每种规范,只需建立一个XSLT文件。当规范的版本升级时,只需修改相应的XSLT文件即可。存在的缺点是无法用于动态页面的生成。第二种方法与第一种方法恰恰相反,它能够用于动态页面的生成,但是可扩展性要差。因此,本系统在实现时采用了第二种方法,并通过采用可配置管理策略来最大限度地提高可扩展性和可维护性。当规范升级或加入新的规范时,大量的工作放在配置文件修改上,需要增加的代码也不会影响已有的代码。转换引擎采用了一个二阶段转换算法。

  (1)第一阶段。首先将一个抽象组件树转换成一个Concrete组件树。抽象组件树和Concrete组件树都是对象树,最大的不同在于Concrete组件树与某种规范相关,结构上与结果文件是一致的。图4所示为一棵抽象组件树转换成符合CHTML的Concrete组件树的实例。

 

  在图4中,抽象组件树上包括2个BC:LabelComponent和TableComponent。其中,TableComponent是一个二行三列的Row-Major表格。由于CHTML规范中不支持表格,因此需要将表格中的内容用另一种组件来代替。本例采用了List组件。

  (2)第二阶段。将Concrete节点树转换成结果文件,这需要将对象树转换成tag格式的字符串,并写入到文件中。每个Concrete组件的属性都是可配置的,在配置文件中设置了Concrete组件和tag间的映射关系。另外,每个Concrete组件都可以根据版本号获得一个最优的转换器,将Concrete组件树转换成符合该版本的目标文件。

3  总  结

  本文介绍了VMSDT的架构及几个主要功能模块。为了保证设备无关性和应用完整性,引入了抽象页面和数据逻辑编辑器。此外,为了提高系统的可扩展性和可维护性,还采用了基于XML的配置管理策略。

  但是目前的VMSDT版本还存在一些缺陷。如只能支持简单的页面设计、无法支持复杂的动态页面的设计,支持的规范仅限于WML、HDML和CHTML。在以后的工作中,这些都有待进一步改进。

 

参考文献

1  Varshney U.Mobile commerce:Applications and technologies.Atu-torial,In:ACM International Conference on Mobile Computing and Networking(MobiCom),2001

2  WAP Forum.Wireless Markup Language Specification Version 2.0.http://www.wapforum.org/tech/documents/

WAP-238-WML-20010626-p.pdf.

3  Kamada T.Compact HTML for Small Information Appliances.http://www.w3.org/TR/1998/NOTE-compact-

HTML-19980209/.

4  Abrams M,Phanouriou C.UIML:An XML Language for Building Device-Independent User Interfaces.

http://www.harmonia.com/resources/xml99Final.pdf.

5  Microsoft.Mobile Web Development:Comparing the Mobile InternetToolkit to XSLT.http://msdn.microsoft.

com/library/default.asp?url=/library/en-us/dnmitt%a/html/mmitvxslt.asp.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map