SAP掃盲系列之二:SAP ABAP應用伺服器的組成部分
這個系列的第一篇文章,我們瞭解了什麼是SAP應用伺服器例項,並使用SAPGUI這個客戶端軟體,成功登入到了SAP CRM系統的一個應用伺服器例項AG3.
本文繼續學習ABAP應用伺服器的組成部分。
一個典型的ABAP應用伺服器由下列元件構成:
(1) Internet Communication Manager (ICM)
(2) ABAP dispatcher
(3) Task handler
(4) 若干工作程式,型別有dialog, update, print, background等等
(5) RFC Gateway
(6) Standalone enqueue server
(7) SAP Message Server
這些元件的關聯關係如下圖,一個SAP系統可以包含多個應用伺服器例項,但ASCS例項只能有一個。
下面簡單介紹每個元件的功能。
Internet Communication Manager (ICM) - SAP NetWeaver
ICM是Netweaver伺服器裡一個單獨的程式,由ABAP Dispatcher啟動並監控,負責SAP系統和外部的網路通訊。基於收到請求URL的解析,ICM會將請求分發給具體的handler進行處理。
ICM常用的與Internet互動的協議有HTTP,HTTPS,SMTP等。
下圖是ICM的架構圖。
Thread Control:該執行緒負責接收外界請求,從ICM執行緒池中取出空閒的工作執行緒,將請求的上下文交給工作執行緒。
工作執行緒:負責請求的具體處理,包含一個I/O處理器,可以用來進行網路的輸入和輸出操作。對於不同協議型別的請求,Thread Control會排程包含了對應協議外掛的工作執行緒。
Watchdog:如果一個工作執行緒在任務處理時出現了等待某個響應直至超時的情況,Watchdog會將該工作執行緒釋放,避免其無限期的等待,這樣該工作執行緒可以服務於其他請求。而Watchdog會繼續等待尚未到來的響應。其後如果響應到達,Watchdog會通知Thread control, 後者會繼續呼叫新的工作執行緒來處理。
Signal Handler:處理來自作業系統或者其他程式的訊號。
Connection Info: 這張表維護了每個連線的狀態資訊,包括記憶體管道等。
Memory Pipes:記憶體管道是基於記憶體的通訊資料結構,用於將ICM接收到的外部請求包含的資料轉交給工作執行緒。
Internet Server Cache:伺服器端的快取,對於重複的請求可以加快響應速度。
ABAP Dispatcher和工作程式
二者的關係在下圖體現得很清晰,ABAP應用伺服器上執行著許多不同型別的工作程式。
SAP gateway
SAP系統之間,以及SAP系統與外部系統間通過基於TCP/IP的RFC呼叫進行通訊,而gateway作為RFC呼叫分發的入口,如下圖所示:
SAP Message Server
每個SAP系統只能包含一個訊息伺服器,該元件負責完成以下任務:
(1) 作為SAP系統內多個應用伺服器例項間的通訊渠道
(2) 對來自客戶端通過SAPGUI和SAP RFC登入請求的負載分發
當一個應用伺服器例項啟動後,其dispatcher程式就會聯絡訊息伺服器,向其報告自己能夠提供的服務型別。
SAP Router
一個單獨執行的程式,保護SAP系統不被未經授權的請求所訪問。
SAProuter在網路連線拓撲結構中,在SAP系統間以及SAP系統和外部網路間,扮演著proxy的角色,是基於埠過濾的防火牆機制的一種補充,通常直接安裝在防火牆主機上。
SAPRouter維護了一張路由許可權表,可以以此維護可以允許何種型別的請求同防火牆背後的SAP系統建立連線。
SAP Start Service
該服務執行在部署了SAP應用伺服器例項的伺服器上,實現載體是windows的系統服務(sapstartsrv.exe)和Unix系統的Daemon程式(sapstartsrv).
SAP Start Service實現的功能有:
(1) 啟動和終止SAP應用伺服器例項,及其執行狀態的監控
(2) 應用伺服器日誌,跟蹤和配置檔案的讀取與管理
Enqueue Server
實現ABAP應用程式級別的鎖管理機制。應用伺服器例項上所有使用者當前會話持有的鎖,都維護在Enqueue伺服器的鎖資訊管理表中,該表維護在Enqueue伺服器的記憶體中,不會進行持久化,因此Enqueue伺服器成為了ABAP系統的單點故障源之一:當Enqueue伺服器由於各種原因執行時發生故障需要重啟時,維護在記憶體中的鎖資訊表的資料會丟失。
因此為了確保Enqueue伺服器的高可用性,通常將其放到單獨的物理主機上部署,甚至引入主從機制的多臺Enqueue伺服器,將Master Enqueue伺服器上的鎖資訊管理表同步到其他Enqueue伺服器上。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2679012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP ABAP應用伺服器的HTTP響應狀態碼(Status Code)伺服器HTTP
- 使用 Prometheus 監控 SAP ABAP 應用程式Prometheus
- Fundamental Library for ABAP 主要的組成部分概述
- 本地開發好的 SAP Fiori Elements 應用,如何部署到 ABAP 伺服器上?伺服器
- 把經典的ABAP webdynpro應用配置到SAP Fiori Launchpad裡Web
- SAP ABAP FOR ALL ENTRIES 的用法
- SAP ABAP Netweaver 裡的 ABAP 會話概念會話
- 本地開發好的 SAP UI5 應用部署到 ABAP 伺服器時,中文字元變成亂碼的原因UI伺服器字元
- 如何使用Prometheus採集SAP ABAP Netweaver的應用日誌資料Prometheus應用日誌
- 用 SAP ABAP 編寫的俄羅斯遊戲遊戲
- 如何把本地開發的 SAP UI5 應用部署到 ABAP 伺服器上試讀版UI伺服器
- SAP ABAP呼叫WEBAPI(一)WebAPI
- My suggestions on SAP ABAP transformationORM
- SAP CRM Fiori應用和SAP JAM的整合配置
- SAP Hybris的build callback和SAP ABAP的SGEN事務碼UI
- SAP ABAP資料表的操作
- SAP ABAP 程式之間的呼叫
- 使用 SAP Fiori Tools 部署 SAP UI5 應用到 ABAP 伺服器時遇到的各種錯誤和解決辦法UI伺服器
- 伺服器組成部分有哪些伺服器
- 伺服器由哪些部分組成伺服器
- 本地開發的 SAP UI5 應用,部署到 ABAP 伺服器執行出錯的問題分析UI伺服器
- SAP ABAP Gateway Client 的 ABAP 實現,重用 HTTP ConnectionGatewayclientHTTP
- SAP ABAP Netweaver伺服器的標準登入方式講解伺服器
- 在 SAPGUI 裡使用 ABAP 報表上傳 SAP UI5 應用到 ABAP 伺服器試讀版GUI伺服器
- SAP MM 模組的入門者,想學習 ABAP 程式語言應該如何入手?
- SAP BTP MTA 應用的應用場景
- SAP ABAP Append structure 介紹APPStruct
- SAP ABAP的CI/CD解決方案
- SAP ABAP SQL的execution plan和cacheSQL
- 什麼是 SAP ABAP 的 include structureStruct
- SAP ABAP Application Log 的使用方法APP
- SAP SEGW 事物碼裡的 ABAP Editor
- SAP ABAP 業務開關和 SAP 電商雲的 Feature Level
- SAP Batch Derivation功能初探之二BAT
- 使用 SAP WebIDE 將 SAP UI5 應用部署到 ABAP 系統時遇到的關於傳輸請求的錯誤WebIDEUI
- 把 SAP UI5 應用部署到 SAP KymaUI
- SAP UI5 初學者教程之二十八 - SAP UI5 應用的整合測試工具 OPA 介紹UI
- 伺服器軟體大掃盲伺服器