中间件这个术语指的就算是这样一种软件,它位于系统的不同分布式组件之间,中间件是一种通用软件,通常中间件不是由应用开发人员编写的,而是购买现成的,中间件的例子有责任数据库通信管理的软件,事务管理器、数据转换器和通信控制器等。
在一个分布式系统中,中间件通常提供两种不同类型的支持:
1交互支持,中间件协调系统中的不同组件之间的交互。
2提供公共服务,即中间件提供对服务的可复用的实现。这些服务可能会被分布式系统中的很多组件所需要。
公共服务是指被不同组件需求的服务,不管这些组件的功能是什么。这些服务,你可以把这些服务看做是中间件容器提供的。可以在这个容器中部署你的组件并且这些组件可以访问和使用这些公共服务。
通过互联网访问的分布式系统通常组织成客户机-服务器系统。在客户机-服务器系统中,用户与运行在本地计算机上的程序交互,这个程序与运行在本地计算机上的程序交互,这个程序与运行在远程计算机上的另一个程序交互。这种模型不受分布在许多计算机上的应用程序的限制,可以使用这种模型作为一种逻辑交互模型。
在客户机-服务器模型中,应用建模为由服务器所提供的一系列服务,客户机可以访问这些服务并提交给结果给最终的用户。
需要注意的是,客户机和服务器进程图里面所表示的不是处理器,正常情况下,在单个处理器上会运行多个客户机进程。
许多不同的服务器进程可能会运行在同一个服务器上,但是通常服务器都是事先为多处理器系统,其中单独的服务器进程实例负载品更软件把客户机向服务器发送的请求分配给冉的服务器,所以每一个服务器负责相同的工作量,这样更多的与客户机的交互事务能得到处理。
客户机-服务器系统依赖于清洗地分离了信息表示和信息计算。信息计算是对信息的创建和处理,分布式客户机-服务器系统的体系结构