EAI企业应用集成场景及解决方案

/**
*作者:张荣华(ahuaxuan)
*2007-9-20
*转载请注明出处及作者
*/

首先来一段名词解释吧:

名词解释:
B2B,business to business。(非电子商务中的b2b)
A2A, Application to Application。(可以翻译为应用到应用)
第二个概念好像不是很常见,我暂且用来表示企业内部的应用。B2B用来表示不同企业的应用。
Message Endpoint: 消息端点,接受消息的端点(我们把企业应用之间传输的数据可以称之为消息,那么接受消息的端点就是Message Endpoint)
Adapter: 这是一个非常重要的概念,这里的Adaptor可能是应该应用,或者是组件,为了消除不同系统之间的差异性而产生的。

看了几个基础概念之后,对消息比较熟悉的人大概都知道我在说什么了,没错,还是SOA,但是今天主要不是谈概念,而是架构。

我们知道随着社会的发展,企业内部和企业之间的交互变的越来越频繁,尤其是企业内部的系统。一个大型企业会用到大小不一的多个系统,他们可能是用不同的语言写的,运行在不同的机器上,有不同的系统平台,但是随着企业的发展,他们之间开始需要有信息交互。那么他们就需要被集成起来。
除了企业内部的系统集成,还有一种就是企业之间系统的集成,他们需要共享信息,或者他们通过系统来做生意,这些都是企业之间的系统集成。

下面我们来设定一个具体的场景:某企业内部有多个独立的系统,但是这多个系统需要有信息的交互,而且这多个系统之间的某一个系统还需要和其他企业的系统进行交互。看上去问题域非常明确,就是信息交换。我用visio画了一幅图来表示这种场景。

从图上看来,有四家公司有着业务上的联系,他们分别是A,B,C,D四家公司。A公司分别和B,C,D三家公司有业务往来。A公司内部有多个系统进行交互,我们就叫它A2A。显然A公司和B,C,D三家公司之间存在着不可避免的差异性,但是这不是我们要关注的重点,重点是A和BCD是属于哪种情况,很显然是B2B。那么在上面这张图中同时出现了A2A和B2B两种情况,这两种情况可以说是SOA中常见的场景了。

在这里我也不打算提供企业应用集成(EAI)服务器和企业服务总线方面的讨论,因为我也没有研究或使用过哪个EAI和ESB框架(但将来可能会使用,“将来的事将来再说“)。

我们可以把A公司的app称之为endpoint,其他应用的接入点称之为adapter(内容应用之间也有可能存在adapter,其他企业接入点绝大多数都需要adapter了)。如图中所示,这样我们就可以明确整个图的概况了。A的整个应用体系由endpoint和adapter构成。

我们可以看到在A2A的情况下有一个JMS server,还有轻量级远程调用,我也知道,很多公司在A2A的情况下使用了webservice,但是我认为这是不恰当的,太重量级了,不合适企业内部应用之间的调用(特殊情况例外,比如两个应用使用不同语言开发等等,有时候这种特殊情况是很多的,呵呵)。那么A2A的情况下用什么比较好,个人觉得如果都是构建于java语言,那么使用jms+httpinvoke或者jms+Hessian比较好。为什么,简单。两个都是java的应用使用xml作为通信的结构会带来不必要的复杂,而且会浪费大量的带宽,而且是大师推荐(该点仅作为参考)。

而在B2B的情况下,好像选择也不是很多,一般就是基于xml+http,还有就是webservice.(虽然还是xml+http),这种情况应该很常见,实际上我们可以看作是通过文件来作为消息传递,但是这个文件的格式被统一化,规范化了,就是xml。

在我看来图中所描述的业务模型就是A2A+B2B的结合体,当然我们也要区分他们,区别对待,因为不同的场景都技术的需求是不一样的,比如B2B的场景中我们可能需要security(我们可以现在ws-security),而A2A的场景中绝大多数不需要security支持(这也是jms规范中为什么没有定义security相关内容的原因)当然授权和验证不能属于security,授权和验证大多数remote invoke技术都是支持的。这里讲的security是指”对称加密”,”非对称加密”,”数字签名”,”双重签名”的支持等。

当然这所有的一切都是基于都业务和系统的了解,如果对业务不了解就不要谈架构了。说到这里我想批评一下自己,原来一直不重视业务,为了技术而技术,后来慢慢发现业务的重要性,可以这样说,如果对业务不熟悉就不能给整个系统作一个合理的架构,如果对业务不熟悉也不能写出好的代码来,因为代码就是对业务的抽象,不熟悉业务怎么可能写出好代码(当然并不是说熟悉了业务就一定能写出好代码,这还得看程序员得水平了)。

至于具体的技术的特性(如,jms,webservice,hessian等等)不在这篇文章的讨论之列,本文假设大家对这些技术都比较了解。

欢迎大家对技术的选择提出不同的看法。而且我觉得这篇文章是比较high level的,如果大家比较感兴趣,我会接下去和大家一起学习讨论具体的技术。

时间: 2025-01-01 05:15:50

EAI企业应用集成场景及解决方案的相关文章

借助Apache Camel实现企业应用集成(EAI)在日益增长

IT项目的需求通常会发生变化,这其中就包括与其他系统集成的需求.对于项目的成功来讲,能够快速地 响应这样的变化是至关重要的,所以软件和开发过程必须要做到这一点.幸运的是,企业应用集成( Enterprise Application Integration,EAI)在构建可扩展性的.可维护性的以及可胜任的集成解决方案方 面,以一种创造性的方式为我们提供了所有的知识.技术以及最佳实践. 但是,大多数的集成方案会 给我们带来一种困境:尽管它们功能完备并且对于苛刻的环境来说富有成效,但是在开始学习.部署

数据仓库与企业应用集成(一)

数据 主要内容 一.  从系统和整体的角度来考虑数据仓库的开发二.  CIF的概念和内容三.CIF 的案例-SAP BW四.数据仓库与企业应用集成五.小结 References 摘要 本文的主要内容在于介绍企业信息工厂并探讨在建立数据仓库和企业应用时应考虑的系统性和整体性. 因此本文主要针数据仓库的最新发展,结合SAP BW的实际案例,本文讲述企业信息工厂(CIF)的构想.概念和内容,同时也阐述了在设计企业应用时应考采用的思维方式,我们将以一个新的角度来看待数据.   一.  从系统和整体的角度

基于VPC网络的六大场景及解决方案

摘要:本文的整理自2017云栖大会-成都峰会上阿里云产品专家福郎的分享讲义,讲义主要介绍了阿里云专有网络VPC基于阿里云构建出一个隔离的网络环境,可以完全掌控自己的虚拟网络.专有网络拥有独享网络地址空间,能自定义网络,支持自定义路由管理,同时支持混合云网络搭建. 在2017云栖大会-成都峰会上,阿里云产品专家福郎做了基于VPC网络的六大场景及解决方案的分享.专有网络 VPC能帮助您基于阿里云构建出一个隔离的网络环境.您可以完全掌控自己的虚拟网络,包括选择自有的 IP 地址范围,划分网段以及配置路

诸葛io推三大场景化解决方案 孔淼:让业务的人更懂数据

如今,精准营销.精细化运营.场景化等词汇逐渐深入到不同行业中,在变幻莫测的互联网时代中,对于企业来说,数据是运营核心,场景化解决方案是需求.其实"场景"首次出现是在<即将到来的场景>一书中,其作者罗伯特.斯考伯和谢尔.伊斯雷尔预言,未来25年互联网将步入"场景时代",根据不同场景提供不同的解决方案,这是市场衍生的诉求. 强劲的市场需求催生不少云计算企业,诸葛io就是其中一家.在6月6日,诸葛io场景化解决方案发布会在北京召开,此次大会主题为"洞

北京联想利泰企业应用集成解决方案

企业应用集成EAI(Enterprise Application Integration)是将企业的业务流程.应用软件.硬件和各种标准联合起来,在两个或更多的企业应用系统(如ERP.CRM等)之间实现无缝集成,形成浑然一体的企业信息化系统,彻底消除信息孤岛,充分实现信息共享,从而提高企业的业务运作和经营管理水平. 联想利泰推出的中间件产品iNOVO正是实现这种集成的利器.它从数据/应用.业务流程和门户三个层次为用户提供了一个完善的企业级信息化解决方案,为业务系统(包括OA.ERP.CRM等)的有

神州数码易成ERP系统解决方案

1.附件管理 在企业单据流转中,往往带有大量的附加信息,而这些信息在流转单据本身是很难体现的,例如照片,扫描件,合同件等:易成http://www.aliyun.com/zixun/aggregation/29808.html">ERP系统具备完善的附件功能,并可以根据需要设置附件存储的大小限制,最高可以达到2G/单的附件储存. 2.自定义编码原则 应对中小型客户需求,易成ERP系统对基本数据和系统单据,可以通过选择编码原则的方法进行自动编码,省去了编码管理的时间.方便应用和操作 3.商品

数据仓库与企业应用集成(二)

数据 三.CIF 的案例-SAP BW 主要特点是ERP供应商提供了整个体系结构,这就节省了大量的设计工作,并且降低了设计和开发的成本,将业务封装在BW中,降低了长期维护的难度.ERP的数据资源是非常丰富和宝贵的,应该是数据仓库的重要来源,SAP 的BW就是将数据仓库纳入了ERP应用. 1.       SAP BW 概述 a. SAP BW的历史 以下是SAP BW的简要版本历史 ·  BW 1.2b – 引入InfoCubes 和and Business Content ·  BW 2.0b

超越EAI的SOA集成

问题描述 EAI的概念可以理解为包括数据集成.应用集成和业务流程集成等多个方面.具体到技术层面上的划分,一套完整的EAI技术层次体系应该包括应用接口层,应用整合层,流程整合层和用户交互层四个大的层面.EAI的集成方案有一个重要的特征--它是面向各个信息系统接口的.企业应用系统产品厂商一般都会提供自身的EAI解决方案,比如Oracle的Integration就包括一个基于JCA的适配器框架.其内包含众多针对套装应用系统(比如企业中比较常用的SAP.PeopleSoft.Oracle.Siebel.

数据集成服务破解SaaS集成难题

本文讲的是数据集成服务破解SaaS集成难题,[IT168 资讯]集成是IT技术普及后的一个必然结果.在SaaS出现之前,我们就已经经历了集成(包括数据.应用集成)之苦,甚至时至今日,集成仍是很多企业CIO主要的工作内容之一.为了解决IT系统之间的集成问题,不少企业花了很大力气,投入了不少的资金.不久,SaaS领域也可能会面临相似的境地.受全球性的金融危机的拖累,IT预算偏紧的企业开始把目光转向前期投入更低.部署更快的SaaS.然而,随着企业内部的SaaS应用逐渐增多,曾经困扰CIO的集成问题也将