Salesforce Integration 概覽(七) Data Virtualization數據可視化

本篇參考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdfhtml

Salesforce實時訪問外部數據。這樣就不須要在Salesforce中保存數據,而後在Salesforce和外部系統之間協調數據。web

一.上下文api

您可使用Salesforce跟蹤銷售線索、管理銷售渠道、建立銷售機會,並捕獲將銷售線索轉換爲客戶的訂單詳細信息。然而,Salesforce不是包含或處理訂單的系統。訂單由外部(遠程)系統管理。可是銷售表明但願在Salesforce中查看和更新實時訂單信息,而沒必要學習和使用外部系統。瀏覽器

二. 問題和考慮因素框架

 問題: 在Salesforce中,如何查看、搜索和修改存儲在Salesforce外部的數據,而不將數據從外部系統移動到Salesforce中?ide

考慮因素:當基於這種模式應用解決方案時,須要考慮各類各樣的因素:工具

•是否要在Salesforce中構建聲明式/點擊式出站集成或UI mashup?佈局

•是否有大量數據而且不想複製到Salesforce組織中?學習

•是否須要同時訪問少許遠程系統數據?大數據

•是否須要實時訪問最新數據?

•是否將數據存儲在雲端或後臺系統中,但但願在Salesforce組織中顯示或處理這些數據?

•在Salesforce中存儲某些類型的數據時,您是否有數據駐留問題?

三. 解決方案

解決方案

適配程度

介紹

Salesforce Connect

Best

使用Salesforce Connect訪問來自外部源的數據以及Salesforce數據。實時從傳統系統(如SAP、Microsoft和Oracle)中提取數據,而無需在Salesforce中複製數據。Salesforce Connect將外部系統中的數據表映射到組織中的外部對象。外部對象與自定義對象相似,只是它們映射到Salesforce組織外部的數據。Salesforce Connect使用到外部數據的實時鏈接來始終保持外部對象的最新狀態。

 

訪問外部對象從外部系統實時獲取數據。Salesforce Connect容許您:

 

•查詢外部系統中的數據。

•在外部系統中建立、更新和刪除數據。

•經過列表視圖、詳細信息頁、記錄提要、自定義選項卡和頁面佈局訪問外部對象。

•定義外部對象與標準或自定義對象之間的關係,以集成不一樣來源的數據。

•在外部對象頁面上啓用Chatter提要以進行協做。

•對外部數據運行報告(有限)。

•查看Salesforce移動應用程序上的數據。

要使用Salesforce Connect訪問存儲在外部系統上的數據,可使用如下適配器之一:

•OData 2.0適配器或OData 4.0適配器-鏈接到任何OData 2.0或4.0生產商公開的數據。

•跨組織適配器-鏈接到存儲在另外一個Salesforce組織中的數據。跨組織適配器使用標準的Lightning Platform REST API。與OData不一樣,跨組織適配器直接鏈接到另外一個組織,而不須要中間web服務。

•經過Apex建立的自定義適配器-若是OData和跨組織適配器不適合您的須要,請使用Apex鏈接器框架開發您本身的適配器。

也能夠參考:

salesforce零基礎學習(九十八)Salesforce Connect & External Object

Request and Reply

Suboptimal

使用Salesforce web服務API發出特殊數據請求以訪問和更新外部系統數據。此解決方案包括如下方法:

 

使用Salesforce SOAP API。自定義Visualforce頁面或按鈕以同步方式啓動Apex SOAP調用。在Salesforce中,您可使用WSDL並生成最終的代理Apex類。此類提供調用遠程服務所需的邏輯。Visualforce頁上用戶啓動的操做而後調用Apex控制器操做,該操做執行此代理Apex類以執行遠程調用。Visualforce頁面須要定製Salesforce應用程序。

 

使用Salesforce REST API。自定義Visualforce頁面或按鈕以同步方式啓動Apex HTTP調用(REST服務)。在Salesforce中,可使用標準的GET、POST、PUT和DELETE方法調用HTTP服務。可使用幾個HTTP類與RESTful服務集成。Visualforce頁上用戶啓動的操做而後調用Apex控制器操做,該操做執行這些代理Apex類以執行遠程調用。Visualforce頁面須要定製Salesforce應用程序。

 

這種操做適用於特殊場景,須要過濾或者須要作數據的格式轉換等操做,之因此次優由於須要有溝通、開發以及聯調的工做,耗時長,穩定性取決於代碼質量等等。

四. 流程草圖

在這種狀況下:

1.瀏覽器執行一個AJAX調用,該調用依次對相應的外部對象適配器執行一個操做。

 2.適配器將操做轉換爲OData請求,並經過集成層和服務層向遠程系統發出HTTP GET請求。

 3.遠程系統經過集成層和服務層向Salesforce返回JSON響應。

 4.將響應從OData轉換爲外部對象並呈現回瀏覽器。

五. 其餘關鍵點

調用機制

描述

External Objects

Salesforce Connect將Salesforce外部對象映射到外部系統中的數據表。Salesforce Connect不是將數據複製到組織中,而是按需實時訪問數據。即便數據存儲在組織外部,Salesforce Connect也能與Lightning平臺無縫集成。Salesforce工具可使用外部對象,例如全局搜索、查找關係、記錄源和Salesforce移動應用程序。外部對象也可用於Apex、SOSL、SOQL查詢、salesforceapi,以及經過元數據API、變動集和包進行部署。

Lighting Components or

Visualforce Pages

當遠程進程做爲涉及用戶界面的端到端進程的一部分觸發時使用,而且結果必須在Salesforce記錄中顯示或更新。例如,向外部支付網關提交信用卡支付並當即返回顯示給用戶的支付結果的過程。由用戶界面事件觸發的集成一般須要建立自定義Lightning組件或Visualforce頁面。

六. 常見考題

 Given the diagram below, a Salesforce org, middleware, and Historical data store (with 20milIion records and growing) exists with connectivity between them.

 Historical records are archived from Salesforce and moved to Historical Data store (which houses 20M records and growing; fine tuned to be performant with search queries). Call center agents use Salesforce, when reviewing occasional special cases, have requested access to view the related historical case items that relate to submitted cases. Which mechanism and patterns are recommended to maximize declarative configuration?

Use ESB tool with Data Virtualization pattern, expose OData endpoint, and then use Salesforce Connect to consume and display the External Object along side with the Case object.

Universal Containers (UC) wants to connect their on-premise ERP system to view Order data in Salesforce. UC is considering a solution to integrate the on-premise system using Salesforce Connect via OData. Which three considerations should an Architect keep in mind when recommending use of Salesforce Connect?  Salesforce Connect的優勢

Customer wants the ability to query external data using Global Search and reports.

Customer needs to query small amounts of data at any time and display using a related list.

Customer has a large amount of data that they do not want to load into Salesforce.

 Customer does not want real-time access to the ERP data and is willing to wait for hourly refreshes.

Customer wants to create a master-detail relationship between Opportunity and the external object.

總結:此種場景針對大數據不能落在SF而且知足須要查看等的需求,仍是很好的解決方案。至此全部的集成模式都已經描述完。篇中有錯誤歡迎指出,有不懂歡迎留言。

相關文章
相關標籤/搜索