可能大家都听说过《Goldilocks和三只熊》这个童话故事。Goldilocks闯进了三只熊的家,她分别试了熊爸爸、熊妈妈和熊宝宝的粥、椅子和床去寻找一个觉得舒服的选择。很简单一个道理,能满足其它人要求的事物可能并不能让Goldilocks有满意感受,很多早期面向服务架构的支持者都认识到他们必须测算服务的大小才能解决他们的业务问题,从而使可重用达到最大化减少不必要的开销。不仅如此,这些早期的采用者还意识到他们必须处理服务基础设施的重要方面以及重新设计架构的最佳实践,哪怕是部署一小部分服务。毕竟,成功的SOA实践需要的不仅是正确的服务,还需要用正确的方式实现它们。
ZapThink反复强调的就是SOA是企业架构的一个方面,本身并非一种技术,而更是一种规则。SOA最佳实践的精髓就是理解如何用正确的服务处理正确的问题。毕竟,IT是用来处理业务问题的,而不是实现技术方案然后用它们找出一些业务问题。
识别合理尺寸的问题
正确识别服务的合理尺寸一个关键是识别SOA项目的适当范围,换句话说,就是解决正确的业务问题。在处理SOA项目时关注公司想要的所有潜在服务是非常危险的。这种方法实际上就是想把整锅水都烧开,其实是毫无意义的。毕竟,SOA的目的是处理公司面对的不可预测的经常性的变化。所以,我们没有必要试图通过识别公司需要的所有服务来处理一个非常庞大的业务问题,因为这些服务还是会继续随着时间变化的。
另一方面,ZapThink曾经鼓励公司应该首先处理最小的问题才能成功应用SOA。现在,这很容易被误解成鼓励公司只开发粗粒度的服务,甚至是解决每人实际关心的一些小问题。SOA领域一些著名的专家对这个问题也存在争论,但他们对此问题的解释是适用于市场的。事实上,我们赞同其中的很多观点,尤其是James Governor的。相反,公司想要的最后的东西是细粒度的服务集合。它们满足的业务需求很小以至于每个单独的服务几乎是没用的。公司需要合适粒度的服务来处理业务问题,但是业务问题又应该是多大呢?这个问题不同于服务的粒度或者实现服务所需的基础设施、架构和计划。
(编辑:Aniston)
|