您在设计多层应用软件的初期阶段就必须注意到一个设计结束时候的问题。许多在分布式应用软件中使用的协议,比如RPC 和 HTTP,是同步的。这意味着当服务器执行被请求的任务时,客户计算机上运行的应用软件必须耐心的等待。这也意味着,如果服务器有大量积压的请求时,客户会被迫等上一段漫长的时间。
同样应注意的是用同步协议建立的应用程序需依赖同时在处理在线请求的每一台计算机。服务器必须在线以便客户发出请求,客户机也要在线以便发出请求来使用服务器必须提供的任务处理循环。当用户离线时,服务器发生闲置,不处理任何事件。本质上,每一个人都必须同时在线,因为系统作为整体必须在工作。
通常,多层应用软件需要在异步和断线的方式下通信。信息传送是在两个或多个应用程序间建立异步通行的机制。客户应用程序发送异步信息给网络中的队列。每个信息代表一个网络上的客户请求。服务器应用软件监视这些队列并且在它们到来时或稍迟些处理这些信息。在产生请求的应用软件和处理请求的应用软件之间,信息和队列简单地提供了一个间接层。
当各种各样的计算机离线时,一个建在信息传送协议上的应用软件能够继续工作下去。然而,开发一个强大的能够路由每个信息到它的目标队列且有发送保证的信息传送基础设施并不是一件小事情。一个信息传送基础设施必须提供一系列广泛的子系统,以便在计算机离线时透明地存储信息并在以后可以形成连接时把它们发送到目的地。
大多数公司不想把时间和金钱投资到为定制的信息传送基础设施编写和调试代码上去。幸运的是,许多能够提供异步和无连接通讯的信息传送的产品可以在市场上购买到,例如IBM的MQSeries和Microsoft’s MSMQ Server。这就消除了开发定制信息传送基础设施的麻烦。
------ | ------ |
点击页数,可转到相应的页。 | |
1 2 3 | 回栏目首页 |