1 购物车在电子商务系统中的地位与作用
电子商务系统中的购物车指用户选择好商品后,从单击“加入购物车”按钮到“去结算”之间的过程[1].和超市购物车的功能类似:方便用户一次选择多件商品去结算;在用户选购过程中充当临时收藏夹。对于商家来说,购物车不仅让用户一次可以购买多件商品,还是商家向消费者推销商品的手段之一。很多电子商务系统的购物车页面除了显示用户已选择的商品外,还列表显示了“浏览该商品的用户还选择了”或“猜你喜欢的商品”等相关商品信息的链接显示。
与超市中的购物车相比,电子商务系统中的购物车具有更多的功能:(1)购物车中的商品可以保存一定的时间,如 20 天、60 天或更长时间,只要用户打开购物车页面就可以浏览到曾经放入购物车中的商品;(2)用户可以添加、删除商品,修改商品数量、规格等信息;(3)用户选好商品随时可以付款结账,不像超市有营业时间的限制,比超市购物有更大的自由度。
在电子商务系统中,购物车起到了举足轻重的作用。用户浏览了商品,进行了确认,准备购买商品,完成一个流畅的购物过程,实现更多的网上交易是电子商务系统的宗旨,因此设计一个功能完善、界面美观、设计合理、用户界面友好的购物车是整个电子商务系统中十分关键的一环。
2 购物车存储
购物车主要有两种存储方式,包括 Session 和数据库。Session 的好处是效率较高,但相对内存占用会较多,尤其是访问量比较大的网站;而数据库的效率显然也是个问题。很多时候我们会从业务角度来综合使用这两种方式。
(1)只有在用户选择“添加商品到购物车”时才创建购物车对象。要知道大多数的用户都处于浏览状态,尤其是那些搜索引擎的爬虫们,为每个光临的用户都自动创建一个购物车显然是不明智的。
(2)将购物车临时存储到 Session 中的好处就是可以为没有登录的用户提供购物车服务,只有在用户进行结算的时候才需要登录。当然,也可以使用 Session ID 作为唯一识别符将购物车存储到数据库中。
(3)对于已经登录的用户,如果他的购物车不为空,我们会在 Session 过期时将他的购物车数据存储到数据库中。这样用户下次进入网站的时候就可以持有上次挑选的商品,进行一次结算。这种人性化的方式更加吸引用户。不过这里面有个陷阱,就是折扣的问题,因为很多促销活动中,商品的价格和日期有关,因此这种方式可能带来商品价格上的混乱。当然这些数据必须设定失效期。
3 购物车的设计
电子商务系统实现由用户浏览商品、选择商品、添加到购物车、结算、付款等步骤组成的一个完整的购物过程,需要在电子商务系统的不同页面之间实现跳转。
用户将所选中的商品放入购物车、继续购物、对购物车中的商品进行编辑(如删除某商品,修改某商品的数量)、清空购物车、付款下订单等操作,电子商务系统要求能跟踪用户的行为,记录下用户操作的过程。但是 HTTP 协议是一种“无状态”的协议,它本身不包括客户与服务器之间交互的状态信息。它不用记录是哪个用户选购了商品,也不能将信息在页面间跳转时携带,所以要借助一些内置对象或数据库来实现信息的传递与记录。
3.1 购物车设计实现的方式
目前电子商务系统中的购物车主要是用Cookie、Session 和数据库的方式来实现,下面分别分析一下它们的机制及作用。
3.1.1 使用 Cookie 方式来实现购物车
Cookie 是服务器通过浏览器保存在客户端硬盘上的文件,帮助服务器记录浏览器访问状态信息,服务器可以读取浏览器中的 Cookie 信息,并进行相关操作。利用 Cookie 键/值对特性保存用户所选购的商品,实现购物车的功能。设置 Cookie 的有效生命周期,只要客户不清除,信息就一直存在。
基于 Cookie 的方式实现购物车,信息存储在客户端,减轻了服务器的负荷;基于 Cookie 的购物车要求用户浏览器必须支持并设置启用 Cookie,否则购物车则失效。国内最大的当当网络书店就是利用 Cookie 来实现购物车功能的。
3.1.2 使用 Session 方式来实现购物车
Session 可以保存和跟踪用户的状态信息,会话信息保存在服务器,每一个会话有一个唯一的SessionID 标识。Session 不依赖于客户端设置,信息存储在服务器会更安全,但是 Session 会占用服务器资源,加大服务器端的负载,因此会影响服务器的性能。
3.1.3 结合数据库的方式实现购物车
利用 Cookie 或 Session 实现购物车,需要设置Cookie 或 Session 对象的生命周期,为了让购物车中的信息更持久保存,可以选用数据库来实现。使用数据库实现提高了数据的安全性,存储的信息量也更大。每一个购物的行为,都要直接建立与数据库的连接,操作完成后才能释放连接。当并发用户很多时,对数据库的性能提出了更高的要求。例如淘宝网中的购物车有两种实现形式,其中用户登录后打开的购物车是使用数据库方式实现的。
3.2 三种实现购物车方式的选择
使用 Cookie 实现购物车,必须获得浏览器的支持,同时信息存储在客户端,极易被获取,一般Cookie 只用来维持与服务器的会话。这种方式的缺点是如果客户端不支持 Cookie,就会使购物车失效;另一方面当用户选择好商品放入购物车后,如果换一台电脑,还想浏览购物车中的商品,就没法浏览了,因为 Cookie 信息是存储在本机。
使用 Session 实现购物车,能很好地与交易双方保持会话,同时不受客户端设置的影响,在购物车技术中得到了广泛的应用。因为 Session 信息是保存在服务器端,所以当并发的客户很多时,会增加服务器的负荷。
使用数据库实现购物车,在一定程度上解决了上述问题,购物车信息保存持久,而且用户在不同的机器上都可以查看到已放入购物车中的商品信息。在这种购物流程中涉及到对数据库的频繁操作,当用户很多的时候就加大了数据库服务器的负荷。
在实际应用过程中,设计者可以根据系统的功能选用不同方式来实现购物车。
4 如何设计完善的购物车
电子商务系统要完成购买转化率,除了功能完善、性能稳定外,对于购物车的设计也要做到操作简便、流程清晰、付款方便等。购物车设计的好与坏,直接决定了用户购买的积极性,对于电子商务系统而言具有举足轻重的意义。购物车设计中应当注意下述几个问题。
4.1 “放入购物车”按钮在页面中突出、醒目“放入购物车”按钮在页面中要非常醒目。当用户浏览商品的详细页面时,用突出颜色显示“放入购物车”按钮,这个按钮可以比页面上信息描述的文字大而突出,比如用红色或黄色等视觉冲击力很强的颜色,以增强用户购物的流畅度。
4.2 用户随时可以将商品“放入购物车”
除了商品详细介绍页面中有“放入购物车”按钮外,在搜索后的显示概要信息页面中也可以加入“放入购物车”按钮。此外,设计购物车页面时可以加入“同类产品推荐”或“浏览过该产品的用户同时还浏览过”等区域,在这些区域中显示商品信息的下面也可以设置“放入购物车”按钮,让用户随时可以将商品放入购物车,增强用户体验,从而增加购买转化率。
4.3 让购物车可编辑
允许用户在购物车页面对所选择的商品的购买信息进行编辑,如数量、颜色、尺寸等规格;当用户决定放弃购买某一件或几件商品时,可以方便地删除这些商品;也允许用户由购物车页面继续去选购商品。这样既方便用户操作,也给用户带来人性化的购物体验。
4.4 适当地放置“购买”按钮
在商品详细信息页面除了“加入购物车”按钮之外,还可以放置一个醒目的“购买”按钮,让用户跳过购物车环节直接进入支付页面。这种设置很适合只需要买一件商品的用户,这样更快捷方便。
对于不喜欢透露个人信息,也不喜欢在购买过程中花费太多时间的用户,可以由购物车到付款环节中设置一个单独的页面,让用户自己选择匿名购买或者注册登录后再购买。这样省去了多次登录的麻烦,让用户购物过程简短畅快。
5 结语
电子商务系统最终的目标是让更多的用户购买更多的商品,而购物车是整个购物过程中至关重要的一个环节,购物车的设计既要方便用户的使用,又要考虑商家的赢利需求,所以要求功能完善,稳定性好,简单易操作,页面美观大方,用户购物过程舒畅,用户体验友好。
参考文献:
[1]蒋秀英。 SQLServer2000 数据库与应用[M]. 北京:清华大学出版社,2006:56-57.
[2]杨碧玲。挑战创新能力,芯邦科技发力电容式触摸按键控制芯片[J].集成电路应用,2012(2):16-17.
[3]柳翔译,嵌入式与实时系统开发[M].西安:机械工业出版社,2005:56-59.
[4]茅健。ASP.NET2. 0+SQL Server 2005 全程指南[M].北京:电子工业出版社,2004:156-159.