自信息时代以来,企业及其系统正在变得更加集成,形成了行业特定的无信任网络,区块链技术将是这一发展步骤的基础。
企业的整合
大型组织有大量应用程序在独立孤岛中运行,这些孤岛需要共享数据和功能,以便以统一的方式运行。在单个组织中,将基于各种不同平台、用不同方案建立的异构应用集成,通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,实现企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要的内部系统之间无缝地共享和交换数据的过程称为企业应用程序集成(EAI,Enterprise Application Integration)。
同样,组织还需要以受控方式共享数据和功能。他们需要集成和自动化扩展到组织外部的关键业务流程。后者是EAI的扩展,通过使用企业对企业(B2B)集成的协议标准来交换结构化数据。
根本上,这两个术语都指的是跨越多个系统(有时是多方)的数据和功能集成过程。这些组织中的系统和业务流程正在发展,B2B统一的技术也在不断发展。
集成的进化
没有哪一年,某些集成技术成为主流, 它们逐渐发展并建立在彼此之上。我们不是专注于特定的技术和年份,而是试着观察几十年来发生的进展,看看为什么区块链是下一个技术迭代。
(集成技术的演变)
简要探讨上表中列出的每个进化步骤的主要技术进步。
数据集成
这是跨不同系统进行信息访问的最古老的机制之一,具有以下两个主要示例:
· 通用数据库方法用于组织内的系统集成。
· 文件共享方法用于内部和跨组织数据交换。借助FTP等通用协议,文件共享允许交换跨机器和操作系统运行的应用程序数据。
· 但这两种方法都是非实时的,基于批处理的集成,在可扩展性和可靠性方面存在局限性。
功能整合
虽然数据集成提供了非实时数据交换,但此处描述的方法允许实时数据和重要的功能交换:
· 远程过程调用通过隐藏网络和数据编组复杂性,对基于套接字的低级集成提供了重大改进。但它是早期的,依赖于语言的,点对点的客户端 - 服务器架构。
· 对象请求代理体系结构(使用CORBA,DCOM,RMI实现)引入了代理组件,该组件允许不同语言的多个应用程序重用相同的基础结构并以对等方式相互通信。此外,CORBA模型具有命名,安全性,并发性,事务性,注册表和与语言无关的接口定义的概念。
· 消息传递引入了应用程序之间的时间解耦,并确保保证异步消息传递。
到目前为止,我们已经看到许多技术改进,但它们主要关注系统集成而不是应用程序集成方面。从批处理到实时数据交换,从点对点到点对点,从同步到异步,这些方法不关心或控制它们交换的数据类型,也不强制或验证它。尽管如此,这种早期的集成基础设施通过交换EDI格式的数据来实现B2B集成,但是在不了解数据和业务流程的情况下,它是其中的一部分。
使用CORBA,我们可以尽早尝试接口定义,以及对应用程序集成有用的服务。
面向服务的架构
与我们的目的相关的SOA的主要方面是Web服务标准。XML提供与语言无关的数据交换格式,SOAP提供通用消息格式,WSDL提供用于描述服务接口的独立格式,构成Web服务的基础。这些标准与ESB和BPM实现相结合,使集成专注于业务集成语义,而现有技术主要是实现系统集成。
Web服务允许系统不盲目地交换数据,而是拥有机器可读的合同和接口定义。此类合同将允许系统在与其他系统交互之前理解和验证数据(最多一定程度)。
我还在这里包含了微服务架构风格,就其核心而言,它构建并改进了SOA和ESB。此阶段的主要演变是围绕分布式系统分解以及从WS到基于REST的交互的过渡。
总之,这是一个阶段,在通用协议之上,分布式系统也获得了通用标准和合同定义。
基于区块链的集成
虽然通过通用协议和标准交换数据有所帮助,但服务合同无法提供有关隐藏在合同背后并在远程系统上运行的业务流程的信息。请求可能根据合同有效,但根据业务流程的当前状态无效。当在两方之间进行集成时,如在客户端 - 服务器模型中,但在对等模型中的多个同等参与方之间进行集成时,这甚至更成问题。
有时多方是同一业务流程的一部分,由任何一方而非所有各方拥有。这种多方互动正常运作的先决条件是共同业务流程及其当前状态的透明度。所有这一切使得区块链技术对于在多方之间实施分布式业务流程非常有吸引力。
此模型扩展了共享协议和服务契约与共享业务流程和包含状态的使用。使用区块链,所有参与实体以智能合约的形式共享相同的业务流程。但是为了验证请求,处理并得出相同的结论,业务流程也需要相同的状态,这是通过分布式总账实现的。共享智能合约的所有过去状态本身并不是目标,而是共享业务流程运行时的先决条件。
从这个角度来看,区块链可以被视为整合进化的下一步。正如我们将在下面看到的,区块链网络充当一种分布式ESB和BPM机制,它们不包含在单个业务实体中,而是跨越多个组织。
(集成技术进入系统之间的空间)
首先是协议(如FTP),然后是API契约(WSDL,SOAP),现在业务流程本身(智能合约)及其数据正在移出组织之外,进入公共共享空间,并成为集成的一部分基础设施。在某些方面,这种趋势类似于微服务的交叉责任如何从服务内部转移到支持平台。
通过区块链,通用数据模型和现在的业务流程正在从组织转移到共享业务网络中。需要注意的是,此举并非普遍适用,并且不太可能成为主流整合机制。只有当网络中的所有参与者对数据模型和业务流程具有相同的理解时,才有可能采取这种行动; 因此,它仅适用于流程可以标准化的某些行业,如金融,供应链,医疗保健等。
几代人的整合
完成了一些按时间顺序排列的技术进展后,让我们更全面地了解B2B集成演变及其主要阶段。
第一代:系统集成协议
这是在CORBA和SOA之前生成集成技术,主要是通过通用协议进行数据交换,但不了解数据,合同和业务流程:
· 集成模型: 客户端 - 服务器,其中服务器组件仅由一方控制; 示例是数据库,文件服务器,消息代理等。
· 显式的共享基础架构:低级系统协议和FTP等API。
· 隐式而非共享基础架构:应用程序合同,数据格式,业务流程不属于通用集成基础架构。
第二代:应用程序集成合同
这一代集成技术使用前几年的系统协议,允许应用程序以通用合同的形式共享其API。这是下一级集成,其中两个应用程序都了解数据,其结构,可能的错误条件,但不了解其他系统中的业务流程和当前状态:
· 集成模型: 具有合同描述的API的客户端 - 服务器模型。
· 显式的共享基础架构:协议,应用程序合同和API定义。
· 隐式而非共享基础架构:业务流程和远程状态仍然是私有的。
第三代:分布式业务流程
基于区块链的生成仍然需要证明自己是一个可行的企业架构,更进了一步。它使用对等协议,并在多个系统之间共享业务流程,这些系统由不相互信任的各方控制。虽然之前的集成需要共享对协议或API的理解,但这依赖于对完整业务流程及其当前状态的共同理解。只有这样才能形成跨组织的分布式业务流程网络才有意义并付出代价:
· 集成模型: 通过与分布式业务流程形成业务网络,实现多方,点对点集成。
· 显式的共享基础架构:业务流程及其所需的状态。
· 隐式而非共享基础架构:其他非流程相关状态。
有许多基于区块链的项目采用不同的方法来解决业务集成挑战。具体来说,这里的订单是针对B2B集成空间的一些最受欢迎和最有趣的许可开源区块链项目:
· Hyperledger Fabric是最受欢迎和最先进的区块链框架之一,最初由IBM开发,现在是Linux Foundation的一部分。
· Hyperledger Sawtooth是由英特尔最初开发的另一个Linux Foundation分布式项目。它以其模块化和完整的组件可更换性而广受欢迎。
· Quorum是一个以企业为中心的以太坊分销。
· Corda是另一个基于现有基于JVM的中间件技术构建的项目,使组织能够与合同进行交易并交换价值。
已经有许多使用上述项目构建的业务网络,使网络成员组织能够使用这种新的集成模型相互集成和交互。
除了提供网络节点的这些全栈区块链项目之外,还有混合方法。例如,Unibright是一个项目,旨在通过自动生成智能合约,将熟悉的标准(如BPMN)中定义的内部业务流程与现有的区块链网络连接起来。可以为公共或私人区块链生成智能合约,这可以作为组织之间的另一个整合支柱。
最近,在许多生活领域中有许多区块链实验。虽然公共区块链通过承诺改变世界而产生所有炒作,但私人和许可的区块链承诺较少,但正在稳步前进。
结论
企业集成有多重细微差别。组织内部的集成挑战,其中所有系统由一个实体控制,参与者彼此之间具有某种程度的信任,主要由现代ESB,BPM和微服务架构解决。但是,当谈到多方B2B集成时,还存在其他挑战。这些系统由多个组织控制,无法查看业务流程,也不相互信任。在这些场景中,我们看到组织试验了一种新的基于区块链的技术,这种技术不仅依赖于协议和合同的共享,还依赖于端到端业务流程和状态的共享。
这种趋势与多年来不断发展的总体方向一致:从共享最低限度的协议,到以合同,API和现在业务流程的形式共享和展示越来越多。
这种共享集成基础架构支持新的透明集成模型,其中先前的私有业务流程现在使用开源协作模型共同拥有,同意,构建,维护和标准化。这可以激励组织共享业务流程并形成网络,从而进一步受益于联合创新,标准化和更深层次的整合。