什么是应用集成?应用程序集成(或企业应用程序集成)是指在企业IT环境中共享来自不同应用程序的流程和数据的能力。对于各种规模的企业而言,应用集成已经成为连接各种应用并实现相互协作的关键能力,从而帮助企业提高整体业务效率,增强可扩展性,降低IT成本。但是,在构建应用程序集成解决方案之前,了解不同的集成级别非常重要,尤其是在应用程序集成环境中如何交换消息(即数据)。本文从高到低概括了四个不同的集成层次:表现层、业务层、数据层和通信层,然后通过比较同步和异步通信方式的方法,更详细地讨论了底层通信层的不同集成。不同层次的应用集成有四种不同层次的应用集成方法。在表示层,集成可以通过将多个不同的应用程序呈现为具有公共用户界面(UI)的单个应用程序表示来实现。也称为“屏幕抓取”,这种较旧的集成方式使用中间件技术来收集用户在网页或其他用户界面上输入的信息。过去,表示级集成用于集成无法连接的应用程序。但是今天,应用程序集成技术已经发展并变得更加复杂,使得这种方法不太常见。通过业务流程集成,企业将业务运营所需的逻辑流程映射到其IT资产。这些资产通常位于企业内部IT环境的不同部分,随着云计算的兴起,越来越多的资产位于云端。通过识别业务流程中的操作并将其IT资产定位为元系统(系统的系统),企业可以使用应用程序集成方法来定义应用程序应如何交互以实现关键业务流程的自动化,从而加快交付为客户提供商品和服务,减少人为错误的机会并降低运营成本。除了业务流程集成,应用集成还需要数据集成能力。如果一个应用程序无法交换和准确理解来自其他应用程序的数据,就会出现不一致并降低业务流程的效率。可以通过以下两种方式之一实现数据集成功能:1)通过编写代码,使每个应用程序都能理解来自企业中其他应用程序的数据,2)通过使用统一数据交换格式。后一种方法优于前者,因为随着企业系统规模和复杂性的增长,它可以更好地扩展。在以上两种方式下,数据的访问、解析和转换是成功进行数据集成的重要能力。在传统的SOA技术体系中,通常采用XML数据格式作为上述统一的数据交换和处理格式。在灵长科技新一代API管理和应用集成平台上,我们采用更轻量、高效、易于解析、处理和转换的JSON数据格式,可在JavaScript丰富的生态中使用各种高效的数据处理工具直接对数据进行操作,帮助高效完成不同应用之间的数据集成。在业务流程和数据集成层之下是通信层集成。这是指企业内的不同应用程序如何通过文件传输、请求/返回方法或消息传递等方法相互通信。在很多情况下,应用程序并不是为了相互通信而设计的,因此在通信层,需要采用能够帮助应用程序相互通信的技术。这些技术包括应用程序编程接口(API),它指定如何调用应用程序,以及充当应用程序之间连接器的中介。在通信层,考虑应用程序之间交互的架构也很重要。通信级别的应用程序交互架构可以使用点对点、中心辐射模型或使用企业服务总线(ESB)等技术来实现。获取消息:同步与异步通信如果没有有效的通信,业务流程和数据就无法正确集成。应用程序之间的通信可以是同步的、异步的或两者的某种组合,这取决于企业的具体需求。在同步通信中,发送应用程序向接收应用程序发送API调用请求,必须等待回复才能继续处理。此模式通常用于需要以顺序方式协调数据请求的场景。在异步通信中,发送应用程序向接收应用程序发送消息并在本地继续处理,直到收到响应。换句话说,发送应用程序不依赖于接收应用程序来完成它的处理。如果多个应用程序通过这种方式集成,即使其他API调用请求尚未处理完毕,发送应用程序也可以完成一个API调用。在设计应用程序集成方案时,异步通信相对于同步通信有很多优势,尤其是SOA和微服务架构中各个服务之间的相互调用。当应用程序必须同时等待来自多个其他应用程序的响应时,超时在同步通信模式中更为常见。这意味着在异步通信模式下,服务的可用性会因为不需要等待API调用完成而导致频繁的系统阻塞而增加。在异步通信模式下,子流程也可以按照任何预定的开发顺序执行。JavaScript语言就是这种异步通信方式的典型代表:在JavaScript中,应用程序开发人员可以通过回调和Promises等内置方法轻松地以异步方式与其他应用程序进行通信。在灵长科技CEAMS应用集成平台上,系统通过中间层和大量开源的第三方开发包,将底层数据源的各种数据格式封装成统一的JSON数据格式,并使用内置的JavaScript的异步通信方式,帮助高效完成服务间的通信。此外,异步通信允许应用程序之间的松散耦合,从而消除了连接管理的需要。这使得应用程序集成解决方案更加灵活、敏捷和易于扩展:这些是当今企业信息系统应该具备的基本属性。你想知道更多吗?请探索CEAMS系统,一个统一高效的混合微服务应用开发和集成平台。
