从业务需求开始
没有公司采用SOA是不以处理重大业务问题为目标的。毕竟,如果我们所做的仅是为了用服务处理小问题,那么我们就会跌入我们构建。所有的软件项目都必须很自然的从业务需求开始,而对于SOA,主要的业务需求是“元需求”,它的目的是实现一个响应不可预见的变化的架构,一个本质上很灵活的架构。无论如何,架构师首先要意识到对IT的特殊业务需求,例如,一些新的业务功能,新的产品,新的业务关系或者新的预算限制。无论这些业务需要什么,面向服务的架构都必须铭记这样的需求永远没有尽头。
毕竟,SOA项目不是典型的IT项目。典型的IT项目以确定的业务需求开始,架构师或项目团队里的其他人可以和业务干系人(提出需求的人)坐在一起提炼出一套需求用例。但是,SOA项目的用例完全不同。它不会说明特定的“我需要系统这样做”一类的需求,而是描述很多用户想如何利用。于是,面向服务的架构必须允许需求变更而不是假定有一套固定的需求。解决方案必须不只满足业务的短期需求,而必须能够满足未来的需求。
ZapThink的做法
因此,我们说SOA项目应该以最小的业务问题为目标。这并不意味着最小的应用或最小的解决方案。就好比业务过程以组成服务的方式组合,也能包含更小的业务过程。业务问题也是组合的。公司可能会有如何更好服务客户的业务问题,但这个问题实际上由很多更小的问题组成,例如更好的确定他们客户的身份,改进客户支持过程或者减少支持客户的时间和费用。每个这种问题又是由更小的问题组成。
因此,面向服务的架构必须能为组织如何解决迭代式问题维护一个实用的思维模型,而不是维护一个单独的附带的组织架构。通过这种方式,架构师能用不大也不小的合适粒度的服务为业务问题构建SOA解决方案。
尽管我们的产业专家不会同意,但实际上我们正在谈论的东西是很能给人鼓励的。很长时间里我们没有谈论SOA为何物了,而只是谈论如何使用它。所以,现在的谈论正好帮助大家意识到SOA成功的关键并不在于选择合适的中间件,而在于选择合适的服务,并且用合适的基础设施使这些服务对组织产生价值。
(编辑:aniston)
|