1997年在比利时首都布鲁塞尔召开的全球信息社会标准大会上,就电子商务市场拓展问题、各地区电子商务发展现状、建立电子商务所遇到的技术问题、各地区电子商务所面临的安全问题以及如何建立全球电子商务的基础结构进行了讨论,并提出了一个关于电子商务的定义:“电子商务是各参与方之间以电子方式而不是以物理交换或直接物理接触方式完成的任何形式的业务交易。”这里的电子方式包括电子数据交换(EDI)、电子支付手段、电子订货系统、电子邮件、网络通信、电子公告系统、条码、图像处理和智能卡等等。
一次完整的商业贸易过程是复杂的,包括交易前的了解商情、询价、报价、发送订单和订单应答、发货通知、收货通知、取货凭证及支付汇兑过程等,此外还有涉及行政过程的认证等行为,涉及了资金流、物流、信息流的流动。严格地说来,只有上述所有贸易过程都实现了无纸贸易(即全部是非人工介入,使用各种电子工具完成),才能称之为一次完整的电子商务过程。
虽然定义如此严格,但不可能要求所有的企业都一步到位,做到最严格的电子商务过程。在实际运作时,人们往往把所有使用新的通信技术和计算机技术来改变传统商务模式的活动都称作是电子商务。
电子商务的分类有许多种,除了企业—企业(B to B)、企业—消费者(B to C)之外,还有人提出可分为消费者—消费者(C to C )、消费者—企业(C to B)、企业—政府机构(B to G)、消费者—政府机构(C to G)等等。消费者是电子商务的个体参与者,而企业与政府机构是以计算机应用系统作为电子商务的参与者,我们一般将B to B 和B to C作为电子商务的两大类,把其他的许多种分类分别归属于这两大主类。在B to B 的电子商务活动中,由于贸易额大、信息量大,对安全保密要求高,通常采用EDI标准格式传送报文,而消费者直接参与电子商务时,一般都是采用Internet贸易方式,而EDI与Internet涉及的诸多技术也正是电子商务涉及的技术。
我们先从电子商务的两种典型模式B to C、B to B方面入手分析电子商务的构成与技术实现。B to C相对B to B实现起来较简单,但二者所采用的计算机网络与通讯技术大致是相同的。电子商务软件也逐渐从传统的Client/Server模式向Browser/Server模式转换。Browser/Server模式下的电子商务主要以网站的建设为核心。
一、 网站的分类
从技术角度区分,网站分为静态网站和动态网站两种。静态网站是网站建设初期经常采用的一种形式。网站建设者把内容设计成静态网页,访问者只能被动地浏览网站建设者提供的网页内容。动态网站综合利用静态网页、中间件、数据库技术,实现网站与用户之间的交互操作。根据用户的不同要求,网站能够提供不同的信息,使访问者与网站之间能够进行信息交流。
从商业角度区分,网站可以分为商业网站、门户网站和宣传网站。商业网站是从事商业活动的网站,是以销售商品为手段的赢利型网站。最著名的商业网站是美国的亚马逊书店(//www.amazon.com),堪称商业网站的鼻祖。门户网站向大众提供信息服务,提高访问率和站点知名度,以广告收入作为赢利的站点,类似站点如雅虎(//www.yahoo.com)、搜狐(//www.sohu.com)等。宣传网站则是在Internet上树立企业形象的网站,不参与商业活动,是以宣传为目的的网站。
商业网站和门户站点几乎都属于动态网站,综合采用先进的技术,达到交互性的效果。大公司或企业的宣传型网站,例如//www.sap.com也都是动态网站。
二、 建设网站的工具
1. 超文本标记语言(HTML)
HTML是构成网页的最基本元素,已经成为一种广泛接受的格式,通过使用标记在Internet上创建和查看信息。标记可以使Navigator、Internet Explorer等浏览器显示文本、图形和其他的任何内容。
近年来HTML得到了迅速的发展,增加了许多扩展功能,当前的技术标准要始终不断地更新,才能跟得上它的变化。每一种新的浏览器,无论是Beta版还是正式版,总在给HTML增加新的功能。同时,新技术的产生,例如Dynamic HTML、Java Script、VBScript、ASP等,都仍然建立在HTML之上,并没有舍弃现有的HTML。
HTML是一种标记性语言,但并不是一种程序语言。HTML所定义的范围仅局限于如何表现文字、图片,以及如何建立文件之间的链接。因此由HTML构成的语言不会因时因地产生变化,所以纯粹由HTML构成的网页,称为静态网页。由静态网页构成的网站,称为静态网站。客户端浏览器向服务器提出HTTP需求,服务器下传静态网页,其流程见图1。

图1 静态网页传输流程图
2. 在浏览器端的编程语言
产生动态网页,一定需要编写程序。程序的可执行端分为浏览器端和Web服务器端。如果程序在浏览器端执行,则服务器必须把程序代码传下来,而浏览器也要能够执行服务器传下来的程序。
Java Script和VBScript的使用范围局限于浏览器本身,可以通过浏览器所提供的对象来控制浏览器,制作出许多动态网页的效果。但是无法与Web服务器通讯,因此凡是与Web数据库有关的应用都无能为力。从Navigator 2.0和Internet Explorer 3.0开始,Java Script和VBScript(仅用于Internet Explorer)已被用于执行各种操作,如滚动文本、正确表单项的确认和处理以及最近实现的移动等,这些功能已经说明了脚本语言的重要性。
Java和ActiveX对象虽然具备与Web服务器通讯的能力,但是相对而言程序设计要困难得多,同时,由于运行Java程序必须首先启动Java虚拟机,在调用过程中,会造成大量时间延迟。如图2所示,在浏览器端执行程序时,程序访问数据库是很辛苦的事情。因此,以经验而论,网站建设中不建议使用。

图2 浏览器端执行程序图
3. 在服务器端的编程语言
如果程序在服务器端执行,服务器只要把可执行的结果传下来。相对于在浏览器上执行的程序而言,Web服务器端的程序存取Web数据库就相对简单多了,因为程序和数据库在同一台机器上,或在同一局域网内。Web服务器端的程序只需将结果传给浏览器(见图3)。

图3 服务器端执行程序图
使用上述方式访问数据库很简单,但是要把程序执行结果下载给浏览器。
过去,在Web服务器端执行的程序统称公共网关接口CGI(Common Gateway Interface)。CGI的指令来自于浏览器,以CGI接口传送到服务器,再由服务器解释后启动服务器中对应的程序。对服务器端的程序而言,可以通过CGI提供的接口读取指令的参数。最后,由被CGI启动的程序把结果传输给网络。但是,CGI的缺陷在于:
(1) 同样的操作系统,如果Web服务器不同,则CGI的接口程序就不同;
(2) 对提供虚拟主机的ISP来说,通常不允许用户选择自己熟悉的语言来编写CGI程序;
(3) 访问数据库的程序不容易编写。
ASP(Active Server Page)程序可以说是CGI的改进版,它与CGI程序一样是在服务器端执行的。ASP是微软公司新推出IIS 3.0的一个组件,也是微软在IIS 2.0推出IDC后的新一代动态网页开发方案。ASP实际上是一种在服务器端开发脚本语言的环境。利用它可以开发动态、交互、高性能Web服务器端的应用,并且能够实现复杂的Web应用。ASP的特点为以下几个方面。
(1) CGI接口对象化。在CGI程序中收集网页数据时,最麻烦的是解析浏览器传来的数据。若使用ASP收集网页数据,则ASP可以代为解析。
(2) 可以使用ActiveX对象。除了ASP本身提供的对象外,凡是在Windows下的ActiveX对象也都是ASP网页制作中可以引用的资源。因此,能够使用ADO(ActiveX Data Objects)存取数据库。ASP程序具体执行流程见图4。
图4执行过程如下:
(1)浏览器向Web服务器发出下载文件请求。
(2)Web服务器判断浏览器所下载的是否为.asp文件,如果不是,则直接下载文件;如果是.asp文件,Web服务器会判断是否含有Script(VBScript或Java Script),如果有,则加以解释执行,至于不是Script程序部分,则直接下载给浏览器。
(3)若执行中的Script程序使用了ADO对象,则Web服务器会根据ADO对象所设置的参数来启动对应的ODBC驱动程序,而启动ODBC驱动程序后,程序可以直接利用ADO对象来访问数据库,或通过ADO对象来发送SQL指令,进而达到存取数据库的目的。
(4)最后,如果有数据必须显示在浏览器上,则Script程序会利用ASP输出对象送出数据,然后由Web服务器传送给浏览器。
ColdFusion作为另一种连接Web数据库应用的中间件技术,曾以开发快速、学习简单的特点受到开发人员的喜爱。ColdFusion 4.0版本的推出表明,它为开发人员提供了一个强大、复杂、高度扩展性的开发环境。开发人员使用它可以从建立网站轻松地过渡到开发Web应用中去,并且还能够快速地进行Web开发。
美国Allaire公司对ColdFusion的设计目标是要将它开发成为一个Web应用平台。ColdFusion 4.0包含了可视化编程、数据库工具以及程序校验工具等功能,并能与数据库、电子邮件、目录服务集成在一起。它的工作原理和ASP相似:当Web服务器接到一个对CFML页面(通常带有CFX扩展程序)的请求时,立刻把这个请求传递给ColdFusion服务器,ColdFusion服务器再对CFML进行语法解释并负责与数据库建立连接,最终以HTML格式将数据库查询结果输出,并将它传递到浏览器端。
使用ColdFusion基于标记的编程语言——CFML,用户只需要在原有的HTML语句基础之上再添加一些特定的标志,就能够实现和数据库的交互功能,将数据库数据转变为网页中的动态内容;或者和Mail服务器(如Microsoft Exchange)建立通信,向外部发送信息。由于CFML和HTML同属标记语言,因此很容易被网页编辑们所接受。CFML集成了标准的SQL语言,它在ColdFusion环境下的数据库挂接非常简单,例如,使用通知ColdFusion引擎提交一个数据库查询请求并返回符合条件的记录集,运行标识符还可以指定以HTML格式输出查询结果以及数据库中各个数据项目的名称。同时,ColdFusion会将实际查询结果自动转为HTML格式并传递到浏览器端。
4. 数据库
对于具有大量信息的网站来说,数据库是存储信息的仓库,通常选用Oracle、DB2、SQL Server等大型数据库。数据库的组织结构直接关系到数据操作的速度,因此,数据库的设计在网站建设中也是非常重要的工作。
三、 建设网站的过程
1. 申请域名
为Internet上企业网站申请名字。域名是现代企业Web策划中重要的组成部分,和企业的名称一样举足轻重,不容忽视。好的域名与企业形象相辅相成,相互辉映。
2. 选择主机位置
可以选用虚拟主机、服务器托管和租用DDN专线多种方式。
虚拟主机 即通常所谓的租用ISP硬盘空间。ISP的一台服务器可能会虚拟出很多主机名称,会影响访问速度。另外,使用到数据库的商业网站或其他动态网站也不适合这种方式。
服务器托管 企业自行购买、配置、安装Web服务器后,托管在ISP,由企业远程维护。
租用DDN专线 用户租用DDN专线后,可以把自行配置的服务器放置在任何易于维护的位置。
3. 选择主机
主机位置确定后,就可以根据需求购买配置服务器。服务器有不同厂商的不同品牌,有PC Server,也有企业级的服务器,主要根据用户的业务需求、数据量和访问人数来确定。
4. 选择操作系统、Web服务器、开发工具和数据库
常用的操作系统有Unix和Windows NT Server。
大型商业网站可以选用通用产品,例如IBM的Net.Commerce V3.1,已经与中国银行实现了利用SET协议的支付方式。Domino Go WebServer支持Net.Commerce,推荐使用的数据库是IBM的DB2。
一般的交互型网站可以选用运行在Windows NT Server和IIS上的ASP,数据库建议采用SQL Server。
静态网站只要应用HTML就能够达到目的。
5. 网站建设
企业需将传统的CIS(Corporate Identity System,即企划)的理念运用到企业网站建设中,即Web企业策划。Web企划服务分两大部分:企业网上形象识别设计和网站内容结构的整体策划。
网站建设前,深入了解和体会企业现状和企业文化,对企业形象做深入分析,并根据网页设计的技术特性,为企业设计出个性鲜明、与传统媒体中的企业形象相匹配的网上形象,使企业传统的CIS在网络上得到延伸和渗透。
结合企业的行业特色和销售方式,对企业网站的架构和内容做合理设计和布局,使网站不仅成为企业形象的展示平台,同时也能为企业产品或服务的网络销售做好最前端的铺垫和充分的准备,成为企业整体宣传系统工程中不可或缺的一部分。
6. 日常维护
保证系统的稳定性,也是树立良好企业形象的一个方面。另外,使站点的内容经常变动,经常给网站的访客提供新的有价值的信息,也是站点日常维护工作的一个重要组成部分。
四、电子商务应用系统工作流程
当企业拥有了一个好的网站,便奠定了企业实现电子商务的基础。加上银行、认证机构、客户、第三方物流配送公司的参与,便可实现B to C、B to B的各种业务过程了。其中B to C结构的基本组成部分如图5所示:

图5 B to C电子商务流程图
系统参与方共为4方,分别为:
1. 具有Web浏览器的用户群;
2. 处理信用卡业务并提供主页的商家;
3. 为商家处理信用卡的商家的开户行;
4. 发卡机构。
但在实际应用中,可能会将发卡机构与商家开户行合二为一,其实质是一样的。
电子商务应用系统中B to C的具体工作流程如下:
第一阶段:用户购物阶段。
1. 用户访问商家主页,得到有关商家货物的明细清单。
2. 用户将所需物品放入购物车,填写订货单,并选择信用卡方式向商家支付。
3. 商家服务器访问其银行,以对用户的信用卡号码及所购货物的数量进行认证,银行认证完后,通知商家购物过程是否继续向下进行。
4. 商家通知用户业务是否完成。
第二阶段:用户账目向商家账目转账。
5. 商家服务器访问商家的开户银行,并向银行提供购物的收据。
6. 商家银行访问发卡机构,以取得商家售物所得到的钱。
7. 用户余额查询。
B to B业务的电子商务实现起来相对较难,涉及的技术和参与方相对较多。
B to B电子商务流程的基本架构如图6所示:

图6 B to B电子商务流程图
其中客户与商家的购物流程与B to C中用户与商家的购物流程基本相同,其不同之处主要在于:
1. 由于B to B的业务中不再是零售的概念,因此在批量运输过程中离不开第三方物流配送与运输环节的出现。
2. 不管是供应商还是制造商都有自己的MRP、ERP、MIS等系统,为了能将现有的系统通过Internet与其他商家的系统交互数据,因此在供应商和制造商都出现了EDI数据转换服务器(EDI集成服务器),主要实现数据转换功能,包括EDI报文和其他文件格式的转换(如XML等)。
我们将分制造商和供应商两部分来简单说明B to B中EDI流程,如图7所示。

图7 B to B 中EDI 流程图
在图7中,EDI集成服务器处在供应商和制造商的所有数据交换的中间位置。假设EDI集成服务器负责隐藏网络、协议以及来自供应商和制造商系统的安全性问题,还负责隐藏系统接口上的差异。
供应商系统访问制造商的MRP系统以获取商品库存,两个系统之间的通讯都是完全自动进行的,供应商用消息的形式将EDI报文向对方EDI集成服务器发出请求,并通过HTTP协议的标准的POST方法将请求发送出去。对方EDI集成服务器将这些请求翻译成对MRP系统的调用,然后再把来自MRP系统的应答信息翻译成EDI报文,并发送回供应商。
接收到应答消息后,EDI集成服务器再将消息转换成适合MRP系统处理的数据表示传递给MRP系统,从而完成了一个请求/应答的循环。

图8 制造商服务系统图

图9 供应商服务系统
制造商服务
1. 供应商发出的EDI报文在EDI集成服务器上转换成制造商系统可以识别的信息。
2. 业务接口插件是一段与MRP系统进行通讯的程序,通常用Java语言编写,包含一个EDI集成服务器使用的接口。该接口的最重要“方法”就是从MRP系统中检索出产品信息。插件只向提供该产品的供应商返回产品信息,供应商不能获取别的供应商提供的产品信息。插件先从登记信息中查出供应商的用户名,然后再取出该供应商的标识符,这个标识符必须与MRP数据库中用来与插件关联的那个供应商标识符吻合。
3. 服务器存根是连接到业务接口插件的一段程序,它允许EDI服务器调用插件外露的API(应用程序接口)。服务器存根使EDI服务器能够与用任何编程语言编写的插件进行通讯,它们还通过隐藏插件的方法签名(即方法的名字和参数定义)的细节,来为服务器提供方便。
供应商服务
客户存根提供了一些API,插件通过调用这些API可以访问从供应商的HTML/XML中找到的信息,插件运行了一个后台线程,它周期性地调用这些API来检索供应商的产品信息,并用API返回的产品信息来更新MRP系统。EDI服务器利用万维网自动化服务使插件能访问供应商的WWW站点,EDI服务器不仅能向插件提供万维网自动化服务,还能向其他任何应用程序提供这种服务。
第三方物流中心用EDI集成服务器与客户进行数据交换,银行可采用信用卡、电子资金进行网上支付,认证机构采用SET等技术进行安全认证。
最后要注意的问题是,电子商务并非仅仅指基于Internet网上的交易,而是指所有利用Internet、Intranet、Extranet以及LAN、WAN等从事的所有商务活动,包括从销售到市场运作以及信息管理,所以说电子商务只是在Internet上的贸易是不正确的,也是不全面的。但电子商务也绝不是将原来的基于传统的软硬件技术稍加升级便冠以“电子商务”;当然,企业也绝不是拉一根电话线上了网就算是完成了“电子商务”。电子商务涵盖的内容之深之广,还需要企业在实践中不断完善。