企业应用集成(EAI)的历史与发展

EAI的新需求

  企业应用集成(Enterprise Application Integration,简称EAI)是实现信息互通和资源共享的重要技术手段,近些年随着云计算、移动互联网和物联网的兴起,软件的交付模式、应用的服务特性、数字化的服务范围都发生了很大变化,这使EAI面对的集成场景更加多样、集成需求更加复杂、集成范围更加广泛,一些传统的EAI实现技术已经难以满足现有的EAI需求。例如:

  • 云计算兴起之前,软件交付通常是企业自己购买服务器,构建网络和数据中心,将应用部署在内部网络环境中,为自身业务提供服务,而如今云计算提供了更加便捷、快速、低成本的软件交付模式,Iaas、Paas、SaaS不同级别的基础设施服务,能够满足各种场景下的企业需求,越来越多的应用服务选择部署在云计算平台上,享受云带来的便利;
  • 移动互联网的兴起更是对软件的服务特性提出了更多的需求,移动互联网时代市场需求呈现个性化强、即时性高、需求多元化等特点,用户需要“随时、随地、随心”地享受互联网业务带来的便利,企业就需要提供更丰富的业务种类,更具个性化的服务和更高的服务质量,要满足这样的服务需求,就需要移动应用支持更多的服务特性,如:更加灵活、快速的接入和使用,较低的使用门槛和良好的用户体验,定向、精准的服务投放,服务多版本、快速迭代升级,敏捷交付等;
  • 随着智慧城市城市建设的推进,智能化物联网已经逐步进入我们的生活,大量的边缘智能设备和传感器在各种服务场景中扮演了重要角色,例如:智慧路灯、智能摄像头、火灾探测器、共享按摩椅等等。

  这些新服务形态下的应用或设备(如:SaaS、APP或智能传感器等)都需要提供集成交互的能力,而传统的EAI技术方案大多针对企业内部应用系统间的集成,对于企业外部、互联网或物联网等的集成能力则较弱,面对这些新的集成需求,企业急需升级其EAI基础设施来满足广泛的集成场景,适应时代的发展趋势。
  随着经济与技术的发展,企业应用集成(EAI)的需求变得越来越多,面对的场景也更加复杂多样化,EAI技术需要有新的发展才能适应时代趋势,这一领域已经有多年的研究与实践,下面介绍其研究历史及发展趋势。

EAI的研究与发展

  企业应用集成EAI是指通过某些技术手段和方法,将企业内部或企业之间的各种IT支持系统无缝集成起来,以便实现相互之间的信息互通和资源共享。企业应用集成是一个比较热门的研究领域,已经有很多年的研究与发展。20世纪80年代初,随着企业信息化的水平的提高,企业应用系统数量不断增加,“信息孤岛”问题凸显,为整合各个孤立的应用系统,促进信息的交互融合,提升业务协同的效率,使得EAI相关技术逐步发展起来。
  长期的实践中EAI解决方案呈现出多种形式,不同的企业有不同的实现方式。EAI包含的内容非常广泛,涉及到体系结构、硬件、软件及业务流程等各个层面,涉及的技术也很多。目前尚没有一种标准来划定一个完整的EAI解决方案应该包含哪几部分,下面以较为常见的两个划分维度进行介绍:
  从集成层次上划分:EAI可以分为数据集成、应用集成和业务过程集成。其中数据集成主要解决不同应用系统间的数据共享和交换问题,它一般在文件或数据库基础上进行操作,是EAI中最基础、最常见的一种方式;应用集成主要实现在网络环境中的跨平台应用系统之间的集成,它把一个应用系统上的数据或功能与另外一个应用系统的数据或功能连接起来,实现系统间的互操作,提供一个接近于实时的集成效果;业务过程集成是EAI中最高层次的集成,它将企业业务流程从应用逻辑中剥离出来,集中到相关的业务流程管理工具中统一管理并根据需要进行调整,它强调的是对涉及不同系统、不同角色人员所进行的活动的控制和协调。以上每种层次的集成都有多种实现方式和相关技术支持,通常企业会根据实际的业务场景选择合适的技术方案来实现。
  从实施范围上划分:EAI可分为企业内部EAI(Intra-EAI)和企业间EAI(Inter-EAI)。Intra-EAI即企业内部应用之间的集成,也称为A2A(Application to Aplication)集成;Inter-EAI即企业之间的应用集成,也称为B2B(Business to Business)集成,A2A集成是B2B集成的基础和前提条件。
  在互联网兴起之前,EAI已经经历多年的研究、实践与发展,相关的技术方案和实现模式已经逐步成熟,在很多企业中也已落地,并稳定地支持着企业信息的交流与共享。但是,随着互联网的兴起,系统面对的用户规模不断扩大,应用系统间互操作的频率不断增加,面对业务流量的指数级增长,传统的EAI实现模式和技术方案在互联网这样的业务量级下已经难以适用,进而催生了新的互联网场景下的EAI实现方式。下面分别从传统企业的EAI实现模式和技术,及互联网场景下的EAI实现模式和技术,两个方面介绍其发展与演变,然后介绍当前EAI的发展趋势。

传统企业中的EAI

  从20世纪企业和机构的信息化开始,EAI服务的领域主要是我们目前所说的“传统企业”(相对于互联网企业),这些企业的信息系统的特点是功能丰富,业务流程较为复杂,系统处理的业务量较互联网场景下要小很多。而EAI的需求则主要集中在企业内部,实现企业内信息系统的互联互通,相关的技术方案经历了多个阶段的发展演变,下面依次进行介绍:
  点对点的应用集成:通过系统之间硬编码的方式实现对接集成,这是应用集成早期的一种实现方式。早期企业中的应用系统相对较少,点对点的集成方式,应用之间直接进行交互,可以获得比较高的性能。但是随着企业信息化的不断深入,企业信息系统数据不断增加,集成的规模随之变大,集成的复杂度也急剧增加,因为系统间高度耦合,拓展性和可靠性较差,开发和维护成本变得非常高。

点对点集成体系结构

  基于中间件的应用集成:因为点对点集成存在诸多弊端,逐步演化出了基于中间件的集成方式,其中经历了两个阶段的架构模式的演变。最开始的解决方案大多基于hub-spoke模式,这种模式建立一个以hub为中心的代理中间件,所有需要集成的系统通过适配器与hub相连。系统间交互时,适配器负责消息的转换(将从系统接收到的消息转换成中心代理hub可以理解的形式,或将hub的消息转换成系统可以理解的形式并发送给系统),hub则充当中间代理服务实现消息的路由。hub-spoke模式相对于点对点的集成模式有了很大的改进,系统只需要与中心hub相连,即可实现彼此间的交互,使系统连接数量大幅减少,并且很容易实现集成的监控和管理。但是,hub-spoke集成模式也存在一些弊端,基于中心模式的集成架构,存在出现性能瓶颈和单点故障的风险,这种模式下实现的集成,大多面向特定的业务领域,基于企业的专有技术或私有协议实现,不具有通用性很难做到复用。
  由于hub-spoke架构模式存在的弊端,后来出现了基于总线bus的集成模式,这种模式中适配器(adapter,包含集成引擎)与应用系统部署在一起,中央总线(bus)只负责消息的传输。系统间交互时,应用通过适配器向总线发布消息,总线负责将消息传递到目标应用,目标应用的适配器从总线中获取消息并转换为系统可以理解的形式来完成交互。由于适配器(adapter)与中央总线(bus)分离,隔离了架构中的变化点,使总线可以实现水平拓展,从而很好的解决了性能瓶颈和单点故障的问题。但是分布式的集成模式增加了调试和运维的成本,并且很多实现仍然是基于企业的专有协议,未能解决标准化集成的问题,所以仍然没有被广泛采用。
Hub-spoke体系结构

Bus体系结构

  面向服务的应用集成:21世纪初,随着技术的不断发展和成熟,SOA开始流行起来,许多企业开始以面向服务的架构模式构建基础设施。Web Service作为实现SOA的首选技术方案被大量的企业采用,Web Service提供了标准化的系统间互操作协议,应用间可以方便的实现点对点集成,然而随着服务的大规模部署和应用,点对点集成的弊端凸显,业界开始寻求一种可靠的基础构件来支持SOA的实现。基于bus体系结构的架构模式——企业服务总线(Enterprise Service Bus, 简称ESB)被提出,它提供了统一标准化的消息中间件服务,支持异构系统间的交互,提倡以服务的形式实现业务功能,能够很好的支持企业SOA的落地实现。ESB通常包含以下一些功能特性:

  • 实现服务位置透明,作为中间代理实现服务提供者和服务消费者解耦
  • 支持适配连接各种应用,如:遗留系统、套装软件、自研的专有系统等
  • 传输协议转换,例如:JMS、HTTP等
  • 作为消息代理,可以实现消息格式转换、消息增强、消息缓存、消息路由等
  • 支持服务的注册、监控和管理
  • 服务虚拟化,支持将现有服务包装新的服务来提供
  • 服务的组合与编排
  • 服务质量控制,如:安全性、性能等
一种ESB参考架构

  在云计算、移动互联网兴起之前,面对传统企业的EAI需求,以上几种方案已经可以很好的解决企业的信息互通和资源共享问题。这些EAI方案在企业中都普遍存在,根据企业信息化的发展程度或业务需求的不同,通常会采用不同的集成模式。在传统企业中EAI的研究与实践主要集中在实现企业内部的应用集成,而企业间集成时通常采用商务洽谈,协调接口方案,通过系统间点对点对接或开放企业服务网关通过ESB进行集成的模式来实现。由于之前传统企业与外部集成的业务量、复杂度都不是很大,在上面几种EAI解决方案的服务能力范围内都得到了满足。
  相对于传统企业,互联网企业面对的业务场景具有很大的差异。面对不同的业务需求,通常会有不同的设计方案,下面对互联网场景下的企业EAI技术的发展与演变进行介绍。

互联网场景下的EAI

  互联网企业面对的业务场景与传统企业有很大的不同,互联网服务通常是to Customer,直接面向消费者的特性使互联网企业面对的用户群体非常庞大,并且用户需求呈现个性化强、即时性高、需求多元化等特点。需求的不同导致互联网应用系统的特点发生了很大变化,主要体现在用户流量大、并发程度高、数据量激增,并且用户需求变化快,需要频繁发布,渐进式发展演变。互联网企业的EAI不光要关注企业内部应用系统间的集成,也要兼顾企业外部和企业间的集成需求。随着互联网企业的发展,相关的EAI集成技术方案也得到了不断演进,下面分别进行介绍:
  基于RPC框架的集成:随着互联网业务的快速兴起,互联网应用架构也进行了快速地发展演变。最初的互联网应用系统架构与传统企业的C/S应用架构基本一致,都是基于浏览器的Web单体应用,但是随着互联网业务的快速发展,单体应用弊端凸显,例如:应用复杂度逐步增大,开发部和维护成本变高,系统可靠性变差,系统定制升级的周期变得很长,已经难以满足快速增长变化的业务需求。进而互联网应用架构逐步向分布式体系架构转变,随着分布式架构的兴起,企业单体应用采用SOA的设计思想被逐步拆分成不同的应用服务,多个服务之间使用内部网络互连进行通信。由于互联网业务用户流量大、并发程度高,对系统性能和可靠性要求很高,所以多个应用模块间并没有采用传统企业的基于中间件的集成模式,而是出现了基于RPC框架的EAI点对点集成模式。基于RPC框架的集成,应用在内部网络中简单的暴露和引用远程服务,采用企业定制的专有交互协议直接进行通信,依靠RPC框架良好的网络和序列化机制,集成时可以获得良好的性能。但是,随着应用服务的不断增加,点对点集成的弊端凸显,服务间依赖关系变得错综复杂、服务URL配置管理变得非常困难、服务容量、服务生命周期等问题变得越来越突出。
  基于分布式服务框架的集成:由于采用RPC框架的点对点集成存在的弊端,服务治理问题越来越突出。正如前文所述,由于互联网企业面对的特殊业务需求,并没有采用类似传统企业的SOA服务治理模式(如:基于ESB的SOA),而是逐步探索出了基于分布式服务框架的EAI模式。分布式服务框架在RPC框架的基础上,增加了对服务管理和服务治理的能力。它除了可以完成诸如:服务订阅发布、服务路由、服务配置管理等基本功能外,还可以实现对服务监控、服务生命周期管理、服务日志采集分析和故障界定、服务安全控制等多方面的服务治理需求。使用分布式服务框架,虽然应用服务之间还是点对点的集成模式,但是依托框架强大的分析和治理能力,仍然可以将复杂度保持在可控的范围内,灵活地应对EAI的需求。近些年随着微服务架构的兴起,使分布式服务框架更加流行起来,微服务对于服务的拆分粒度更小、服务实例规模更大、服务迭代更加频繁、服务治理的需求更加强烈。微服务通常要求较高的性能,一般采用P2P的通信模式,对于服务治理的需求也由SOA的静态治理转变为运行时动态治理、实时生效,分布式服务框架最初的设计也是满足这样的需求,目前在互联网企业中得到了广泛的应用。一种分布式服务框架的服务治理架构如下图所示:

阿里Dubbo服务治理

  企业外部及企业间集成:互联网企业为了更好地服务自己的用户,开发更多的增值服务,通常需要与企业外部的个人开发者、第三方应用服务或其他企业之间进行对接集成。由于面对的外围集成需求更广,企业通常会将内部服务封装成一些API调用接口开放出去,供外部开发者或企业使用,这种开放接口服务的平台被称作开放平台(OpenAPI)。开放平台作为一种面向企业外部或企业间集成的服务模式,通常提供诸如:API接口、协议转换、路由、安全、审计等功能。通过开放平台可以将用户、开发者与企业绑定到一起,形成一个合作共赢的服务生态圈,从而为客户提供更好的服务,提升企业的竞争力与盈利能力。目前开放平台已经成为互联网企业与外部进行EAI集成的主流形式,几乎各个大型互联网公司都有自己的开放平台。
  因为业务场景和需求的不同,造就了传统企业与互联网企业EAI架构的不同。传统企业EAI主要关注企业内部应用集成,更加注重异构应用间的集成,侧重集成的功能实现;而互联网企业的应用集成需要保证内、外部的集成需求,更加重视集成的性能、可靠性和适配多样性。随着互联网与传统企业的深度融合,以及商业需求的不断变化发展,传统企业的EAI技术方案也必将与互联网场景下的EAI技术方案进行适配融合,来适应新时代背景下的需求变化。根据目前市场需求的变化趋势,下面重点介绍EAI的发展趋势。

EAI的发展趋势

  近些年,随着云计算、移动互联网和物联网的兴起,IT服务模式发生了很大的变化,软件交付由传统的内部系统转向云端SaaS应用,应用服务由Web逐步转向了移动App,物联网边缘节点正被逐步智能化。服务模式的变化,促使EAI的需求也发生了很大变化,企业不光需要注重内外部应用系统间的集成,还要关注云端SaaS应用、移动端App、智能传感器以及跨云平台等的集成需求。这使EAI的集成范围更加广泛、集成的平台更加多样、集成的复杂度更变得更高。
  市场需求的变化必然促使企业进行变革升级。互联网企业因为其强技术背景及应用架构内生的开放性,使它们更加容易适应这一趋势,而传统企业在适应的过程中则显现出诸多限制,例如:SOA、WebService或ESB等技术方案,使用的交互协议相对复杂,XML数据格式对移动端不友好、难以支持服务的快速迭代升级、存在接入限制等。随着大量to C和to B的应用转向云和移动端,EAI的需求已经远远超出了传统企业EAI基础设施的服务能力范围,这就需要传统企业重新思考和设计其EAI方案,升级其EAI基础设施。
  面对EAI需求的变化,Gartner于2011年提出了面向各种集成场景的新技术理念iPaaS(Integration Platform as a Service) 。iPaaS作为一套云服务,用于集成任何位于本地或云上的流程、服务、应用或数据,并促进相关开发、执行和治理工作的开展,它可以在独立的或者多个交叉的组织中进行。通常一个iPaaS平台会包含以下一些功能:

  • 连接和转化不同的通信协议,例如:FTP、HTTP、AMQP等
  • 对各种应用的连接适配器,例如:SaaS、APP、本地套装软件等
  • 支持数据格式化,例如:XML、JSON等
  • 支持数据标准化,例如:卫生信息交换标准(HL7)、SWIFT等
  • 数据映射和转换
  • 服务路由和编排
  • 集成流程开发和生命周期管理工具
  • 集成流程运行监控和管理
  • API管理
  • 支持各种集成场景,例如:应用集成、数据集成、流程集成、B2B集成、IoT集成、云服务集成等

  目前iPaaS的研究与实践仍然处于发展过程中,国外有一些相关的产品出现。主要分为两类,一类是面向个人用户和小微企业的iPaaS服务平台,例如:“IFTTT”(if this then that)和“Zapier”等,这类平台主要用于实现云间应用(cloud-to-cloud)的集成需求,平台中内置了一些应用适配器,用户可以通过平台提供的Web工具简单便捷的实现SaaS应用间的集成。另一类是企业级的iPaaS平台,这类平台一般具有较为健全的功能,支持具有较高复杂度的集成场景,可以实现云间应用、云与本地应用、本地多个应用等不同的集成需求,相关的主流平台有:Dell Boomi、Informatica Cloud、MuleSoft和SAP HCI等。
  国内在iPaaS领域的产品则相对较少,目前也出现了一些相关的平台。例如:Linkflow、数帝科技的DataBridge iPaaS等。其中Linkflow提供了连接各种SaaS和App的能力,可以通过Web可视化的简单配置实现应用间集成,它的主要服务目标是实现应用间数据的流动与融合;DataBridge iPaaS是DataBridge应用集成平台的一个组件,DataBridge是面向企业内应用集成的平台,它实现了多种适配器可以将各种类型的应用、服务或流程集成在一起,而DataBridge iPaaS可以将这些服务通过Web API的形式开放出来从而实现新的集成需求。

你可能感兴趣的:(企业应用集成(EAI)的历史与发展)