通過實例了解SAP Cloud Platform Integration

2021-02-25 環宇的後花園

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 Cloud Platform Integration是部署在SAP雲平臺上的基於雲的集成平臺,它可以集成雲應用與其他的解決方案,無論解決方案是基於雲的還是本地部署的。以下一概簡稱SAP Cloud Platform Integration為SCPI。SCPI同時支持流程和數據的集成,作為雲應用SCPI提供了最高級別的安全特性,比如內容加密和籤名,基於證書的認證,加密數據存儲,運行時數據隔離等。SCPI提供了運行時處理、數據轉換、消息路由、和多種類型的連接適配器等特性。同時提供了網頁版本開發工具和基於Eclipse的開發環境。

實例開發一個integration flow(i-flow)

下文將通過實例介紹如何開發一個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有一個基本的了解。

相關焦點

  • 把工作流搬到SAP Cloud Platform上
    Cloud Platform是一個創新的平臺,客戶可以在上面創建全新的apps或者擴展現有的系統,不管是on-premise或是cloud系統。在很多業務場景中,客戶希望在cloud platform上創建全新的app,這類app要使用平臺提供的資料庫和用戶界面服務。在這些業務場景中,把任務自動化是很有挑戰性的。
  • 基於 SAP 雲平臺的雲應用授權管理 (上)
    在這個例子中,開發者使用 Eclipse 來開發 Java 應用,Visual Studio Code 開發 Node.js 應用:我們會藉助 CLI 來創建 SAP 雲平臺服務實例以及部署應用。具體的安裝步驟請參考https://docs.cloudfoundry.org/cf-cli/install-go-cli.html。
  • 由淺入深聊聊SAP Cloud Platform
    還有就是integration,如果想把financial planning和payroll連接起來需要單獨開發接口,而且二次開發也存在風險以及數據的不統一,數據模型的變動。這樣其實在長遠考慮是非常痛苦的, 而BPaaS就是把單獨的商業功能從一整套ERP中抽取出來以運行次數來收費(API call或者是企業人數)比如如下的稅務服務。
  • 在SAP雲平臺的CloudFoundry環境下消費ABAP On-Premise OData服務
    在那篇文章demo程序的Java代碼裡,我們實際是通過JCO(Java Connector)來遠程調用ABAP On-Premise系統裡的函數。今天我們換個環境,試試SAP雲平臺的CloudFoundry環境。同時我們也試試換一種方式來消費ABAP On-Premise系統的服務。
  • SAP系統和微信集成的系列教程之二:如何通過微信公眾號消費API
    此時微信消息伺服器接收到轉發過來的文字信息後,調用一些具有人工智慧的API,將API的響應通過微信app回復給用戶。綁定了微信消息伺服器的微信公眾號,在這個場景裡扮演的其實就是一個簡單的聊天機器人的角色。用戶和微信公眾號通過一問一答的方式進行交互。
  • SAP系統和微信集成的系列教程之四:如何將SAP C4C主數據變化推送給微信公眾號的關注者
    本系列的英文版Jerry寫作於2017年,這個教程總共包含十篇文章,發表在SAP社區上:https://blogs.sap.com/2017/12/10/wechat-development-series-1-setup-your-development-environment/系列目錄
  • 【乾貨攻略】SAP HANA Cloud Platform帳號獲取、應用生成……
    >開發者帳號客戶帳號Partner帳號費用免費免費免費期限無限期付費付費限制部分功能開放存儲空間1GB只能運行JAVA程序一個HANA Tenant資料庫程序不可通過平臺銷售功能無限制存儲空間根據需求購買程序不可通過平臺銷售功能無限制存儲空間根據需求購買程序可通過平臺銷售登陸HanaTrial Landscape (hanatrial.ondemand.com)點擊」Register」, 並填寫Email,用戶名, 密碼等信息。
  • 兩分鐘了解 SAP Cloud Platform
    可通過使用更改和傳輸系統 (CTS+) 工具、控制臺客戶端,或 SAP Cloud Platform 主控室(還支持您監控解決方案)來部署解決方案。SAP 多目標應用程式 (MTA) 模型包含應用程式模塊、相關性和接口,並以促進應用程式整個生命周期的驗證、協作、維護和自動化的方式對包含的這些內容進行了說明。
  • 由淺入深聊聊 SAP Cloud Platform (Part I)
    還有就是 integration,如果想把 financial planning和 payroll連接起來需要單獨開發接口,而且二次開發也存在風險以及數據的不統一,數據模型的變動。這樣其實在長遠考慮是非常痛苦的, 而 BPaaS就是把單獨的商業功能從一整套ERP中抽取出來以運行次數來收費(API call或者是企業人數)比如如下的稅務服務。
  • 比一比Microsoft Azure和Google Cloud Platform
    當然,如果按實例計算成本,它們可能看起來不一致。但是,如果將每GB RAM的價格考慮在內,這些價格與AWS和GCP相當。谷歌雲遵循精確到分鐘的定價機制。雖然GCP在附加功能方面可能落後,但它在成本效率方面進行了補償。該平臺還具有按需付費的定價,按每秒使用量計費。此外,它為第一個月後的長期使用提供折扣。
  • Google Cloud Firewalls API
    介紹通過VPC防火牆規則,您可以根據自己指定的配置允許或拒絕連接傳入或傳出虛擬機實例。
  • 基於Spring Cloud微服務化開發平臺Cloud-Platform完整解析
    技術選型前端:vue-element-admin後端:springcloud(eureka、gateway、admin、sidecar、Hystrix、feign、ribbon、zipkin)、tk+mybatis、lucene、jwt、rest項目結構ace-security ace-modules----公共服務模塊(基礎系統
  • SAP ABAP守護進程(ABAP Daemon)的實現方式
    Jerry本科學習《計算機作業系統》這門專業課時,了解到了守護進程的理念,當時我們是從Linux作業系統裡的守護進程開始學習這個概念的:Linux守護進程是運行在後臺的一種特殊進程,獨立於控制終端並且周期性地執行某種任務,或等待處理某些將要發生的事件。
  • 使用abapGit在ABAP On-Premises系統和SAP雲平臺ABAP環境之間進行代碼傳輸
    下面跟著Jerry一起,通過一個簡單的例子來了解怎麼做吧。Jerry這個例子的場景是,我在ABAP On-Premises系統裡,開發了一些ABAP代碼。為此,Jerry新建一個代碼倉庫:test-sap-abap-cloud.
  • 基於 SAP Cloud Application Programming Model 快速構建 MTA 工程
    ,通過 SpringMVC 向前端提供 Restful API 等等。開發者可通過 MTA Descriptor (一個 YAML 配置文件) 定義模塊之間的關係,然後通過 MTA Build Tool 將它們打包成一個 MTAR 文件,然後部署到 SAP 雲平臺上。
  • 再來細細比較AWS和Google Cloud Platform
    通過這種方式,用戶可以模擬標準的組織結算結構。同樣,GCP要求用戶設置谷歌帳戶以使用其服務。但是,GCP按項目而不是按帳戶來管理服務的使用。在此模式中,用戶可以在同一帳戶下創建多個完全獨立的項目。對公司來說,這種模式可能更有利,允許用戶為公司內的不同部門或組創建項目空間。這種模式也可用於測試的目的:一旦用戶完成項目,就可以刪除項目,而且該項目創建的所有資源也將被刪除。
  • 通過最簡單的button控制項,深入學習SAP UI5框架代碼系列之零
    平時也會有不少朋友向我諮詢開發過程中遇到的和SAP UI5相關的問題,所謂授人以魚不如授人以漁,如果一個SAP UI5開發人員對UI5框架代碼有些許了解,在遇到問題時能夠更有針對性更高效地去定位問題。然而SAP UI5框架代碼浩如煙海,初學者往往鼓起勇氣想一探究竟,但卻不知道如何下手,最後迷失在UI5的原始碼海洋裡。
  • 如何在 Cloud AI Platform 上部署 TensorFlow 2 模型
    為設置數據格式以進行預測,我們將每個測試實例作為 JSON 對象發送,其中鍵是特徵名稱,鍵值是帶有每個特徵值的列表。此時,我們可以調用上文定義的相同 predict_json 方法,並將其傳遞給新模型和測試實例:test_predictions = predict_json(CLOUD_PROJECT, 'hd_prediction', caip_instances)收到的響應與以下內容類似(具體數字會有差異
  • 已經有適用於Microsoft Office的SAP分析雲插件啦!
    請訪問以下網頁獲取更多相關信息:https://www.sapanalytics.cloud/在Cloud Foundry上部署SAP分析雲按照以下文檔中的說明配置租戶:https://help.sap.com/viewer/2b73edbc8f8f4189a36bc7a2e038185c/cloud/en-US/831885de14204771bc3152271a21ae79
  • 從SAP Leonardo到SAP Data Intelligence
    https://api.sap.com/package/SAPLeonardoMLFunctionalServices?section=OVERVIEW在SAP官網上有對SAP Data Intelligence的概要介紹:https://www.sap.com/sea/products