多年(nián)以来(lái),让企业/组织最为头(tóu)疼(téng)的一个问题就是自己(jǐ)的系统没有较强的(de)集(jí)成性,而且(qiě)难(nán)以形成一个基于特定行业的去信任网络(trustless network)。
不过现在,
区块链(liàn)和分布式账本技术(DLT)可能成(chéng)为(wéi)实现这一颠覆性愿景的基础(chǔ)。
企业级集成
对于(yú)一(yī)些(xiē)大公司和大型机(jī)构组织而言,他(tā)们的应用程序和 APP 大都是在“孤岛(dǎo)”中(zhōng)独立(lì)运行,这些(xiē)“孤岛”往往需要共(gòng)享(xiǎng)数(shù)据和功能(néng)才能“步调一致”地运行。对于单个企业而言,如果想要实现数据和(hé)业(yè)务流程共(gòng)享,就必须要与其他系统和应(yīng)用(yòng)程序(xù)进行对接(jiē),而这个过程就被(bèi)称为“企业应用程序集(jí)成”(EAI:Enterprise Application Integration)。
另一方面,在共享数据和功能的(de)时候,企业(yè)/组(zǔ)织往往希望寻求一种能够(gòu)控(kòng)制方式来管理整个流程,也(yě)只有在这种情况下,他们才(cái)能放心(xīn)地把关(guān)键业(yè)务流(liú)程集(jí)成(或自动化)扩展到(dào)组织外部。这(zhè)其实是“企业应用程序集(jí)成”的(de)一种扩展,可以通过(guò)一种被称为“B2B 集成”的消息(xī)标准交换结构化数据来实现。
从根(gēn)本上来说,“企业应(yīng)用程序(xù)集(jí)成”和“B2B 集成”这两个专(zhuān)业(yè)术语都是指跨(kuà)越多个系统(有时也涉及(jí)多方)的数(shù)据和(hé)功能集成过程(chéng)。然而需要注意的是,企业内(nèi)部系统和业务流程会不断发展,而支持(chí) B2B 统(tǒng)一化的技术也在不断进步。
企(qǐ)业/组(zǔ)织(zhī)系统集(jí)成技(jì)术的(de)进化(huà)
到目(mù)前为止,我(wǒ)们似乎很少看到某(mǒu)一个企业(yè)/组(zǔ)织的(de)系统(tǒng)集成技术成(chéng)为主(zhǔ)流,因为这种技术的发展通常是建(jiàn)立在彼此支持(chí)的基础之(zhī)上,而(ér)现实世界里(lǐ)的商业竞争往往让企业/组织之间(jiān)变得越来越(yuè)封闭。在此,我们并不是要专注于某个特(tè)定技(jì)术、或是某个特定的(de)年份,而是尝试观(guān)察最近几十年来的发展,以便(biàn)让大家了解(jiě)为什么说区块链会是(shì)下一个技术迭代的关键要素。
下表是集成技术的进化历史概览(lǎn):
接下来,我(wǒ)们要探讨上表中列出的每个进化过程中是如何实现技术进步(bù)的。
数据集成
数据集(jí)成是最古(gǔ)老(lǎo)的跨系(xì)统信息(xī)访问机制之一,它(tā)具有以下两个主要示(shì)例:
1、通用数据库方(fāng)法被用于(yú)企业内部的(de)系统集成;
2、文件共享方法被用于企业内部和(hé)企业之(zhī)间的数据交换(huàn)。借助FTP等通用协议(yì),文件共享让应用(yòng)程序数据在不同设(shè)备和操作系统之间被交换。
但是这两种方法都不是实时的,而且只能通过批处(chù)理的(de)方(fāng)式才能完(wán)成数(shù)据集(jí)成(chéng)操作(zuò),因此在可扩展性和(hé)可靠性方面都存在一定的局限(xiàn)性。
功能(néng)集成
数据集成提供了非实时的数据(jù)交换,而这里将要描(miáo)述的功(gōng)能集成则提供了实时的数据交换和功能交换(huàn):
1、远程过程调用(Remote procedure call)通过“隐藏”了网络和数据编组复杂性,将基于(yú)套接字的低级别集成进行了重大优化,但是它其实是一个依赖于语言的、早期点(diǎn)对点的客户端-服务(wù)器架构。
2、对象请求代管者体系结构(Object request broker architecture)使用公用对象请求代管(guǎn)者体系(xì)结(jié)构(CORBA)、分布式(shì)组(zǔ)件对象(xiàng)模式(shì)(DCOM)、以(yǐ)及远程方法调用(RMI)实(shí)现,并引入了代(dài)管(guǎn)者组件,该组(zǔ)件允许(xǔ)不同语言的多个(gè)应用(yòng)程序重复使用相同的基础结构并以P2P的方式相互通信(xìn)。此外,公用(yòng)对象请求代(dài)管者体系结(jié)构模型还具有命名(míng)、安全性、并发性、事务性、注册表、预计与语言无关的接(jiē)口定义概念。
3、消息传(chuán)递在(zài)应用(yòng)程序之间引入了(le)时(shí)间解耦(temporal decoupling)的概念,并确保异步消息传递。(耦合是指两个(gè)或两个以上的体系或两种运动形式间通过相互(hù)作用而彼此影(yǐng)响(xiǎng)以至联合起来的现(xiàn)象。 解耦就是用数(shù)学方(fāng)法(fǎ)将两种运动分离开来处理问题,常用解耦方(fāng)法就(jiù)是忽(hū)略或简化对(duì)所(suǒ)研究问题影响较小的一种运(yùn)动,只(zhī)分(fèn)析主要的运动(dòng)。)
到目前为止,我们已经看(kàn)到了许多技术(shù)进步,但是他(tā)们主要关注的是系统(tǒng)集成而不是应(yīng)用程序集成(chéng)。从批(pī)处理到实时(shí)数据交换、从点对点到 P2P、从同(tóng)步到异(yì)步,所有这些方法都(dōu)不(bú)关心、或是不控制他们交换的数据类型,也不会强制(zhì)验证(zhèng)数据。尽管如(rú)此,这种(zhǒng)早期的集成基础设施通过交换基于(yú)电子数据交换(EDI)格式(shì)的(de)数据来实现 B2B 集成,但是(shì)他们(men)其实并不了解企业数据和业务(wù)流程,或者只了解了其(qí)中的一部分。
使用公用对象请求代管者体系结构,我们可以更早地尝(cháng)试应(yīng)用程序接口、以(yǐ)及对(duì)应用程序(xù)集成有用的服务。
面向服务架构
面向服务架构(SOA)的主要目(mù)的(de),其实是(shì)推出(chū)一系列 Web 服务标准:
1、XML 提(tí)供(gòng)了与语(yǔ)言无关的数(shù)据(jù)交换格式;
2、SOAP 提供(gòng)了通用(yòng)消息(xī)格式;
3、WSDL 提供用于描述服务接口的独(dú)立(lì)格式。
这一切都是构成Web服务的基础,这些标准(zhǔn)与(yǔ)企业服务总线(ESB)和业务流程管理(lǐ)(BPM)相结合,使集成更专注于业(yè)务集成(chéng)语言。相比之下,之(zhī)前的技术(shù)更多地是在系统层面进行集(jí)成。
ESB 全称为 Enterprise Service Bus,即企业服务总(zǒng)线。它是传统中间件技术与 XML、Web 服务(wù)等技术结合的产(chǎn)物。ESB 提供了网络中最基本的连接(jiē)中枢,是构筑企业(yè)神经系统的必要元素(sù)。ESB的出现改变了(le)传统的软(ruǎn)件架构,可以提供比(bǐ)传统中间(jiān)件产(chǎn)品更(gèng)为廉价(jià)的解决方案,同时(shí)它还可以消除不同应用之间(jiān)的技术(shù)差异,让不同(tóng)的应用服务器协(xié)调运作,实现了不(bú)同服(fú)务之间的通信与整合(hé)。从功能(néng)上(shàng)看(kàn),ESB 提供了事件(jiàn)驱动(dòng)和文(wén)档(dàng)导(dǎo)向的(de)处(chù)理模式(shì),以及分布(bù)式的运(yùn)行管理机制,它支(zhī)持基于(yú)内(nèi)容的路(lù)由(yóu)和过(guò)滤,具备(bèi)了复杂数据(jù)的传(chuán)输能力,并可以提供一系列的标(biāo)准接口;另一方面,BPM,即业(yè)务(wù)流程(chéng)管理,是一种以规范化的构造端到端的卓越业务流程(chéng)为中心,以持续(xù)的提(tí)高(gāo)组织业务绩效为目的(de)的系统(tǒng)化方法,常见商(shāng)业(yè)管理(lǐ)教育如 EMBA、MBA 等均(jun1)将 BPM 包含在内(nèi)。
Web 服务让(ràng)系统不再盲目地交换数(shù)据,而是按照机器可读的合约和接口定义来交换数据,此类合约(yuē)能够让某个系统和其他(tā)系统进行交互之前理解、并验证数据。
这里还包含了微服(fú)务架构,就其核心而言,微(wēi)服务架构构(gòu)建、并改进了面向(xiàng)服务(wù)架构和企业服务总(zǒng)线——此阶(jiē)段的主要(yào)进化,是围绕分(fèn)布式系统从(cóng)Web 服(fú)务向基于表述性状(zhuàng)态传递(dì)的(de)交互过(guò)渡(dù)。
表述性状态传(chuán)递(英文:Representational State Transfer,简称REST)是 Roy Fielding 博士在 2000 年(nián)他的博士(shì)论(lùn)文中提出来的一种软件架构风格(gé),它是(shì)一(yī)种针(zhēn)对网络应用的设计和(hé)开发方式,可以降低开(kāi)发的复(fù)杂性,提高系统(tǒng)的(de)可伸缩(suō)性。目前在三(sān)种主流的 Web 服务(wù)实现方(fāng)案中(zhōng),因为(wéi) REST 模式(shì)的(de)Web 服(fú)务与复(fù)杂的(de) SOAP 和 XML-RPC 对比来讲(jiǎng)明显的更加简洁,越来越(yuè)多的 Web 服务开(kāi)始采用 REST 风格(gé)设计和实(shí)现。例如,Amazon.com 提供接近 REST 风(fēng)格的 Web 服务进行图书查找;雅虎提供的(de) Web 服务也是 REST 风格的。
总之,这(zhè)个阶段中,在通用协议基础上,分(fèn)布式系统也能获得通用标准和合约定义(contracts definitions)。
基于区块链的集成
虽然利用通(tōng)用协议和标准(zhǔn)对(duì)交换数(shù)据(jù)有一定(dìng)帮助(zhù),但服务合约却无法提供隐藏在合约背后、并在远程系(xì)统上(shàng)运行的业务流程信(xìn)息。一个业(yè)务请求可能在合约层面上有效,但在业务流程的某个状(zhuàng)态(tài)下无效,这种(zhǒng)情况会在两方之间进行集成的时候——比如在客户端-服(fú)务(wù)器(qì)模型、以及在(zài) P2P 模型(xíng)中(zhōng)多个参与方(fāng)之间(jiān)进行集成(chéng)的(de)时候(hòu)产生很多问题。
有时多个参(cān)与(yǔ)方也会是同一业务流程的(de)一部分(fèn),有时业务流程也会(huì)被其中一(yī)方而(ér)非所有(yǒu)各(gè)方(fāng)拥有(yǒu)。而这(zhè)种能够(gòu)让多方互动正常运(yùn)作(zuò)的先决条(tiáo)件(jiàn),就是要确保共同业务流程及其当前状态(tài)的(de)透明度。所有(yǒu)这(zhè)一切,都让能够在(zài)多方之间实施分布(bù)式业务流(liú)程的(de)
区块链技术变得极具吸引(yǐn)力。
通过(guò)共享业务流程(chéng)和包含状态(tài),基(jī)于区块(kuài)链技术的集(jí)成(chéng)模型扩(kuò)展了共享协议和服务合(hé)约,而且所(suǒ)有参(cān)与(yǔ)实体都能以智能合(hé)约的形(xíng)式共享同一业(yè)务流程(chéng)。但是,为了验(yàn)证业务请求、处理并得出(chū)相同的结论,业务流(liú)程也需要保(bǎo)持相同的状态,而这只有通过(guò)分布式(shì)账(zhàng)本才能实(shí)现。共享智(zhì)能合约过去的全部(bù)状态(tài)并不是实现这一(yī)目标的手段,而是共享(xiǎng)业务流程运行(háng)的(de)先决条件。
从这个(gè)角(jiǎo)度来可,区块链可(kě)以被看作是系统集成进化的下(xià)一个阶段。正(zhèng)如我们(men)接下来将(jiāng)会深入解释的(de)那样(yàng),区块链网络可(kě)以充当一种分布式企业(yè)服务总线和业务(wù)流程管理机(jī)制,它不会包含在某个单独的业务实体之中,而(ér)是跨越(yuè)覆(fù)盖到多个企业组织(zhī)内(nèi)。下图:集成技术(shù)开始从(cóng)封闭系统进(jìn)化到共享系统:
首先是协议(比如 FTO),然(rán)后是(shì)应(yīng)用程序接口(kǒu)合约(比如(rú) WSDL、SOAP),接下来是业务流程本身(比如智(zhì)能合(hé)约(yuē)),最(zuì)后数据会(huì)移出到(dào)封闭系(xì)统之(zhī)外,进入(rù)公共(gòng)共(gòng)享(xiǎng)空间,并成为集成基(jī)础设施的一部分。在某些方面,这种趋势类似于(yú)微(wēi)服务(wù)的横切责任(cross-cutting responsibilities)从服务内部转移到(dào)支持平台(tái)。
通过区块(kuài)链(liàn),通用数据(jù)模(mó)型和当前业(yè)务流程(chéng)可以从(cóng)企业内部转移到共享业务网络上。但(dàn)需要注意的是,这种方法并(bìng)非(fēi)普遍使用,甚至(zhì)不太可(kě)能成为(wéi)一种主(zhǔ)流系(xì)统集成机制(zhì)。因为只有当(dāng)网络中的所有参与方对数据(jù)模型和业务流程具有相同(tóng)的(de)理解时,才有可能采取这种行动。所以,基于区块链技(jì)术(shù)的系统集成只适(shì)用于那(nà)些有标(biāo)准化业务流(liú)程的行业,比如
金融、
供应链、医疗保健(jiàn)等。
系(xì)统集(jí)成迭代
至此,我们已经(jīng)按照时间顺序了解了(le)集(jí)成技术的进化,现在可(kě)以更全面地了解B2B集成进化的各(gè)个主要阶段:
第一代:系统集成(chéng)协议(yì)
这其实是在(zài)公用对象请(qǐng)求代管者体(tǐ)系结构(CORBA)和(hé)面向服务结构(SOA)之前的集成技术,主要利用通用协议进行数据交换,这(zhè)种方式并不(bú)会理解数据、合约和业务流程:
1、集成模式:客户端-服务器,其(qí)中服务器组件仅由一方控制,典(diǎn)型(xíng)的示例有数(shù)据库、文件服务器、消息代理等(děng);
2、显式共享基(jī)础(chǔ)架构:低级系统(tǒng)协议、以及诸如FTP这样的应用程序接口;
3、隐式非共(gòng)享基础架构:应(yīng)用程序合约(yuē)、数据格式、以(yǐ)及不支持通用基础基础架构(gòu)的业务流(liú)程。
第(dì)二代:应用程序集(jí)成合(hé)约
第(dì)一代系统集成技术(shù)使(shǐ)用的是几年(nián)前的系统协议,允许应用程序以通用合约的形式共享应用程(chéng)序(xù)接口。而第二代(dài)系统(tǒng)集成技术已经能(néng)够(gòu)让应用程序(xù)了(le)解数据、以(yǐ)及数据(jù)结构和潜(qián)在错误条件了,不过这(zhè)一代技术仍然无法了解系统中(zhōng)的业务流程和当前状态:
1、集成(chéng)模式(shì):利用合约描述应用程序接口的(de)客户端-服务器模型;
2、显(xiǎn)式共享基础架构:协议、应用程序合(hé)约和应用程序接(jiē)口定(dìng)义;
3、隐式非(fēi)共(gòng)享基础架构:业务(wù)流(liú)程和远程状态仍是(shì)私有的。
第三代:分布式业务(wù)流程
第三代(dài)系统集成技术是基于区块链技术的一代,并且又向前迈进(jìn)了一步,但该技术仍(réng)然需要(yào)证明是一个可行(háng)的企(qǐ)业级(jí)系统集成架构。区块链(liàn)系统集成(chéng)技术使用 P2P 协(xié)议,并且能够在多个(gè)系统之间(jiān)共享业务流(liú)程,这些系(xì)统都是由去信任的各方控制的。之(zhī)前的系(xì)统集成技术(shù)需要对共享协(xié)议和应用程序接口的理(lǐ)解,但这(zhè)需要依赖对(duì)完整(zhěng)业务(wù)流程及其当前状态的共同理解,也(yě)只有这样才(cái)能形成有意义的跨(kuà)组(zǔ)织分(fèn)布(bù)式业务流程(chéng)网络,并(bìng)从中获得回(huí)报:
1、集成模式:通过与分(fèn)布式业务流程形成业务往来(lái),实现多方 P2P 集成;
2、显式(shì)共享基础(chǔ)架(jià)构:业务流程及其所需的状态;
3、隐(yǐn)式非(fēi)共享(xiǎng)基础架构:其他(tā)非流程相关的状态。
实(shí)际上,有(yǒu)许多基于(yú)
区块(kuài)链项目采用了不同的方法(fǎ)也解决业务集成难题,在此我(wǒ)们列举一些 B2B 集成(chéng)领域里(lǐ)最(zuì)受欢迎、也是最有趣(qù)的许(xǔ)可开源区块链项目:
1、Hyperledger Fabric 是目前最受(shòu)欢迎(yíng)、也是最先进的区(qū)块(kuài)链框(kuàng)架(jià)之一(yī),最初(chū)由 IBM 公司开发(fā),现在已经(jīng)是 Linux Foundation 项目的一部(bù)分了;
2、Hyperledger Sawtooth 最初是由(yóu)英特尔(ěr)公司(sī)开发的(de)项目,现在也归入了 Linux Foundation 旗下分布式项目,它以可更(gèng)换(huàn)的模块化(huà)和完整组件而广(guǎng)受欢(huān)迎(yíng);
3、Quorum 是一个基于(yú)
以太坊区块链的(de)企业级(jí)分布式(shì)系统(tǒng)解(jiě)决(jué)方案(àn);
4、Corda 是另一个基(jī)于(yú)Java虚拟机中间件(jiàn)技术的技术,能够(gòu)让(ràng)企(qǐ)业利用合约交易、交换价值。
现阶段,已经由(yóu)很多企业/组织(zhī)使用上述系统框架构建了业务网络,使(shǐ)网络(luò)中的成员(yuán)组织能够利用这种新型(xíng)集成模式互相集成和(hé)交互。当然(rán),除了(le)上(shàng)述提供网络节点的全栈区块链项(xiàng)目之外,还(hái)有一(yī)些“混合(hé)”解(jiě)决方案(àn)。举个(gè)例子(zǐ),Unibright 项目旨在利(lì)用自动生成的智能合约,将熟悉的标准(比如 BPMN)中定义的内部业务流程与现有(yǒu)区块链网(wǎng)络连(lián)接起来。这种智能合约(yuē)可(kě)以有公有链和私有链生成,并(bìng)且成为(wéi)企业之(zhī)间另(lìng)一(yī)个系(xì)统集(jí)成支柱。
实际上(shàng),区块链技术已经开始尝试在我们现实(shí)生活中的(de)很多领域里(lǐ)应用(yòng)。一些公(gōng)有链(liàn)项目声(shēng)称将(jiāng)利(lì)用这(zhè)一新兴(xìng)技(jì)术来(lái)改(gǎi)变世界,相比之下,私有(yǒu)链和许可(kě)区(qū)块链并没有做(zuò)出太多这样的(de)承诺,而(ér)是(shì)在稳步(bù)向前发展。
总结
企业级的集成(chéng)往往具有很(hěn)多细(xì)节上的问题,比(bǐ)如(rú)所有系统都(dōu)是由一家实体所控(kòng)制、参(cān)与者之间具有某种程度的信任(rèn)等等(děng)。就目前而(ér)言(yán),这些问题仍然由现代(dài)企业(yè)服务总线、业(yè)务流程(chéng)管理和微服(fú)务(wù)架构来解决的(de)。
但是,当(dāng)我们谈到多方参与的 B2B 集成时(shí),和传统(tǒng)企业级集成(chéng)所遇(yù)到的问题就不太一样了。这些(xiē)系统基本上(shàng)会由多(duō)个企业/组织(zhī)控制,单独(dú)一(yī)方无法查看业务流(liú)程,互相(xiàng)也不(bú)信任——在这种场景下,我们看到企业/组织开始尝试一种全新(xīn)的、基(jī)于区块链的集成技术,这(zhè)种(zhǒng)技术不仅(jǐn)依赖于协议与合约的共享,还依赖于端到端(duān)的业务流程和状态共享。
需要说明的是,“区(qū)块(kuài)链即集成”(Blockchain as Integration)这(zhè)种趋(qū)势与区块链行业内多(duō)年来(lái)不断发展的总体方向是一致(zhì)的,即从共享最低(dī)限度(dù)的协议,到以(yǐ)合约、应(yīng)用程序接口和现有(yǒu)业务流程(chéng)和状态的共享。
这种共享集成基础(chǔ)架构能够(gòu)支持全新的(de)、透(tòu)明集成模(mó)型——其中(zhōng),先前(qián)那些不公开的业务(wù)流程现在(zài)将在开(kāi)源协作模型下被共(gòng)同拥有、共同拟定(dìng)、共同构建、共同维护、形成标准化。也(yě)只有在这种情况下,才能够让企业/组织获得激励、共享业务流程并形成一个互利互益的网络,促进联合创新、标准化、以及更深层(céng)次的集成。
版权申明:本内容来自于互(hù)联网,属第(dì)三方汇集推荐平台。本文的版权归(guī)原作者(zhě)所有,文(wén)章言论不代(dài)表(biǎo)链门户的观点,链门户不承(chéng)担(dān)任何法律责任。如有(yǒu)侵权请联(lián)系QQ:3341927519进行反(fǎn)馈。