SAP雲平台和第三方CRM解決方案(火鍋)互聯

blank

SAP雲平台和第三方CRM解決方案(火鍋)互聯

光看封面配圖,這篇文章很容易被誤認為在講成都的美食之一:火鍋。

blank

SAP成都研究院坐落在被聯合國教科文組織授予過“美食之都”稱號的成都,所在的天府軟件園,半徑1公里左右星羅棋佈著很多聞名的火鍋美食店。

那麼火鍋和本文主題,SAP雲平台同第三方CRM解決方案互聯有何關聯?

HubSpot是一個微型的CRM解決方案,麻雀雖小,五臟俱全。大家可以使用郵箱免費註冊然後體驗。

blank

從登錄進去後的主頁菜單能看出,一個CRM系統的三大核心模塊Sales,Service和Marketing,HubSpot都具備。

blank

而Jerry寫這篇文章時,不斷地把HubSpot敲成HotPot,罪過罪過。 。 。

blank

之前Jerry陸陸續續介紹過一些SAP系統同第三方解決方案集成的技術:

一些SAP Partners能夠通過二次開發實現打通C/4HANA和S/4HANA的方法介紹:通過C4C的Event Notification功能,每當C4C的銷售訂單創建時,都會通過事件通知機制,調用S/4HANA註冊的事件處理函數,把這個訂單同步到S/4HANA去。

WordPress,SAP Kyma和微信三者的集成從ABAP Netweaver的SICF到SAP Kyma的Lambda Function
周伯通的空明拳,米諾斯的星塵傀儡線,SAP Kyma的Serverless
還在用ABAP進行SAP產品的二次開發?來了解下這種全新的二次開發理念吧以上四篇文章均圍繞如何使用Kyma Lambda Function來擴展SAP產品或者客戶的legacy系統來介紹的。

SAP雲平台上的ABAP編程環境裡如何消費第三方服務:這篇文章的標題就已經很好的詮釋了文章內容了。

給用過SAP CRM中間件的老哥老姐們講講SAP CPI:通過SAP Cloud Platform Integration調用第三方OData.

本文介紹另一種集成方式同第三方應用進行集成:SAP API Management Service + SAP Open Connector. 第三方應用選擇的是HubSpot. 我們將開發一個SAP UI5應用,通過這種新介紹的方式在UI5應用裡顯示HubSpot系統裡的Company數據。

大家也許會問,這個常規需求,我直接在UI5應用裡編程,直接調用HubSpot的Restful API,不是一樣也能實現麼?

SAP官網給出了使用Open Connector能享受到的收益,比如借助SAP在雲平台上預置的連接器,能夠減少集成的開發時間,降低集成複雜度,提高開發效率等等。

blank

而SAP雲平台上的API Management Service,對通過Open Connector連接的API提供了企業級的API操作方式和統一的生命週期管理。

blank

下面是集成的具體步驟。

進入SAP Open Connector首頁,點擊Connectors:

blank

這個列表裡就是SAP官網上介紹的pre-built的第三方CRM應用的連接器。

blank

我們從列表裡找到火鍋,哦不對,找到HubSpot:

blank

點擊Authenticate, 建立SAP Cloud Platform同HubSpot的安全連接:

blank

創建一個HubSpot的連接器實例,這裡需要填一個API key:

blank

到HubSpot的settings頁面創建一個API key:

blank

實例創建完畢後,就能在SAP雲平台環境里通過這個實例消費HubSpot的Restful API了。

blank
blank

Open Connector的控制台裡,還有這種叫做Common Resources的模型,有什麼用處?

blank

看幫助文檔:"提供了一個預先配置好映射關係的通用數據接口,能夠將通過Connector連接的不同CRM服務的數據通過簡化的模型返回"。

blank

看具體的例子。我在HubSpot裡創建了兩個Companies:

blank

如果直接消費HubSpot的API,請求的url如下:
https://api.hubapi.com/companies/v2/companies/paged?hapikey= <your API key>&properties=name&properties=website

blank

儘管我們通過url參數隻請求了name和website兩個字段,從響應數據結構中可以發現,HubSpot除了返回這兩個字段的值以外,還包含了一些控製字段信息,比如timestamp, source, sourceId等字段,而我們對這些字段不感興趣。

blank

現在就是Common Resources派上用場的時候了:

blank

這個Common Resources起的作用好比ABAP裡的simple transformation,可以根據預定義好的mapping規則,對HubSpot API返回的數據進行一些“變形”,移除一些我們應用不關心的字段。

點擊Send按鈕,從Transformed Response裡觀察到通過Common Resources處理後的數據:

blank

現在這個數據看起來是不是清爽多了?這也就是我們UI5應用期望消費的數據。

blank

如果對標準的Common Resources預置的映射處理規則不滿意,還可以把標準的Resource克隆出來,然後在上面做修改。下圖是我自己修改過的兩個Resources模型。

blank

Connectors至此就開發完畢了,實際上我們連一行代碼都沒寫,準確地說是配置完畢了,這也證實了SAP官網提到的Open Connector給集成開發人員帶來的便利。

有了Connectors,但我們還沒有生成可供SAP UI5應用消費的endpoint,這部分工作交由API Management Service完成。

登錄API portal,將這個API tenant同之前創建的Open Connector連接起來,這個連接取名叫jerry_openconnector_provider:

blank

需要填的Organization Secret和User Secret在Open Connector控制台裡獲得:

blank

回到API界面,創建一個新的API provider:

blank

從下拉菜單裡選擇剛才創建的jerry_openconnector_provider,

blank

點擊Discover按鈕:

blank

就能自動檢測出之前創建的Open Connector實例了。

blank

點擊Deploy進行部署:

blank

Deploy之後,可以在API portal裡根據swagger風格的操作方式來瀏覽通過Open Connector連接的HubSpot API了:

blank

現在我們已經有了一個可用的API endpoint,通過它,我們的
SAP UI5應用就可以訪問HubSpot的Restful API了:

blank

在瀏覽器裡測試,確保通過這個url能夠返回我們期望的數據:

blank

最後一步,就是常規操作了,新建一個SAP UI5應用,在裡面通過JSON Model訪問之前API provider暴露出來的url:

blank

為了解決跨域問題,上面第12行使用了指向API provider的相對路徑,通過neo-app.json裡聲明的Destination指向實際的完整路徑:

blank

在SAP Cloud Platform上創建這個名為api_portal的Destination:

blank

一切就緒後,打開UI5應用,就能看到通過API provider,經由Open Connector從HubSpot取回來的數據了。

blank

這種通過Open Connector和API Management Service同第三方應用進行集成的方式,同Jerry文章開頭回顧的幾種方式,並無孰優孰劣之說。在實際的工作中,我們需要根據自己企業的實際情況,比如現有系統架構,開發部門的技術水平,項目預算等,靈活選擇適合自己企業的集成方案。如果非要尋找一些通用的最佳實踐,可以參考SAP CTO在各大會議上介紹的SAP雲端編程模型(Cloud Application Programming Model)技術選型的決策樹,來製定適合自己企業集成方案選型的決策樹。

blank
blank

感謝閱讀。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

blank

What do you think?

Written by HubSpot Expert

blank

外貿充電站:當我們只知道客戶名字時,怎麼通過名字找到他的郵箱地址?

blank

Growth Hacker系列一inbound marketing-1