適用於 Service Broker 的開發人員責任
應用程式開發人員負責設計 Service Broker 應用程式以及建立需要程式設計的元素。系統管理員負責設定與管理 Service Broker。規劃系統時,開發人員和管理員必須一起工作,以確保能夠針對其特定環境和商務用途,以最佳的方式開發與管理系統。
建立個別應用程式所牽涉的工作取決於應用程式的需求。下列為開發 Service Broker 應用程式的一般工作順序。
規劃應用程式。建立應用程式必須完成的工作大綱。描述在每個工作期間發生的交談。哪個端點必須以何種順序提供何種資訊?必須進行什麼處理?應該指派給交談何種優先順序?所有後續的資訊都取決於這個大綱。
在每個交談中,決定每個訊息的格式和結構。規劃預期的訊息交換順序,以及交談中的每個參與者應該如何回應錯誤與以非預期順序傳送的訊息。
如果交談使用 XML 訊息,請針對每個 XML 訊息建立一個結構描述。您可以在開發、測試以及疑難排解期間使用結構描述。當您的服務正在運行時,您可以決定是否要從您的訊息類型移除結構描述驗證以提升效能。
針對每個交談中的每個訊息,建立一個訊息類型。
針對每個交談建立一個合約。此合約會識別每個端點可以在交談中使用的訊息類型。
建立一個佇列以儲存將由應用程式接收的訊息。
建立一個服務以公開由合約定義,並由您所建立之預存程序實作的功能。建立服務時,您可以讓該服務與您在上一個步驟中所建立的佇列產生關聯。您可以藉此步驟告知 Service Broker,為處理該服務而出現的所有訊息都放置在識別的佇列中。
檢閱您在步驟 1 所建立的優先順序計畫。針對使用非預設值之優先順序等級而設計的交談端點,建立包含所有交談端點的交談優先順序。如果優先順序等級應該在訊息從資料庫傳輸時使用,請確認該資料庫中的 HONOR_BROKER_PRIORITY 選項設定為 ON。
建立一個應用程式,實作步驟 1 中所識別的預期訊息交換模式和處理需求。如果您的應用程式使用內部啟動,該應用程式為預存程序。
如果您的應用程式使用內部啟動,請改變佇列以啟用啟動。指定步驟 8 中所建立的預存程序,做為啟動預存程序。
識別可使用您剛建立之服務的服務。如果這些服務中的任何服務存在於本機 SQL Server 執行個體之外,請為它們建立路由。
檢閱您在上一個步驟中識別的遠端服務,並使用該服務決定通訊的安全性需求。如有必要,建立憑證以強制執行這些需求,然後為這些憑證建立資料庫使用者。讓憑證與這些登入產生關聯。其他服務的管理員或開發人員必須建立遠端服務繫結,才能針對此服務的流量啟用對話安全性。
在開發與測試期間,讓應用程式使用應用程式將會在運行時使用的使用者名稱通常很方便,但是要讓這些使用者名稱與僅在開發和測試環境中使用的憑證產生關聯。當應用程式開始運行時,請使用針對實際執行環境建立的憑證。藉由使用不同的憑證,您可以減少部署應用程式時所需的工作,但仍然可以維護開發環境和實際執行環境間的安全性。