SOA思想和技术——梁爱虎SOA学习笔记1
SOA思想——包容与超越(技术、架构),独立于技术,关注业务。
一. SOA的两套标准(服务组件集成):
1 SUN 的JBI(Java Business Integration):仅处理Java集成;关注如何构建一个好的ESB平台ServiceMix,适合于底层架构开发;
2 IBM和BEA的SCA/SDO:可处理其他平台集成。(这个其他平台还在想具体指什么?)SCA适合创建基于SCA的服务组件,SDO是一种标准化的服务数据对象,用统一接口封装不同的数据源(XML文件,DB);
服务总线:能接收各种不同的传输协议(RMI,SOAP,JMS),同时不限制这些具体的传输协议;
服务组件架构:能够实现业务组件和传输协议的分离;即能够自由绑定传输协议;
服务数据对象:可以自由读取各种不同数据源的数据(XML文件,DB);
二、 XO问题
1 面向过程:C,函数,全局变量;
2 面向对象:C++,JAVA,类,重用、继承、扩展,消除全局变量;
3 面向组件:J2EE,CORBA, DCOM,分布式调用,传输协议;WS编程也是组件编程,其消除了程序语言绑定;
4 面向构件(面向服务):面向服务,就是如何实现独立于技术的服务接口(业务接口)。面向业务编程?
软件演化的历程就是逐步降低耦合性的过程。
三、SOA基本要素
1 SOA的松耦合:
1) 服务间的松耦合;
2) 接口和实现间的松耦合;
3) 业务组件和传输协议间的松耦合;
2 粗粒度:接口 〉API
3 位置和传输协议透明:区别于面向组件编程;服务总线和SCA;