Service-Oriented Architecture:面向服务的架构(面向服务的体系结构)
SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准。
JBI全称Java Business Integration ,即Java业务集成。JBI的提出是基于面向服务体系提倡的方法和原则,为了解决 EAI(企业应用集成)和 B2B 若干问题的 Java 标准。当前版本( 1.0 )是 2005 年 8 月通过的 JSR ( Java 规范需求) 208 定案。
简单的讲:JBI是一种支持SOA实施的技术选择。
SCA全称Service Component Architecture ,即服务组件框架。 SCA是一个规范;是一种架构模式;是一种通用的面向业务服务的组件模型.它定义了部署模型,提供了实现提供服务和使用其他服务的组件、组装组件,以通过服务引用其他服务的方式来构建业务应用程序,与SOA组合的原则一致。它由BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范。
简单的讲:SCA是一种支持SOA实施的技术选择。
SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。
ESB( Enterprise Service Bus )----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。
可以明确的说SOA就是一种服务集成思想,它的不同实现方式可能差别很大,目前SOA最常见的实现方式是SCA和JBI。
ESB主要功能:
协议支撑和转换
消息格式支撑和转换
服务监控管理(注册、安全、版本、优先级)
注册发布服务,为服务与传输协议之间解耦
ES框架:
Mule(最早的)
Open ESB(OpenESB是Sun公司提出来的开源ESB项目,所以对JBI规范的支持程度就不用多说了。)
ServiceMix:(ServiceMix是Apache基金会下的一个ESB总线,同时也是一个独立的JBI容器(也就是说它支持完整的JBI规范)。)
CXF:
JBoss ESB是JBoss社区为面向SOA而提出的一个EAI系统平台。