戴伟
摘 要:如今传统的电子商务模式已经无法满足不同企业之间的数据收集、信息交换等工作,Web Service的互操作性与松散耦合等特性解决电子商务异构平台间的数据传递问题,构建柔性的动态电子商务平台是现代电子商务系统开发的趋势。
关键词:电子商务 动态构建 Web service
中图分类号:TP319 文献标识码:A 文章编号:1007-3973(2013)006-097-02
我国电子商务的发展日趋成熟,企业间的协作越来越密切,在很多情况下需要多个企业共同来完成整个电子商务流程。但是每个企业所采用的电子商务系统各不相同,在传统的电子商务模式下各个企业之间的信息数据传递存在技术障碍。而动态的电子商务系统能够解决不同电子商务平台间的数据传统问题,适应企业电子商务不断变化的需求。而Web Service是构建动态电子商务的关键技术,通过利用Web服务的动态特性,企业可以根据不断变化的业务流程,随时重新构建电子商务系统。
目前电子商务交易平台主要采取网站形式,采用三层B/S结构,即客户表达层、业务逻辑层以及数据层,采取这种方式开发的电子商务交易平台通用性和可移植性较差,特别是对数据层中的信息维护难度较大,容易形成一个个的数据孤岛。采用上述方式构建的电子商务平台是一种静态开发,一旦平台中涉及的商务流程发生变化,需要重新对业务流程逻辑进行部署,因此需要在代码级别对已经开发好的电子商务交易平台进行修改。针对传统电子商务交易平台开发中存在的上述问题,本文提出一个基于Web service技术的电子商务交易平台动态构建方法。将电子商务交易平台设计过程中常用的功能模块封装,然后在注册中心进行发布。在进行电子商务交易平台开发时,采取工作流技术对流程进行动态部署,构建相应电子商务流程。
1 Web service技术
Web service是面向服务计算的一种实现模式,是发布在网络中的平台独立、松耦合、自包含且具有标准化接口的应用程序模块。用户将要实现的业务功能按照指定的格式进行编程,并封装为相应的应用程模块进行发布,使用者即可通过网络对这些封装好的Web service进行调用,使用者不需要考虑如何进行设计和开发,只需要了解其调用接口,因此适用于开发分布式的互操作的应用程序。
一般来说,Web service体系结构涉及到三种角色:注册中心、提供者以及调用者。这三种角色之间对应了三种操作关系:发布、查找以及绑定。提供者是应用程序的开发者,需要将设计好的程序模块按照指定格式进行封装,然后将其在注册中心进行发布,注册中心则是一个注册库,早期大都采取UDDI服务器的形式,现在则多为采取专业网站的进行分类存储,以便于用户进行查找和使用。因此,调用者如果想使用某个应用程序,必须先在注册中心进行查找,一旦找到符合自己需求的应用程序,则需要安装应用程序的说明(WSDL文件)中的地址和调用方法去提供者那里绑定所查找的应用程序。
2 动态电子商务系统构建
电子商务系统主要用于企业的产品展示和销售,为了能够动态的进行电子商务系统的构建,需要将交易平台中涉及到主要操作以功能模块的形式进行划分,然后封装为应用程序发布到注册中心。通过分析当前主流的电子商务系统,将系统中的功能主要划分为以下模块:企业信息管理、产品信息管理、产品的展示与检索、订单管理、客户管理、销售管理、支付管理以及配送管理等。为了便于应用程序实现,上述功能模块可以进一步细化。由于不同的程序设计语言在开发Web service应用程序语法规范不同,本文不再叙述如何进行应用程序的开发过程,假设在注册中心已经发布了众多的可以实现电子商务系统中功能的Web service应用程序,下面介绍一下如何动态构建电子商务系统。
工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。工作流的过程模型是流程描述的载体,通常由若干任务(活动)以及任务之间的流程转换关系组成。本文引入工作流技术进行电子商务系统的功能模块的动态部署。将服务注册中心的Web service应用程序映射为工作流过程模型中的任务,通过这些任务之间流程转换关系来约束电子商务系统中的交易流程。在进行电子商务系统开发时,提供系统的界面模板和流程建模环境,自由的对需要加入到系统中的应用程序进行选择,从而快速进行电子商务系统的动态开发。
一个界面模板由以下几部分组成:界面结构树、Web service应用程序集合以及工作流过程模型。界面模板用来生成电子商务系统中的一个交易页面。在其三个组成部分中,界面结构树用来描述一个交易页面中的区域划分以及他们之间的层次关系;Web service应用程序集合是这个页面中涉及到的操作集合,即页面中对应的功能模块的应用程序,工作流过程模型用来描述交易页面中的操作之间的转移关系。
界面结构树在纵向和横向两个层次上描述各个组成区域之间的邻接关系,在定义时采取先纵向后横向。在划分了相应区域后可以为每个区域添加相应的Web service应用程序集合,集合中的Web service将被加载到相应区域,如果这些应用程序之间存在流程关系,则需要引入工作流过程模型,定义这些应用程序之间执行关系。
本文采取有向图描述工作流过程模型,工作流过程模型被定义为一个有向图WFP={N, A},其中N= {ti | i=1...,m}为结点集合,A {(ti,tj) | ti, tj∈N}为结点之间的连接弧集合,用以描述流程之间的转换关系。
根据流程描述的需要,结点集合N中的结点被分为五大类{S,T,ST,R,E},各类结点含义如下:
(1)S:起始结点,表示工作流过程模型的开始。
(2)T:任务结点,表示工作流过程模型中需要处理的任务,一个任务结点对应于某个区域的Web service应用程序集合的某个应用程序。
(3)ST:子过程结点,表示一个子工作流程。
(4)R:路由结点,负责工作流过程模型的流程控制。
(5)E:结束结点,表示工作流过程模型的结束。
工作流过程模型中的连接弧A的弧定义各项含义如下:
(1)ProcessId :弧所隶属的工作流过程模型ID。
(2)ArcId :弧的ID标识。
(3)PreId :弧所连接的前驱节点ID标识。
(4)PostId :弧所连接的后继节点ID标识。
(5)TList :弧所附加的转移条件列表,为一布尔表达式集合,其中的每一个表达式均为布尔型转移函数,只有在表达式值为真时,该连接弧的后继节点被触发。
针对文中叙述的工作流建模,我们开发了相应的工作流过程模型建模工具,并且设计了工作流引擎,工作流引擎根据过程模型之间的依赖关系,自动的映射生成相应的业务代码,目前主要支持C#和Java语言的业务流程代码的生成。采用上述方式进行开发的电子商务系统具备较大柔性。一旦当前流程不再适合交易的需求,可以通过修改其对应的工作流过程模型来修改交易流程。对交易系统的动态修改包含两个层次:(1)在流程不变的情况下,重新为流程中的任务进行应用程序的绑定;(2)重新构建交易平台的流程,即修改工作流过程模型。因此本文中提出的方法可以快速的动态重构电子商务系统。
电子商务系统一旦开发后,对交易平台中的交易流程修改难度非常大,需要对已有程序进行较大服务的改动。而动态的电子商务系统构建方法,可将交易平台中涉及到的功能模块采用Web service进行封装和发布,然后对交易平台的界面采取界面模板进行划分,引入工作流建模,动态构建交易流程,当交易平台需要进行修改时,可以通过修改工作流过程模型中的任务结点绑定的应用程序或者重新编辑工作流过程模型来实现交易平台的动态重构。基于Web services 的动态电子商务系统是非常有效的跨平台应用系统,能够提高企业业务流程变化的应对能力,有助于解决目前电子商务面临的诸多问题。