SOA推进策略的问题,是我们最近被问到最多的问题。有个管理专家用“道”,“法”,”术”, 来比喻SOA几个方面,很有意思。“道”的层次可以认为是业务敏捷,IT灵活性等管理目标,”法”是指,SOA的管理与控制规则,“术”,是指各种具体的标准与技术规范。
看到今年以来,媒体上无数技术厂商,应用软件公司,甚至硬件公司都把SOA当作时髦的标签做市场宣传,我不得不自嘲的认为,自己也是学屠龙,卖猪肉。一种技术潮流刚刚兴起的时候,发生炒作和形式大于内容的事,在IT领域已经成为一种传统。从兴趣进入真正的项目推进,才是真正有价值的事。然而认真思考了SOA架构理念的人,很快就会发现,想要把它认真落地,一大堆问题就浮现在脑子中:
·如果企业的业务战略都在不断变化,传统的IT规划是否还有应有的价值?
·如何一面开发应用系统,一面建立企业级的服务管控规则?
·现有的生产系统都十分陈旧,如何将他们纳入新的SOA架构?
·如何在开发新的跨业务应用融入SOA的实施方法?
·SOA好像是比EAI更好的一种集成“术”,到底有什么不同?
下面我试着用中间相遇的策略作为一种可行的办法,来回答一些问题。有些企业在推进SOA实施时采取的是“自顶向下”的方式,即从企业的战略开始,逐步向下展开;另一些企业则采用了另一种途径,就是“自底向上”的方式。这里所说的“自底向上”,并不是说由底层的技术推动业务,而是说,从小的项目开始做起,积累经验,然后做大项目,最后上升到战略层面。
然而,无论是“自顶向下”还是“自底向上”,这两种SOA实施策略都各有利弊,很难达到理想的效果。