首页  ·  知识 ·  
SOA之企业应用集成EAI
小松  www.jdon.com    编辑:小松   图片来源:网络
企业集成对公司管理提出显著转变的需要,致力于一体化的努力通常对业务产生深远的影响,但是如果缺乏标准的集成方案,导致概念和技术学习难度增加。

企业集成对公司管理提出显著转变的需要,致力于 一体化的努力通常对业务产生深远的影响,但是如果缺乏标准的集成方案,导致概念和技术学习难度增加。

集成定义:将不同的计算机系统,公司或个人连接起来, 企业集成是使不同的应用程序协同工作,产生一个统一的功能集的任务。

集成类型

  • 信息门户

  • 数据复制

  • 共享业务功能

  • 面向服务的体系结构

  • 分布式业务流程

  • 企业对企业集成

企业集成模式:

  • 文件传输

  • 共享数据库

  • 远程过程调用

  • 消息

基于消息的EAI:

eai

消息集成分以下步骤实施:

  • construction消息构建

  • Channels 通道

  • Endpoints 端点

  • Routing 路由

  • Transformation 转换

  • Management 管理

  • Messaging Models 消息模型

  • Transactions 事务

  目前有Spring Integration, Mule ESB 和 Apache Camel. 三种开源集成框架,它们都遵循企业集成模式EIP(EIP, http://www.eaipatterns.com),各有细微的区别。

Construction 消息构建

  消息是一个数据单元格式, 一个消息由一个头,属性和主体的组成 发送方转换数据输出构造消息 接收方重新从消息恢复成自己的数据模型 。

  (1). Spring集成的消息模型如下:

特点:

  • 一个基于模型的消息中最简单的形式

  • 使用泛型规定消息体类型

  • 无marshaling 或 un-marshaling 需要

  (2). JBI(Java业务集成)的模型如下:

特点:支持附件和XML 以及安全。

  (3). Apache Camel的消息模型:

消息交换模式(基于WSDL 2.0 message exchange patterns EXP):消息被封装到消息交换Exchange中。

exchange

 

Channels 消息通道

  信道是用于从发送者发送消息到接收器的网关, 发送者和接收者不知道对方,实现最大化松耦合,也 可以被称为管pipe

  (1). Spring Integration的通道是一个纯POJO模型:

  (2). Java Business Integration JBI是一个创建消息交换的工厂,支持同步或异步。

 

Endpoints 消息端点

  一个端点是一个消息传递应用程序,它能够发送和接收消息的客户端, 消息端点封装了消息系统,并与应用程序分离,也是其一部分,自定义了为特定的应用程序和任务的一般消息处理API

 

  (1). Spring Integration实现:

代码实现如下:

  消息通道最大的问题是:通道容纳消息总会有一个容量,如果有大量消息发送到,而接受者并没有来得及消费,那么需要很大的容量保留这些消息,这是因为传统通道是一个顺序处理的模型,使用SEDA: Staged Event-Driven Architecture 阶段EDA能够解决这个问题。通过引入线程池立即响应消息处理。

  事件队列接受传入的事件, 事件处理器EventHanlder处理传入的事件, 线程池提供了线程功能的事件处理程序, 该控制器调节资源分配和调度动态。

 

Routing 消息路由

  消息路由器会从一个消息通道消费消息,并根据一组条件将其重新发布到不同的消息渠道.

Spring集成框架实现路由代码如下:

消息转换Transformation

   消息转换是转换一个数据格式到另一种的过滤器。在消息处理前可以使用各种过滤器:

 

系统管理

   下图中Control bus控制总线使用由应用程序使用的数据相同的消息传递机制,参考工作流设计,分离不同的管道进行传递消息。

 

消息模型

   区分为Publish/Subscribe 发布者/订阅者 或点对点 Point-to-Point Model,也就是1:N或1:1的模型。

存储消息

  保证一次且仅一次的消息传递,使用 透明的消息客户端。

消息的事务性

   生产者将在事务上下文中发送一个或多个消息, 生产者提交事务; 消费者收到的所有消息, 消费者提交事务。

 


本文作者:小松 来源:www.jdon.com
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读