网络服务标准尽管很有用,但是却仅仅是有助于SOA交付的一种传输工具。
 
要有远见
 
要想达到前面描述的能力和弹性的水平非常非常困难。在今时今日完全抛开现有的IT系统并重新开展一个全新的系统是不可行的。而实际上,服务更像是为了整合和扩充现有的应用而创建的。你可以通过聚合component来创建服务,而某些component又已经包装了现有的应用。
 
如下图所示,一个典型的服务实现暴露了现有的遗留系统功能。
 
结合经验浅谈SOA的剖析(五)_浅谈
 
但是它并不直接这样做(就像一个EAI实现所做的),而是通过把其内部实现的功能封装起来,这么做可以考虑到:
  • 扩展遗留系统的功能,却不需要触碰到它。
  • 通过把多个遗留系统的功能(或者同一个遗留系统的多个接口)结合起来,并实现额外的功能来合理化数据,从而增加服务的粒度。
  • 不需暴露现有的应用职能。
实现SOA的途径和现有EAI的起点不同,而且是后者的有力补充。大部分的EAI项目都是IT驱动的,而且瞄准的是企业应用只能的连接。SOA使得现有的应用使用服务的形式合理化,从而便利了业务和IT之间的收敛化。这种途径考虑到建立一个EA的工作蓝图,从而使得业务可以在不需要对现有的企业应用进行主要的检查的情况下开展。
 
创建这么一个服务层的另外一些驱动力量包括业务进程的需求。虽然通过基于现有应用的EAI来创建企业进程是可能的,但是这种做法会最终导致把现有的应用职能嵌入到更高级的企业进程中。通过引入上面描述的服务层,可以考虑到在现有的应用和进程之间创建一个有意义的业务抽象。下图显示了这么一个架构。
结合经验浅谈SOA的剖析(五)_职场_02
 
总结
 
组织应该使用SOA来在各种不同的应用之间的鸿沟搭建一座桥梁,并致力于对企业进程管理(BPM,Business Process Management)力量和弹性持续不断的追求。由SOA引入的业务层充分考虑到把业务的特性和现有的应用只能直接对应起来。如果能够准确的实现,SOA能够为不论是业务还是IT带来巨大的效益。所有四个架构既的远景(业务,应用,信息和技术)需要用心的投入来交付SOA。网络服务标准尽管很有用,但是却仅仅是有助于SOA交付的一种传输工具。