知识卡片
Web Services的定位是应用集成,而非应用构建
内容
作者写作本书时,业界对Web Services的普遍乐观论调是——它能让重用真正落地、甚至终结系统集成商这个职业;作者对此持谨慎态度,理由很直接:Web Services是一种应用集成技术,不是应用构建技术,本书讨论的这些架构模式因此用不上它太多。正确的做法顺序应该是——先按常规方式构建好自己的系统,然后再把其中某些确实需要对外暴露的部分包装成Web Services(可以把这些暴露出去的Web Services理解成某种远程外观),而不是反过来,一开始就把单个应用拆解成一堆互相通过Web Services通信的碎片——除非真有必要,否则没有理由这么做。这句提醒的落脚点,正是回到了第7章确立的”分布对象设计第一定律”:不要被”Web Services构建起来有多容易”的宣传冲昏头脑,误把”能轻松拆分成远程服务”当作”应该这样拆分”的理由。另外,尽管当时大多数Web Services实践都是把它当成一种基于XML的同步RPC调用来用,作者本人更倾向于异步的、面向消息的使用方式,只是这本书篇幅所限没有展开相关模式,寄望未来一两年内能有专门讨论Web Services异步消息模式的著作出现。
参考来源
- 位置:《企业应用架构模式》第一部分"表述"之"第8章 通盘考虑"之"8.4.4 Web Services"(源文件:_epub-src/OEBPS/Text/000058.html)
- 结论依据:原文说明"Web Services在本书介绍的这些模式中发挥不了太大的作用,因为Web Services是应用集成而不是应用构建的技术。除非必须,一般没有理由将单个应用分隔成若干相互通信的Web Services。而应该先构建你的系统,然后将其中的某些部分暴露成Web Services,把这些Web Services看作某种远程外观。总之,不要被关于Web Services多么容易构建的过分宣传冲昏了头脑,别忘了'分布对象设计第一定律'",直接支撑本卡结论。
- 原始内容:除非必须,一般没有理由将单个应用分隔成若干相互通信的Web Services。而应该先构建你的系统,然后将其中的某些部分暴露成Web Services,把这些Web Services看作某种远程外观。