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