SOA的定义:
SOA(Service-Oriented Architecture)即面向服务的体系结构,是一个架构范式,它处理的业务流程分布在现存的或者新的范围巨大,并且处于不同的所有者控制下的异质系统上。
SOA的定义如何理解?
1、SOA关键的技术概念是服务、互操作性和松耦合。
2、SOA关键要素是基础设施、架构和流程(包括建立SOA的元流程以及监管)
3、SOA成功的关键因素是理解、监管、管理支持和钻研。
4、SOA既不是特殊的技术也不是银弹。有SOA适合的领域,也有其不适合的领域。
5、Web Service是实现SOA基础设施的可能方法之一,如果Web Service的各种规范更加完整和规范,Web Service是实现SOA的最有前途的技术。
为什么需要SOA?
1、分布式系统
当业务扩展的时候,软件系统会越来越复杂,越来越多的公司和系统都被牵连进来,整个系统会变得越来越大。
2、所有者各异
在业务处理中,多个系统属于不同的部门或者公司所有,你不能控制所有的东西,你不能总按照自己的方式来办事,导致无法进行一致化或者一致化的成本大得惊人。就算是将现有系统一致化了,在公司进行下一次并购的时候,又有大量的系统被合并进来,整个系统又回到原来的状态啦。
3、异质
大的系统用不同的平台、不同的编程语言,甚至不同的中间件。它们是由大型机、SAP主机、数据库、J2EE应用、小型规则引擎,以及诸如此类东西构成的杂脍,也就是说它们是异质的。
上述问题是大型系统中碰到的问题,而SOA可以很好的解决这里问题,所以我们需要SOA。