您的位置: 网站首页 > 电子商务 > 电子商务原理与技术 > 第3章 电子商务技术基础 > 【3.5 网络计算模式与相关技术】

3.5 网络计算模式与相关技术

 

3.5  网络计算模式与相关技术

3.5.1  C/S模式

在电子商务应用越来越广泛的今天,用户对数据安全也日益重视,加上巨额的系统设备和大量的专业人员,使计算模式发生了巨大变化,从单机时代主机/终端模式、客户机/服务器时代的(C/S)计算模式,再到电子商务时代的(B/S)网络计算模式。从技术发展趋势上看,B/S最终将取代C/S计算模式。但同时,可以清楚地看到,由于业已形成的网络现状,在今后的一段时间内,网络计算模式很可能是B/SC/S同时存在的混合计算模式。

1C/S模式概述

C/SClient/Server,客户机/服务器)模式又称C/S结构。C/S模式简单地讲就是基于企业内部网络的应用系统。它是一种软件系统体系结构,通过它可以充分利用Client端和Server端两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通信开销。

C/S结构中有传统的两层结构和新型的三层结构之分。两层结构最早在20世纪80年代后期引入业界的,它为多用户系统提供了前所未有的双向交流感和灵活性,改变了传统的应用设计和系统实现方式,很快便在各种类型的软件系统设计与开发中获得了广泛应用。两层C/S结构的实现原理是:应用程序(客户端)首先依据用户操作形成对应的SQL语句,然后通过网络协议(如TCP/IP等)向数据库服务器发送SQL命令;数据库服务器通过其监听端口(如Oracle1521等)实时检测有无服务请求。当检测到有SQL请求时,服务器首先对客户端身份进行验证,验证通过后执行请求客户的SQL命令,并将结果返回给应用程序,如图3-10所示。

3-10  两层C/S结构

两层结构的处理流程可表示为:

两层网络计算模式=多客户机+/多数据服务器+动态计算

在这种模式中,服务器只负责各种数据的处理和维护,为各个客户机应用程序管理数据;客户机包含文档处理软件、决策支持工具、数据查询等应用逻辑程序,通过网络使用SQL语言发送、请求和分析从服务器接收的数据。这是一种“胖客户机(Fat Client)”、“瘦服务器(Thin Server)”的网络结构模式。

随着C/S结构应用范围的不断扩大和计算机网络技术的发展,这种结构带来的问题如系统的可靠性有所降低、缺乏灵活性、资源浪费严重以及维护费用较高等等日益明显,网络计算模式逐渐从两层模式扩展到N展模式,并且结合动态计算,解决了这一问题。

2C/S结构软件的优势与劣势

1)应用服务器运行数据负荷较轻。

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的计算机上,对应于数据库服务器,可称为客户机,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻。

2)数据的储存管理功能较为透明。

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

3C/S结构的劣势是高昂的维护成本且投资大。

首先,采用C/S结构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现。有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通信连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

其次,传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在Java这样的跨平台语言出现之后,B/S结构更是猛烈冲击C/S,并对其形成威胁和挑战。

3.5.2  B/S模式

1B/S模式概述

目前最流行的多层模式是三层结构,其处理流程可表示为:

三层网络计算模式=多客户机+应用服务器+多数据服务器+动态计算

对于三层C/S结构,是将客户端的表现(数据显示等)和业务逻辑分开,并将执行业务逻辑的部分放在中间服务器(也就是应用服务器上),如图3-11所示,业务逻辑层作为单独的中间层,它为所有用户所共享,作为整个系统的核心为处理系统的具体应用而提供事务处理、安全控制以及满足不同数量客户机的请求而进行性能调整的能力。这样,就降低了客户端和服务器端的耦合度,企业需求变化时,改动业务逻辑层的内容即可,不影响其他层,管理和维护变得相对简单;也使客户端的工作量减少,开发和管理工作向服务器转移,使得分布式数据处理成为可能。

3-11  三层C/S结构

随着Internet技术的广泛应用和相关技术的发展,人们在三层C/S结构的软件配置时,将表示层用浏览器实现,将业务逻辑层分为Web服务器和应用服务器两部分,这就是B/SBrowser/Server,浏览器/服务器)模式又称B/S结构,如图3-12所示。

3-12  B/S结构

在这种结构下,用户工作界面是通过Web浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。这样就大大简化了客户端计算机载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

B/S结构的处理流程可表示为:

B/S网络计算模式=多浏览器+Web服务器+应用服务器+多数据服务器+动态计算

以目前的技术看,建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LANWANInternet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S结构管理软件更是方便、快捷、高效。

2B/S结构软件的优势与劣势

1)维护和升级方式简单。

目前,软件系统的改进和升级越来越频繁,B/S结构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部计算机之间来回奔跑,效率和工作量是可想而知的,但B/S结构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

2)成本降低,选择更多。

大家都知道Windows系统在桌面计算机上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S结构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以,服务器操作系统是可选择的,不管选用哪种操作系统都可以让大部分人使用Windows作为桌面操作系统的计算机不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的。

3)应用服务器运行数据负荷较重。

由于B/S结构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,需要备有数据库存储服务器,以防万一。

3.5.3  中间件技术

1.中间件的概念

计算机技术迅速发展,从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是InternetWWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC、工作站、小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。

为解决分布异构问题,人们提出了中间件(Middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

中间件是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件,如图3-13所示。

3-13  中间件

 

由于标准接口对于可移植性、标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。

2.中间件的类型

按照IDC的定义,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能

中间件的主要类型包括:

·    屏幕转换及仿真中间件。应用于早期的大型机系统,主要功能是将终端机的字符界面转换为图形界面,目前此类中间件在国内已不多见。

·    数据库访问中间件。用于连接客户端到数据库的中间件产品。早期,由于用户使用的数据库产品单一,因此,该中间件一般由数据库厂商直接提供。目前其正在逐渐被为解决不同品牌数据库之间格式差异而开发的多数据库访问中间件取代。

·    消息中间件。连接不同应用之间的通信,将不同的通信格式转换成同一格式。

·    交易中间件。为保持终端与后台服务器数据的一致性而开发的中间件,是应用集成的基础软件,目前正处于高速发展期。

·    应用服务器中间件。功能与交易中间件类似,但主要应用于Internet环境。随着Internet的快速发展,其市场开始逐渐启动并快速发展。

·    安全中间件。为网络安全而开发的一种软件产品。

3.中间件的应用

从应用角度来看,电子商务所强调的是在网络计算环境下的商业化应用,不仅仅是硬件和软件的结合,也不仅仅是电子交易,而是把买家、卖家、厂商和合作伙伴在Internet、企业内部网(Intranet)和企业外部网(Extranet)结合起来的网络应用体系。

随着对企业各种现有应用的不断扩充和不断增加新的应用形式,IT部门需要满足越来越多的需求,尤其是对分布式网络应用的需求,诸如跨过不同硬件平台、不同的网络环境、不同的数据库系统之间互操作,新旧系统并存,系统效率过低,传输不可靠、数据需要加密,开发周期过长,维护不利等等,这些问题的解决只依赖传统的系统软件或Web工具软件已经很难满足要求,于是,作为电子商务网络应用体系的中间平台也就应运而生。一般把电子商务应用服务器、通用业务网关、支付网关、通信平台和安全平台,都纳入电子商务中间件构架的范畴。

有一个数据可以说明电子商务与中间件的关系:1999年以来BEA公司销售收入的50%以上来自于E-BusinessBEA公司是世界最大的中间件生产厂家之一,Internet以及电子商务可以说为中间件厂家带来了无限生机,此中的原因是电子商务系统的实现离不开中间件,电子商务最重要的是如何能把自己的系统全部利用起来,并把重要的功能提供到网上。网上商店的网页看起来非常简单,但最重要的是卖出货物时,前端的系统要跟仓库、送货系统等后台系统相连接,真正的交易是通过后台做的,而不是通过前台。中间件的真正作用是如何能保证交易的一致性,并把各个系统连接起来。

实际上,除了BEA之外,像IBMOracleMicrosoftSun等大厂商也早已涉足电子商务中间件。世界上第二大软件公司Oracle公司进行战略性调整,调集其三分之一的资源,开发企业电子商务系统。IBM凭借多年的开发经验和对市场敏锐的洞察力,及时调整了其产品策略,将中间件产品作为其开发的重中之重,推出WebSphere网站开发工具,以期将之改造成一个完整的电子商务平台。

从技术角度看,电子商务系统由InternetIntranet技术、传统IT技术以及具体的业务处理所构成。系统的建立面临许多新的问题,包括应用系统能不能快速地建立,能不能适应大用户数、高处理量要求,能不能提供高效率、高可靠性、高可用性等等关键任务的要求,能不能满足安全需要等等。

3-14  电子商务应用与中间件

 

这些问题仅仅依靠简单的Web技术是不够的。目前常用的Web技术由于早期更多的是面向信息发布,因此存在并发访问瓶颈、难扩展、效率低、安全等诸多问题,不能满足电子商务的需要。为了很好地解决这些问题,需要以Web的低层技术为基础,规划出一个整体的应用框架,并提供一个支持平台,用于Internet应用的开发、部署和管理,并能籍此解决上述各种问题。这已经发展成为一个能广泛适应的标准的支撑层,成为Internet应用的基础设施(Infrastructure),这一支撑层实际上是基于Internet的中间件,也就是应用服务器。

同时,由于企业并不能把业务一步跨到Internet上,而必须同传统的应用系统结合,因此也必须通过中间件来集成Web应用和传统应用,实现完整的电子商务。

在这种情况下,电子商务应用应包含以下层次,如图3-14所示。

·  浏览器:这是进入电子商务的通道。

·  电子商务应用平台:提供电子商务不同应用类型的生成工具软件,如网上商店、网络支付、虚拟社区等。

·  电子商务交换平台:对内集成企业内部的各种与电子商务相关的业务系统,对外连接商业合作伙伴,如银行、供应商、客户、配送结构,完成各种不同业务系统之间数据转换和整和。

·  电子商务基础平台:用来支持大量Internet客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,尽快把信息系统和商务活动放到Internet中。

在电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。可以说,没有中间件就不能支撑今天的网络应用。

电子商务中间件构架是一种电子商务应用集成的关键件,不管电子商务应用分布在什么硬件平台上,使用了什么数据库系统,透过了什么复杂的网络,电子商务应用的互连和互操作是电子商务中间件构架首先要解决的问题。在通信方面,电子商务中间件构架要支持各种通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据加密、数据压缩等;在电子商务中间件构架核心,要解决名字服务、安全控制、并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不同平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方面,解决电子商务中间件构架本身的配置、监控、调谐,为电子商务应用的易用易管理提供保证。