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

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

集成类型

  • 信息门户
  • 数据复制
  • 共享业务功能
  • 面向服务的体系结构
  • 分布式业务流程
  • 企业对企业集成

企业集成模式:

  • 文件传输
  • 共享数据库
  • 远程过程调用
  • 消息

基于消息的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中。

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的模型。

存储消息

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

消息的事务性

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

SOA集成框架Spring Integration, Mule ESB or Apache Camel比较

什么时候使用Apache camel

EDA

使用Apache CXF开发Web服务

使用Spring Webservices建立SOAP服务代理

SOA之企业应用集成EAI相关推荐

  1. [架构之路-139]-《软考-系统架构设计师》-企业信息化战略与实施:信息系统生命周期、企业信息化与电子商务、企业应用集成

    前言: 企业信息化的本质是企业的管理的信息化,中心是企业管理,是通过信息化的手段辅助企业管理. 因此,架构师不仅仅要懂软件,懂架构,还需要熟悉企业管理的架构,懂企业管理的流程!!! 这也是<软考 ...

  2. 基于ESB的企业服务集成平台建设之道

    转载本文请注明出处:微信公众号EAWorld 行者:在关乎企业生存的必选项"数字化转型"以及国家信创战略的共同冲击下,企业需要改变现有业务和IT的架构,更快速地应对挑战.响应变化, ...

  3. Dynamics CRM和企业微信集成(二)方案实现

    Dynamics CRM和企业微信集成(二)方案实现 准备工作 1. 企业微信 2. CRM准备 3. 其他准备 实施工作 1. 企业微信配置 2. 应用后台处理 1. 登陆时处理 2. WeChat ...

  4. SpringBoot从入门到精通教程(二十九)- 微信企业支付集成(五分钟集成)

    需求背景 SpringBoot用法:微信企业支付集成(五分钟集成) 问题痛点 通过SpringBoot框架,集成服务端微信企业支付接口,做到下载即用(填写好相关微信支付后台相关Key信息),最快五分钟 ...

  5. 禅道与企业微信集成单点登录

    背景 公司使用企业微信做为办公管理系统.为了公司人事相关研发系统统一授权认证,实现业务系统账号与企业微信挂钩,做到统一管理授权,以此才有了禅道与企业微信集成单点登录研究. 集成步骤 集成步骤大致分为三 ...

  6. 甲骨文助ISV 通过SOA与Oracle软件集成

    <script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script> ...

  7. JeecgBoot低代码平台 2.4.5 版本发布,钉钉与企业微信集成版本

    项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shi ...

  8. 用友U9 SOA引领企业IT架构全面升级

    管理大师德鲁克在其著作<变动中的管理>一书中指出,面对越来越复杂多变的经济环境,任何一家企业想要实现自己的管理模式和业务架构都离不开IT技术的支持.这是由于大多数的企业核心流程都必须由IT ...

  9. 天翎低代码平台助力企业业务流程集成,为企业降本增效

    编者按:业务流程管理对企业十分重要,有效的流程管理可以提高企业的工作效率.降低管理成本.控制经营风险.本文介绍了业务流程集成的意义,讲解了天翎低代码平台如何帮助企业如何实现跨异构系统的业务流程集成. ...

最新文章

  1. 关于浏览器跨域请求的相关原理实现--很经典的博客
  2. 关于SAP Fiori用户管理资料的一个问题
  3. 50张神图……好不容易才找到完整版!
  4. 家用计算机历史记录,教您如何查看电脑使用记录
  5. 你还记得windows workflow foundation吗
  6. JavaScript-概述
  7. mac mysql常用命令
  8. System.Configuration.ConfigurationErrorsException:“配置系统未能初始化”
  9. aptana php 调试,AptanaStudio3+PHP程序远程调试的方法和步骤
  10. 如何使用networkx导入txt文件数据并绘制
  11. android studio logcat 字体,android studio - 修改logcat颜色字体
  12. 8虚拟内存9页面置换算法
  13. Lightweight Augmented Graph Network Hashing for Scalable Image Retrieval
  14. Python:统计正负数个数
  15. 视频教程-网络营销-网站盈利方式/淘宝客网络赚钱/广告联盟-其他
  16. 弘辽科技:淘宝平台的推广方法有哪些?六大推广方式介绍
  17. web前端(css3)
  18. MacOS下qt签名与公证
  19. 多相机坐标转换_自动驾驶视觉融合 | 相机校准与激光点云投影
  20. 前半期java学习学期总结(18软件1班李平)

热门文章

  1. 朴素贝叶斯分类算法介绍及实现
  2. 数字孪生城市优秀案例汇编 附下载
  3. html5水墨效果,HTML5 Canvas 类似PS中水墨喷溅晕染的喷笔效果
  4. Outlook Express 收发邮件出现quot;0x800CCC0Fquot;错误代码解决方法
  5. “我永远都无法理解人类!” OpenAI “杀”死了那个成功模拟已故未婚妻的 GPT-3 机器人
  6. Robot Arm 机械臂源码解析
  7. Linux资源监控命令/工具(综合)
  8. iOS自定义裁剪区域,正方形圆形图片头像裁剪,仿QQ头像裁剪,圆形遮罩,矩型遮罩
  9. 数字图像处理-图像基础-复习总结
  10. Android Studio 1.3RC版 build加速