在对于SOA的争论中,不管是拥护者还是怀疑者,都列出了自己的理由,拥护者认为SOA促进了应用集成,节省了IT成本,同时更好地将IT与业务相结合。而反对者们则认为,SOA只是炒作者推出的一个新概念,它并没有带来实质的改变,不仅如此,还使得IT更加复杂。或许,这两种观点都有一些问题。
拥护者的五大误区
事实上,双方的认识都有一定的误区,对于用户者来说,有这样五个方面需要注意:
1. 服务是由IT部门创造的并延展到业务。这假定SOA架构师与设计者通过引入新的SOA解决方案而重新创造了业务。SOA并不是关于重构业务,而是提升:软件设计师与软件架构师更好的建模现实世界的能力。软件并不能解决业务,它更应当是去理解业务。
2. SOA应用是由预制的组件拼装成的。虽然面向服务的系统确实包含了封装的组件,或是服务,他们同样还包含了客户端,非面向服务的批处理组件,以及需要连接的遗留系统。
3. 共享与重用应用逻辑是SOA的主要好处。尽管许多SOA拥护者试图将SOA包装成重用的圣杯,但有人对此有不同的看法:重用并不是主要的好处,尽管它是面向服务架构的好处之一。还有很多其它的要素,比如使你的内部架构更加可管理,有上佳的扩展性,以及应用在面向服务的情况下运作得更好。
4. SOA消除了对应用集成的需要。不管 SOA基础设施多么高效,始终还是会有企业应用集成的需要。SOA所做的是为架构引入一致性,以及工具和标准以帮助应用集成。
5. SOA能减少IT成本。SOA从长期来看或许能减少IT成本,但早期而言对于 SOA的投资实际上花费更多…不是因为SOA更为繁杂,而是因为当你从头开始一件事情时,你必须理解新的方式,培训人员,购买新的工具——这些都是成本。
怀疑者的五大误区
对于SOA的怀疑者来说,他们同样需要注意这样五个问题:
1. SOA引入了新的复杂性与问题。与部署与搭建面向服务系统相关的问题通常不是 SOA本身;它们是分布式计算,或者现代基于网格计算网络的问题。
2. SOA不是什么新生儿,不过是炒作,新瓶装着旧酒卖罢了。当思考SOA的时候,应当超越技术之上(比如RPC):SOA是意图处理应用业务功能的业务拓扑,而RPC的意图只是简单的分布应用。
3. SOA是命里注定的,因为Web服务表现不好。将SOA看着是整个基于 SOAP的基础之上是SOA的最大误区之一:这两者之间并没有什么共通之处,然后人们总是比 SOA与 SOAP搞混。SOA跟Web服务没什么关系–Web服务只是在客户端与SOA服务之间建立连接性的众多方式之一。
4. SOA营销受挫是因为业务上看不到利益。随着更多的公司迁移到高级的SOA,业务利益会愈加明显:事件驱动的SOA有着非常重要的组件,能带来直接的利益,对于业务运作有明确的利益,对于任何想要对整体IT信息环境获得掌控或者想要构建状况感知的企业来说都有利益。
5. SOA过时了,我们应当继续前进。SOA正在丧失对于分析师的吸引:基本 SOA不再有什么能激起兴趣的了。我们知道如何去做,它不再像以前一样那么多被提及,但是你要往哪里前进呢?你能找到的SOA的唯一替代就是更高级形式的SOA。