业界正在广泛寻求解决 B2B 以及 EAI (企业应用集成)所存在问题的方案。这些方案不同于基于 JMS 手段的面向消息中间件技术和 Web 服务技术。本文简短地阐述了即将到来的与 SOA (面向服务体系)规范及 ESB (企业服务总线)基础架构有关的 JBI ( Java 业务集成)标准。
面向服务体系
SOA (面向服务体系)是近期推动应用和业务集成领域产生巨大飞跃的新技术之一。 SOA 定义了一系列详尽的体系规范、范例和实现应用程序间进行松散耦合交互的最佳准则。
SOA 基于定义明确的接口,促进多个应用程序间的松散耦合交互。服务的实现是独立的,且不依靠上下文信息以及其他服务的状态。服务间数据交换主要基于文本类型的格式,使用基于标准的消息模型。服务自身并不知道服务提供者和服务消费者之间传输级的通讯交互。
尽管不是强制要求,当今大部分流行的基于 SOA 的系统都利用了 Web 服务以及近似技术为服务间交互提供必要的管道治理。 WSDL ( Web 服务定义语言)扮演了主要的通讯模型角色; SOAP 扮演了消息承载协议、 HTTP 扮演了网络传输协议。当然,这并不意味着你必须利用上述技术实现基于 SOA 的系统。另外,有些术语之前就已经存在了,所以很多企业已利用类似的体系实现了系统的松散耦合交互。不管怎样,主要的不同点在于我们现在已经有标准协议、工具集和软件了,使面向服务体系更健全。
SOA 原则与面向对象范式、原则有着显著不同。主要不同在于服务间交互的接口被定义了更多面向数据的行为。一个孤立的服务也许会采用面向对象原则和技术,但是,服务之间的交互很少采用这些手段。相反,这些接口更适合于基于文档的交换。面向对象的行为是绑定数据,而面向服务从行为中分离数据。
企业服务总线
ESB (企业服务总线)为面向服务体系提供了基础架构。通过设计工具定义服务间交互和规则, ESB 为部署和发现服务提供了运行时环境。