5.3.6.1软件服务器
软件服务器是专门设计用于处理客户请求的软件,安装于硬件服务器中。软件服务器可以分为以下5类:
(1)文件服务器
文件服务器出现较早但目前仍在广泛使用。大部分计算机网络都有文件服务器,Novell网的NetWare文件服务器就是一个典型例子。在C/S模式中,文件服务器主要是针对网络上的共享文件而言。它与原来的文件处理方式(即只用来集中存放数据)的含义不同,数据经过合理分布以后,某些共享文件库、图像、工程制图和其他大型数据对象都放置在文件服务器内。操作系统和网络管理软件联合支持文件服务器。服务器对用户和应用开发商是透明的,用户无需知道公用文件的具体物理位置。
(2)数据库服务器
数据库服务器出现后,C/S模式得到更大的关注,许多数据库和软件销售商把C/S模式、数据库服务器两者混为一谈。实际上,两者的概念完全不同,但是关系十分密切。在充当数据库服务器的情况下,客户把SQL请求作为信息发送给数据库服务器,服务器利用自己的处理能力和本机驻留的数据做出处理,然后仅将处理结果返给客户,处理SQL请求的代码和数据都驻留在服务器中。使用数据库服务器后,数据的集中和分散、处理的集中和分散都有了一个很好的平衡点,这才体现了C/S模式。
(3)事务服务器
事务(transaction)是一组行为,对应于一组SQL语句。事务必须是完整的,即它们要么被全部完成,要么一个也不要完成。事务服务器驻留于带SQL的DBMS的硬件服务器上,客户请求远程服务,事务服务器上的远程过程执行一组SQL语句。事务服务器上提供的应用被称为在线事务处理(OLTP),这些应用往往对响应时间要求特别高,对数据库的安全性和完整性要求能进行紧急控制,因而事务服务器被用于对重要任务服务。
(4)应用服务器
应用服务器又称组件服务器,可以为客户之间交互共享的非结构化的信息服务,可以以数据库为中心也可以不以数据库为中心提供服务,而前面讲到的事务服务器是以数据库为中心提供服务的。典型的应用服务器产品是美国Lotus公司提供的Lotus Notes,这是一个组件产品,为用户提供了文档数据(包括正文、图像、声音和视频)服务、电子邮件服务、GUI客户端环境、服务器之间的通信服务等。
(5)对象服务器
对象服务器帮助客户端的对象和服务器上的对象相互通信。对象服务器支持方法(method),这是通过对象请求代理(ORB)软件来完成的。ORB为对象服务器设置了对象的实例(instance),运用对象服务器提供的方法和相应的服务,将演算结果再返回给客户对象。
5.3.6.2硬件服务器
硬件服务器可能是高档微机、工作站、专用服务器、小型机直至大型机,我们常见的各种类型计算机都可以作为硬件服务器。
硬件服务器可以提供以下功能:
(1)作为企业数据和信息的集中存储器;
(2)作为文件服务器,存储公用文件;
(3)作为打印机服务器,使网络上的用户能够共享打印机。
由于硬件服务器是看得见的实体,很容易被人理解,因此很多人往往将服务器误解为仅是硬件服务器。目前硬件的主流产品是基于RISC的产品。RISC的含义是精简指令集计算机(Reduced Instruction Set Computer),它是从原来的复杂计算机指令集(CISC——Complex Instruction Set Computer)中抽出最基本和简单的指令,CPU芯片为之优化,大大提高了处理速度。着名的RISC产品包括:IBM的RS/6000、SUN公司的SPARC、Motorola公司的88000和MIPS,以及由IBM、Motorola和Apple联合推出的Alpha64位CPU芯片。
此外,还可以通过在一个服务器中增加处理器的方式来增强硬件服务器的能力。多处理器是可伸缩的(向上扩展),经适当地分割任务,多处理器可以改善服务器的性能,加快应用程序的运行速度。多处理器有两种类型:一种是非对称多处理器(UMP),分为主处理器和协处理器,任何时候都由主处理器运行操作系统,主处理器控制协处理器完成磁盘、网络等输入输出功能;另一种是对称多处理器(SMP),全部处理器是对等的,任何一个处理器都可以运行操作系统核心和执行用户编写的线程,因而能够较好地利用多线程并行化的应用程序,几乎所有的32位机操作系统都支持SMP式的服务器。
5.3.7中间件
在C/S模式中,客户与服务器之间应该有良好的接口,实现两者的无缝连接,完成C/S模式下的单一系统映像(SSI),这个接口就是中间件(middleware)。
(1)中间件的概念
中间件有的地方又称为“媒件”。中间件的概念问世后引起系统集成人员的高度重视,认为它是C/S模式和系统集成能否成功的关键。良好的中间件好比是良好的粘接剂,能够使各分系统达到无缝连接。目前,对中间件尚无准确的定义,一般认为从客户的应用程序接口(API)开始,调用服务并负责通过网络传输客户的请求以及随后来自服务器的响应等的全部软件称为中间件。中间件不包括实际提供服务或业务处理的软件,因为它们属于服务器的范畴。
GUI为图形用户接口,OOUI为面向对象用户接口,OS为操作系统,ODBC(开放式数据库系统互连工具)为美国微软公司的中间件产品,DRDA(分布式关系数据库结构)是美国IBM公司的中间件产品,RPC是远程过程调用,ORB是对象请求代理,mail为电子邮件,TCP/IP为网络传输协议,DBMS为数据库管理系统,OLTP为在线事务处理,groupware为组件,object为对象。从该框图中标注的内容大致可以了解中间件所包括的内容。
(2)中间件的种类
中间件介于客户与服务器之间,因此它与客户、服务器的边界并不很清晰,功能往往互相渗透。中间件通常分为两大类,一类为通用中间件,另一类为专用中间件。通用中间件是大多数客户和服务器交互的基础,主要指网络操作系统(NOS)中间件和网络传输协议中间件;专用中间件主要是指数据库中间件、事务处理中间件、组件中间件、对象中间件等。
与NOS有关的通用中间件主要作用是进一步扩充NOS的功能,其中包括:
a.提供分布式计算基础和NOS中间件的目录服务,提供在网上查找相关信息的服务,其命名服务可保证对事物命名的惟一性;此外,还提供分布式安全和身份标识服务等。
b.协调客户与服务器之间的请求和应答。RPC支持紧耦合的请求和应答,而面向消息的中间件支持多种操作系统间的松散耦合和交换。
c.扩展本地操作系统的功能,把诸如打印、文件目录管理等功能包括进来。
与网络传输协议有关的中间件由TCP/IP、IPX/SPX、OSI、SNA、DECNET等网络协议组成,运用路由器、网桥、网关等LAN/WAN互连技术,以一种集成方式在主干网上发送,而各个LAN上自行决定本LAN使用的协议。
专用中间件有以下几类:
a.数据库中间件
允许客户在异构数据库中调用SQL服务,解决异构SQL互操作性的问题。在C/S模式下,仅靠SQL尚无法解决不同SQL的方言和SQL扩展、网络通信、特殊的本地应用程序接口(API)等一系列复杂问题,而数据库中间件正好在此方面可以发挥作用。