技术开发 频道

利用已有异构服务 轻松构建SOA应用

【IT168 专稿】

  应全球化网络、各种异构信息系统,以及企业对敏捷性的需求,系统常规的架构已经形成。重新构建所有新应用、为遗留系统编写特定接口程序,或者重写当前的应用程序,这些曾经的任务都已一去不返。由于Web服务的推动,面向服务的架构(SOA)现在成为设计信息系统时通常会优先考虑的方案。
  
  SOA的概念是把当前的信息系统功能看作是可以以松耦合方式访问、与技术平台无关的“服务”,而把应用程序看作对服务请求的编排方式。这就是为什么SOA通常都有工作流或流程编排概念的原因。
  
  企业服务总线(ESB)是SOA的实现途径之一。它是连接各种不同服务并对其进行编排的中间件。根据这些概念,JBI规范(Java Specification Request 208)定义了一个标准的集成框架。
  
  本文将通过一个开源JBI容器Petals ESB来解释怎样连接已有的异构服务,并实现一个在线旅行社的实际Web应用。
  
JBI简介
  
  JBI(Java Business Integration,Java业务集成)规范定义了安装集成组件的标准方法。其目的是创建一个可以在企业信息系统中实现SOA的集成方案。这些组件以插件的形式安装到JBI环境中,并通过JBI环境以松耦合的方式提供或使用服务。而JBI环境则负责这些组件之间的通信。
  
  有两种组件可以插入JBI环境:
  
* 服务引擎(Service engine):提供服务逻辑,比如可扩展样式表转换语言(XSLT)或业务流程执行语言编排(BPEL)。
* 绑定组件(Binding component):是连接外部服务或应用程序的“连接器”。它们可以与各种协议进行通信,比如SOAP、Java消息服务(JMS)、远程方法调用(RMI)或者ebXML。
  
  这些可配置的组件使异构服务之间的通信成为可能。JBI规范引入服务装配器(service assembly)概念,定义了这些组件的配置方案与互相之间的关系。这些组件(引擎或绑定)的作用就是暴露外部与内部的服务。所有JBI环境中暴露的服务都可以通过服务终端和服务地址进行访问。
  
  组件之间交换信息称为信息交换。交换模式是一种发送/接收的模式。

0
相关文章