

尽管面临以上所谈到的诸多挑战,但大多数IT管理人员一致认为,采用面向服务的集成基础设施是“何时采用”而不是“是否采用”的问题。即便如此,“三思而后行”这句老话仍然完全适用。如果缺乏明确的业务分析和开发指导原则,“最后就会重复构建接口,这确实很可怕,”Wall Street Access的Underwood说。
调研公司CBDi的CEO兼首席分析师David Sprott同意上述看法,不过他提醒:采用面向服务的策略不应当受技术驱动,他说:“站在服务的角度来考虑,有助于把业务和IT摆在同等地位。换句话说,不要仅仅为了赶什么浪潮而去实施服务,应当根据业务需求和投资回报准则来行事。”
Thomson Prometric的Crowhurst也认为:重要的是学会如何以服务来表示基本的业务流程。他说:“改变开发方式需要文化变迁,相比之下,解决技术难题只是一种智力操练。”
配文
性能:SOA的第六个缺憾?
抨击Web服务和SOA的人士经常会提到性能是阻碍采用的一个障碍,但技术的标准化总需要在速度方面有一些牺牲。我们已经谈到基于Web服务的SOA目前还存在的一些不足,这些不足是其松散耦合、分布式的性质所固有的。但怀疑人士经常会提到另一个问题――性能,并认为这是SOA的重大弱点。这种怀疑观点通常针对两方面:SOA的分布性质和Web服务协议的开销。
不可否认,任何分布式系统的执行速度都不如独立式系统,这完全是因为网络的制约作用造成的。当然,有些应用软件无法容忍网络引起的延迟,例如那些对实时性要求很高的应用软件,但我们也必须看到,并不是只有Web服务或SOA存在这种情况。在实际应用中,Web服务和SOA带来的灵活性以及让系统接近它们所表示的作业单元--以及跨组织或跨网络地把这些系统连接起来――获得的好处远远压倒了网络延迟带来的性能影响。
与这个问题关系更为密切的是,与采用二进制编码的事务相比,XML事务更为复杂和庞大。Java应用服务器等系统把SOAP请求转换成内部对象,其难度估计要比采用本地方法如远程方法调用(Remote Method Invocation)大10倍。这听上去很有道理,但你考虑一下从Web本身得到的经验,就会发现其实并非如此。与HTML一样,XML也是采用内容非常冗长的语句来描述信息,但也正是这种易读性和扩展性弥补了性能方面的损失。而随着时间的推移,摩尔定律以及XML加速器等专用设备更是会逐步消除性能方面的影响。
到最后,稳操胜券的既不是Web服务的拥护者,也不是Web服务的批评者,而是那些能够使用适当工具处理适当事务的人。今后一段时间,大容量事务处理将继续由采用二进制编码的专利性中间件方案来解决;而需要不太频繁但更灵活的交互关系的应用软件将越来越多地由Web服务来满足。