防火墙的穿越
绝大多数互联网用户的机子上不光有HTTP服务器。问题的关键不是如何架设HTTP服务器,而是我如何将消息发到你的机子。比如,很多家庭用户都是通过带NAT(Network Address Translation)功能的路由器/防火墙上网。如果不作一些复杂配置,NAT将拒绝所有主动进入的数据包。同样,我在咖啡馆通过无线局域网上网,也有问题,因为我的自己没有公网IP地址。当然,如果我只需要单向可靠传输,还不是问题,直接回复HTTP请求即可。但如果要双向可靠,问题就来了。
假如某回应消息丢失,服务端就需要向客户端重发消息。但客户端地址是未知的,这时又没有已经建立的连接可用,怎么办呢?
救星来了:MakeConnection
MakeConnection的基本原理,是客户端定时主动从服务端“拉”(poll)消息。换句话说,消息流向是从RMD到RMS。客户端的RMD主动向服务端的RMS询问是否有消息需要发送。整个流程可以简单概括如下:
客户端同时创建两个序列,第二个备用。
客户端发送请求,理想状态下可能直接收到回应。
因为各种原因,接收某些返回时超时,或连接丢失。
客户端初始化MakeConnection,并传送备用序列的序列标识。
服务端返回丢失的消息和是否还有剩余消息需发送的标识。
没有更多消息需发送时,客户端终止序列。
安全
RM可有多种方法、以插件方式在其他安全模型中工作。不过,安全问题,我们还得谨慎考虑。比如所谓“序列攻击”——两个合法的客户端,各有一个序列,都得到了服务级授权,但其中一个是攻击者。攻击者如果能猜测(或嗅探)到另一个序列标识,那么它就可以展开拒绝服务攻击(如请求结束这个序列)。因此,RM规范必须研究如何将序列与特定环境中的信用证书或Session相结合。也就是说,RM代理有应对这类攻击的能力。在MakeConnection中,具备这种能力尤其重要,否则,未授权用户可以轻松截获发往其他系统的消息。
WSRM-Policy
在发布核心规范的同时,技术委员会还发布了WSRM中用于的WS-Policy Framework模型的PAL(Policy Assertion Language)。在原来的1.0规范中,策略模型非常复杂,在WSRMP中有很多定时参数。对此,第一步,技术委员会删除了大量无用的、让用户无法动态调整的参赛;第二步,部分参数转移到CreateSequence。这就意味着,在没有WS-Policy的前提下,用户也能成功使用WSRM。那么我们不得不问:WSRM的可靠性到底是指的什么?
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。