http://www.jdon.com/artichect/SOA.htm
还有从可重用性快速开发等方面谈:
http://www.jdon.com/artichect/reuse.html
如果说OO可以提高可重用性和软件质量,但是需要程序员OO素质,而现实中程序员OOs素质为0的很多,在这种情况下,通过SOA达到软件构架可拓展性就是另外一条路,因为你的软件中调用的组件大部分是专业软件公司的组件,这些公司组件开发能力强,OO水平高,从而形成两种阵营,高OO素质的程序员所在公司是SOA服务提供商,而没有OO素质的公司就使用SOA服务,借助SOA提高自己软件架构质量。
所以,SOA不但是软件生产方式革命,也是程序员职业生涯的革命,那么觉得Java复杂的程序员,不愿意花力气或不能够提高软件质量,可通过花钱购买SOA服务来得到,,所以SOA服务可以看成现在可重用组件的运行方式,现在组件是通过购买后,再加入到自己的软件中,而通过SOA就只需要一个网址就可以调用使用了。
所以,要理解SOA,首先你需要有一个场景,在这个场景中你需要清楚你遇到的问题,然后再来看SOA如何能够解决你遇到的问题(可能SOA能够解决你的问题,可能不能,可能有比SOA性价比更好的解决方案)。
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》