当前位置:Linux教程 - Linux - Linux与电子商务

Linux与电子商务



        

    杜军平 庄力可 赵敏哲 涂序彦


    通过使用Linux、开放工具和其他商用组件,可以构建一个可靠的电子商务解决方案。其灵活性可以使我们能更灵活地开展业务和获得更多的商业机会。以前要实现这样的系统,只有具有雄厚的资金、专业人才的大公司才能做到。而现在,Linux通过提供一个几乎不需要任何代价的高质量的开放平台小型公司也可以做到。
    1.基于Linux的电子商务选择
    在比较了几种不同的选择方案后,我们决定选用基于Linux的解决方案。其理由是:
    (1)可以使用不太昂贵的硬件。因此不需要购买额外的硬件,也不需要对现有的硬件进行升级。
    (2)可以对服务器进行远程管理。对于小型的公司来说,使用基于Linux的电子商务解决方案比使用Windows NT还要方便得多。
    (3)Linux使用起来非常可靠,几乎不会出现系统瘫痪的情况。
    (4)所有的基于Linux的开发工具和应用程序都是可以得到的,它们大部分都是开放源代码或携带GPL的程序。
    (5)Linux的开放性为我们提供了非常明显的商业效益。当需要时,我们总能不需要任何代价就能得到对所出现问题的解答。使用Linux,不会因为缺乏信息支持而使得开发速度减慢。
    (6)几乎所有的重要的应用程序在Linux中都可以找到。
    如果我们选择了其他的电子商务解决方案,投资将非常大,而且需要更加昂贵的硬件。
    2. 基于Linux的电子商务组成
    (1)交易服务
    首先要做的是对交易进行认可。通过对已有的电子商务工具进行的详细调查,我们发现电子商务公司提供的服务与商店里的信用卡机提供的服务几乎相同。这意味着所有的订单跟踪、清算功能、统计报告、收款、客户间的交互作用,以及所有的管理功能都需要我们来提供。我们决定选用Cybercash服务,它提供了在Linux支持下的C程序库和Perl模块。Cybercash把这些软件开发工具(SDK)称作商务连接工具。它实质上是一个信用卡交易SDK,它可提供我们所需要的灵活性。使用Cybercash不需要预付任何资金,但是需要付一定的交易费。关于它的更多的信息可参见http://www.cybercash.com/. Cybercash仅仅是SDK,使用它可以创建自己的电子商务应用程序、CGI程序和服务器模块,它是一个非常灵活的工具。
    (2)商业帐户
    我们所需要的第二个组件是选择支持交易服务的商业帐户。为了处理信用卡交易,需要建立一个商业帐户,它可作为银行帐户和客户的信用卡之间的中间物。
    (3)SSL服务器
    我们所需要的第三个组件是SSL(secure sockets layer)服务器,它对web服务器间的流量进行加密。并可以提高在线交易的安全性。我们选择了基于Apache的Raven SSL web 服务器,它可提供非常好的技术服务。
    (4)授权证书
    使用SSL服务器,需要获得来自第三方的授权证书。SSL供货商可提供一个临时的密码,用于测试。证书用来验证你和你的公司的身份。它使用户相信他们确实在与你的公司打交道。授权证书通过邮件的形式将密码发送给你,在进行SSL 服务器设置时,你将使用它。最后我们选择了Thawte授权,因为它不太昂贵。
    (5)数据库
    我们希望使用电子商务不仅能处理一些固定的交易,而且系统能随着需要不断地进行扩展。另外,我们需要跟踪各类商业数据,并且能对数据进行智能化处理。因此,需要一个具有灵活的数据库来存储和组织所有的数据。所选择的数据库应具有速度快、可伸缩性强、可靠性高、易编程的特点。对数据的访问要比较容易,并且投入的资金要少。我们决定使用MySQL(http://www.mysql.com/). 它具有速度快、多线程、灵活性和支持SQL标准的特点。它是对于web 应用的非常流行的数据库,而且具有良好的Perl界面。另外,它具有灵活的许可权。在许多情况下,你可以免费使用它。在它的网址上,有非常活跃的邮件组和大量的信息资源。
    (6)Perl
    如果我们采用C或者C++来构建一个商业级的电子商务解决方案,那么以后对这个方案进行修改时,将有比较大的重新开发工作量。由于担心被锁定在一个不容易改变的方案上,我们决定采用Perl进行开发,它节省了大量的开发时间。使用Perl开发的另一个优势是,其代码能很快和容易地被改变。由于在线的商业活动变化非常快,因此电子商务业务也需要经常改变。
    3.将不同的组件进行组合
    接下来的任务是将所有的组件组合在一起。另外还需要编写两部分代码。第一部分代码处理客户在我们的网站上所下的订单。第二部分是管理界面,它使得我们能做一些维护工作。我们的解决方案如下:
    (1)在服务器上显示表单,它使得用户输入其信用卡信息。它与CGI程序相连接,用来处理大量的信息资源。
    (2)在Perl CGI程序中,验证表格的字段,确认所有的字段中填入的信息都是有意义的。如果出现了错误,通知给用户,并向管理者发出E-mail进行通告。我们需要知道用户使用订单表的情况,通过这种跟踪,显著地提高了订货过程的质量。
    (3)如果表单中没有错误,将Cybercash交易包中的相关字段用用户信息进行替代,并将其传送给Cybercash Perl模块,然后提交给Cybercash服务器。
    (4)注意观看从Cybercash传送回来的反馈信息。许多字段的信息将会被传回,但是其中最重要的信息是交易状态和AVS(地址验证服务)代码。
    (5)如果交易没有被授权,在数据库中保存一个错误标志,通知用户,并向管理者发送E-mail信息。
    (6)如果交易被授权,需查看代码,这是一个简单的检测手段,用来减少欺诈性交易。
    (7)通过E-mail向客户发出致谢信息,将交易信息存入数据库中供以后参阅。向管理者发出E-mail,告之交易被授权。
    管理界面使得我们能对电话订货、邮件订货和传真订货进行手工录入。它还使我们能对个别记录进行编辑,检查所有的交易和出错信息等。使用这个界面可每天手工检查每一项交易,以发现其中是否有欺诈交易。交易被授权后,直到我们再次检查后,才能被自动执行。使整个交易过程完全自动化、不需要人工介入也是可能的,但是为安全起见,我们还是希望在交易被执行前,再次对其进行查看。
    4. 结论
    在可靠的Linux平台上,使用灵活的工具构造我们的电子商务解决方案。这个尝试意味着我们可以比较容易地改变电子商务系统,并对各种不同的商务方法进行试验,以提高商业活动的效率。选择基于Linux的电子商务解决方案给我们的业务带来了极大的好处,它使得我们能根据不断变化的商业模式做出迅速、灵活和有效地反应,不断地调整我们的经营策略,以获取更大的商业效益。


    发布人:netbull 来自:Linux世界杂志