2019年SAP不止一次強調公司策略將是把SAP各個雲產品集成到一起,而不再是多個產品孤島。SAP的雲產品有S/4HANA Cloud, SAP Ariba, SAP Concur, SAP Hybrise, C/4HANA等等,但是它們目前還是各個相對孤立的存在, SAP雲平臺將是各個解決方案的中樞神經系統,一種膠水,把SAP智慧企業粘和到一起。SAP Cloud Platform Integration作為雲平臺的集成服務解決方案,必將是重中之重。
SAP Cloud Platform Integration是部署在SAP雲平臺上的基於雲的集成平臺,它可以集成雲應用與其他的解決方案,無論解決方案是基於雲的還是本地部署的。以下一概簡稱SAP Cloud Platform Integration為SCPI。SCPI同時支持流程和數據的集成,作為雲應用SCPI提供了最高級別的安全特性,比如內容加密和籤名,基於證書的認證,加密數據存儲,運行時數據隔離等。SCPI提供了運行時處理、數據轉換、消息路由、和多種類型的連接適配器等特性。同時提供了網頁版本開發工具和基於Eclipse的開發環境。
下文將通過實例介紹如何開發一個integration flow(i-flow),因為SAP提供大量已經開發好並打包的SCPI解決方案,所以了解簡單的i-flow開發,對於二次開發SAP提供的標準SCPI解決方案將大有裨益。
我們將開發一個i-flow,通過OData Service在外部請求產品信息,然後把產品信息通過郵件發送,如下圖:
• 首先start timer作為i-flow的觸發器,可以設置觸發計劃,比如五分鐘觸發一次該flow。
• 接下來兩個content modifier用來創建消息,並存儲消息的特定欄位到臨時變量。
• Request reply 步驟將發送請求到外部系統,然後獲取外部發回的消息。
• 最後把外部獲取的消息內容以郵件的形式發送出去。
本文實例可以在SAPHelp中找到詳細文檔:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/Cloud/en-US/bfee17e150de43c9a1b363746c5a7e72.html
在SCPI主界面,首先進入開發頁面,如下圖:
創建內容包
進入artifacts,創建i-flow
進入flow,如下圖:
刪除Sender,因為本flow是被外部調用,而是使用timer進行觸發。同樣的方式也刪除Start。
在下面的工具欄裡面選擇Timer觸發器,如下圖,然後把timer放置在Integration Process方框內。
然後設置time的Schedule,因為我們是練習,所以設置為Once運行。
但是我們可以看看,這個計劃可以按照客戶的需求設置的較為詳細,如下圖按照某一天進行設置,或者循環觸發。
接下來我們選擇標籤頁Content Modifier,選擇Message Transformers標識,然後選擇Content Modifier,如下圖:
然後在Message Body中輸入如下代碼,來生成消息體,其中消息體中設置productIdentifier為HT-1080。
通過箭頭的圖標把前兩個控制項連接起來,如下圖。
上面的消息體中productIdentifier=HT-1080, SCPI可以通過設置Exchange Property來保存消息體中的這個值在消息頭中或者數據容器中。接下來會使用這個數值作為過濾條件發送給外部系統。具體過程如下:
通過同樣的方式再加入另外一個Content Modifier,進入標籤頁Exchange Property,點擊Add按鈕,如下圖:
輸入如下值,
Name: productIdentifier.
Type: XPath.
Data Type: java.lang.String
Value: Enter //productIdentifier
然後把兩個控制項通過箭頭連接。
接下來我們需要連接到外部系統,通過OData協議連接外部的OData服務,控制項Request Reply會向外部的OData伺服器發送一個請求,並接受返回的OData數據。具體的設置方式如下,在控制項盤中選擇call -> external call -> request reply
然後把content modifier2和Requestreply1進行連接,如下圖:
接下來把reveiver控制項移到request reply控制項下面如下圖:
然後通過箭頭連接request reply和receiver,會彈出如下選擇框,我們選擇適配器類型為OData。
然後選擇OData V2
然後在屬性框中,進入connection標籤頁,輸入如下地址:
https://espmrefapps.hana.ondemand.com/espm-cloud-web/espm.svc
進入Process標籤頁,Resource Path點擊select
進入第二步,選擇實體Product,如下圖:
然後選擇全部欄位,如下圖:
在第三步, filter by中輸入ProductId, 然後選擇Equal,在第三個欄位輸入$
這樣通過productIdentifier的值進行過濾。
最後點擊完成。
接下來創建一個Receiver來發送郵件。
把Request Reply和end進行連接,然後連接end和receiver。
在適配器類型中選擇Mail。
然後配置Mail中的Connection,如下圖:
關於這裡的認證名稱,是需要在monitor裡面配置一個credential,具體步驟可以參照:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/Cloud/en-US/1c1fced010e744d48decd305fb0abadb.html
最後部署i-flow,點擊Deploy。
然後我們可以在消息處理監控app來查看我們的i-flow運行狀況,如下圖:
我們通過這個i-flow的例子可以管中窺豹,了解SCPI的基本開發流程和基本功能,希望大家通過此文對SAPCloud Platform Integration有一個基本的了解。