SOA归根结底是一种企业架构,因此它是从企业的需求开始的。但是,SOA和其它企业架构方法有很大的不同,主要体现在SOA提供的业务具有敏捷性的特征。对架构设计师来说,创建一个业务架构意味着创建一个IT架构,这个IT架构完全可以满足目前还没有明确概念的业务需求。
随着新一代架构革命的到来,面向服务的架构融合并取代了诸多之前的优秀架构。考虑到当前系统的数量以及产业在此上做的投资,任何新的架构都应该努力利用并改善既有的基础设施,而不能随便抛弃它们。而这正是SOA的精髓:它使既有的技术设施与业务联系得更紧密。
企业的多组织业务架构,是市场化发展的趋势之下每个企业的必经之路,对管理软件的升级也能起到鞭策的作用。
有一些企业由一项核心业务出发,通过不断发展不断介入或老业务分拆,形成越来越多的组织、事业部,从一家专买店,最终衍生成为百货公司。虽然在某些泛泛的商业管理类书籍中,一再强调企业经营需要专业化生存,但事实上,企业利益最大化思路下经营的企业常常会出现多组织业务架构的状况。
而另一些企业根据技术经营出发,衍生产业,例如一家洗染设备制造商,除为各大机构提供自己制造设备外,同时兼顾发展经营家庭洗衣连锁服务业务,发展若干年下来又成为一家大型外企洗染设备制造商的中国销售总代理。由一项核心技术出发,成为硬件制造商,又成为连锁授权销售商,最终又增添了分销业务。还有例如节能技术企业进入建材制造等等,全国知名的万杰医院是从医疗设备起家,成为医院品牌经营的企业。上述企业很多很多。
SOA为管理软件升级提供了发动机。客户的需求是市场鞭策,而真正能实现产品和服务升级的能力,依靠管理软件企业自身的技术动力能量。架构在平台化、组件化的SOA软件技术架构,为满足企业多组织需求提供了可能。
做ERP的最怕客户变,而客户最怕ERP不能变。这一对矛盾也就是长期以来,管理软件发展裹足不前的根源。模块化、功能化的软件编好了,就如同用木料建好的房屋,一旦客户的需求变了,其最终的结果往往是推倒重建,而企业的发展变动越来越频繁的今天,常常是软件还没建好,企业就变了。
而特别是当企业以多组织运营时,这种变化就更加频繁了。例如一些大型的海港企业,以项目制组建公司或业务单元,业务来了就成立组织运营,业务结束了就撤销组织,人员和物料、设备都被分散到其他新业务中。在超级大型港口企业,为实现资源和业务的利益最大化,常常是每天都有组织成立,每天都有撤销的。
SOA的强大和灵活性将给企业带来巨大的好处。如果某组织将其IT架构抽象出来,将其功能以粗粒度的服务形式表示出来,每种服务都清晰地表示其业务价值,那么,这些服务的顾客(可能在公司内部,也可能是公司的某个业务伙伴)就可以得到这些服务,而不必考虑其后台实现的具体技术。
基于SOA架构的管理软件为企业实现这种现实需求提供了可能。所有应用搭建在平台上,各种应用被设计成组件。SOA驱使下的管理软件升级运动,也越来越符合多组织企业变化的需求。
但是,要得到种强大和灵活性,需要有一种实现架构的新方法,这是一项艰巨的任务。企业架构设计师必须要变成“面向服务的架构设计师”,不仅要理解SOA,还要理解SOA的实践。在架构实践和最后得到的架构结果之间的区别非常微妙,也非常关键。