SOA 反原则?

  • Mark Little
  • 马国耀

2010 年 3 月 10 日

话题:SOA架构

最初有软件模式和反模式,随后这些模式被许多提供商和执行者应用SOA和 Web 服务之上。现在,曾在几年前写过 SOA 反模式的Steve Jones又提出了反原则的话题。他认为,原则是……

[...] 关于度量事物的核心概念。

[...] 同样,因为反模式能在一团糟的局面中给你指引,所以,反原则旨在帮你避免在编程中的出错。

文中 Steve 提到了 SOA 原则包括“松耦合”和“清晰的接口”,但又指出,一方面人们常常能够提到这些方面,却不会指出(谈及)反原则,而反原则却更重要,因为它们指出了应该要避免的错误领域。不论是线上还是线下,只要快速搜索一下,就能找到一大堆原则方面的经验,如Stefan TilkovThomas Erl以及其他人已经列出了很多。尽管也有一些关于反模式的文字,但是其中多数不是伪装的就是被忽略了的。

所以,什么才是好的 SOA 反模式呢?Steve 做了一些研究,但也许还有其他的。

  • 小返回值:“这指的是人们常常使用的批处理接口,它仅返回用于指示错误的代码和描述。在这里,这句话的含义是仅返回代码和描述而不是大量的信息。”
  • 直接调用:“该反原则的含义是人们拿到一个 WSDL,然后直接消费服务,中间没有任何代理或中介。这种编程是毁灭性的也是不应该的。”
  • 接口生成:“该凡原则说的是你不应该通过代码生成接口,而应该设计接口并把接口展现出去。因此,从凡原则的角度来看,你应该摈弃‘右键生成 WSDL’ 的暴露 Web 服务的 IDE 方法”

自从最初的以模式为主题的书发表以来,人们写了很多描述它们给工程师和项目带来的好处。在使用(重用)模式的同时,避免反乎模式几成为多数开发人员的第二本能,似乎 Steve 提出了这样一个观点:原则和反原则的重要性被忽视了,至少就 SOA 而言是这样的。


查看英文原文:SOA Anti-Principles?

SOA架构