跳到主要内容

5.3.5 应用集成

摘要

略。

随着网络和互联网的发展以及分布式系统的日益流行,大量异构网络及各计算机厂商推出的软、硬件产品分布在分布式系统的各层次(如硬件平台、操作系统、网络协议、计算机应用),乃至不同的网络体系结构上都广泛存在着互操作问题,分布式操作和应用接口的异构性严重影响了系统间的互操作性。要实现在异构环境下的信息交互,实现系统在应用层的集成,需要研究多项新的关键技术。

如果一个系统支持位于同一层次上的各种构件之间的信息交换,那么称该系统支持互操作性。从开放系统的观点来看,互操作性指的是能在对等层次上进行有效的信息交换。如果一个开放系统提供在系统各构件之间交换信息的机制,也称该系统支持互操作性。如果一个子系统(构件或部分)可以从一个环境移植到另一个环境,称它是可移植的。因此,可移植性是由系统及其所处环境两方面的特征决定的。

集成关心的是个体和系统的所有硬件与软伴之间各种人/机界面的一致性。从应用集合的一致表示、行为与功能的角度来看,应用(构件或部分)的集成化集合提供一种一致的无缝用户界面。从信息系统集成技术的角度看,在集成的堆栈上,应用集成在最上层,主要解决应用的互操作性的向题,如图5-10所示。

图5-10

图5-10 系统集成栈

用语言做比喻,语法、语义、语用三者对应到系统集成技术上,网络集成解决语法的问题,数据集成解决语义的问题,应用集成解决语用的问题。

应用集成或组织应用集成(EAI)是指将独立的软件应用连接起来,实现协同工作。借助应用集成,组织可以提高运蕾效率,实现工作流自动化,并增强不同部门和团队之间的协作。

对应用集成的技术要求大致有:

  • 具有应用间的互操作性:应用的互操作性提供不同系统间信息的有意义交换,即信息的语用交换,而不仅限于语法交换和语义交换。此外,它还提供系统间功能服务的使用功 能,特别是资源的动态发现和动态类型检查。
  • 具有分布式环境中应用的可移植性:提供应用程序在系统中迁移的潜力并且不破坏应用所提供的或正在使用的服务。这种迁移包括静态的系统重构或重新安装以及动态的系统重构。
  • 具有系统中应用分布的透明性:分布的透明性屏蔽了由系统的分布所带来的复杂性。它使应用编程者不必关心系统是分布的还是集中的,从而可以集中精力设计具体的应用系统,这就大大减少了应用集成编程的复杂性。

实现上述目标的关键在于,在独立应用之间实现实时双向通信和业务数据流,这些应用包括本地应用和云应用,其中云应用正变得越来越多。借助互联互通的流程和数据交换,组织通常可以基于统一的用户界面或服务,协调所有基础设施和应用的各种功能。

当事件或数据发生变化时,应用集成会确保不同应用之间保持同步。应用集成不同于数据集成,数据集成是共享数据,并不存储数据;而应用集成是在功能层面将多个应用直接连接起 来,帮助打造动态且具有高度适应性的应用和服务。

由于应用集成重点关注的是工作流层面的应用连接,因此需要的数据存储空间和计算时间并不多。应用集成既可以部署在云端,集成SaaS CRM等云应用,也可以部署在受防火墙保护的本地,集成传统ERP系统等,还可以部署在混合环境中,集成本地应用和托管在专用服务器上的云应用。

可以帮助协调连接各种应用的组件有:

  • 应用编程接口(API):API是定义不同软件交互方式的程序和规则,可以支持应用之间相互通信。API利用特定的数据结构,帮助开发人员快速访问其他应用的功能。
  • 事件驱动型操作:当触发器(即事件)启动一个程序或一组操作时,系统就会执行事件驱动型操作。例如:在订单提交后,进行计费并向客户开具发票;管理从ERP系统到CRM系统的“业务机会到订单”工作流。
  • 数据映射:将数据从一个系统映射到另一个系统,可以定义数据的交换方式,从而简化后续的数据导出、分组或分析工作。例如,用户在一个应用中填写联系信息表,那么这 些信息将被映射到相邻应用的相应字段。

如今,各行各业不同规模的组织都在利用应用集成实现流程互联和数据交换,用于提高业务效率。