由于额外的参数是作为常规 SOAPElement 的一部分表示的(在 XML 树中有效),因此可以表示所需的任何信息,包括实际通知使用者的端点地址(图 8)、映射要求和系数等等。这样就能构建非常轻量级的无状态代理 (proxy) 来支持多种传输和转换选项。
结束语:有价值的折衷带来更大的灵活性
通过使用 WebSphere Application Server 6.1 中的 WS-Notification 代理,可以在 SOA 中创建用于发布和订阅消息传递的基于标准的灵活可扩展实现。它非常便于配置、使用和编程。
共享本文...
Digg 本文章
发布到 del.icio.us
Slashdot 一下!
还需要对一些现有 SOA 实践进行反思。尽管许多书籍文章都支持使用其他方式,但很多当前的 SOA 实现都使用强类型通信替代语义消息传递。用于设计服务接口的常见方法(并不一定是正确的方法)是以 Java 类的形式对其进行定义,并随后基于其生成 WSDL 文件。此类方法可最小化开发人员处理 XML 和 WSDL 的需求,将 XML 封送/取消封送工作转移到 Web 服务运行时,从而简化了开发人员的工作。不过,这通常会对服务实现的可操作性造成影响。
此外,此方法避免了使用 Web 服务运行时进行 XML 处理。开发人员需要负责以编程的方式在 SOAPElement 和基础应用程序对象之间进行转换。尽管乍看起来似乎是个复杂的服务实现,但最终会带来灵活得多的系统。此类方法不再使用 XML 为对象封送提供开销巨大的支持,从而释放了 XML 语义消息传递的强大功能。各个参与者能够自由地按照所需的方式准确地处理消息。(他们可以仅选取关心的元素。)而且,发布方引入的对消息传递的任何扩展并不会影响现有通知使用者。