http://www.cww.net.cn/tech/html/2007/11/8/200711817661497.htm
作 者:刘松
SOA推进策略的问题,是我们最近被问到最多的问题。有个管理专家用“道”,“法”,”术”,来比喻SOA几个方面,很有意思。“道”的层次可以认为是业务敏捷,IT灵活性等管理目标,”法”是指,SOA的管理与控制规则,“术”,是指各种具体的标准与技术规范。
看到今年以来,媒体上无数技术厂商,应用软件公司,甚至硬件公司都把SOA当作时髦的标签做市场宣传,我不得不自嘲的认为,自己也是学屠龙,卖猪肉。一种技术潮流刚刚兴起的时候,发生炒作和形式大于内容的事,在IT领域已经成为一种传统。从兴趣进入真正的项目推进,才是真正有价值的事。然而认真思考了SOA架构理念的人,很快就会发现,想要把它认真落地,一大堆问题就浮现在脑子中:
·如果企业的业务战略都在不断变化,传统的IT规划是否还有应有的价值?
·如何一面开发应用系统,一面建立企业级的服务管控规则?
·现有的生产系统都十分陈旧,如何将他们纳入新的SOA架构?
·如何在开发新的跨业务应用融入SOA的实施方法?
·SOA好像是比EAI更好的一种集成“术”,到底有什么不同?
下面我试着用中间相遇的策略作为一种可行的办法,来回答一些问题。有些企业在推进SOA实施时采取的是“自顶向下”的方式,即从企业的战略开始,逐步向下展开;另一些企业则采用了另一种途径,就是“自底向上”的方式。这里所说的“自底向上”,并不是说由底层的技术推动业务,而是说,从小的项目开始做起,积累经验,然后做大项目,最后上升到战略层面。
然而,无论是“自顶向下”还是“自底向上”,这两种SOA实施策略都各有利弊,很难达到理想的效果。
“自顶向下”是企业实施SOA战略性的策略,其核心思想就是从企业层面做SOA实施的整体规划。它的好处是从企业整体进行考虑,面向业务,企业可以根据其业务的发展情况以及现有的IT情况做一个SOA实施的整体规划。这样可以推动整个企业的标准化,所有的服务模块都基于相同的标准,方便今后的重用。但是它的风险也不小:一方面是范畴涵盖大,周期长,初期的投资大;另一方面是它要求整个企业要有比较高的纪律和技能,有一套完整的组织架构和管理流程。
“自底向上”的实施办法则是战术性的,它强调从小处着手,从一个部门级应用开始实施SOA。这种方法的好处是见效快,风险小,初期的投资也不大。不过这种实施方式的弹性相对比较差,特别是当企业需要在更大层面实施SOA时,可能会产生一些衔接问题。
结合多年来帮助客户成功实施SOA的经验,一种更加切合实际的SOA实施策略,这就是“中间相遇”(meetinthemiddle)的实施策略。在SOA的实施中结合“自顶向下”和“自底向上”的方法,寻求两者之间的结合点,才能最有效和成功地实施SOA。因为对绝大多数企业或组织机构来说,在业务系统实施的初期,存在很多不确定性,包括业务需求和项目所选择的开发技术、平台等都存在不确定性。遵循“中间相遇”的原则,业务人员和开发者都各自循序渐进地做事,在过程中不断沟通,这样就能够使得业务的改变得到最快的响应,并且不会影响开发效率,最终两者能够在某一点相遇,从而搭建起符合需求的系统。通俗地说,“中间相遇”的原则就是我们常说的“大处着眼,小处着手”,在做一个一个项目时,并不仅仅把眼光局限在正在进行的项目,同时也兼顾企业IT系统和业务发展的整体规划。
那么,采用何种软件工程学作为指导推进中间相遇的实施策略呢?
许多传统软件工程学的都是在SOA之前发明的,这里面的大多数方法没办法通过简单的拿来主义,直接用于指导SOA的软件开发。项目群的整体规划,可以采用PMO的办法。但针对SOA应用开发的推进,我们需要一种方式,既能针对SOA实施的特点,又能兼顾特定企业的管理模式和软件开发习惯。
很多大型企业应用系统是一个规模宏大、业务复杂的系统,现在所有从事的架构师都在考虑基于SOA服务的软件工程学。基于“中间相遇”的实施策略,在自上而下地规划了IT战略和参考架构后,企业需要找到一个有代表的应用项目。引入SOA服务工程学来开始此具体项目的实施,通过这个SOA服务工程学的推进方法,企业可以依靠如下三个方向建立自己独有的SOA服务工程学框架:
作 者:刘松
SOA推进策略的问题,是我们最近被问到最多的问题。有个管理专家用“道”,“法”,”术”,来比喻SOA几个方面,很有意思。“道”的层次可以认为是业务敏捷,IT灵活性等管理目标,”法”是指,SOA的管理与控制规则,“术”,是指各种具体的标准与技术规范。
看到今年以来,媒体上无数技术厂商,应用软件公司,甚至硬件公司都把SOA当作时髦的标签做市场宣传,我不得不自嘲的认为,自己也是学屠龙,卖猪肉。一种技术潮流刚刚兴起的时候,发生炒作和形式大于内容的事,在IT领域已经成为一种传统。从兴趣进入真正的项目推进,才是真正有价值的事。然而认真思考了SOA架构理念的人,很快就会发现,想要把它认真落地,一大堆问题就浮现在脑子中:
·如果企业的业务战略都在不断变化,传统的IT规划是否还有应有的价值?
·如何一面开发应用系统,一面建立企业级的服务管控规则?
·现有的生产系统都十分陈旧,如何将他们纳入新的SOA架构?
·如何在开发新的跨业务应用融入SOA的实施方法?
·SOA好像是比EAI更好的一种集成“术”,到底有什么不同?
下面我试着用中间相遇的策略作为一种可行的办法,来回答一些问题。有些企业在推进SOA实施时采取的是“自顶向下”的方式,即从企业的战略开始,逐步向下展开;另一些企业则采用了另一种途径,就是“自底向上”的方式。这里所说的“自底向上”,并不是说由底层的技术推动业务,而是说,从小的项目开始做起,积累经验,然后做大项目,最后上升到战略层面。
然而,无论是“自顶向下”还是“自底向上”,这两种SOA实施策略都各有利弊,很难达到理想的效果。
“自顶向下”是企业实施SOA战略性的策略,其核心思想就是从企业层面做SOA实施的整体规划。它的好处是从企业整体进行考虑,面向业务,企业可以根据其业务的发展情况以及现有的IT情况做一个SOA实施的整体规划。这样可以推动整个企业的标准化,所有的服务模块都基于相同的标准,方便今后的重用。但是它的风险也不小:一方面是范畴涵盖大,周期长,初期的投资大;另一方面是它要求整个企业要有比较高的纪律和技能,有一套完整的组织架构和管理流程。
“自底向上”的实施办法则是战术性的,它强调从小处着手,从一个部门级应用开始实施SOA。这种方法的好处是见效快,风险小,初期的投资也不大。不过这种实施方式的弹性相对比较差,特别是当企业需要在更大层面实施SOA时,可能会产生一些衔接问题。
结合多年来帮助客户成功实施SOA的经验,一种更加切合实际的SOA实施策略,这就是“中间相遇”(meetinthemiddle)的实施策略。在SOA的实施中结合“自顶向下”和“自底向上”的方法,寻求两者之间的结合点,才能最有效和成功地实施SOA。因为对绝大多数企业或组织机构来说,在业务系统实施的初期,存在很多不确定性,包括业务需求和项目所选择的开发技术、平台等都存在不确定性。遵循“中间相遇”的原则,业务人员和开发者都各自循序渐进地做事,在过程中不断沟通,这样就能够使得业务的改变得到最快的响应,并且不会影响开发效率,最终两者能够在某一点相遇,从而搭建起符合需求的系统。通俗地说,“中间相遇”的原则就是我们常说的“大处着眼,小处着手”,在做一个一个项目时,并不仅仅把眼光局限在正在进行的项目,同时也兼顾企业IT系统和业务发展的整体规划。
那么,采用何种软件工程学作为指导推进中间相遇的实施策略呢?
许多传统软件工程学的都是在SOA之前发明的,这里面的大多数方法没办法通过简单的拿来主义,直接用于指导SOA的软件开发。项目群的整体规划,可以采用PMO的办法。但针对SOA应用开发的推进,我们需要一种方式,既能针对SOA实施的特点,又能兼顾特定企业的管理模式和软件开发习惯。
很多大型企业应用系统是一个规模宏大、业务复杂的系统,现在所有从事的架构师都在考虑基于SOA服务的软件工程学。基于“中间相遇”的实施策略,在自上而下地规划了IT战略和参考架构后,企业需要找到一个有代表的应用项目。引入SOA服务工程学来开始此具体项目的实施,通过这个SOA服务工程学的推进方法,企业可以依靠如下三个方向建立自己独有的SOA服务工程学框架: