`
devercn
  • 浏览: 1843 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于Broker、Agent和Proxy

 
阅读更多
转自http://blog.chinaunix.net/u/11315/showart_443217.html

作者写错单词了,应该是broker :)

对Borker、Agent和Proxy解释 史美林的《计算机支持的协同工作理论与应用》上面对Borker、Agent和Proxy解释,如下:为了改善Internet的体系结构,可以综合使用Borker、Agent和Proxy等多种代理。 Agent是一种具有控制功能的实体,它接收信息,然后根据自己的知识、规则和控制逻辑对信息进行处理,然后把信息转发出去。Agent通常以要素的身份存在,是为一个整体服务的,在信息流程中,Agent充当一个中间处理部件,它接收操作指令,并依据自己的知识,规则,和控制逻辑指定操作步骤,完成要求的功能,然后对等输出,这是Agent的第一个作用。Agent具有很强的表达能力,这意味着Agent 之间可以通过ACL通信,例如交换数据,逻辑信息和指令,这是Agent的一个显著的特点。Agent 与面向对象中的对象这一个概念非常的相似:Agent的内部数据结构和算法也是对外隐蔽的,它通过基于消息的接口与外界通信,Agent与对象二者的差别主要体现在接口语言上,在面相对象的程序设计中,对象之间通信时,不同的对象对同一消息的理解可以不同;在Agent方式中,Agent之间通信时使用公共的语言,其语义独立于具体的Agent,所以Agent的第二个作用是充电中间处理部件,它代表一个具有特定接口的实体,对外提供公共接口,这是解决资源异构的关键所在。

Agent具有公共性(commonality,Agent通信语言独立与Agent),真实性(veracity,Agent必须真实而坦诚的公布自己的功能),自治性(autonomy,一个Agent 不能强迫另一个Agent执行某项任务,除非后者公布自己具有该功能)和强制性(commitment,如果Agent公布了自己的某项服务,那么当它收到执行该服务的请求时,必须接收请求并执行该服务)。Agent的公共性使它非常适合解决资源异构的问题,从它的后三个特性可以看出,Agent非常适用于动态、可伸缩的环境。

Broker可以方便的提供Agent之间的互见性(awareness)。我们知道,Internet 是一个动态、可收缩的环境,这意味着实体的代表者--Agent,应该能够动态的增加和减少。Borker为Agent提供了注册的场所,这就提供了最基本的可见性:Agent 之间能够意识到对方的存在,更进一步,在协同应用环境中, 每个实体的动作应该对其他的实体产生影响。这意味着两个Agent在真正能够交互前,必须进行必要的协商,通信时还
要随时进行协同控制。当Agent比较多时,每个Agent 都必须包含与其他所有代理进行协商和协同控制的代码,不仅开销大,而且实现比较复杂。因此,可以通过Borker 进行集中的协同控制,提供更高级的互见性。

浏览器和HTTP Server之间通过标准的HTTP协议进行通信,而HTTP协议功能有限,因此,在浏览器和HTTP服务器之间引入了Proxy。Proxy充当HTTP服务器和HTTP客户两种角色。我们在Porxy和HTTP服务器之间扩展HTTP协议,增强客户方与服务器的通信功能,这对浏览器是透明的。



分享到:
评论

相关推荐

    DesktopView.Internal.Broker.ProxyStub.dll

    DesktopView.Internal.Broker.ProxyStub

    用SQL语句解决Service Broker未启动的问题

    本文介绍了 Service Broker 的概念和解决 Service Broker 未启动的问题的方法,包括启用 Service Broker 和创建 Service Broker 端点。同时,也介绍了 Service Broker 传输安全模式和对话安全性的基本原理。了解这些...

    AIX平台下Message Broker安装指南

    在IBM的Service-Oriented Architecture (SOA)解决方案中,WebSphere Message Broker(WMB)起着至关重要的作用,它作为一个中间件,负责消息传输、转换和路由。本指南将详细阐述如何在AIX操作系统上安装和配置...

    Broker设计模式范例

    在软件工程中,`Broker`设计模式是一种结构型设计模式,它的主要作用是作为客户端和一组服务之间的中介,提供一种松散耦合的方式,使得客户端可以方便地请求服务,而无需了解服务的具体实现。这种模式在分布式系统、...

    Oracle Message Broker Administration Guide Release 2.0.1 oracle8

    3. Message Broker Agent:负责将消息从一个系统传递到另一个系统。 三、Oracle Message Broker 的配置和管理 本文档详细介绍了如何配置和管理 Oracle Message Broker,包括: 1. 安装和配置 Message Broker ...

    WebSphere Message Broker 开发和部署最佳实践

    WebSphere Message Broker 开发和部署最佳实践 WebSphere Message Broker 是一个企业服务总线(ESB),提供了用于各种协议的通用连接以及为使用结构化和非结构化数据的应用程序提供数据转换功能。为了提高消息处理...

    SQL Server 2008中Service Broker基础应用

    Service Broker提供了一种方法,使得应用程序可以在不影响数据库正常操作的情况下发送和接收消息,确保数据的一致性和完整性。下面将详细阐述Service Broker的基础应用及其在SQL Server 2008中的实现步骤。 首先,...

    broker_更新版

    【标题】"broker_更新版"所指的可能是一个关于消息中间件的更新教程或软件,其中"broker"通常在IT领域中代表消息队列(Message Broker)的服务器,如RabbitMQ、Kafka或者ActiveMQ等。这些系统在分布式应用架构中扮演...

    IPv6 tunnel broker服務

    根据提供的文件内容,我们可以深入探讨IPv6 Tunnel Broker服务的相关知识点,包括其定义、运作原理以及在IPv4到IPv6过渡期间的应用。 ### IPv6 Tunnel Broker服务概述 IPv6 Tunnel Broker服务是一种通过现有的IPv4...

    Python-HBMQTT是一个开源的MQTT客户端和broker实现

    Python-HBMQTT是一个专注于MQTT协议的开源项目,它为开发者提供了MQTT客户端和broker的实现。MQTT,即Message Queuing Telemetry Transport,是一种轻量级的发布/订阅式消息传输协议,广泛应用于物联网(IoT)、移动...

    Data_Guard_Broker

    Oracle Data Guard Broker 是一个强大的工具,它为管理Data Guard配置提供了集中化和自动化的方法。Data Guard本身是一个高可用性解决方案,确保在主数据库出现故障时,备用数据库能够无缝接管,保持业务连续性。...

    C# MQTT客户端服务端broker

    在这个项目中,你将找到C#编写的MQTT客户端和服务端(broker)的源代码。 MQTT协议是基于发布/订阅模型的,其中客户端可以作为发布者,将消息发布到特定的主题,也可以作为订阅者,接收感兴趣主题的消息。服务端...

    Broker模式例子,软件体系结构实验,UML图

    文件"BrokerPattern.OOM"可能是关于Broker模式的详细说明或示例代码,而"src"目录很可能包含了实现这个模式的源代码。通过分析这些代码,我们可以深入理解Broker模式的实现细节,包括如何定义Broker类,如何处理组件...

    WebSphere Message Broker Basics_v6.pdf

    文档提到了关于用户ID的设置和其它安全问题,包括权限管理、加密和认证机制,以保护消息传输的安全性和数据的完整性。 #### 安装流程 文档提供了两种安装方式:快速安装(Express Installation)和高级安装...

    EMQ X Broker 版本 4.0-beta.1 永久免费

    综上所述,EMQ X Broker 4.0-beta.1版本的永久免费政策,为物联网开发者和企业提供了极具吸引力的选项,降低了物联网应用开发的成本,同时也提供了强大的功能和灵活性,以适应不断变化的业务需求。无论你是个人...

    Message Broker连接数据库

    Message Broker 连接数据库 Message Broker 是一种消息中间件,能够连接各种数据源,包括关系型数据库、消息队列、文件系统等。在这里,我们将讨论如何使用 Message Broker 连接数据库,包括配置 ODBC 连接、设置 ...

Global site tag (gtag.js) - Google Analytics