什麼是中介軟體?
中介軟體是一種能讓不同的應用程式用來彼此進行通訊的軟體。它提供智能高效地連接應用程式的功能,以便您可以更快地進行創新。中介軟體可作為各種技術、工具與資料庫之間的橋接,因此您可以將它們無縫整合至單一系統中。然後這個單一系統就為使用者提供統一服務。舉例來說,Windows 前端應用程式自 Linux 後端伺服器傳送與接收資料,但是應用程式使用者不了解其中的差別。
為什麼中介軟體很重要?
中介軟體最開始是作為新應用程式和舊式系統之間的橋樑,直至 20 世紀 80 年代才開始普及流行。開發人員最初使用中介軟體來整合新程序與早期的系統,而無需重寫之前的程式碼。中介軟體已經成為分散式系統中重要的通訊和資料管理工具。
開發人員使用中介軟體來支援應用程式開發及簡化設計流程。這樣一來,他們便能隨時專注於商業邏輯和功能,而不是不同軟體元件之間的連線。若沒有中介軟體,開發人員將不得不為連線至應用程式的每個軟體元件建置一個資料交換模組。這極具挑戰性,因為現代化應用程式包含多個可相互通訊的微型服務或小型軟體元件。
中介軟體的使用案例有哪些?
以下是中介軟體較為常見的使用案例:
遊戲開發
遊戲開發人員使用中介軟體作為遊戲引擎。要使遊戲正常運作,軟體必須與各種影像、音訊和影片伺服器及通訊系統進行通訊。遊戲引擎可促進這種通訊,以及提高遊戲開發效率。
電子
電子工程師使用中介軟體將各種類型的感應器與其控制器進行整合。中介軟體層允許感應器透過常用的簡訊架構與控制器進行通訊。
軟體開發
軟體開發人員使用中介軟體將不同的軟體元件整合到其他應用程式中。中介軟體提供標準的應用程式介面 (API) 來管理元件所需的資料輸入和輸出。與元件的內部連結會對使用者隱藏。開發人員使用 API 從軟體元件請求所需的服務。
資料傳輸
軟體應用程式使用中介軟體可靠地傳送和接收資料串流。資料串流是持續資料的高速傳輸。它們對可靠的影片和音訊串流而言非常重要。
分散式應用程式
分散式應用程式是可在網路上的不同電腦上執行的軟體程序。它們通常包含前端和後端應用程式。前端應用程式是您在電腦或行動裝置上使用的軟體,例如社交媒體應用程式。相比之下,後端應用程式是處理資料處理、商業邏輯和資源管理任務的軟體程序。中介軟體會在前端和後端應用程式之間進行通訊,因此分散式應用程式可以順暢運作。
什麼是中介軟體架構?
中介軟體架構由幾個元件組成,這些元件可進行通訊以建立資料管道。資料可透過中介軟體從一個連線應用程式移至另一個應用程式。中介軟體可處理資料以實現相容性。 以下是中介軟體的常見元件:
管理主控台
管理主控台向軟體開發人員提供了中介軟體系統活動、軟體規則和組態的概觀。
用戶端介面
用戶端介面是與應用程式通訊的中介軟體的外部部分。開發人員使用用戶端介面提供的功能與其他應用程式、資料庫或其他微型服務進行互動。
中介軟體內部介面
中介軟體內部介面可充當繫結各種元件的軟體粘合劑。中介軟體元件使用內部介面,以與其自身的協定緊密協同運作。
平台介面
中介軟體介面可確保中介軟體程序能與各種平台相容。它包含適用於不同類型作業系統的軟體元件。
合約管理員
合約管理員定義了中介軟體系統中的資料交換規則。它還可確保應用程式在使用中介軟體傳送資料時遵守規則。當應用程式違反特定規則時,它會向應用程式傳送提醒或例外狀況。例如,如果應用程式在需要文字時卻傳送了數字,則合約管理員會傳回例外狀況。
工作階段管理員
工作階段管理員可在應用程式和中介軟體之間建立一個安全的通訊通道。它可確保通訊無縫流動,並儲存資料活動記錄以供報告。
資料庫管理員
某些類型的中介軟體還包括資料庫管理員。資料庫管理員負責根據需要整合不同的資料庫類型。
執行時間監控器
執行時間監控器可對中介軟體中的資料移動進行持續監控。它可偵測異常活動,並將結果報告給開發人員。
中介軟體如何運作?
中介軟體概述了元件之間的基礎通訊程序。這意味著前端應用程式只與中介軟體通訊,而不必學習其他後端軟體元件的語言。
簡訊架構
簡訊架構可促進前端和後端應用程式之間的資料交換。常見的架構包括:
- JavaScript 物件標記法 (JSON)
- 表現層狀態轉換 (REST API)
- 可擴展標記語言 (XML)
- Web 服務
- 簡單物件存取協定 (SOAP)
簡訊架構為不同作業平台和語言的應用程式提供了通用通訊介面。應用程式以簡訊架構提供的標準化格式寫入和讀取資料。
中介軟體的範例
例如,Web 伺服器是將網站連線至後端資料庫的中介軟體。當您在網站上提交表單時,您的電腦會將請求以 XML 或 JSON 格式傳送至 Web 伺服器。然後,Web 伺服器會根據請求執行商業邏輯,從資料庫中擷取資訊,或使用不同的協定與其他微型服務通訊。
其他中介軟體功能
除了作為軟體應用程式之間的中介外,中介軟體程序還要執行以下操作:
- 在分散式應用程式之間提供安全的通訊通道,以便網站可將敏感資訊安全地傳送至後端應用程式。
- 管理流量並避免特定的應用程式或檔案伺服器過載。
- 自動化及自訂對請求的回應。例如,中介軟體會對結果進行排序和篩選,然後再將其傳送至前端應用程式。
什麼是平台中介軟體?
平台中介軟體透過提供受管工具和資源系統來支援應用程式開發。開發人員使用平台中介軟體在應用程式之間分享或傳輸資源。以下是平台中介軟體資源的一些範例:
執行階段環境
執行階段環境就像一個允許執行軟體程序的小型作業系統。例如,Java 應用程式必須在 Java 執行階段環境中執行。開發人員可以使用 AWS Lambda 為任何程式設計語言設定執行時間環境。
Web 伺服器
Web 伺服器是一種電腦程序,可接收、處理和回應來自網站的請求。Web 開發人員使用 Amazon Lightsail 來託管和管理簡單應用程式的 Web 伺服器。
內容管理系統
內容管理系統是建立、修改、儲存和發佈數位資訊的軟體。例如,WordPress 是一種適用於建置網站的開放原始碼內容管理系統。
容器
容器是應用程式程式碼和必要資源的現成部署服務包。開發人員使用 Amazon Elastic Container Service (Amazon ECS) 來部署、管理和擴展容器化應用程式。
什麼是平台中介軟體?
平台中介軟體透過提供受管工具和資源系統來支援應用程式開發。開發人員使用平台中介軟體在應用程式之間分享或傳輸資源。以下是平台中介軟體資源的一些範例:
執行階段環境
執行階段環境就像一個允許執行軟體程序的小型作業系統。例如,Java 應用程式必須在 Java 執行階段環境中執行。開發人員可以使用 AWS Lambda 為任何程式設計語言設定執行時間環境。
Web 伺服器
Web 伺服器是一種電腦程序,可接收、處理和回應來自網站的請求。Web 開發人員使用 Amazon Lightsail 來託管和管理簡單應用程式的 Web 伺服器。
內容管理系統
內容管理系統是建立、修改、儲存和發佈數位資訊的軟體。例如,WordPress 是一種適用於建置網站的開放原始碼內容管理系統。
容器
容器是應用程式程式碼和必要資源的現成部署服務包。開發人員使用 Amazon Elastic Container Service (Amazon ECS) 來部署、管理和擴展容器化應用程式。
什麼是雲端運算中的中介軟體?
雲端運算涉及跨不同基礎設施建置和部署雲端原生應用程式。開發人員使用中介軟體存取雲端資源,而不會因為管理基礎設施的複雜性而不堪重負。開發人員將雲端應用程式部署在可擴展、以雲端為基礎之主機上的容器中,例如 Amazon Elastic Compute Cloud (Amazon EC2)。
AWS 如何支援中介軟體技術?
AWS 上的應用程式整合價格實惠,是一套可替代傳統雲端運算中介軟體的服務。開發人員使用服務來在微型服務、分散式系統及無伺服器應用程式內的解偶元件之間進行通訊。例如:
- AWS Step Functions 是一種視覺化的工作流程服務,可允許開發人員建置分散式應用程式、自動化 IT 和業務程序,以及使用 AWS 服務建置資料和機器學習管道。
- Amazon Simple Notification Service (Amazon SNS) 是訊息導向中介軟體的替代方案。它可為應用程式提供簡訊服務。
- Amazon EventBridge 是一種無伺服器事件匯流排,開發人員可使用它來整合雲端應用程式與 AWS 服務。
立即建立 AWS 帳戶,開始使用 AWS 上的中介軟體。