最近一期的《架构师》杂志(The Architect Journal)刊载了微软院士Donald Ferguson 及其他两位重量级人士合作撰文的《The Internet Service Bus》,文中向我们描绘了一个“信息服务”完全分布在互联网之后如何让用户以一种透明的方式消费他们。与ESB 一样,ISB 的主要作用也是“聚合”,将各种资源以可度量的服务等级聚集在一个同样位于互联网的平台上。
ISB 对各种资源和服务识别完全基于 URI(Unified Resource Identifier),他的主要功能包括连通性、身份和主体服务、工作流:
- 连通性方面,ISB 采用面向消息的队列机制,根据用户和其他服务主体的需要,使用采用“出版预定”模式进行消息的收集和分发;
- 身份和主体服务方面,ISB 主要实现在访问策略控制下,如何管理用户对资源的使用,所有的控制措施基于 Web HTTP 调用的前提下进行,主要通过 WS-* 协议族和证书、令牌等方式实现。
- 工作流则根据既定的流程,以 Web 事件驱动的方式完成相对比较复杂的工作任务,提供 ISB 环境下不同主体间的平滑协作关系;
连通性和身份 / 主体服务协作的目的是提供一个面向整个 Internet 环境(包括各种藏在防火墙之后)应用间的“统一安全”互联环境。为了达到该目的,ISB 需要提供“可重发通信”、“协议”和“操作功能”三方面能力。其中“可重发通信”主要向最终应用模拟出一个逻辑上端到端直连,但物理上被各种网络和防火墙隔离的通道;“协议”则提供了整个通道与不同参与方协同的能力,包括提供对 WS-*、REST 的支持;“操作功能”则是基于 URI 可获得的各种服务功能点。
虽然 Web 2.0 的一系列技术力图以一种更贴近用户或更炫目的方式取悦用户,但相信在不久的“审美疲劳”后热情最后还要回归到信息本身和信息获取的方式上,而 ISB 恰恰作为把互联网拉平并封装的手段,应该为创新一代的 Web 应用提供“更实惠”的信息支持。
评论