电子商务系统的建设方式及技术选择

1.1.1 电子商务系统的建设方式
电子商务系统的建设方式目前基本上有三类,第一种方式是整个系统由企业自己建设;第二种方式是委托专业的IT企业实施系统的集成和开发;第三种方式是企业和IT公司合作建设。
    由于电子商务的核心是企业商务活动,所以,能否正确地理解企业的核心商务逻辑对于实现企业的商务系统至关重要。相对来讲,企业的经营管理人员对业务需求最了解,所以如果企业自身具备开发电子商务系统的能力,那么由企业自己开发其商务系统比较好。
    委托建设方式是指将电子商务系统的应用开发和系统集成委托给专业性的IT企业,这也是一种见效比较快的方式。目前,在Internet上提供服务的IT企业,除了Internet(接入)服务供应商ISP(Internet Service Provider)、Internet内容供应商ICP(Internet Content Provider)以外,还有一类就是所谓的Internet应用供应商ASP(Application Software Provider),ASP专门提供电子商务系统开发与集成服务。
    无论是企业独立开发还是由ASP负责企业商务系统的开发集成,这两种方式都需要大量的资金投入,而且存在系统投产后的维护问题。如果企业在这些方面有困难的话,目前还有一种方式也逐渐流行起来,这就是传统的企业和ASP或者电子商务技术提供商之间合作开发企业电子商务系统。通常采取这种方式时,ASP无偿地提供技术产品和应用开发,而企业以电子商务经营中的部分利润作为回报。这种模式可能导致IT公司和传统企业之间的联营。例如,HP公司设计的所谓“车库计划”,就是这种方式的一个实例。还有,IBM公司和柯达公司的合作也是这种方式的一个特例。
   
以上三种方式各自有特点,比如第一种方案,企业能够获得电子商务系统的所有知识产权,在调整电子商务系统的结构、维护等方面有很多方便,但是对企业的技术素质要求很高。第二种方式,虽然对企业的技术力量没有很高的要求,但是在系统的后期维护方面,企业需要付出很多精力。第三种方式,企业虽然不需要过多的初期资金投入,但需要和ASP分享系统运行后的收益。所以,无法评价哪一种是最佳的选择。具体哪一种方案是企业建设电子商务系统时的最佳选择,需要企业根据自身的情况进行充分地比选。
由于电子商务系统的构造技术涉及内容广泛,可选择的产品也各具特色,所以在实现 电子商务系统的过程中,如何选择合适的产品或技术是一个比较复杂的问题。
1.1.2.1 选择技术产品的主要依据
从目前的发展看,无论是传统的IT巨人如IBM、HP、SUN、ORACLE,还是伴随电子商务飞速发展而诞生的新兴企业,如Ariba、BEA、Intervowen等,在电子商务系统的构造技术、产品方面均提出了很多不同方案。企业选择这些技术产品的基本依据首先是考察这些产品能否满足需要。除了这条最基本的原则外,还有一些因素会对整个系统产生全局性的影响,甚至制约系统未来的发展,所以是必须考虑的。这些需要遵循的依据包括:
1.符合各种主流的技术标准
候选产品是否符合各种主流的技术标准是最重要的一条评判依据。电子商务系统的很多技术领域已经制定了某些标准,例如TCP/IP协议。还有些领域尽管没有统一的标准,但是存在事实性的工业标准,例如CORBA、COM等。如果候选的技术是符合这些标准的,那么所构造的电子商务系统就容易得到技术支持,而且其扩充性将会比较好。
    2.符合企业信息化的整体技术战略
    某些情况下,企业为了提高生产和管理的需要,已经制定或者建立了信息技术政策,或者已经开发了相关的信息系统。在这种情况下,选择技术产品时,就需要考虑到未来的电子商务系统是否符合企业的整体技术战略。一般来讲,企业支持不同的平台、不同的应用系统比单纯支持一个平台要更多地在系统的移植、技术人员培训、系统维护方面付出。例如,企业在制定整体技术策略时,已经选定以UNIX系统作为企业信息系统的主要操作系统环境,那么在建设电子商务系统时是否采用Windows平台,就需要充分考虑企业在这一系统上的支持能力、维护成本等方面的开销。
    3.符合未来技术的发展方向
由于电子商务技术发展得很快,可能出现标准制定滞后于技术更新的情况,这可能导致选择产品时无标准可依据。这时,需要考虑候选技术产品是否符合未来技术的发展方向。例如,考察一个产品是否易于集成、是否具有可重用的特征时,尽管没有标准,但是可能会发现至少J2EE、CORBA和COM是比较流行的,被公认为未来产品发展的方向,这样可以采取的策略就是尽可能地选择主流的、有代表性的产品,以保证系统是有生命力的。
    4.满足开放、可扩充的要求
    满足开放性的要求,不仅意味着电子商务系统可以独立于硬件、操作系统,系统开发建设中能够获得更多的技术支持,容易升级,而且开放的系统结构可以和企业已有的信息资源集成。
    产品的可扩充性好,则意味着一旦我们的需求发生变化,系统能够尽快的得到扩充,原有的投入得到有效的保护,从而在整体上得到良好的投入产出效益。例如,我们在选择 Web服务器时,如果候选的产品支持服务器集群,那么当计算机的处理能力不能满足业务增长的要求时,就可以仅仅扩充硬件资源,而不必重新开发Web上的应用程序,这样可以减少应用升级的开销。
    5.与现行的应用具有良好的兼容性
    兼容现行的应用表明电子商务系统可以有效地利用已有的信息资源,节约投资,实现信息的增值。    、
    例如,企业内部通过Lotus Notes建立了工作流(Work Flows)系统,而在实现电子商务系统的过程中,需要将原有的基于工作流的应用扩充到Web平台上,如果候选平台和已有系统兼容并且能够共享数据,这就可以减少数据转换方面的开销。
    6. 具有成功的应用实例
    一般来讲,优秀的产品或者技术应用得更加广泛。所以在选择技术产品的过程中,应当尽可能地考察这一产品在相关的领域中的应用效果,通过考察候选技术产品的市场占有率、是否存在成功的案例为评价产品的先进性提供重要的参考依据。
所以,以上的一些原则可以作为选择电子商务系统构造技术或者产品的基本依据。在选择过程中(参见图1-1),将上述的一些依据作为一种过滤器,通过多层次的比较,可以得出综合效果比较满意的结果。
             
 
图12-1 产品/技术的选择
1.1.2.2 各个层次的主要技术标准
    前面谈到了判断候选的技术产品是否满足标准或者事实上的工业标准,这是选择产品的一个主要依据。以下阐述构造电子商务系统时,在不同层次上应当遵循的主要技术标准或规范。
    电子商务相关的标准或者规范基本上可分成两大类,一类针对商务活动,另外一类针对支持商务活动的技术环境。
    1.商务标准及规范
    该部分主要涉及商务活动中的单据票证、数据自动识别、交易及支付、贸易数据安全等方面。目前这方面的技术规范体系不很完整,已有的一些标准规范主要包括:
   
(1)国际数字保证商务总则(GUIDEC:General Usage for International Digitally Ensured Commerce) 。该标准于1997年由国际商会在法国举行的世界电子商务会议上确定。其主要内容包括电子商务在全球范围内统一实施的规则和框架。
    (2)EDI标准UN/EDIFACT
    1987年,联合国公布了EDI运作标准UN/EDIFACT(United Nations Rules for Electronic Data Interchange for Administration,Commerce and Transport),并且每年进行修订。1990年3月正式推出UN/EDIFACT标准,并被国际标准化组织正式接受为国际标准IS09735。
    UN/EDIFACT实际上定义了传统EDI中关于国际贸易或者无纸贸易的有关标准。虽然这种方式有一定的局限性,但是该标准关于交易过程、电子数据交换的格式等方面的阐述对电子交易过程的标准化有很多借鉴意义。
    (3)Internet开放贸易标准协议IOTP
    1998年Internet协会成立了专门进行电子商务标准化的研究小组,并且给出了相关的 Internet开放贸易标准协议IOTP(Internet Open Trading Protocol)的建议标准。该建议的主要贡献之一是提出了Internet商务的互操作框架。此外,该组织还提出了其他一些准则,其中有影响的包括:
●          IOTP的HTPP补充部分
●          IOTP的数字签名补充部分
    (4)联机交易及在线支付方面的标准
    这一领域的标准,主要针对联机交易过程的安全、交易过程的不可抵赖性、数据的不可窃取及数据加密等方面。目前主要的标准规范有:
●          安全超文本传输协议(S-HTTP):依靠密钥对的加密,保障Web站点间的交易信息传输的安全性。
●          安全套接层协议(SSL):由Netscape公司提出的安全交易协议,提供加密、认证服务和报文的完整性。SSL被用于Netscape Communicator和Microsoft IE浏览器,以完成需要的安全交易操作。
●          安全交易技术协议(STT,Secure Transaction Technology):由Microsoft公司提出,STT将认证和解密在浏览器中分离开,用以提高安全控制能力。Microsoft在Internet Explorer中采用这一技术。
●         安全电子交易协议(SET,Secure Electronic Transaction)
    1996年6月,由IBM、Master Card International、Visa International、Microsoft、Netscape、 GTE、VeriSign、SAIC、Terisa就共同制定的标准SET发布公告,并于1997年5月底发布了SET Specification Version l.0,它涵盖了信用卡在电子商务交易中的交易协定、信息保密、资料完整及数据认证、数据签名等。SET 2.0中增加了——些附加的交易要求。SET规范明确的主要目标是保障付款安全,确定应用之互通性,并使全球市场接受。
    (5)电子支付的有关标准
    电子支付标准主要定义的是支付手段和方式。主要的一些标准包括:
●          联合电子支付(JEPI)
    JEPI(Joint Electronic Payment Interface)的主要定义支付过程中支付方式的选择、自动支付的接口。JEPI的目标是为不同的支付协议,提供公共的支付平台。
●          金融业务标记语言(FSML)
    FSML目前主要定义的是电子支票的有关规范。该标准为美国财政部采用。FSML是标准通用标记语言SGML(Standard General Markup Language)中的一个子集。
    (6)数据自动识别技术标准
    该部分的标准主要用于商业数据的自动识别方面,其中比较典型的代表是条形码技术标准,例如二维条形码的PDF标准等。
    2.技术标准及规范
    技术标准比商务标准制定得早,相对比较完整,大部分内容得到广泛的认可,并融入技术产品当中。这些技术标准主要分成以下几个层次:
    (1)网络技术标准
    计算机网络和数据通信方面技术标准最完整,对应于电子商务体系结构中的“基础支持层”。可以分成以下几个层次:
●          计算机网络体系结构标准(如ISOOSI/RM,TCP/IP协议族)。
●          网络体系结构中各个层次的协议标准(例如物理层当中的RS232、数据链路层中的HDLC等)。
●          各种数据通信网的协议,例如公共分组交换网PSDN当中的X.25协议标准等。
    (2)计算机系统及设备标准
    主要包括计算机主机系统、多媒体设备、计算机系统的外部环境、系统管理、接口等方面的标准。
    (3)信息安全标准
    信息安全标准包括传统的密码学中有关规范和计算机数据安全的一些标准。例如DES、 RSA、PKI、PGP等。
    (4)应用软件及开发标准
    该部分主要用以规范用户界面(例如OSF的GDE)、图形图像(例如GIF、JPG)、操作系统服务、数据管理、国际化/本地化等方面。例如X.Open组织的CDE(Common Desktop  Environment)等。 
1.2 电子商务系统的实现过程
电子商务系统的实现过程如图1-2所示。
1.2.1应用表达层的实现
该层最终由多种客户端构成,其硬件设备主要是各种客户端应用程序运行的终端设备,例如计算机、移动通信设备等。
    客户端的应用程序分成两大类,最常见的是通用的浏览器,也就是通常说的瘦客户机。此外客户端也可以是一些专用的应用程序,以支持专门的应用。
    构造电子商务系统的客户端的关键是要确定客户端的类型并选择合适的设备,使客户端和电子商务系统的服务器之间具有良好的接口。
    1.2.2 商务逻辑层的实现
    商务逻辑层是电子商务系统的核心,也是系统建造过程中的难点和重点。商务逻辑层包括商务应用(程序)、支持平台(包括商务服务层、商务支持层和基础支持层三部分)。
 
图1-2  电子商务系统的实现过程示意图
    支持平台向上层(商务应用)提供的服务主要包括:表达、商务支持、运行支持、开发和集成服务。构成支持平台的技术产品至少应当包括:
●          Web服务器
●          商务支持软件
●          集成与开发工具
●          计算机主机
●          网络
●          其他系统软件(如操作系统、管理工具软件等)
    通常以上内容中,Web服务器、商务支持软件、部分集成开发工具被集中在一个称之为“应用服务器”(在本章的后续章节中专门介绍)的软件包中,所以商务逻辑层在物理上可以简化为以下三个部分:
●          应用软件(实现商务逻辑)
●          应用服务器(为应用软件提供软件支持平台)和其他支持软件
●          计算机主机及网络(为应用软件提供硬件支持平台)
    构造商务逻辑层的任务基本上可以归纳为两部分:选择合适的应用服务器及其他支持软件,开发实现商务逻辑的应用软件系统。
    1.2.3 数据层的实现
    构造数据层的关键是开发电子商务系统与外部系统、内部信息资源的接口,完成系统集成。
    数据层的数据源主要包括以下几部分:
●          系统既有信息系统(如ERP系统等)的数据和企业的数据库;
●          企业与协作伙伴(例如供应商等)之间交换的数据:
●          企业与银行之间交换的数据;
●          企业与认证中心之间的认证数据:
●          企业与其他商务中介交换的电子数据。
    由于企业商务逻辑的处理过程是一个从市场、销售、采购到客户服务的整体,所以必须将商务逻辑处理过程所涉及到的数据集成在一起,因此构造数据层的任务是:
●          实现电子商务系统与企业内部和外部信息系统之间的网络互联,并确保安全的网络环境。
●          基于应用服务器平台的商务应用系统与企业内部数据的共享。
    通过以上的分析,可以将电子商务系统的实现过程的关键分为:
    (1)技术支持平台的选择与构造
    (2)应用系统的开发
    (3)网络系统集成
    (4)数据共享及应用的互操作
    (5)实施过程的合理组织
 
1.3 客户端的实现方式
  客户端(Client)是电子商务系统的最终用户接口。它包括两层含义,首先指的是客户端的应用程序(例如浏览器):其次,这一概念也指运行客户端应用程序的具体硬件设备(例如PC机、PDA设备等)。
    1.3.1 客户端的分类
      从设备角度,可以将客户端分成普通计算机(包括PC、工作站等)、移动终端(如手机、PDA、寻呼机等)、其他信息终端(例如通过无线或有线方式与电子商务系统连接的家用电器、ATM取款机等)。   从逻辑结构角度,可以将客户端分成基于浏览器的瘦客户端(Thin Client)、有数据处理功能的传统客户端(即所谓的胖客户端:Fat Client)。     从应用角度可以将客户端分为通用的客户端(例如Netscape公司的Navigator、Microsoft公司的IE)、专用的客户端(例如PointCast(http://www.pointcast.com)公司的专门服务于接收信息广播的程序BroadCast,从网络上接受数字语音的RealPlayer等)。
    1.3.2客户端的特点
●          通过Internet可以和电子商务系统连接,并进行交互。
●          一般具有图形用户界面GUI(Graphic User Interface),如果无GUI界面,那么需要具有易于非专业用户使用的特征。
●          客户端一般需要支持电子商务系统表示层的各种格式化数据表达标准,例如HTML、XML、WML等。
●          如果客户端是专用的,那么其一般支持HTML/WML的子集或者Java标准。
    1.3.3 客户端设备及要求
      客户端设备在技术上,应当满足以下要求:
●          支持标准协议(HTML、WML、XML),最好具备GUI界面。
●          能够从网络上下载插件(例如Browser中的Plug-ins)。
●          支持联机诊断或者在线升级(Online Update)。
    1.3.4 客户端的选择
      客户端尽管不是电子商务系统最关键的部分,而且通常由客户自己选择,但它直接影响系统服务能否真实地再现,因此电子商务系统的建造者应当给客户提供如何应用的建议。
  一般来讲,选择客户端时,应当注意以下问题:
    (1)尽可能地选择通用浏览器作为商务逻辑表达的客户端,以减少维护及升级的开销,并保证系统支持尽可能多的用户。
    (2)在使用专门的客户端应用软件时,也尽量遵循以下原则:
●          将专用的客户端应用设计成可以嵌入到通用浏览器中的插件(Plug-ins),这样能够保证应用得到最广泛的支持。例如,Adobe(http://www.adobe.com)的Acrobat Reader,Microsoft的Word等就能够作为插件在浏览器中使用,使用户在浏览器中阅读Word格式或者PDF格式的文件。
●          如果专用客户端应用无法作为浏览器插件,那么应当尽量使客户能够通过Internet完成在线下载和升级。例如著名的防病毒程序Norton Antivirus就是一个典型例子。
1.4 商务表达平台的实现
1.4.1 商务表达层的主要标准
商务表达层支持的标准主要是有关数据表达方式和形式的标准,主要包括:
●          超文本传输协议:HTTP
●          动态超文本传输协议:DHTML
●          无线应用协议:WAP
●          扩展超文本协议:XML
●          多媒体函件类型扩展协议:MIME(Multimedia Internet Mail Extension)
●          其他的一些数据表达协议,例如FSML、DOM、CSS等。
1.4.2 商务表达层的实现
商务表达层目前主要可以通过以下三种方式实现(参见图1-3)。
(1)利用Web,支持以HTML为主的表达形式
    这种方式是使用比较多的一种方案。它的特点是:
●          结构简单。只需要以Web服务器为基础,不需要额外的配置或产品支持,容易实现。
●          只能够支持HTML或XML的客户端,不直接支持符合WML标准的移动设备。应用范围稍窄。
    (2)在Web基础上增加表达工具,扩展Web的既有表达功能
    这种方式是在第一种方式的基础上,增加支持多种客户终端的软件、硬件,使Web服务器不仅支持HTML,还支持其他数据表达方式,从而扩充了Web的功能。
这种方式的好处在于可以有针对性地扩充Web的功能,使商务处理结果能够利用多种渠道由多种客户端表达。但是由于需要在Web上增加独立的产品,所以增加了系统集成的难度。
目前,很多产品可以通过这种方式扩展Web的功能,例如专门在无线信息服务领域拓展的Vignette(http://www.vignette.com)公司的V/5Deployment Server就是这样一种有特色的产品。MediaBridge(http://www.mediabridge.net)公司的smartmedia.server除了支持WML外,还可以通过有线电视(CATV)实现数据的发布。
                                           
图1-3  客户端及表达层实现方式示意图
    (3)利用应用服务器的数据发布功能
    由于应用服务器将数据表达层的功能和Web服务器紧密地结合在一起,所以可直接利用应用服务器来完成表达层的功能。
    一般的,目前的应用服务器逐步走向支持多种客户端设备(如计算机、PDA、移动通信设备)和多种协议标准(如HTML、WML和XML)。例如,Oracle公司的iExchange、 Microsoft的SiteSuite、SUN和AOL联盟的i-Planet NAS等。
    采用应用服务器来实现应用表达层的功能,好处在于集成难度小,表达部分和应用程序之间的接口比较容易实现。但是,由于目前各个IT厂商提供的应用服务器功能差异比较大,有些产品在表达层上有不足之处,但在其他方面可能功能比较强;有的则可能在表达层次上实现得很好,但是在商务服务层次则有缺点。所以开发者需要在这些方面进行取舍和选择。
 
1.5 商务支持平台与应用服务器
应用服务器是一个软件包,它将一些通用的、与商务应用无关的软件集成为一个整体。由于应用服务器预装(pre-install)了部分功能,并提供了一些开发工具,所以在其基础上开发应用软件,能够简化用户的接口,减少开发的难度。
从电子商务系统的体系结构上看,应用服务器是商务支持层、商务服务层和基础服务层的某些功能的一个集合。
1.5.1 应用服务器基本结构
    从本质上讲,应用服务器仍然是支持商务应用的一个运行、支持和开发环境,它为商务系统的核心——应用软件提供服务。
    应用服务器为应用软件提供的服务主要包括:首先是预安装的部分商务功能(例如搜索引擎Search Engine、内容管理Content Manage),减少了应用开发工作量。其次是系统管理部分,可提高系统的效率。还有就是提供集成与开发工具,便于与其他系统进行集成。
应用服务器的基本结构如图1-4所示。
 
图12-4 Web服务器与应用服务器
    目前应用服务器的内容主要包括两部分:一部分是增强型的Web服务器,另外一部分是专门为应用提供服务的部分。这两个部分在某些产品中是合并在一起提供的,例如IBM Websphere、BEA的Weblogic。也有些公司将这两部分作为两个独立的产品分开提供,例如 iPlanet。
    1.增强型Web服务器
    应用服务器软件包中的WebServer尽管也以HTTPD为核心,但增强了很多功能,主要包括:
●          静态Web页面(包括HTML和DHTML)发布
●          动态页面脚本(如JSP、ASP、Servlet和Java Applet等)
●          用户自定义的MIME类型信息的发布
●          Java虚拟机(JVM)
●          传统的HTTPD服务
●          服务器管理功能(例如页面访问控制、Web访问统计、Web服务器配置等)
●          Web开发接口(例如NSAPI、ISAPI等)
    2.应用服务器(Application Server)
    从逻辑角度看,应用服务器与Web服务器相互配合共同完成商务逻辑。Web服务器向应用服务器提供用户的请求,并表达处理的结果。而应用服务器及其上层的应用负责完成商务逻辑的处理,并反馈处理的结果。
    应用服务器和Web服务器有很大的差别,体现在:
    (1)Web服务器只能将应用程序处理结果以HTML页面的形式发布给用户。例如,如果应用程序需要和IBM的MainFrame(如3270)交互,从IBM3270这样的专用系统中提取数据,那么Web服务器是无能为力的,而应用服务器则可能提供与IBM大型机的中间件接口,使应用程序可以很容易地存取数据。
    (2)应用服务器可为企业级应用提供一种可靠的、高性能的运行环境,而Web服务器是无法做到这一点的。
    (3)应用服务器可以提供很多预先安装的(或者预置)服务,例如搜索引擎、内容管理等,这样开发人员实现这些功能时,不再需要额外地开发,可以直接通过系统调用实现,这样开发的工作量能够减少。
    (4)由于很多应用服务器预先配置和快速构造商务模型的组件,企业可以迅速地建立商务逻辑。例如一个从事B2B的企业试图建立虚拟电子市场,假如以Oracle的iExchange为平台,企业仅需要通过定义角色,不再投入很多开发力量编写复杂的应用程序,仅需要在此平台上定义相关规则,就可以快速地建立起一个电子交易市场。
1.5.2 应用服务器功能
    目前应用服务器的版本很多,其功能差异也较大,可以提供的服务主要包括:
    1.高性能的应用程序运行环境
    (1)内容缓存(Content Cache)
    当用户访问Web服务器,存取HTML页面时,一般Web服务器需要从硬盘上读取HTML文件,然后传输给用户。每次用户访问,Web服务器都重复相同的处理过程。
    内容缓存则将用户经常访问的HTML页面或者Web处理结果存储在服务器的内存当中,在用户请求某一服务时,服务器首先从内存中检索是否有相应的结果,如果存在,则不必重新处理,而直接将结果返给用户。由于内存的存取速度远比硬盘的存取速度快,所以服务器如果支持内容缓存功能,那么系统的响应时间可以缩短。
    (2)数据库连接缓存(Connection Pool)
    通常用户通过Web服务器访问数据库时,Web上的应用程序和数据库服务器之间需要首先建立连接,然后才能存取数据,在处理结束后,这种连接被关闭。每次用户访问都需要重复这样的步骤。由于数据库连接过程比较消耗系统资源,而且时间开销也比较大,尤其是利用公共网关接口CGI(Common Gateway Interface)进行连接时,效率尤其低,通常情况下连接过程对系统响应时间的影响是很大的。
    数据库连接缓存是指在Web服务器和数据库服务器之间建立经常性的连接,当用户需要访问数据库时,直接利用这些已经存在的连接,操作结束后,连接仍然保持而不被关闭,这样一来,用户访问数据库的步骤被简化,进而提升系统的效率。
    (3)支持进程的多线程(multi-thread)执行:该功能是将一个进程分解成为多个可以独立的线程并行运行,提高应用程序的运行效率,缩短运行时间。
    (4)大量用户访问情况下的负载均衡:该功能根据用户访问量及服务器的处理能力,动态调整每个服务器的负载,使服务器的处理能力和负载之间保持平衡,提高系统的可靠性和整个系统的性能。
    (5)支持分布式联机事务处理(OLTP)
    2.为应用提供扩充性(scalability
    由于电子商务系统在规划设计阶段难以精确预测未来服务的客户数量,而且预测其客户增长的速度也比较难,所以,电子商务应用系统应当具备良好的可扩展性能。应用服务器主要通过三种方式提高系统可扩充性,首先是利用服务器集群(详见第6章)技术,将系统压力分摊在集群服务器中的各个设备上去。其次,应用服务器大多支持多CPU系统,从而在系统访问压力增加时,通过增加服务器CPU来提高系统的处理能力。第三,一些优秀的应用服务器还提供应用的动态负荷均衡(Load Balancing),使服务器的性能和访问压力之间得到匹配。
    3.会话管理(Session Management
    用户一般通过和电子商务系统进行对话来完成商务活动。以一次网络购物过程为例,用户经常要经过多次挑选才能够确定购物清单,每次挑选货物并将其放入购物车的过程就是一次会话过程。如果计算机系统无法记录用户的购物清单的话,那么必须要求用户一边在线挑选,一边用纸笔记录,否则在付款时可能发现难以回忆起整个购物过程中都买了些什么商品,这是一件时常发生但又令人尴尬的事情。
    会话管理的作用是记录和管理客户的每次人机会话过程。应用服务器如果支持会话管理功能,那么如果用户重复上述的购物过程,付款时,电子商务系统会自动地提供其购买清单。因此,如果一次商务活动必须经过多个复杂的步骤才能完成,会话管理是非常重要的。
    4.支持多种应用编程模式
    在应用服务器的基础上开发应用程序,除了可以使用多种语言外,也可以采取多种编写程序的方式。具体来讲包括以下的内容:
    (1)应用表达:JSP、Servlet、JAVA应用
    (2)商务逻辑:Java Beans、EJB等
    (3)数据库存取:JDBC、ODBC等
    (4)应用集成:XML、CORBA等
    5.目录及内容管理
    应用服务器——般提供目录管理和内容管理工具。利用这些工具可以完成用户访问内容的控制、分层数据组织、目录更新及控制等服务。
    6.商务引擎
    商务引擎主要是为商务系统提供业务支持,它所提供的服务主要包括:个性化服务(例如BEA的WebLogic Personal Server)、客户关系管理CRM(例如BroadVision、Oracle公司的产品)、供应链管理、电子交易市场(如Oracle iExchange)等。但是不同的应用服务器产品在这一方面的差异很大。
    7.系统管理
    目前应用服务器都提供系统管理工具,具体功能包括:
    (1)性能配置管理
    性能管理主要围绕为商务应用配置合适的系统资源。例如对服务进程数的调整、结果缓存(result cache)大小的调整等。
    (2)存取控制管理
    存取控制管理也可以称为访问控制(Access Control),其目的是对系统资源的访问权限进行限制,保护特定内容的安全。例如控制只有特定权限的用户才能访问系统当中的某些应用或者页面等。
    (3)系统日志管理
    这一功能对系统访问、应用运行、存取失败等情况进行记录,从而为系统的故障诊断、分析和性能优化提供依据。
1.5.3 主流应用服务器产品
应用服务器产品很多,但是流行的应用服务器主要包括:BEA公司的WebLogic产品家族、IBM的Webshpere、AOL和SUN联盟的iPlanet、Microsoft的IIS及SiteSuite。这些产品的基本特点如表12-1所示:
 
表12-1                                                   主流应用服务器产品的比较
    产品名称                                                   支 持                                           服 务
BEA WebLogic Server                           HTTP,HTML,XML,WML           静态页间
JSP,SEVELET                                                        动态页面
SSL,X.509,ACL                                       安全
J2EE,
EJB                                                                                               Java2 Enterprise Edition
CORBA,                                                                            Enterprise Java Bean
TUXED/JOLT                                                              组件标准
RMI                                                                                               事务处理
JMS                                                                                              远程方法调用
BEA WebLogicPersonalServer Personalized Service                            基于Java的可靠消息规则
          内容管理
BEA WebLogicCommerceServer Busiffess Service                                  用户和组管理
Collaboration Server                                                          (含Session Management,            Web页面管理
Production Management,             会话管理、客户管理、
CRM)                                                                                          购物指导,赠品管理、
           定单管理、产品管理、
           库存管理、发票管理、
           配送系统管理和客户服务
IBM Websphere Standard,    HTTP,HTML,XML,WML             静态页面
WebSphere Advanced Server   JSP,Servelet                                 动态页面
WebsphereEnterpriseServer   HTTPS,SSL,X.509,ACL 安全
J2EE                                                              Java2 Enterprise Edition
EJB                                                                 Enterprise Java Bean
CORBA                                                   组件标准
XA                                                        事务处理
MQSeries                                                                          传输中间件
SUN和Netscape联盟的i-Planet HTTP,HTML,XML,WML                      静态页面
                                                                           JSP,Servlet                                                                        动态页面
                                                                           SSL, X.509, ACL                                                安全
                                                                           J2EE,                                                                                     Java2 Enterprise Edition
                                                                           EJB                                                                                                          Enterprise Java Bean
 NetscapeApp Server                              应用集成
 CORBA                                                                             组件标准
Netscape App. Server                                                                                                                                                                                   应用集成
 (NetDynamic)
Calendar Server                                                                                                                                                                                                      消息处理
Directory Server                                       LDAP                                                                                                                目录管理/内容管理
TradingXpert & ECXpert                                                                                                                                                                       销售、采购、库存、市场等
           商务活动支持、
Microsoft Internet                                     HTTP,HTML,XML,WML
Information Server(IIS)   
SiteSuite                                                 SSL,X.509,ACL
ASP                                                                                            Active Server Page
COM                                                        Microsoft 组件模型
ISAPI                                                                                     服务器开发接口
1.6 基础支持平台的实现
    基础支持层提供电子商务系统的运行环境、集成接口和开发环境。构造基础支持平台主要涉及到计算机网络环境、计算机系统、系统集成及开发方面的有关标准以及产品的选择。
1.6.1 网络环境的构建
    电子商务系统的网络环境可以分成Internet、Intranet和Extranet三个组成部分。其基本的逻辑结构如图1-5所示。
    一个良好的电子商务系统的网络环境应当满足以下要求:
●          支持网络的互联和应用的互操作
●          能够隔离和控制不同用户对系统的访问,保证网络设备的安全
●          网络环境是可以管理的
    电子商务系统的网络环境的每个部分都有不同的要求,以下进行说明。
    1Internet部分
    Internet部分是企业电子商务系统的用户访问接口,是企业与客户之间相互交流的通道。建设电子商务系统Internet部分的目的主要是实现企业Intranet和Internet之间的互联,它的主要内容包括两部分接口方式、接口规格的设计以及相互连接。
    电子商务系统与Internet的互联方式很多。目前常见的方式是通过公共电话网、数字数据网DDN(例如ChinaDDN)、分组交换网PSDN(如ChinaPAC)等方式将企业电子商务系统接入Internet。
    2.电子商务系统的局域网部分
    电子商务系统Web服务器、应用服务器等一般运行于局域网上(参考图1-5、图1-6)。该局域网一般需要满足以下要求:
(1)由于用户通过Internet访问服务器时,要求比较高的响应速度,因此,需要在局域网上配置高性能的服务器,而且要求网络具备较高的带宽,并且该局域网一般利用LAN Switch构造。图1-6所示的就是这种交换式的局域网。
 
图12-5 电子商务系统网络结构示意图
图1—6  一个电子商务系统LAN配置示意图
    (2)电子商务系统的局域网必须具备隔离措施,提供可靠的和安全的网络环境。
电子商务系统的局域网不仅和Internet互联,而且基本上还需要和企业的内部网络连接。这种情况下,LAN上的主机设备、应用系统和企业内部信息系统在理论上都存在被非法用户入侵的可能。如果商务应用系统一旦遭到恶意攻击,那么企业的商务活动就可能受到影响,所以强化网络的安全是非常必要的。一般可以采取以下的一些措施减少系统遭受破坏的可能:
●          设置防火墙(Firewall),将网络隔离成敏感程度不同的区域
    将企业的电子商务系统LAN和Internet、LAN和企业内部网络之间划分为两个信任程度不同的区域。可以设置两道防火墙,分别隔离电子商务系统与Internet、电子商务系统与企业内部信息系统,允许Internet用户访问LAN上的应用系统,只允许得到授权的内部用户访问企业内部的信息资源。
    值得指出的是:防火墙基本上都是通过对IP报文进行地址过滤,实现授权访问,但是防火墙设置的层次越多,系统响应时间就越会延迟。因此,当设置防火墙时,究竟划分多少个不同信任等级的区域,需要充分考虑这一点。
●          将网络划分为信任等级不同的网段,通过路由设备隔离
    根据LAN上各类设备的服务对象不同,可以将这些设备分别设置在不同的IP网段。在不同网段之间设置路由设备,可以隔离不同安全级别的主机。例如Web服务器主要由用户访问,应用服务器、数据库服务器则主要由系统用户来访问,于是,可以将必须直接面对用户的设备作为一个网段,而将其他的设备配置在其他的网段。
    3IntranetExtranet
    从电子商务系统体系结构来看,Intranet建设所包含的主要任务是完成内部信息系统和电子商务系统的互联问题,而Extranet建设所要完成的任务则主要是电子商务系统如何和外部信息系统(例如银行、CA等)的互联问题。
    从技术角度看,Intranet和Extranet建设涉及的主要是互联问题,这种互联是在两个层次上实现的。
    (1)低层互联
    低层互联是指企业内部信息系统或者外部信息系统与电子商务系统之间通信子网的连通。
    Extranet的通信子网是一个VPN(Virtual Private Network),可以在多种数据通信网(如 DDN、PSDN、PSTN、F.R等)的基础上构造。
    (2)高层互联
    高层互联是指Intranet或Extranet上的应用程序和电子商务系统的应用程序之间能够相互通信,交换数据。其目标是解决应用的互操作及数据共享问题。
    对Extranet而言,高层互联至少需要解决三个方面的问题:
●          银行支付网关(Payment Gateway)接口。利用该支付网关接口,电子商务系统完成在线支付请求。
●          认证中心(CA)接口。利用该接口,电子商务系统与认证中心间完成电子证书及认证结果的传递。
●          企业合作伙伴的接口。该接口主要实现电子商务系统的应用程序和企业重要客户 (VIP)、企业供货商等的电子数据交换。传统的EDI部分也属于这样一类接口。
    从实施的角度看,电子商务系统的网络环境除了由用户自己独立建造外,还可以采取以下方式实现:
    (1)主机托管:这是企业电子商务环境外包建设的最原始的形式。其主要特征是:电子商务系统的拥有者将主机系统安装在数据通信网络运营商提供的环境中,由网络运营商提供高速网络及维护接口,并由其负责进行硬件维护。
    (2)利用Internet数据中心IDC(Intelligent Data Center)建立电子商务系统的网络环境。数据中心将宽带网络、高性能设备及系统运行管理软件等集成在一起,为电子商务系统经营者提供一揽子服务。
1.6.2 服务器主机及操作系统选择
1服务器选择
    电子商务系统的服务器主机是应用系统运行的主要环境。对电子商务系统而言,它所面临的是用户对系统响应时间的苛刻要求、动态变化和难以预估的未来负荷、未知的升级周期等特殊的问题。所以在选择服务器的主机时,除了遵循高性能、网络吞吐量大、可靠性和可用性好这样一些基本原则外,还应当注意以下问题:
    (1)可靠性高、安全性好
    电子商务系统所支持的企业商务活动要求7×24小时不间断地工作,而且系统处理的数据很多是企业敏感的商务数据。为此,电子商务系统的服务器必须具备非常良好的安全性。所以,应当注意服务器是否支持诸如自动系统恢复(auto recover)、动态系统重新配置(dynamic  re-configuration)、模块化结构、冗余或可热更换关键部件、在线升级等特性。
    (2)可扩展性
    当系统的负荷增大到一定程度时,需要对系统进行扩展。系统扩展方式主要有两种:一种是增加系统的配置,例如增加内存、更换CPU、增加系统外部存储设备等。另外一种是通过增加服务器,建立服务器集群来满足需求增长的要求。不管是哪种方式都要求系统具有可扩展的体系结构(例如冗余插槽、托架、电源等)。
    (3)网络吞吐量及网络接口能力
    服务器的计算能力和网络吞吐量不一定呈线性关系,例如应用于计算机仿真领域的某些高性能计算机的CPU运算性能、图形处理能力很强,但其网络接口及网络吞吐量却非常有限。由于电子商务系统的服务器必须在大量用户访问的情况下仍然能够具备良好的响应时间,所以相对来说,在选择服务器时,应当首先考虑网络吞吐能力是否满足要求。
    此外,服务器的网络适配器类型及插槽的数量差别也很大,在选择过程中,需要注意选择网络适配器类型和接口都较多的产品。
    (4)开放的体系结构
    服务器是否具有开放的体系结构直接影响到系统日后的升级换代和维护问题。专用体系结构的计算机设备(例如IBM AS/400、Compaq Tandam系列)虽然有良好的整体性能,但在系统升级和维护方面有一定风险。
    2.操作系统及系统管理软件的选择
    除了服务器外,构成电子商务系统基础环境的还包括操作系统、系统管理软件。目前操作系统分成三大主流:
●          UNIX系统:主要包括IBM的AIX,SUN公司的Solaris,HP公司的HP-UX,COMPAQ公司的OSP/1等。
●          Microsoft的Windows系列:主要包括WindowsNT,Windows2000Server等。
●          Linux系统:Linux系统的核心和UNIX相似,但主要运行于Intel的芯片上。如RedHat Linux、Core Linux、Open Linux等。
    这三大类操作系统各有特点。从企业级电子商务系统应用来看,UNIX系统所占的份额更大一些。Linux是一个免费的平台,没有专业的技术支持,所以尽管利用Linux可以节省费用,但是如果系统出现问题,那么只能由用户自行解决,所以使用该平台需要承担一定风险。
1.7 电子商务系统的集成
      电子商务系统是应用软件、应用支持平台、基础环境等部分集成在一起的系统,它还需要与外部信息系统、企业内部信息系统发生数据交换,只有将这些部分集成在一个统一的商务逻辑处理流程中,才能使系统发挥整体的效益。
  电子商务系统的集成主要涉及以下几个层次(参见图1-7)。
    1.数据集成
      数据集成是指应用系统能够通过消息、网络文件系统等方式存取外部数据。例如电子商务系统通过e-Link这样的消息中间件产品访问IBM ES9000大型机。
    2.网络集成
      网络集成是指通过网络互联将各种不同形式的数据通信网络连接在一起,为应用之间的数据交换提供通信环境。
    3.应用集成
      应用集成有两个含义,一个是指利用各种组件(component)搭建能够进行商务逻辑处理的应用程序。另外一个是指应用之间的互操作。
图1-7应用集成示意图
    4.企业商务流程集成
      企业商务流程集成意味着将企业的业务流程统一到一个信息平台上,它还指以信息技术为依托,整合企业的管理信息系统,使企业的生产过程能够在一个新的平台上更为有效地运转。它和企业的商务过程再造类似,是一种商务逻辑集成。
1.7.1 网络集成技术
      网络集成的主要内容是指将电子商务系统的企业内部网络、电子商务系统的局域网、 Internet和企业外部网络连接在一起,构成互联的网络。由于支持电子商务系统的各种数据通信网种类繁多,而且网络协议类型也不相同,所以在集成过程中涉及到很多新的技术手段。一般而言,实现电子商务系统网络集成的重点在于:
    1.规划网络集成方案
      规划网络集成方案的目标是:在调查各互联通信子网的基础上,确定未来网络的体系结构、协议体系、接口方式及互联设备。其基本过程是:
    (1)针对网络集成的对象,调查各互联子网的结构、协议等背景。
    (2)确定未来网络的边界以及各互联子网的边界。
    (3)分析各子网互联的目的,确定各互联子网的接口层次(例如明确是在网络层、链路层还是物理层建立接口)。
    (4)根据商务系统的应用处理分布,分析未来网络中各需要互联的通信子网所要承担的网络流量,规划接口带宽要求。
    (5)确定未来互联网络的体系结构及协议标准。
    (6)确定各个互联接口设备。
    2.低层网络互联
      网络低层互联是实现通信子网的连通,它包括物理层网络的扩充、链路层和网络层互联,其目标是解决通信子网的连接、寻址及路由问题。
    实现低层网络互联的方式基本上可以分成两部分:
      第一部分是物理层互联,基本上可以通过中继设备实现,如中继器、LAN Switch和各种集散器(如智能HUB、交换式HUB等)实现。物理层的连接可扩展网络覆盖范围、改变网络拓扑结构,但是无法解决寻址及路由的问题。所以如果电子商务系统网络互联只是实现网络的连接与扩充,那么直接采用物理层互联技术即可。
      第二部分是链路层和网络层的互联,该层互联一般可以通过各种路由设备来实现。
    3.中、高层应用的互通及互操作
      低层网络的互联实际上是通信子网的联通,它为网络应用提供了一个互联的通信平台,但是无法解决应用程序之间的互操作问题(例如虚拟终端、网络文件系统等)。所以网络系统集成除了解决低层网络的可扩展性和互联性之外,还需要从中高层解决数据传输和应用服务问题。
      中高层网络互联主要通过应用网关(Application Gateway)实现。应用网关是一个逻辑概念,实际是一组应用程序,主要作用是在不同的高层服务协议之间进行转换,例如转换 Internet Mail和EDI系统的Mail格式,网络上不同数据文件的格式转换等。目前网络体系结构中,中高层没有标准的协议,所以中高层集成也没有成熟的标准。因此,这一部分也是网络集成的难点。
1.7.2 数据集成
      数据集成的目标是使不同系统的、不同形式的数据集合能够统一在一起,为电子商务系统提供支持,实现分布式的数据共享。例如利用SAP的ERP系统构造的企业内部生产管理系统要接受来自Web的订单,Web读取内部基于Lotus/Domino构造的办公系统上的数据等。这些问题就涉及到所谓的数据集成。
      数据集成方面目前的标准和规范并不完备。下面从实用角度阐述解决上述问题的一些基本方法。
    1.异构数据库的存取
      目前数据库系统的数据存取方式、接口方面的标准主要有:
    (1)数据库数据的存取标准SQL
      结构化查询语言SQL(Structured Query Language)由ANSI制定,ISO选定其作为数据库数据存取标准(ISO9079)。OSF和X/Open也都选择了它作为产品标准。
    (2)应用访问数据库的接口标准ODBC、JDBC等应用程序访问数据库时,通常可以利用数据库管理系统提供的应用程序接口API(Application Programming Interface)访问数据库中数据,但是各个数据库产品生产商向程序员提供的API接口差异比较大(例如Sybase的DB-Library、Informix的E-SQL等)。数据库应用程序接口标准就是试图建立这种程序接口的规范,减少应用程序和数据库管理系统之间的依赖性,使应用程序可以通过相同的方式访问不同DBMS。目前主要有以下的一些数据库应用程序接口标准:
1)开放数据库互联标准ODBC(Open Data Base Connectivity):ODBC由Microsoft公司提供,它定义了数据库访问的应用程序接口,即API接口。ODBC的目的是屏蔽各种数据库存取API接口的差异,为访问数据库的应用程序提供一致的接口。应用程序可以通过称之为ODBC驱动程序(ODBC Driver)的数据库引擎访问不同的数据库管理系统(参见图1—8)。
图1-8  通过ODBC Drive访问异构数据库
   2)Java数据库连接标准JDBC(Java Data Base Connectivity):JDBC和ODBC类似,它为Java应用程序提供统一的API接口。JDBC包括两个基本部分,一部分是面向开发人员的JDBC API,其作用是为程序员提供不同的数据库连接方式。另一部分是JDBC Driver,它可以建立在ODBC基础上,即程序对JDBC的访问先转换成为对ODBC的调用,然后利用ODBC完成数据库访问:JDBC也可以直接与数据库连接。
  目前几乎所有的应用服务器都为Java程序提供JDBC接口,如图1-9所示。
图1—9  通过应用服务器的JDBC Driver访问不同的数据库
3)统一数据存取标准UDA(Universal Data Access):UDA是Microsoft公司提出的一种标准,它也力图为应用程序提供一个统一的API接口,但它所针对的数据源不仅仅局限于关系数据库,可以是非关系型的数据文件、图形图像等。在UDA机制当中,应用程序通过ADO(Advanced Data Object)接口访问数据,而ADO可通过OLE DB访问非关系型的数据或者通过ODBC驱动程序访问不同的数据库,如图1—10所示。
图1-10 UDA结构示意图
    UDA提供了对不同的数据源一致的存取方式,但是遗憾的是除了Microsoft公司外,其他IT厂商的产品对这一标准支持不够充分。
    2.异构数据的统一管理
      异构数据的统一管理是指:利用统一的操作方式管理不同格式的数据,并且实现不同数据之间的相互转换。利用该服务,应用程序的可移植性就会得到很大的提高。目前这一方面的标准和产品主要包括:
    (1)Microsoft UDA:UDA实际上是将数据及其存储、表达格式和存取方式集成在一起,形成可被统一操作的数据对象(ADO对象)。在对象当中,数据及其操作方法被封装在一起,可以被透明地存取。
    (2)扩展标记语言XML:XML不仅可以定义数据表达的方式,而且可以描述数据的存取方法。使用XML语言,企业能够使用统一的数据结构管理各种不同格式的数据,以统一的方式管理起来,而且向用户提供统一的存取方法。
    3.数据集成的中间件产品
      除了上面阐述的标准外,很多中间件产品可以向开发人员提供比较完善的工具和接口,简化了API接口及配置接口,帮助开发人员完成数据集成。
    这些中间件产品主要包括以下几类:
    (1)基于远程过程调用(RPC)的中间件
      RPC机制使客户可以采用与调用本地进程一样的方式调用远程服务。由于RPC采用阻塞(blocking)方式完成,所以它提供的是一种底层的同步服务,这种方式对于基于Internet的电子商务应用不见得非常实用,但是当电子商务系统与企业原来的信息系统连接,而原有系统支持RPC的话,这是一种可以选择的方案。这种中间件产品比较有代表性的有Microsoft的DCOM机制、Inprise公司的Entera、NoblenetRPC。
    (2)基于应用消息队列(message)的中间件
      这类中间件是在IPC(Internal Process Communication)的消息队列基础上的经过扩充而实现的,它保证分布式应用可以在脱机情况下实现可靠的数据传输。消息型中间件也是目前数据集成中应用最为广泛的中间件产品。
    这类产品的代表是IBM的MQ Series,此外还包括BEA TUXEDO中的MessageQ、 Microsoft的Message Queue,国产化产品的代表是东方通的TongLINK/Q。
    (3)交易中间件
      有的地方也将此类中间件称为交易处理监视器。它本质上是对联机事务处理提供服务的软件工具。
      该类中间件的典型代表是BEA公司的TUXEDO、IBM的CICS等。利用这些平台可以比较好地构造OLTP(On Line Transaction Process)系统,同时对联机事务处理的并发事务处理性能能够有较大提高。
      由于电子商务系统的实时性要求较高,而且很多商务活动过程就是事务处理过程,所以这种中间件在电子商务系统的数据集成中应用比较多,它比较适合于构造要求在Internet环境中进行并发事务处理(例如订票、证券委托等)的电子商务系统。
      除了以上这些比较通用的中间件可用以实现电子商务系统的数据集成外,还有一些具有特定功能的产品可实现数据集成。其中最有代表性的是用于电子商务系统和ERP系统数据集成的产品。这类产品侧重于支持电子商务系统与ERP系统之间的连接、数据一致性及工作流协同。其目标是将ERP与电子商务系统联系在一起,扩充和改善ERP系统原有的销售、财务、生产管理功能,进而形成整个企业的价值链管理VCM(Value Chain Management)体系。一些大型的盯企业,例如Oracle、SAP、i2、Baan、Siebel和JDE等都有这一方面的产品。
1.7.3 基于组件的应用集成
      从目前的发展来看,电子商务系统的应用构造方法趋向于采用应用总线方式构造。所谓应用总线是借用了计算机体系结构当中的“总线(bus)结构”的概念。应用总线与计算机体系结构中的总线概念类似,以一种通用的方式为各应用组件提供数据及控制逻辑,协调应用软件各部分的通信,从而达到软件各组成部分协同工作的目的。在这种指导思想下,组件技术伴随电子商务的发展近些年来进展很快,已成为电子商务应用开发技术的一个主流方向。
      组件或者构件技术是应用级别的集成技术,其基本思想是将应用软件分解成为一个个独立的单元,将软件开发过程转变成为类似于“搭积木”的搭建过程,通过组装不同的软件组件单元来实现软件的集成。按照组件技术的观点,应用软件的开发就成为各种不同组件的集成过程。
      电子商务系统是一种分布式的信息系统,伴随电子商务系统的发展,分布式环境中面向对象的组件技术也得到充分地发展,这些技术中最具有代表性的包括:CORBA、Microsoft公司提出的DCOM、SUN公司提出的EJB和J2EE。
1.7.3.1 CORBA
  CORBA是通用对象请求代理结构(Common Object Request Broker Architecture)的缩写。通常提到的CORBA一般有两层意思,一是指对象管理组织OMG(Object Management Group)提出的分布式对象体系结构标准(或称规格),另一层意思是按这种体系结构开发的中间件产品。CORBA作为一种应用级的互联标准得到了广泛的认同和应用,其主要特征是:
    (1)在CORBA环境下应用系统间的互联是以对象或程序的调用方式进行的,这样就可以做到系统间实时互操作。这类环境有很强的互操作能力,原则上,一个系统内部能够完成的操作,在系统之间通过CORBA都可以实现。
    (2)CORBA的面向对象的特点还保证了各种对象的封装性和内部细节的隐蔽性。这不仅可以简化各种功能(服务)的使用,还提高了系统的安全性。
    (3)CORBA比较适合于分层结构的应用集成,由于电子商务系统的体系结构本身就是一种多层次的结构,所以这一技术比较适合于核心业务逻辑的应用程序的集成。此外,由于目前应用服务器大多提供CORBA接口,这样利用CORBA技术完成应用程序和平台之间的无缝连接也比较容易。
1.7.3.2 EJBJ2EE    
1.EJB和J2EE
      EJB是SUN公司倡导的基于Java的组件构架。EJB定义了一个集成的编程模型和标准的API接口。EJB是实现服务器端应用服务的组件。
      在EJB之后,SUN提出了J2EE(Java 2EnterpriseEdition),定义了一个一致的环境,以支持企业级别应用的集成,确保应用的可移植性。在SUN的J2EE规范(J2EE白皮书)当中,J2EE被定义成为一个多层次的服务、开发平台,总共包括4个组成部分,其核心是J2EE应用开发模型和J2EE平台。
    (1)J2EE应用编程模型(J2EE Application Programming Modal):一个标准的开发多层结构、瘦客户端(Thin Client)的开发标准。
    (2)J2EE平台(J2EE Platform):是J2EE应用的标准宿主(hosting)平台,包括——系列的 API和策略的集合。
    (3)J2EE兼容性测试工具(J2EE Compatibility Test Suite)。
    (4)J2EE实施参考(J2EE Reference Implementation)。
    2.J2EE应用编程模型(J2EE Application Programming Modal)
J2EE应用编程模型如图1-11所示。在该模型当中,商务逻辑处理被分成三个层次:客户层(Client Tier)、中间层(middle Tier)和企业信息系统层(EIS Tier)。
图1-11 J2EE应用编程模型
    客户层支持不同的客户端,包括基于浏览器的瘦客户端及其他客户端。中间层能够完成企业服务的存取。EIS层负责存储企业内部的关键商务数据。在J2EE模型当中,应用服务被分为两部分,一部分是商务及表达逻辑,由开发人员实现;另一部分是标准的系统服务,由J2EE平台提供。
      在J2EE模型当中,中间层的商务功能通过一系列的EJB组件实现。中间层使用JSP实现商务逻辑处理结果的动态发布,构成动态的HTML页面,中间层也可以使用Servlet实现更为灵活一些的动态页面。
      在上述模型中,中间层可以通过以下方式访问企业信息系统层(EIS Tier)中的信息资源:
●          JDBC:数据库访问接口API。
●          Java名字及目录接口JNDI(Java Naming and Directory Interface)。JNDI可以获取名字服务和目录服务,例如DNS、NDS、LDAP和CORBA的名字服务。
●          Java消息服务JMS(Java Message Service):JMS作为一个标准的API接口可以和企业基于消息的中间件系统(例如IBM MQSeries、BEA TUXEDO等)交互。
●          Java Mail:基于Java的电子函件API接口。
●          Java IDL.IDL(Interface Definition Language)是一种接口定义语言。JavaIDL可以通过建立远程接口支持Java和CORBA应用的通信。利用Java IDL,应用系统可以调用CORBA的服务。
3.J2EE平台(J2EE Platform) J2EE平台是一个运行J2EE应用(EJB、JSP、Servlets等)的标准环境。它包括以下几个部分:
●          J2EE(应用)分布规范(J2EE deployment specification):该部分定义了在J2EE平台上进行应用集成及分布的标准。
●          J2EE平台的Java技术标准:定义了J2EE平台需要支持的标准集合。
●          J2EE平台的IETF标准:J2EE平台需要支持的IETF标准的集合。
●          J2EE平台的CORBA标准:J2EE平台的中间层(Middle Tier)需要支持的CORBA标准。对象管理组织OMG和SUN联合制定了RMI-IIOP协议,该协议定义了CORBA的IIOP协议如何调用Java的RMI(Remote Method Invocation)。同时EJB标准中也定义了EJB如何和IIOP进行映射,所以通过RMI-IIOP协议,Java应用可以和CORBA应用之间进行互操作。
1.7.3.3 Microsoft DCOMWindows DNA
     分布式公共对象模型DCOM(Distributed Common Object Modal)是微软公司以其公共对象模型COM(Common Object Modal)为基础提出的分布式应用集成框架,DCOM和 Windows DNA是Microsoft公司的组件集成标准,该标准支持基于数据总线和控制总线的组件集成。
      Windows DNA(Windows Distributed InterNet Applications Architecture)是一种分布式的互联网应用框架,它被Bill Gates成为“数字神经系统”。这种结构的基本出发点是为了改善传统的客户机/服务器两层结构愈发表现出的明显的局限性,以适应更快更复杂的事务处理任务和快速开发的需要。
  Windows DNA与微软的Windows操作系统紧密结合,它是在原来Microsoft的分布式对象服务(如COM、事务服务器MTS等)的基础上构造的。Windows DNA的结构和SUN的J2EE标准相似,如图1—12所示。
  
图1-12  Microsoft Windows DNA结构示意图
    在Windows DNA结构中,分布式应用系统由表示层(Presentation)、事务逻辑层(Business  Logic)和数据服务层(Data)三个组成部分:
    (1)表示层:用户的界面部分。主要是通过在客户端浏览器中运行HTML、DHTML、 Scripting、Java Applet、ActiveX(在IE5.0中还可运行XML)实现用户与应用程序的通信。在Internet应用环境中,表示层的工作由瘦型客户机来完成。
    (2)商务逻辑层:负责处理表示层的应用请求,完成商务逻辑的计算任务,并将处理结果返回给用户。商务逻辑处理层是将原先置于客户端的商务逻辑分离出来,集中置于服务器部分,为所有用户共享。商务逻辑层是整个应用的核心部分,而组件对象模型COM则相当其心脏。商务逻辑层通过COM进行事务处理,并由IIS(Internet Information Server)和MTS (Microsoft Transaction Server)为各种应用组件提供完善的管理。
    (3)数据服务层:为应用提供数据来源。和以往的两层体系结构不同,数据库不再和每个活动客户程序保持一个连接,而是若干个客户程序通过应用逻辑组件共享数据库的连接,从而减少了连接次数,提高了数据服务器的性能和安全性。可以根据需要选择Microsoft SQL Server,Oracle或任何与OLEDB或ODBC兼容的数据源。
      Windows DNA的技术思想使应用开发有了明确的分工。一部分人员专注于事务逻辑层COM组件的开发和测试工作,另一部分人员根据商务逻辑的需要选择和使用COM组件,而不需要了解组件功能实现的内部细节,最终以精练的ASP脚本语言把组件集成到页面之中,从而有效地降低了开发的难度。
      将应用逻辑组件集中置于中间层,组件对象COM的可重用性减少了应用系统整体的管理和维护费用。商务逻辑改变时,不必改变整个页面源代码,只需调整或替换中间层相应的 COM组件,即可灵活适应商务逻辑的变化。而后,系统可以在更新后的商务逻辑处理环境下运作,减少了客户端应用程序版本控制和更新的难度。在这样的结构下,所有复杂的事务处理都在中间层进行,客户端只需最基本的浏览器配置,就可以和服务器及其他客户进行事务交流。
      这种应用模式能够提高系统的运营效率和安全性。在中间层,IIS负责应用逻辑层Web页面的管理,MTS负责应用逻辑层COM组件的管理。MTS在多线程的支持下工作,实现对COM组件的分布式连接管理、线程自动管理及高性能事务处理的监视。应用程序使用组件可以共享与数据库的连接,使数据库不再和每个活动客户保持一个连接,而是若干个客户通过共享组件和数据库连接,降低了数据库的负担,提高了系统性能。此外,客户通过组件访问数据库时,MTS的安全管理可以按权限将特定组件授给不同的用户组,使商务活动的安全性和系统结构有机地结合在一起。
 
 
下一节
1.8 实施及组织
    电子商务系统的实施也是一个比较复杂的系统工程,系统的实施不仅涉及应用的开发与实现,而且需要有比较完整的项目组织,才能保证应用系统的品质能够达到预期的目标。
1.8.1 电子商务系统开发集成的任务
    电子商务系统开发及集成与传统信息系统开发相比有一定的特殊性,主要表现在:
    (1)电子商务系统的应用是基于Web的应用,应用是一种分布式的结构,所以开发工作可以分解成为客户端和服务器端的应用开发两部分。
    (2)由于电子商务系统的应用程序既包括编译型的程序,也包括解释型的脚本程序(例如Java Applet、Java Script、VBScript等),而这些脚本程序基本上都是嵌入到HTML页面中的。所以,应用程序的编写就不仅局限于编码,而且也包括HTML页面的编写。
    (3)借助于组件技术搭建应用日益成为未来电子商务应用开发与集成的主流方向。
    根据以上的分析,可以将电子商务系统的主要设计开发任务归纳为以下内容:
    (1)应用系统设计开发
    应用系统开发设计的目标是完成应用系统结构设计,编写服务器、客户端应用程序,提供可嵌入页面的脚本。具体包括:
●          应用系统设计
    包括应用系统的体系结构、数据流程、外部接口、数据结构、组件对象分析及定义等。其目标是清晰地描述应用系统的结构,以便为项目开发定义可分解的任务。
●          服务器端组件、应用编程
    这部分任务的开发方式有两种,一类是按商务逻辑的功能进行划分,这样一来每个不同的开发小组负责一个具体的商务逻辑,其特点是易于保证应用的完整性,但缺点是对开发者的技术素质要求比较高,小组中的人员必须正确理解前后台应用的差异、不同的开发工具。另外一类开发组织方式是根据人员的知识及B/S结构的特点,将开发组织分成前、后台两个开发小组,其优点是可充分发挥两部分人员的特长,但缺点在于接口和协调较之前者要复杂一些。尽管两种开发组织各具特色,但是相对而言,后一种方式的可操作性更强一些。
    服务器端的应用主要通过一般的高级语言、Java、PHP等来构造,也可以通过EJB或者CORBA等组件标准来开发。
●          客户端应用或脚本编写
    客户端的应用开发任务分成两类,一类是针对浏览器编写的瘦客户应用,可以利用各种解释性语言编写,例如ActiveX、Java Applet等。另外一类是需要进行数据处理的所谓胖客户程序,这类程序基本上用传统的C/C++等高级语言编写。总体来讲两类客户端应用的目标是统一的,就是构造友好的图形用户界面。
    客户端应用脚本需要和HTML页面配合起来,常见的问题是脚本如何在页面当中被合理地安排、页面更新后脚本的调整等。这些问题都是在脚本编写过程中需要注意的。
    (2)内容设计与编辑
    内容设计与编辑的目标是对电子商务系统中网站的整体风格、页面组织结构进行设计,完成页面内容组织与编写。该部分的主要任务包括:
●          站点设计与策划
    站点结构设计的目标是确定站点所要表达的内容如何能够有效地被用户理解。它的核心是对站点内容的组织、页面/超连接、导航设计、站点风格等关键问题进行有效地决策。
    由于站点的组织初始可能是一种网状的结构,但从设计角度看,我们最终是需要将其抽象成为可以由各类静态、动态页面表示成为一个树状结构。这样才能够对站点的页面内容进行分解,进而分配给不同的HTML编写人员。
    站点的风格直接影响到整个网络站点的效率(例如网络速度比较慢的情况下,用户对Frame结构的页面或者存在大量表(table)的页面的忍耐力就会差一些)、客户对站点的忠诚程度等方面。所以站点的结构与风格设计是非常重要的。
    站点设计人员不仅需要对技术进行了解,而且对艺术、形象设计、客户心理等需要有充分的理解,所以某些时候将站点的结构设计人员称为站点设计师或者信息构建师 (Information Architect)。
●          页面编程
    页面编程主要是利用HTML及其它图形、图像表达工具,建立能够正确和准确表达商务服务的、对客户视觉有冲击力的页面。
    页面编程的主要任务包括两部分:一是界面行为的表达(类似于软件工程中的界面设计),该任务需要完成页面布局(Layout)设计、素材搜集和HTML页面编写。另一任务是集成动态页面当中需要嵌入的脚本。
●          内容创建或者信息采编
    这一任务相对简单一些,它主要包括页面需要表达的文字内容的编辑和整理、非文字内容(如图像、音乐等)的格式转换及其他的一些辅助性工作。在某些时候,这部分工作也被称之为信息采编。
    (3)软、硬件系统集成
    软硬件系统集成的内容我们在前面谈过了。涉及的技术领域包括:网络、操作系统数据库、系统软件(应用服务器、安全管理软件、系统管理软件等)等。
1.8.2 开发集成人员
    根据电子商务系统设计开发的主要任务,可以看到完成这项工作需要熟悉不同领域知识的专业人员。一般来讲,这些人员主要包括:
●          项目管理人员:负责系统开发的组织协调。
●          站点设计师:负责系统设计、策划。
●          应用工程师:负责应用系统前、后台应用的编写、组件开发。
●          系统工程师:负责系统软件(操作系统、数据库等)维护。
●          网络工程师:负责网络集成。
●          硬件工程师:负责硬件设备安装、调试与维护。
●          美术创意人员:负责站点艺术包装,辅助页面开发工程师开发。
●          页面开发工程师:负责HTML页面编写和页面内嵌脚本集成。
●          内容创建或信息采编人员:数据采集、整理和加工。
1.8.3 项目管理  
由于电子商务系统的实施过程是一个复杂的系统工程,所以要保证系统在技术上可实现,实际运作中能够实施,合理的项目管理是非常必要的。电子商务系统的项目管理主要追求以下目标:
●          付出较低的开发成本
●          应用系统的品质能够得到可靠保证
●          开发的应用易于移植
●          开发过程可控制、可管理
●          最终项目进度可保证
●          项目投产后易于维护
    要实现以上目标,在从项目可行性立项开始到项目投产为止的项目管理生命周期内,需要对需求分析和管理、分析设计、编码、测试和运行的各个阶段都进行严格控制。具体的控制方式在IS09001软件行业认证标准中有所定义。本节主要阐述项目管理中的人员组织。
    为了实现良好的系统管理,建立合理的项目组织是非常必要的。在电子商务系统的项目管理中,项目管理组织可以包括以下部分:
    (1)项目建设领导小组
    项目建设领导小组负责整个电子商务系统实施项目的领导。这一小组应当是由企业的主要负责人员担任组长,实践证明,企业主要负责人员对项目的重视程度是影响项目成败非常关键的因素。
    在项目建设领导小组中,除了企业主要负责人外,其信息主管(CIO)、技术主管(CTO)业务负责人及项目负责人也应当参加。如果项目是采用外包方式进行,那么ASP负责人员也应当加入到领导小组中。
    项目领导小组直接管理项目顾问、支持小组及项目负责人。
    (2)项目顾问与支持小组
    项目顾问不直接参加项目实施,但是对项目的运作提供咨询与建议。项目顾问由电子商务方面的技术、产品等方面的专家参加,同时应吸收相同领域具有成功电子商务应用的企业相关人员参加。
    支持人员主要从法律、财务、行政等方面为项目的实施提供支持。
    (3)项目负责人
     项目负责人对项目的具体操作起非常关键的作用。它对项目开发与实施中的各个部分进行协调及进度控制,负责发掘项目开发组的潜力,实现项目开发及实施中各相关单位的理解与沟通,进行冲突裁决。
    项目负责人不一定是技术专家,但它需要有技术背景和管理经验,能够和客户取得沟通。项目负责人负责直接管理项目实施小组、品质保证小组和开发小组。
    (4)项目实施小组
    项目实施小组负责项目从开发环境到实际运行环境的迁移。该小组由企业业务人员、技术人员和第三方产品支持人员构成。其中,企业业务人员对迁移过程中业务的连续性负责,技术人员对系统负责。由于电子商务系统一般都是需要使用不同的技术产品集成构成的,所以第三方技术支持人员从产品角度负责降低实施过程中的风险。
    (5)项目品质保证小组
    这一部分对整个项目的质量控制起监督作用。其主要任务有三个,一个是监督开发小组是否按系统设计性能要求完成任务,开发过程是否满足项目开发计划的要求。第二是在每个检查点,对系统的性能和缺陷进行检测,对应用系统进行测试,对项目开发小组提供改进建议。第三个作用就是完整地整理和保存项目生命周期中的各种文档,为项目的后期维护提供帮助。
    (6)项目开发小组
    项目开发组承担项目的具体开发工作。如果项目比较大的话,那么可以将项目开发小组进一步细分,细分可以采取不同的方式,例如可以按前、后台分工,也可以按功能分解成不同的小组。需要注意的是,项目小组之间应当有明确的分工,其接口关系在开发前必须确定,开发小组需要制定严格的版本控制规则。
1.9 小 结
    本章针对电子商务系统的实现问题,从技术选择、集成技术和项目组织三个方面进行了阐述。
    在本章中,探讨了电子商务系统的建设方式。给出了电子商务系统技术选择的基本依据,从商务和技术两个方面阐述了有关的技术标准。
    本章分析和介绍了电子商务系统的实现过程,着重说明了这一从逻辑到物理的实现过程。从这部分说明中,读者应当了解到系统从规划设计到实现的逐步透明过程。
    针对系统的构造过程,我们从客户;应用表达、支持平台和基础平台这样的几个层次,分别说明了各层相关的技术选择和产品特点。在分析的基础上,进一步探讨了如何实现各个层次的集成问题。
    最后,本章还从系统实施组织的角度,介绍了电子商务系统实施中的任务、开发组织和项目管理问题。

电子商务系统的建设方式及技术选择相关推荐

  1. MT4跨平台跟单系统的实现方式和技术原理

    什么是跨平台跟单? 跨平台跟单即不同券商交易平台的账号一对多或者多对多的跟单. 当前跨平台跟单技术有几种? MT4跟单从根本上区别分为4种: 1. EA跟单 2. NJ4X跟单 3. ManagerA ...

  2. 电子商务系统安全的解决方案

    电子商务系统安全的解决方案 作者:宫晓曼 滕荣华 谢晓燕 [摘 要] 随着电子商务这一新的商务模式逐渐为社会各界所接受并应用,电子商务系统安全日益成为电子商务发展过程中的一个"瓶颈" ...

  3. 电子商务系统测试软件相关文档,电子商务系统软件测试文档

    <电子商务系统软件测试文档>由会员分享,可在线阅读,更多相关<电子商务系统软件测试文档(15页珍藏版)>请在人人文库网上搜索. 1.电子商务系统 测试说明(节选)软件技术专业2 ...

  4. 电子商务系统建设(十一)

    电子商务系统建设包括Web编程技术.电子商务网站设计.电子商务网站组件设计以及电子商务网站安全设计4部分. 11.1 Web编程技术 1.Web编程技术概述 (1)CGI是一种外部应用程序和Web服务 ...

  5. 笔记-信息化与系统集成技术-电子商务系统的结构和要点

    电子商务的基础设施包括四个,即网络基础设施.多媒体内容和网络出版的基础设施.报文和信息传播的基础设施.商业服务的基础设施.此外,技术标准,政策.法律等是电子商务系统的重要保障和应用环境. 1) 网络基 ...

  6. 建网站,做网站,更有多种自定制网站建设套餐供您选择!用建站宝盒自助建站软件,免费智能建站系统,......

    庆吉科技如何建站?怎么做网站?建站方法流程 庆吉科技专业网站建设工程师团队,为您打造最专业和高品质的网站,我们不仅提供在线自助建站和智能建站制作软件系统建站宝盒建网站,做网站,更有多种自定制网站建设套 ...

  7. 商业MIS系统中成本核算方式的选择

    商品流转管理是商业MIS系统的基础功能之一,其中关于销售成本的核算是非常重要的一个构成部分.它通过对销售成本的计算,给出有关销售毛利的数据,为经营管理提供基础依据.传统的以手工方式处理的成本核算方式, ...

  8. 业务中台系统架构:大中台+小前台电子商务系统搭建框架思维

    [数商云]在电子商务系统搭建行业有近十几年的服务经验,近年来的数据中台.业务中台等系统架构兴起,大多数企业在不清楚的中台背景的情况下就盲目追求,最后只会导致自身平台丢失原有的优势框架.在这里,我们来总 ...

  9. crm系统技术(crm系统需要用到的技术)

    CRM系统是什么? 是客户关系管理系统,是指利用软件.硬件和网络技术,为企业建立一个客户信息收集.管理.分析和利用的信息系统. 以客户数据的管理为核心,记录企业在市场营销和销售过程中和客户发生的各种交 ...

最新文章

  1. Java引用类型有哪些
  2. dataframe保存为txt_竟然可以用 Python 抓取公号文章保存成 PDF
  3. “约见”面试官系列之常见面试题第十七篇之实现深拷贝(建议收藏)
  4. [BZOJ4817]树点涂色
  5. 常见设计模式结构图助记之结构型
  6. POJ3737 UmBasketella
  7. 强大的SqlCacheDependency【转】
  8. java程序设计比赛心得体会_对Java程序设计的感想.doc
  9. 为你的.NET/Mono应用程序加入更新支持NetSparkle
  10. mac终端命令大全介绍
  11. 【操作系统真象还原】Mac安装配置bochs
  12. 用Python做一个变态版的《超级玛丽》游戏
  13. DBT乳腺切片投影及重建(MATLAB版)
  14. Comet OJ C1964 I am Groot
  15. 网络摄像机IPCamera RTSP直播播放网络/权限/音视频数据/花屏问题检测与分析助手EasyRTSPClient
  16. linux新手入门及安装全攻略(转载)
  17. 练习9-15:彩票中奖率分析(Python变成从入门到实践学习)
  18. 能不能在头文件中定义全局变量?
  19. 2021年高处安装、维护、拆除考试内容及高处安装、维护、拆除复审考试
  20. Java-斐波拉契数列

热门文章

  1. android获得键盘高度,Android获取软键盘高度
  2. 读后感《孤独的张小龙,在商业中走出孤独》
  3. 【C语言】练习函数调用
  4. 复变函数与积分变换(五)学习笔记[孤立奇点,留数,零点与奇点,无穷远点的留数,留数计算的应用]
  5. 位运算实现加减乘除运算
  6. 出彩的PPT封面如何设置?这些例子建议收藏
  7. 2019届阿里巴巴春招前端面试经历
  8. Windows Server CA证书颁发机构续订
  9. 十三位时间戳转换工具_展览 | “无缘无故—十三位当代女性艺术家邀请展”亮相朗空美术馆...
  10. 【长更】一句话题解(组队训练的俄罗斯题、oj、camp)