【IT168 信息化】IT168:企业在考虑是否应该采用SOA架构的时候往往不知从何入手,因为对于新技术CIO总是很谨慎。SAP也已经有了相关的平台并已经把现有产品部分重写为SOA的服务。请问SAP是否就企业应用SOA的切入点有何建议?
SAP大中华区首席技术官张侠(以下简称张侠):SOA本身不是一个产品,而是一种理念。业内也有另一种说法,认为SOA是一种风格,就像建筑风格的感觉一样。
根据企业具体情况的不同,实际上最开始的切入点也是不一样的,而且具体怎么深入应用下去,每个企业肯定也没有完全一样的演进道路。但是根据SAP在SOA方面的经验,我们认为有以下几个切入点可以供企业参考:
1、针对使用寻找突破口
比如一个大型企业现在有三十多个事业部,老板想要看到整个企业的财务情况。可以以解决这个问题为最初的驱动力,着手引入SOA,然后再逐步的深化应用。
2、从业务流程改革入手
比如企业有新业务的要求,就可以针对它启动SOA架构来解决。
3、采取快速取得效果的办法
保证这个企业花了钱,马上见到效果,才能越做越多。
IT168:你刚才也谈了企业启动SOA的非常好的契机,但是不管从何入手,肯定都会涉及到服务设计这个问题,尤其是服务设计的精密度如何把握,请谈谈你的经验。
张侠:这个问题很好。如果服务被设计得太细,实施就会太复杂;太粗糙又会导致复用度不高的问题。所以服务设计应该是也是一个渐进的过程。
以SAP为例,我们把所有产品拆分成1000多个服务,未来会逐步细化到10000个左右的服务。所以我认为,相比之下,采取什么样的架构对企业更重要。SAP就选择了自己的SOA架构,所以我们能把原来的系统的某一块做成一个大块的服务,有时间再拆开做成小块的,这就相当于系统工程的子系统怎么划分会越来越合理。但是,采用这个架构是很重要的第一步,这之前有了总体规划,再保证之后每一步都是朝这个方向走。有了好的架构,可以让各种服务有效的结合在一起,随着发展再来调整。
IT168:这个架构是指企业总线(ESB)?
张侠:从SAP的角度来讲是指NetWeawer,我们认为ESB的层次低了一点,而且它主要是提供数据交换服务的。而我所说的架构是指要把业务的语言放进去,比如财务开发票收款。
其实这很像城市规划。ESB相当于建一个社区修几条路,而我所说的架构是指要规划好社区的功能,比如商务中心区、娱乐社区、住宅区等。
IT168:企业都很实际,会讲投资回报率(ROI),如果用SOA 这种方式来做项目,从过去的平台迁移过来,大概成本会增加多少?
张侠:不同版本的SAP升级费用也不一样,但这不是完全浪费的。其实我们现在的产品都是NetWeawer+应用系统这样的组合。最早我们只是提供一个应用的平台,然后演进到集成的平台,后来又改写成复合应用的平台,最后我们会变成一个业务流程的平台。而用户也实在不知不觉中跟我们进入SOA世界的。
IT168:做过技术的人都知道,数据在数据库中是以一定的格式进行存储的,一个应用需要的数据可能存在于不同的数据表中,而这些数据表的主从关系是预先设计好的。绝大多数新服务需要不同应用提供的多种数据,因此就需要为这些服务设计新的数据存储格式。随着SOA的深入应用,最终肯定会导致数据库的迅速膨胀,管理难度也会大大增加。你怎么看这个问题?
张侠:这是一个很关键的问题,可以通过主数据管理来解决,现在已经有现成的解决方案了。过去的解决方案是做一个数据仓库,所有数据都存在一个数据库中。但后来发现不符合实际情况。
IT168:选择主数据管理需要多少费用?
张侠:目前是按照数据项收费的。
IT168:你刚才介绍,SAP已经把原来的产品改写成了1000多个服务,以后可能要10000多个。在企业中也会有这种情况,比如今天写了10个服务,几个月后可能要拆分成50个,一年后可能又要拆分成100个。长此以往,会不会形成一个无休止的投入?
张侠:我觉得不会。核心上的服务不应该总变。
IT168:针对包括市场上出现的SOA中间件、SOA硬件、SOA应用软件等众多类型的SOA产品,你认为什么样的产品才应该称为SOA产品?是否有一些衡量标准?
张侠:我认为只要是通过松耦合、面向服务的方式作的产品都可以叫SOA产品。
在SOA产品发展的这个过程中,软件业会出现一方面整合,出现几家大公司;另一方面,出现一大批新型的小公司,或者老公司转型。
IT168关于SOA的更多报道,请见http://cio.it168.com/subject/20061218_soa.shtml
原文链接:http://blog.csdn.net/xiazhang/archive/2006/12/27/1464678.aspx