SAP集成技術(十二)SAP PO

集成工作的一個重要部分是基於流程的集成,而在SAP環境中實現接口需求的衆所周知的產品是SAP Process Orchestration(以下簡稱SAP PO)。

現代集成架構通常使用中央系統來控制和處理應用程序之間的通信。這些系統通常被稱爲中間件或集成平臺。

SAP PO是可以用作中心中間件產品。通過SAP PO,基本上可以設置不同的集成架構。SAP PO是一個經典的軟件產品,可以在自己的基礎設施內安裝和運營它。


內容摘錄自《SAP Interface Management Guide》。

本文鏈接:https://www.cnblogs.com/hhelibeb/p/17893424.html

SAP PO概覽

在本節中,我們將提供SAP PO的概覽。表1顯示了SAP PO及其前身的不同版本的概覽。這個SAP中間件的第一個流行版本是SAP Exchange Infrastructure(SAP XI)3.0,它於2004年12月發佈。2006年6月,發佈了第一個繼任者:SAP Process Integration版本7.0(以下簡稱SAP PI)。從這個版本開始,SAP PI的版本號基於其關聯的SAP NetWeaver版本。

名稱 發佈時間 特點
SAP XI 3.0 2004年12月 -
SAP PI 7.0 2006年6月 支持Java 1.5
SAP PI 7.10 2008年7月 引入高級適配器引擎(AAE)
SAP PI 7.11 2009年6月 -
SAP PI 7.30 2011年5月 • 包含高級適配器引擎擴展(AEX)的選項
• 支持Java 1.6
SAP PO 7.31 2012年5月 -
SAP PO 7.40 2013年5月 -
SAP PO 7.50 2016年10月 支持Java 1.8
表1 SAP PO版本及其特點的歷史

SAP XI和SAP PI作爲雙棧安裝運行。換句話說,如圖1所示,運行它們需要SAP NetWeaver Application Server for ABAP(SAP NetWeaver AS ABAP)和SAP NetWeaver Application Server for Java(SAP NetWeaver AS Java)。之所以需要雙棧,是因爲SAP PI的不同組件是基於不同技術開發的。例如,IDoc通信長時間以來需要使用SAP NetWeaver AS ABAP,因爲IDoc只作爲ABAP功能提供。


圖5 SAP PI:雙棧安裝

自2011年5月起,可以選擇以AEX安裝(也稱爲單棧安裝)運行SAP PI。在這種情況下,如圖2 所示,SAP PI的所有組件都運行在基於Java的應用服務器上。這種安裝解決方案的優勢是所有消息處理都在一個應用服務器上進行,不需要應用服務器之間的通信。因此,可以在消息處理時間方面取得性能優勢。


圖2 SAP PI:高級適配器引擎擴展

自2012年5月起,可以選擇安裝SAP PO以及SAP PI。SAP PO提供了兩個額外的組件,如圖3所示:首先是SAP Business Process Management(SAP BPM)用於處理和控制跨系統流程;其次是SAP Business Rules Management(SAP BRM)用於業務規則的中央定義和存儲。自SAP PI 7.50起,不再可以作爲雙棧系統安裝。儘管仍然可以額外安裝基於ABAP的應用服務器(一種稱爲雙重使用的方法),但這種方法不推薦,應只在特殊情況下考慮。

截至2021年1月,SAP官方支持的SAP PO的唯一版本是7.50。其他所有版本將在2020年12月各自SAP NetWeaver版本的維護結束後不再受支持。目前,SAP PO 7.50將繼續由SAP支持,常規維護至2027年12月,延長維護至2030年12月。在那之後,不再計劃提供進一步的支持,SAP也不打算髮布新版本的SAP PO。


圖3 SAP PO的組件

SAP Cloud Integration是SAP PO的後繼產品,將在後文中詳細介紹。然而,SAP Cloud Integration目前只作爲基於雲的解決方案提供。中間件的一個主要優勢是它也可以在本地運行,特別是在本地到本地的集成中。SAP一直在研究SAP Cloud Integration的本地變體。然而,也可以在SAP Cloud Integration中開發接口,並在此期間在SAP PO中運行它們。

接口管理功能

本節介紹SAP PO用於接口管理的不同功能。請注意,本節將重點介紹SAP PI的功能。欲瞭解更多信息,我們推薦J. Mutumba Bilay和R. Viana Blanco所著的SAP PRESS書籍《SAP PO》(參見SAP PO: The Comprehensive Guide)

支持的集成領域

可以在實施不同領域的場景時使用SAP PO。原則上,可以在所有集成領域中使用SAP PO。然而,SAP PO的優勢在本地到本地和本地到雲的集成領域尤爲明顯。

在本地到本地的集成領域中,通常是兩個本地運營的應用程序相互通信。由於SAP PO也是本地安裝和運營的,因此在這個集成領域中,SAP PO的優勢大於SAP作爲雲服務提供的其他集成產品。理想情況下,通過SAP PO從本地通信到本地時,不會離開自己的網絡。即使在臨時失去互聯網連接的情況下,也可以通過本地網絡繼續通信。

SAP PO在本地到雲的集成領域也特別有用。在這方面的一個典型例子是跨企業通信。SAP PO仍然是本地運行的,但在這種情況下,通信是與外部合作伙伴進行的。因此,應該注意如何保護對SAP PO系統的訪問,因爲外部通信是進入內部網絡的潛在入口。

雲到雲:
當然,也可以將SAP PO用於其他集成領域。然而,這涉及到一些挑戰。例如,出於性能原因,通過本地安裝的SAP PO系統處理雲到雲通信是沒有意義的。另一個原因是系統可用性。需要確保的SAP PO系統至少具有與兩個雲提供商爲其應用程序提供的相同的可用性。此外,出於性能原因,通過本地安裝的SAP PO系統路由消息會給網絡帶來負擔,因此沒有意義。

在這一點上,讓我們來看兩個通常可以歸類爲本地到雲集成領域的進一步用例。
對於企業到企業(B2B)通信,必須考慮特殊的消息格式和技術。對於SAP PO,SAP在SAP PI B2B附加組件中提供了這些功能。B2B附加組件由三個模塊組成,如圖4所示:
• B2B服務
• B2B適配器
• B2B轉換模塊


圖4 SAP PI企業對企業附加組件概覽

這些B2B服務是SAP PO中的功能,在B2B通訊環境中通常會使用。這些服務包括,例如,爲消息映射提供的特殊預定義功能,或者在消息和合作夥伴層面定義號碼範圍的能力。B2B適配器提供特殊的傳輸技術,比如Applicability Statement 2(AS2)、歐洲數據交換格式(OFTP)和X.400。B2B轉換模塊爲SAP PO提供了處理特殊格式的數字文檔交換能力,這些格式稱爲電子數據交換(EDI)格式,並將它們轉換成符合SAP PO標準的XML格式以便進一步處理。

商業對政府(B2G)通訊通常涉及企業根據法律要求向政府機關報告的情況。在德國最著名的例子是通過Elster進行的銷售稅預繳申報。對於這種形式的通訊,SAP提供了預定義的內容,只需要導入並在SAP PO中配置即可。

集成能力

對於大多數接口,SAP PO中的不同功能將是滿足需求所必需的。原則上,本節介紹的功能可以以任何方式組合,並不一定要用於消息處理。圖5示意性地顯示了SAP PO中消息處理的流程。我們將在本節中更詳細地描述各個處理步驟。


圖5 SAP PO中消息處理的示意流程

讓我們更詳細地看一下這些處理步驟:

  • 數據轉換
    在數據轉換的上下文中,消息在處理過程中從發送結構轉換到目標系統的目標結構。爲此,圖形映射框架內提供了各種操作符,除了圖形映射之外,還有額外的選項:可擴展樣式表語言轉換(XSLT)和Java映射允許實現更復雜的數據轉換需求。然而,必須在SAP PO之外開發這些映射,因爲SAP PO不提供編輯器。因此,可以在偏好的編輯器中或公司提供的編輯器中開發這些映射。
  • 消息持久性
    原則上,中間件不是消息存儲。儘管如此,在某些情況下您可以臨時存儲數據。但是,請注意,這個選項應該只在特殊情況下使用,因爲它可能對系統性能產生負面影響。我們估計在中間件中需要數據存儲的需求相當低。SAP PO可以根據系統的配置存儲不同狀態的消息,以便進行錯誤分析和錯誤處理;因此,通常不需要額外的存儲。
  • 數據安全
    數據安全在接口管理中扮演着重要的角色。首先,連接時應始終使用安全的協議——例如,使用安全文件傳輸協議(SFTP)而不是文件傳輸協議(FTP),使用超文本傳輸安全協議(HTTPS)而不是超文本傳輸協議(HTTP)。在SAP PO中,可以使用SAP流程集成安全連接附加組件來提供增加數據安全性的功能。該附加組件提供了例如鎖定和解鎖消息的選項。此外,可以在監控中使用權限來控制哪些用戶可以看到什麼信息。比如,某些員工可能不應該被允許看到通過接口傳輸的人事數據。
  • 消息路由
    中間件的核心任務之一是確定消息的正確接收者(路由)。消息可以被路由到一個接收者,也可以是多個接收者。接收者可以根據不同的標準確定,例如消息類型、消息發送者或消息內容。和路由本身一樣重要的是錯誤處理,如果無法確定接收者,可以爲SAP PO中的每個接口單獨配置。
  • 消息組合
    如果源系統發送的數據對於目標系統的成功消息處理來說不足,可以使用查找功能從應用程序中讀取更多數據。默認情況下,SAP PO通過Java數據庫連接或RFC提供查找功能。然而,應該注意每次查找都會增加處理時間,從而減少SAP PO的整體數據吞吐量。此外,如果查找失敗或沒有返回任何數據,必須在SAP PO中實現高級錯誤處理。
  • 消息監控
    通過消息處理,SAP PO中有另一個全面的功能,允許監控整個處理過程。日誌文件記錄了單個處理步驟,以便可以輕鬆識別和糾正錯誤。此外,爲了補充已經描述的消息持久性,可以記錄消息以支持錯誤分析。由於消息監控是接口管理中的一個重要話題,我們將在後文中更詳細地討論其功能。

連接器

對於與SAP和非SAP應用程序的集成,SAP PO提供了許多適配器類型,如表2所列。第三方供應商還提供了額外的適配器類型。

適配器類型 描述
AS2 通過AS2協議連接B2B合作伙伴。此適配器是B2B附加組件的一部分。
BC 實現與SAP Business Connector的連接。
CIDX 化學工業數據交換(CIDX); 提供對化學標準的支持。
EDISeparator 來自B2B附加組件的特殊適配器,可以用來從一個技術傳輸中分離出多個EDI消息。
File 通過文件接口或FTP服務器交換數據。
http_AAE 通過HTTP(S)協議連接應用程序。
IDoc_AAE 通過SAP PO交換IDocs。
JDBC 通過JDBC訪問任何數據庫。相應的JDBC驅動程序必須部署在SAP PO上。
JMS 通過SAP PO上的消息隊列實現異步消息處理。
Mail 通過連接的電子郵件服務器,使SAP PO能夠發送或接收電子郵件。
Marketplace 實現XI消息格式到市場格式MarketSet Markup Language (MML)的轉換。
OData 建立基於OData通信的適配器類型;是安全連接附加組件的一部分。
OFTP OFTP是B2B附加組件的特殊傳輸格式。
REST 根據REST原則實現遠程客戶端或Web服務服務器之間消息的交換。
RFC 使SAP PO能夠對本地現場系統進行RFC調用。
RNIF(11) RosettaNet實現框架(RNIF)允許在集成服務器和符合RosettaNet的系統(RNIF協議1.1/2.0)之間交換消息。
SFSF 連接到SAP SuccessFactors系統的適配器類型;是安全連接附加組件的一部分。
SFTP 通過SFTP實現基於文件的通信;是安全連接附加組件的一部分。
SOAP 使遠程客戶端或Web服務服務器與集成服務器之間能夠傳輸SOAP消息。
WS_AAE 負責遠程客戶端或Web服務服務器與集成服務器之間SOAP消息的交換。
X.400 X.400是B2B附加組件的特殊傳輸技術。
表2 SAP PO:適配器類型

在SAP PO中,可以通過使用適配器模塊來擴展通信通道的功能。每個通信通道都被分配給確切的一個適配器類型。適配器模塊在適配器和消息服務之間被調用。可以在通信通道中插入其他需要額外執行的模塊。爲此,在同步或異步通信的情況下,將模塊插入適配器模塊之前。圖6展示了一個例子,在各自的適配器模塊之前插入了模塊1和2(取決於通信方向)。


圖6 異步通信的模塊鏈示意圖

SAP交付了一些模塊,可以使用這些模塊來擴展模塊處理功能。一個例子是PayloadZip模塊。使用這個模塊,可以打包或解包整個消息。此外,可以開發自己的模塊並將它們包含在模塊處理中。這項開發工作是用Java完成的,並提供了幾乎無限的可能性來處理和修改消息。

接口的實現

在SAP PO中接口的實現與SAP Cloud Integration的方法有根本性的不同。使用SAP PO,接口的實現分爲兩個步驟:

  1. 設計時(Design time)
  2. 配置時(Configuration time)

在設計時,需要結構性地定義接口。換句話說,需要指定源和目標結構的定義,結構間映射的樣子,以及系統接口的屬性。例如,你將指定接口是同步的還是異步的,以及接口由哪些消息部分組成。原則上,在設計時,你將定義一個大型的結構和結構映射倉庫 —— 而不直接參照特定的應用程序。

實際將結構和接口定義與應用程序鏈接在一起的過程發生在配置時。在配置時,需要定義實際的技術消息流。只有在這個時點,才確定各個應用程序用於通信的技術,爲從SAP PO到各自應用程序的連接在通信通道中定義技術連接參數。

可以使用兩種不同的工具在SAP PO中實現接口:推薦的方式是使用SAP提供的SAP NetWeaver Developer Studio中的SAP PO工具,這是一個基於Eclipse的開發環境。使用不同的視圖,可以在設計時或配置時工作。

使用正確版本的SAP NetWeaver Developer Studio

在使用SAP NetWeaver Developer Studio時,請確保始終使用與的SAP PO版本和支持包(SP)級別相對應的版本。雖然理論上較舊版本的SAP NetWeaver Developer Studio可以與更新版本的SAP PO一起工作,但無法使用SAP PO的所有新功能。

Java Web Start(Swing UI)應用程序是可用的,但不再被SAP推薦和開發。

可以從SAP PO系統的啓動頁面啓動這些應用程序。在設計時,您可以使用企業服務構建器(Enterprise Service Builder),在配置時,使用集成構建器(Integration Builder)。

自SAP PO 7.31起,在配置時可以使用iFlows。iFlows的圖形表示是通過一種建模方式定義的。只能在SAP NetWeaver Developer Studio中使用iFlows。

監控接口

對於接口管理來說,一個重要的功能是監控參與的系統和消息流,以確保運行順暢。在後文,會更詳細地介紹使用SAP Solution Manager進行中央監控的選項。在本節中,我們將簡要解釋SAP PO中的監控選項。

組件監控器提供了SAP PO系統的一般狀態概覽。它檢查系統的各種組件(例如,企業服務庫ESR、映射運行時、業務流程引擎BPE等)的可用性,並對每個組件執行自檢。在自檢期間,會根據組件執行各種檢查(例如,是否通信通道有故障,是否已定義必要的配置參數等)。

圖7展示了組件監控器的一個示例。中央適配器引擎的自檢出現故障,因爲一個通信通道指示了錯誤狀態。此外,自檢日誌還表明另一個通信通道已被禁用。


圖7 SAP PO 7.5中的組件監控器

消息監控器提供了SAP PO系統中所有處理消息的概覽。顯示基於iFlows或集成配置。可以查看單個消息的處理日誌,並在必要時顯示消息內容以進行錯誤分析。

圖8展示了消息監控器的一個示例。對於每個發送組件、接收組件和接口的組合,可以看到消息的彙總,也可以通過顯示的消息編號導航到單個消息的詳細監控。

除了消息監控器,通信通道監控器是運行接口的另一個基礎監控器。通過通信通道監控器,可以停止或啓動單個通信通道。在處理詳情中,如果消息已成功處理,可以跳轉到消息監控器查看消息的詳細信息。在出現錯誤的通信通道的情況下,通信通道監控器提供發生錯誤的詳細信息。


圖8 SAP PO 7.5中的消息監控器

圖9展示了通信通道監控器的一個示例。在上半部分,可以看到現有通信通道的一般概覽。默認情況下,故障和非活動通道顯示在列表的頂部。選擇一個通信通道時,將在屏幕的下部看到處理詳情,包括錯誤情況下的錯誤描述。


圖9 SAP PO 7.5中的通信通道監控器

一個特殊的監控器是B2B消息監控器,它隨B2B附加組件一起提供。這個監控器旨在展示有關B2B特定流程的詳情。例如,關於消息處理通知(MDN),一種AS2協議中的收據確認,在消息監控器中會顯示更詳細的信息。還可以根據其他標準過濾和選擇消息。

SAP PO中的其他監控器

SAP PO系統中有許多更多監控器來監控系統和消息處理。在本節中,我們向介紹了用於操作使用的最重要的監控器,可以單獨查詢資料。

實施雲內容

正如之前部分描述的,SAP PO已經確定會退役。作爲其繼任者,SAP已經推出了SAP Integration Suite,並且目前正在開發一個本地版本。因此,我們認爲應該在新接口開發中考慮到這個情況。

並非每一個接口需求都能在完全基於雲的中間件平臺上得到合理實施。因此,SAP創建了一個選項,可以在SAP PO系統上爲SAP Integration Suite運行接口。這些接口完全在SAP Integration Suite的基於雲的環境中開發。在iFlow中,可以選擇SAP PO 7.50作爲運行時配置文件,並選擇與系統匹配的SP版本。因此,當設計iFlow時,只會顯示當前SAP PO版本所支持的組件。

然後,可以將iFlow部署到SAP PO。在這個步驟中,可以使用之前建立的連接,或者從SAP Cloud Integration下載創建的iFlow並重新上傳到SAP PO。接着,接口可在SAP PO中使用。

要使用前述功能,需要至少在SP 05級別的SAP PO系統。每個新的SP版本,SAP Cloud Integration的新功能都會在SAP PO中提供。關於SP版本的詳細信息,請參見SAP幫助門戶網站的What's New。此外,需要訪問SAP Integration Suite,以便爲SAP PO中的雲運行時開發接口。

推薦的SAP PO的最低版本

建議在至少SP 12的SAP PO系統中使用SAP Cloud Integration內容。在此SP中,ProcessDirect適配器首次在SAP PO中提供,這是SAP Integration Suite接口設計的基礎元素。

此外,當使用SAP Cloud Integration內容時,建議定期更新SAP PO系統。

如果使用這兩個中間件平臺,並希望實施新的接口需求(尤其是面向本地到本地集成領域),推薦使用這個選項。這樣,可以減少後期遷移的工作量,並在實施SAP Cloud Integration接口時獲得寶貴的經驗。

使用案例

本節將介紹一些SAP PO的可能使用案例。

一家公司使用SAP Cloud Integration作爲中心集成平臺。對於一些與遺留系統的接口,存在使用數據庫建立連接的需求。在實施時,SAP Cloud Integration中沒有可用的JDBC適配器,或者適配器只能與基於雲的SAP HANA數據庫一起使用。因此,在這種情況下使用了SAP Cloud Integration和SAP PO的組合。

接口的示意結構如圖10所示。原則上,發送系統調用SAP Cloud Integration端點(第一個iFlow)。在這裏,消息被準備好用JDBC適配器處理,稍後在SAP PO上的一個通用iFlow中處理。這個通用iFlow直接將收到的數據轉發到數據庫中,無需任何處理。


圖10 SAP Cloud Integration的JDBC連接的SAP PO直通場景的示意結構

爲建立全球SAP PO佈局,有多種選項可供選擇。在最簡單的情況下,有一箇中央SAP PO系統,所有應用系統都連接到該系統,如圖11所示。


圖11 一個用於全球通信的中央SAP PO系統

然而,中央SAP PO系統的缺點是所有通信也都通過這個中央實例進行,不管其他系統的位置如何。特別是出於性能原因,可能需要集成平臺物理上靠近應用系統。

對於SAP PO,可以選擇在這種情況下使用分散的適配器引擎(DAE)。這些接口繼續在中央SAP PO系統上設計。但是,在配置期間,可以決定配置對象應在哪個適配器運行時執行。例如,可以設置一個在美國操作的分散適配器運行時中執行的兩個美國應用系統之間的接口,如圖12所示。


圖12 一個帶有兩個分散適配器引擎的中央SAP PO系統

如上所述,可以通過在接口中使用適配器模塊來包含額外的處理步驟。圖13顯示了在SFTP通信通道中調用的適配器模塊的例子。


圖13 SAP PO 7.5中的適配器模塊

首先,調用適配器模塊IDOCXmlToFlatConvertor。這個模塊用於將IDoc從XML格式轉換成平面結構(例如CSV文件)。在模塊配置區域,將看到爲各種模塊指定的參數。在這種情況下重要的是SourceDestination,可以使用它來加載IDoc的元數據。在第二步中,使用TextCodePageConversionBean模塊。在模塊配置部分,請注意,在這種情況下,已經選擇了ISO-8859-15字符集。在第三步和最後一步,調用實際的適配器類型(在本例中爲SFTP適配器)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章