普通程序员对SOA的理解与应用
2013-08-22王克茹
王克茹
摘 要:对于SOA的理解,大多数是更高层面的概念,专门面向大型软件的项目经理、软件架构师等等相对高端的软件设计人才。而对于基层的软件工程师和程序员能不能理解SOA的概念,应该怎样去理解进而可以让SOA的设计思想更加平民化,是本文描述的重点。
关键词:SOA;SCPI
中图分类号:TP311
SOA是面向服务的设计架构(Service-oriented Architecture),相比面向对象设计来说,属于更高的一个层面。现在,大多数基于SOA设计都是非常庞大的软件系统。从某种意义上讲,SOA也是一个广义的概念,基于SOA的设计可以为大的系统软件设计基础运行平台,在基础运行平台上开发不同的功能。
对于SOA的理解,大多数是更高层面的概念,专门面向大型软件的项目经理、软件架构师等等相对高端的软件设计人才。而对于基层的软件工程师和程序员能不能理解SOA的概念,应该怎样去理解进而可以让SOA的设计思想更加平民化,是本文描述的重点。
SOA实际上和很多其他学术概念有很多相似的地方,比如基础平台加上应用这个概念和软件二次开发就非常类似,也和基于Frame Work的软件开发有很多相似的地方,Frame Work是基础平台,在Frame Work上开发的功能也能够理解为基于SOA的应用。无论是二次开发也好,Frame Work也好,基础平台类的程序一旦写好了代码就不需要再修改了,而基于基础平台的应用可以千变万化,尽可能地发挥我们的创造力。
从体系结构的角度,SOA是一种软件体系结构和软件构造方法。在软件的基础架构上,SOA架构能够实现服务部署环境和服务实现之间的松散耦合,以及不同功能的服务实现之间的松散耦合性,有利于提高分布式系统的可伸缩性,有利于实现对资源的动态优化配置,最大程度地资源共享。……