系統整合的下一代進化:“區塊鏈即整合”
編者按:本文來自36氪戰略合作區塊鏈媒體 “Odaily星球日報 ”(公眾號ID:o-daily, APP下載 )
本文來自 TechCrunch ,原文作者:Bilgin Ibryam
譯者 | Moni
多年以來,讓企業/組織最為頭疼的一個問題就是自己的系統沒有較強的整合性,而且難以形成一個基於特定行業的去信任網路(trustless network)。
不過現在,區塊鏈和分散式賬本技術(DLT)可能成為實現這一顛覆性願景的基礎。
企業級整合
對於一些大公司和大型機構組織而言,他們的應用程式和 APP 大都是在“孤島”中獨立執行,這些“孤島”往往需要共享資料和功能才能“步調一致”地執行。對於單個企業而言,如果想要實現資料和業務流程共享,就必須要與其他系統和應用程式進行對接,而這個過程就被稱為“企業應用程式整合”(EAI:Enterprise Application Integration)。
另一方面,在共享資料和功能的時候,企業/組織往往希望尋求一種能夠控制方式來管理整個流程,也只有在這種情況下,他們才能放心地把關鍵業務流程整合(或自動化)擴充套件到組織外部。這其實是“企業應用程式整合”的一種擴充套件,可以通過一種被稱為“B2B 整合”的訊息標準交換結構化資料來實現。
從根本上來說,“企業應用程式整合”和“B2B 整合”這兩個專業術語都是指跨越多個系統(有時也涉及多方)的資料和功能整合過程。然而需要注意的是,企業內部系統和業務流程會不斷髮展,而支援 B2B 統一化的技術也在不斷進步。
企業/組織系統整合技術的進化
到目前為止,我們似乎很少看到某一個企業/組織的系統整合技術成為主流,因為這種技術的發展通常是建立在彼此支援的基礎之上,而現實世界裡的商業競爭往往讓企業/組織之間變得越來越封閉。在此,我們並不是要專注於某個特定技術、或是某個特定的年份,而是嘗試觀察最近幾十年來的發展,以便讓大家瞭解為什麼說區塊鏈會是下一個技術迭代的關鍵要素。
下表是整合技術的進化歷史概覽:
接下來,我們要探討上表中列出的每個進化過程中是如何實現技術進步的。
資料整合
資料整合是最古老的跨系統資訊訪問機制之一,它具有以下兩個主要示例:
1、通用資料庫方法被用於企業內部的系統整合;
2、檔案共享方法被用於企業內部和企業之間的資料交換。藉助FTP等通用協議,檔案共享讓應用程式資料在不同裝置和作業系統之間被交換。
但是這兩種方法都不是實時的,而且只能通過批處理的方式才能完成資料整合操作,因此在可擴充套件性和可靠性方面都存在一定的侷限性。
功能整合
資料整合提供了非實時的資料交換,而這裡將要描述的功能整合則提供了實時的資料交換和功能交換:
1、遠端過程呼叫(Remote procedure call)通過“隱藏”了網路和資料編組複雜性,將基於套接字的低級別整合進行了重大優化,但是它其實是一個依賴於語言的、早期點對點的客戶端-伺服器架構。
2、物件請求代管者體系結構(Object request broker architecture)使用公用物件請求代管者體系結構(CORBA)、分散式元件物件模式(DCOM)、以及遠端方法呼叫(RMI)實現,並引入了代管者元件,該元件允許不同語言的多個應用程式重複使用相同的基礎結構並以P2P的方式相互通訊。此外,公用物件請求代管者體系結構模型還具有命名、安全性、併發性、事務性、登錄檔、預計與語言無關的介面定義概念。
3、訊息傳遞在應用程式之間引入了時間解耦(temporal decoupling)的概念,並確保非同步訊息傳遞。(耦合是指兩個或兩個以上的體系或兩種運動形式間通過相互作用而彼此影響以至聯合起來的現象。 解耦就是用數學方法將兩種運動分離開來處理問題,常用解耦方法就是忽略或簡化對所研究問題影響較小的一種運動,只分析主要的運動。)
到目前為止,我們已經看到了許多技術進步,但是他們主要關注的是系統整合而不是應用程式整合。從批處理到實時資料交換、從點對點到 P2P、從同步到非同步,所有這些方法都不關心、或是不控制他們交換的資料型別,也不會強制驗證資料。儘管如此,這種早期的整合基礎設施通過交換基於電子資料交換(EDI)格式的資料來實現 B2B 整合,但是他們其實並不瞭解企業資料和業務流程,或者只瞭解了其中的一部分。
使用公用物件請求代管者體系結構,我們可以更早地嘗試應用程式介面、以及對應用程式整合有用的服務。
面向服務架構
面向服務架構(SOA)的主要目的,其實是推出一系列 Web 服務標準:
1、XML 提供了與語言無關的資料交換格式;
2、SOAP 提供了通用訊息格式;
3、WSDL 提供用於描述服務介面的獨立格式。
這一切都是構成Web服務的基礎,這些標準與企業服務匯流排(ESB)和業務流程管理(BPM)相結合,使整合更專注於業務整合語言。相比之下,之前的技術更多地是在系統層面進行整合。
ESB 全稱為 Enterprise Service Bus,即企業服務匯流排。它是傳統中介軟體技術與 XML、Web 服務等技術結合的產物。ESB 提供了網路中最基本的連線中樞,是構築企業神經系統的必要元素。ESB的出現改變了傳統的軟體架構,可以提供比傳統中介軟體產品更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用伺服器協調運作,實現了不同服務之間的通訊與整合。從功能上看,ESB 提供了事件驅動和文件導向的處理模式,以及分散式的執行管理機制,它支援基於內容的路由和過濾,具備了複雜資料的傳輸能力,並可以提供一系列的標準介面;另一方面,BPM,即業務流程管理,是一種以規範化的構造端到端的卓越業務流程為中心,以持續的提高組織業務績效為目的的系統化方法,常見商業管理教育如 EMBA、MBA 等均將 BPM 包含在內。
Web 服務讓系統不再盲目地交換資料,而是按照機器可讀的合約和介面定義來交換資料,此類合約能夠讓某個系統和其他系統進行互動之前理解、並驗證資料。
這裡還包含了微服務架構,就其核心而言,微服務架構構建、並改進了面向服務架構和企業服務匯流排——此階段的主要進化,是圍繞分散式系統從Web 服務向基於表述性狀態傳遞的互動過渡。
表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是 Roy Fielding 博士在 2000 年他的博士論文中提出來的一種軟體架構風格,它是一種針對網路應用的設計和開發方式,可以降低開發的複雜性,提高系統的可伸縮性。目前在三種主流的 Web 服務實現方案中,因為 REST 模式的Web 服務與複雜的 SOAP 和 XML-RPC 對比來講明顯的更加簡潔,越來越多的 Web 服務開始採用 REST 風格設計和實現。例如,Amazon.com 提供接近 REST 風格的 Web 服務進行圖書查詢;雅虎提供的 Web 服務也是 REST 風格的。
總之,這個階段中,在通用協議基礎上,分散式系統也能獲得通用標準和合約定義(contracts definitions)。
基於區塊鏈的整合
雖然利用通用協議和標準對交換資料有一定幫助,但服務合約卻無法提供隱藏在合約背後、並在遠端系統上執行的業務流程資訊。一個業務請求可能在合約層面上有效,但在業務流程的某個狀態下無效,這種情況會在兩方之間進行整合的時候——比如在客戶端-伺服器模型、以及在 P2P 模型中多個參與方之間進行整合的時候產生很多問題。
有時多個參與方也會是同一業務流程的一部分,有時業務流程也會被其中一方而非所有各方擁有。而這種能夠讓多方互動正常運作的先決條件,就是要確保共同業務流程及其當前狀態的透明度。所有這一切,都讓能夠在多方之間實施分散式業務流程的區塊鏈技術變得極具吸引力。
通過共享業務流程和包含狀態,基於區塊鏈技術的整合模型擴充套件了共享協議和服務合約,而且所有參與實體都能以智慧合約的形式共享同一業務流程。但是,為了驗證業務請求、處理並得出相同的結論,業務流程也需要保持相同的狀態,而這隻有通過分散式賬本才能實現。共享智慧合約過去的全部狀態並不是實現這一目標的手段,而是共享業務流程執行的先決條件。
從這個角度來可,區塊鏈可以被看作是系統整合進化的下一個階段。正如我們接下來將會深入解釋的那樣,區塊鏈網路可以充當一種分散式企業服務匯流排和業務流程管理機制,它不會包含在某個單獨的業務實體之中,而是跨越覆蓋到多個企業組織內。下圖:整合技術開始從封閉系統進化到共享系統:
首先是協議(比如 FTO),然後是應用程式介面合約(比如 WSDL、SOAP),接下來是業務流程本身(比如智慧合約),最後資料會移出到封閉系統之外,進入公共共享空間,併成為整合基礎設施的一部分。在某些方面,這種趨勢類似於微服務的橫切責任(cross-cutting responsibilities)從服務內部轉移到支援平臺。
通過區塊鏈,通用資料模型和當前業務流程可以從企業內部轉移到共享業務網路上。但需要注意的是,這種方法並非普遍使用,甚至不太可能成為一種主流系統整合機制。因為只有當網路中的所有參與方對資料模型和業務流程具有相同的理解時,才有可能採取這種行動。所以,基於區塊鏈技術的系統整合只適用於那些有標準化業務流程的行業,比如金融、供應鏈、醫療保健等。
系統整合迭代
至此,我們已經按照時間順序瞭解了整合技術的進化,現在可以更全面地瞭解B2B整合進化的各個主要階段:
第一代:系統整合協議
這其實是在公用物件請求代管者體系結構(CORBA)和麵向服務結構(SOA)之前的整合技術,主要利用通用協議進行資料交換,這種方式並不會理解資料、合約和業務流程:
1、整合模式:客戶端-伺服器,其中伺服器元件僅由一方控制,典型的示例有資料庫、檔案伺服器、訊息代理等;
2、顯式共享基礎架構:低階系統協議、以及諸如FTP這樣的應用程式介面;
3、隱式非共享基礎架構:應用程式合約、資料格式、以及不支援通用基礎基礎架構的業務流程。
第二代:應用程式集成合約
第一代系統整合技術使用的是幾年前的系統協議,允許應用程式以通用合約的形式共享應用程式介面。而第二代系統整合技術已經能夠讓應用程式瞭解資料、以及資料結構和潛在錯誤條件了,不過這一代技術仍然無法瞭解系統中的業務流程和當前狀態:
1、整合模式:利用合約描述應用程式介面的客戶端-伺服器模型;
2、顯式共享基礎架構:協議、應用程式合約和應用程式介面定義;
3、隱式非共享基礎架構:業務流程和遠端狀態仍是私有的。
第三代:分散式業務流程
第三代系統整合技術是基於區塊鏈技術的一代,並且又向前邁進了一步,但該技術仍然需要證明是一個可行的企業級系統整合架構。區塊鏈系統整合技術使用 P2P 協議,並且能夠在多個系統之間共享業務流程,這些系統都是由去信任的各方控制的。之前的系統整合技術需要對共享協議和應用程式介面的理解,但這需要依賴對完整業務流程及其當前狀態的共同理解,也只有這樣才能形成有意義的跨組織分散式業務流程網路,並從中獲得回報:
1、整合模式:通過與分散式業務流程形成業務往來,實現多方 P2P 整合;
2、顯式共享基礎架構:業務流程及其所需的狀態;
3、隱式非共享基礎架構:其他非流程相關的狀態。
實際上,有許多基於區塊鏈專案採用了不同的方法也解決業務整合難題,在此我們列舉一些 B2B 整合領域裡最受歡迎、也是最有趣的許可開源區塊鏈專案:
1、Hyperledger Fabric 是目前最受歡迎、也是最先進的區塊鏈框架之一,最初由 IBM 公司開發,現在已經是 Linux Foundation 專案的一部分了;
2、Hyperledger Sawtooth 最初是由英特爾公司開發的專案,現在也歸入了 Linux Foundation 旗下分散式專案,它以可更換的模組化和完整元件而廣受歡迎;
3、Quorum 是一個基於以太坊區塊鏈的企業級分散式系統解決方案;
4、Corda 是另一個基於Java虛擬機器中介軟體技術的技術,能夠讓企業利用合約交易、交換價值。
現階段,已經由很多企業/組織使用上述系統框架構建了業務網路,使網路中的成員組織能夠利用這種新型整合模式互相整合和互動。當然,除了上述提供網路節點的全棧區塊鏈專案之外,還有一些“混合”解決方案。舉個例子,Unibright 專案旨在利用自動生成的智慧合約,將熟悉的標準(比如 BPMN)中定義的內部業務流程與現有區塊鏈網路連線起來。這種智慧合約可以有公有鏈和私有鏈生成,並且成為企業之間另一個系統整合支柱。
實際上,區塊鏈技術已經開始嘗試在我們現實生活中的很多領域裡應用。一些公有鏈專案聲稱將利用這一新興技術來改變世界,相比之下,私有鏈和許可區塊鏈並沒有做出太多這樣的承諾,而是在穩步向前發展。
總結
企業級的整合往往具有很多細節上的問題,比如所有系統都是由一家實體所控制、參與者之間具有某種程度的信任等等。就目前而言,這些問題仍然由現代企業服務匯流排、業務流程管理和微服務架構來解決的。
但是,當我們談到多方參與的 B2B 整合時,和傳統企業級整合所遇到的問題就不太一樣了。這些系統基本上會由多個企業/組織控制,單獨一方無法檢視業務流程,互相也不信任——在這種場景下,我們看到企業/組織開始嘗試一種全新的、基於區塊鏈的整合技術,這種技術不僅依賴於協議與合約的共享,還依賴於端到端的業務流程和狀態共享。
需要說明的是,“區塊鏈即整合”(Blockchain as Integration)這種趨勢與區塊鏈行業內多年來不斷髮展的總體方向是一致的,即從共享最低限度的協議,到以合約、應用程式介面和現有業務流程和狀態的共享。
這種共享整合基礎架構能夠支援全新的、透明整合模型——其中,先前那些不公開的業務流程現在將在開源協作模型下被共同擁有、共同擬定、共同構建、共同維護、形成標準化。也只有在這種情況下,才能夠讓企業/組織獲得激勵、共享業務流程並形成一個互利互益的網路,促進聯合創新、標準化、以及更深層次的整合。