我们首先来看看(企业应用系统)集成的基本概念和技术概念、术语,除了基本概念,我们会说一说类似SOA这样的集成模式的类型,如点对式、中心辐射、管道,明白EAI、EII的区别,也会提到未来集成技术——XTP。

一、基本概念

首先我们明确一些基本概念(我自己的理解):

 

  • A2A:两个应用之间的集成
  • B2B:两个商业团体之间的集成
  • B2C:商业团体与最终用户之间的集成,比如internet上的技术
  • 集成类型:比如界面层的集成、数据层的集成、功能层的集成
  • 语义集成
  • EAI:两个应用之间数据和商业过程的集成
  • 消息、发布与订阅、消息中介、消息基础架构:基于消息的异步集成升级到的概念
  • ESB:是实现EAI的一种基础架构,解决客户应用程序之间的解耦问题。
  • 中间件:实现集成的中间构件
  • 路由模式:借鉴一些硬件路由的模式单播、广播、组播。

我们用一张图来说明A2A、B2B、B2C的关系

 

二、集成类型

了解了什么是A2AB2BB2C,让我们看看有哪些集成的类型,大体上我们可以把集成分成三大类:界面集成、数据集成和功能集成 

 

  1. 界面集成:就是大家所熟知的portal,其实很多我们通过IFrame方式对不同应用的集成,也是属于这一类。
  2. 数据集成:共享数据库、文件复制(定期同步)、数据交换(数据库复制)
  3. 功能集成:EAI、SOA。EAI和SOA作为功能集成的方式,还是有一些区别,EAI一般来说是面向数据而不是面向过程的;EAI通常是使用某个特定厂家的技术,所以需要某个产品的知识;EAI在很长一段时间还会为解决“烟囱”应用的集成起到关键作用。即便“烟囱”应用提供了类似WebServices集成的接口来集成,也不能算是SOA架构,因为SOA是面向过程的,是过程驱动的,而EAI通常是数据驱动的。

下面我们具体看看几个集成方式


  • EAI(企业应用集成) :The use of EAI means the unrestricted sharing of data and business processes among any connected applications (Linthicum 2000).EAI通常在三个层面进行集成:数据层,通过FTP传递文件,或者直接使用数据库提供的功能进行数据复制;对象级别:系统之间互相调用对象提供的方法;过程级:依靠工作流进行集成。
  • 基于消息(队列)的集成

通过消息队列发送消息:  


 

发布\订阅方式消费消息:

 

消息中介:                   

 

消息集成平台:              

应用集成RPC 应用集成包括哪些内容_基础架构

 

 

  • ESB :ESB是实现EAI的基础架构,通常他会做如下图这样的事情

 

一般来说,ESB会提供如下的核心功能:

 

而ESB内部的结构如下图:

 

  • 中间件集成 :我们这里所说的中间件是为不同技术的应用进行沟通的平台。常用的沟通方式有会话(面向对话)、请求响应、消息解析、消息队列、发布订阅。用下表对上述方式进行比较



中间件一般依赖于关系数据库、RPC、面向事务、面向消息、面向组件这些方面的技术。


 




  • 路由模式:最后集成常会用的路由,这里路由的模式来自于硬件和网络协议的启发,分单播、组播、广播、选拨。

我们暂时对集成的概念、原则、术语做一个鲜蛋的介绍,后面我会对集成的几个变体和集成的模式进行总结。如果有时间,还会对集成涉及到的技术,一个各个层次集成的规划、集成的场景和目前存在的产品(厂家和开源)进行简单介绍。