整合應用程式的途徑不只一種,每一種在滿足前述準則上各有擅場。這些途徑可歸納為四種主要的整合風格:

  • 檔案傳輸(File Transfer)——讓每個應用程式產出裝有共享資料的檔案供他人消費,同時消費他人產出的檔案。
  • 共享資料庫(Shared Database)——讓應用程式把想共享的資料存進一個共同的資料庫。
  • 遠端程序呼叫(Remote Procedure Invocation)——讓每個應用程式開放部分程序供遠端呼叫,藉此執行行為並交換資料。
  • 訊息傳遞(Messaging)——讓每個應用程式連上一套共同的訊息系統,用訊息來交換資料、喚起行為。

它們是同一個問題的四種答案#

四個模式的問題敘述完全相同——需要整合應用程式——脈絡也非常相似。真正區分它們的,是那些推著我們尋找更優雅解法的作用力。

每個模式都建立在前一個之上,試圖用更精巧的作法補上前者的不足。因此模式的排列順序,反映的是精巧程度遞增的順序

訣竅:不是選一種用到底#

訣竅不在於挑一種風格永遠用下去,而在於為特定的整合機會挑最適合的那一種

  • 兩套應用程式之間可以同時採用多種風格,讓每個整合接點各取所長。
  • 同一套應用程式也可以在與不同對象整合時採用不同風格,挑最適合對方的那一種。
  • 有些整合途徑最好被理解成多種風格的混血。整合產品或 EAI 中介軟體可能同時運用多種風格,而這些全都被藏在產品實作裡。

為什麼本書專講訊息傳遞#

本書其餘部分會展開 Messaging 這個模式,理由有三:

  • 作者相信它往往是解決許多整合機會的最佳風格
  • 它是四種整合風格中最不被理解的一種,而且這門技術裡滿是能快速說清楚「怎麼用好它」的模式。
  • 訊息傳遞是許多 EAI 產品的基礎,因此講清楚怎麼用好訊息傳遞,也就等於在教你怎麼用好那些產品

先熟悉這四個模式,你會更理解應用整合牽涉的議題,也更清楚訊息傳遞在其中的位置。