关于应用集成:同步与异步通讯模式之间的比较

什么是应用集成?编程

应用集成(或企业应用集成)是指在企业IT环境中,对来自不一样应用程序之间的流程和数据共享的能力。对于各类规模的企业,应用集成已成为链接各种不一样的应用程序,实现他们之间的相互协做,从而帮助企业内部提升总体业务效率,加强可扩展性,下降IT成本的关键能力。promise

可是,在构建应用集成解决方案以前,了解不一样的集成层次,尤为是在应用集成环境中如何交换消息(即数据)是相当重要的。本文概述了从高到低四个不一样的集成层次:展现层,业务层,数据层和通讯层,而后经过对同步和异步通讯的方式的比较,更详细地讨论在底层通讯层上不一样的集成方法。架构

不一样层次上的应用集成异步

有四种不一样层次上的应用集成方法。在展现层级别上,能够经过将多个不一样的应用程序展现为具有公共用户界面(UI)的单一应用程序呈现来实现集成。 这种旧的集成手段也称为“屏幕抓取”,它使用中间件技术来收集用户在网页或其余用户界面上输入的信息。微服务

在过去,人们使用展现层级别的集成方法来集成那些没法链接的应用程序。但在今天,应用集成技术已经发展并变得更加复杂,使得这种方法不那么广泛。工具

经过业务流程集成,企业将开展业务所需的逻辑流程映射到其IT资产上,这些资产一般位于企业内部IT环境的不一样部分,而且随着云计算的兴起,愈来愈多位于云上。 经过识别业务流程中的各项操做,并将其IT资产做为定位成一个元系统(关于系统的系统),企业可使用应用集成的方法来定义在各个应用程序之间应当如何交互,以实现关键业务流程的自动化,从而加快为客户提供商品和服务的交付速度,减小人为错误的机会,下降运营成本。云计算

除了业务流程集成,数据集成能力对于应用集成也是必需的。若是一个应用程序没法交换和准确理解来自其余应用程序的数据,则可能会出现不一致并使得业务流程的效率下降。 数据集成能力能够经过如下两种方法之一来实现:1)编写代码来使得每一个应用程序都可以理解来自企业中其余应用程序的数据,2)采用发送方和接收方应用程序都可以解析的统一数据交换格式。设计

后一种方法优于前者,由于随着企业系统规模和复杂性的增加,它的扩展性更好。在上述的这两种方法下,对数据的访问、解析和转换是可以成功实现数据集成的重要能力。在传统的SOA技术体系中,一般使用XML数据格式做为以上描述的统一数据交换和处理格式。而在灵长科技新一代API管理和应用集成平台上,咱们采用更轻量高效、易于解析处理和转换的JSON数据格式,并可利用JavaScript丰富的生态中各类高效的数据处理工具,直接对数据进行操做,帮助在不一样的应用程序之间高效完成数据集成。cdn

在业务流程和数据集成层之下是通讯层集成。这指的是在企业内部不一样的应用程序之间,如何经过文件传输,请求/返回方法,或消息传递等方法来相互通讯。在许多状况下,应用程序并非为了相互通讯而设计的,因此在通讯层上,须要采用能够帮助实现应用间相互通信的技术。这些技术包括应用编程接口(API),来指定对应用程序的调用方式,以及充当应用程序之间链接器的媒介。在通讯层,考虑应用程序之间交互的体系结构也很重要。能够采用点对点、中心辐射模型或使用企业服务总线(ESB)等技术来实现通讯层面上的应用程序交互体系结构。中间件

获取消息:同步与异步通讯

若是没有有效的沟通,就没法正确地整合业务流程和数据。根据企业的特定需求,应用之间的通讯能够是同步的,异步的,也能够是二者的某种组合。

在同步通讯中,发送方应用程序向接收方应用程序发送API调用请求,而且必须等待应答才能继续进行处理。 此模式一般用于须要以顺序方式协调数据请求的场景。 在异步通讯中,发送方应用程序向接收方应用程序发送一条消息,并在接收响应以前继续本地的处理。换句话说,发送方应用程序并不依赖于接收方应用程序来完成其处理。 若是以这种方式集成多个应用程序,即便其余的API调用请求还没有完成处理,发送方应用程序也能够完成某个API调用。

在设计应用程序集成解决方案时,异步通讯与同步通讯相比具备许多优点,特别是在涉及到SOA和微服务架构中各个服务之间的相互调用时。在同步通讯模式中,当应用程序必须同时等待来自其余几个应用程序的响应时,超时的状况将会更为常见。 这意味着在异步通讯模式下,因为无需等待API调用完成而形成频繁的系统阻塞,服务的可用性将会增长。

而在异步通讯模式下,子流程也能够按照开发好的任意预约顺序执行。JavaScript语言是这种异步通讯模式的典型表明:在JavaScript中,应用开发者能够很容易地以回调、promise等内置的方法,以异步的模式和其余应用程序通讯。在灵长科技的CEAMS应用集成平台上,系统经过中间层和大量的开源第三方开发包,把来自底层数据源的各类数据格式封装为统一的JSON数据格式,并经过JavaScript内置的异步通讯模式,帮助高效完成在各个服务之间的通讯。

此外,异步通讯容许应用程序之间的松散耦合,从而消除了对链接管理的须要。 这使得应用程序集成解决方案更加灵活,敏捷且容易扩展:这些都是现在企业信息系统应当具有的基本属性。

您想了解更多? 请探索 CEAMS系统,一个统一,高效的混合微服务应用开发和集成平台。

相关文章
相关标签/搜索