Heroku学习 一

什么是Heroku

整合Salesforce和Heroku的原因

现代企业系统由许多不同的部分组成,这些部分具有针对各种类型用户的不同接口。这些接口通常将来自各种数据源的数据汇集在一起​​。微服务架构已经出现,可以将系统的各个部分分离为更易于维护,可独立部署的服务,以提供将不同系统整合在一起的端点。 Heroku是运行可通过各种集成方法与Salesforce一起使用的应用程序和微服务的理想场所。

在Heroku和Salesforce上集成应用程序的四个常见原因是:

  • 资料复制
  • 数据代理
  • 自定义用户界面
  • 外部流程

通过数据复制进行集成

数据复制是在Salesforce和另一个系统之间复制或同步数据。您可以将数据复制用于数据仓库,以启用跨数据源报告和分析。您也可以将其用于需要从Salesforce获得数据或将数据提供给Salesforce的旧系统。 Heroku和Salesforce的最常见用例是为使用开源技术构建的面向客户的应用程序提供高吞吐量,低延迟的界面。

例如,假设您正在出售充气独角兽派对帽。 Salesforce是您的产品信息记录系统,其中包含使用Node.js,Rails,Java等构建的公共网站。该网站使用该数据来显示可用性并提供订购功能。通过在Heroku上运行的公共Web应用程序,可以将产品信息复制到Heroku上的数据存储中,这样它就可以以低延迟处理大量请求。例如,如果公共站点的用户可以“点赞”产品,则可以使用数据复制将点赞次数传播回给Salesforce以供营销团队使用。

通过数据代理集成

数据代理聚合不同的数据存储,但是与数据复制不同,数据不会被复制。数据只能按需读取。这种方法使数据科学,商业智能,报告和仪表板工具能够整理多个数据存储中的数据,而不必担心诸如存储和陈旧性之类的数据同步挑战。您可以通过数据代理集成旧系统和外部系统,以将数据提供给Salesforce,或者Salesforce可以将其数据提供给其他外部系统。

如果Salesforce用户需要运行将Salesforce中的产品数据与来自外部系统的仓库数据相关联的库存报告,则数据代理可以提供该信息,而无需使用提取转换和加载(ETL)等较慢的方法。运行报表时,Salesforce无需存储数据就从外部系统获取必要的数据。同样的方法反过来也适用:在Heroku上运行的应用程序是Salesforce到另一个提供安全性和转换层的系统的数据代理。

通过自定义用户界面集成

您可以使用多种技术(例如Visualforce和Lightning Components)轻松地为Salesforce创建自定义用户界面,仅举两个。当使用Java,Node.js,PHP等开源技术构建界面时,它们可以在Heroku上运行并集成到Salesforce UI中或仅与Salesforce数据集成。有时,旧系统或外部系统会提供需要在Salesforce UI中显示的用户界面。

例如,使用Salesforce for CRM的公司收购了另一家使用Java内置自定义系统的公司。集成这些系统的第一个简单方法就是简单地在Heroku上运行Java系统并将其呈现在Salesforce中。在Heroku上运行Java系统可以减轻扩展性和操作负担,同时可以标准化自定义系统的部署体系结构。在Heroku上运行并与Salesforce数据集成的独立用户界面可以为Salesforce以及面向客户的Web和移动应用程序提供后台扩展。自定义用户界面可能具有库,功能或开发人员技能集,这些决定促使决定使用Heroku和开源技术与原始Force.com选项相比。

通过外部流程进行整合

外部流程可以减轻批处理或工作流的负担,并触发Heroku上应用程序的事件处理。根据需要完成的工作类型和涉及的工作量,此方法可能会有所帮助。数据科学,机器学习,图像和视频处理以及与遗留或外部系统的集成可能是将外部流程转移到Heroku的原因。

举例来说,假设您的房地产公司为列出的待售房屋上传了照片。这些照片很大,因此您需要一种调整它们大小的方法,以减少加载时间和存储成本。您可以轻松地将此作业卸载到Heroku上的外部进程中。每次将照片上传到Salesforce时,都会将其发送到Heroku上的应用程序进行处理,然后将调整大小后的图像保存回Salesforce。 Heroku上处理外部流程的应用程序只能负责该系统的那一部分。在这种情况下,该应用程序可能被视为微服务,可以单独部署而无需任何其他系统依赖性。

 

整合方法概述

因此,现在您知道数据复制,数据代理,自定义用户界面和外部流程都是合并Heroku和Salesforce的重要原因。 但是您实际上是如何做到的? 有许多方法可以完成这些类型的集成,包括:

  • Heroku Connect
  • Salesforce Connect
  • Salesforce REST API
  • callouts
  • Canvas

 

Heroku Connect

Heroku Connect为Salesforce提供数据复制和数据代理。 数据复制可在Salesforce和Heroku Postgres数据库之间同步数据。 根据配置方式的不同,同步可以是单向或双向的。 要开始使用Heroku Connect,请查看快速入门:Heroku Connect Trailhead项目。 Heroku Connect还使用Heroku外部对象通过OData协议为Salesforce提供了数据代理。 Heroku外部对象为Heroku Postgres数据库提供了OData包装,Heroku Connect为其维护了连接。 此功能允许其他Web服务使用包装程序生成的RESTful端点从指定的Heroku Postgres数据库中检索数据。

 

使用Heroku Connect进行数据复制的最大好处之一是,Heroku上的应用程序可以快速,轻松地访问Salesforce数据的子集。 作为应用程序开发人员,您只需像往常一样简单地为查询编写标准SQL。 Heroku Connect和Postgres提供对Salesforce数据的低延迟和高吞吐量访问。

Salesforce Connect

您可以将Salesforce Connect(以前称为Lightning Connect)用作数据代理,以根据需要将OData或其他数据源拉入Salesforce。 没有数据复制到Salesforce数据库。 您可以运行在Heroku上或由外部系统提供的公开OData 2.0的端点。 如前所述,Heroku Connect可以将Heroku Postgres数据库公开为OData,以供Salesforce Connect使用。 另外,Salesforce Connect自定义适配器允许Salesforce代理Apex可以与之通信的任何数据源,包括具有XML或JSON和SOAP的REST。

 

Salesforce Connect的主要好处是,尽管只是按需从外部数据源代理了数据,但它可以将外部数据带入Salesforce UI并使其看起来好像驻留在Salesforce中。 通过此过程,可以轻松为Salesforce用户整理不同的数据源。

Salesforce REST API

Salesforce REST API为Heroku上的应用程序提供了通过简单的JSON格式的HTTP请求访问Salesforce数据的功能。 您可以将此集成用于数据代理和自定义用户界面。 在Heroku上运行的使用开源技术构建的应用程序可以使用OAuth在自定义用户界面中授权用户,然后代表他们与Salesforce数据进行交互。 没有用户界面的集成用例可以在Salesforce和外部系统之间代理数据。

Callouts

您可以使用Salesforce的标注来调用Heroku上的外部流程。 您可以在Apex中编写标注,也可以使用工作流出站消息来使Salesforce上的事件触发Heroku上流程的执行。 该流程通常使用前面提到的一种集成方法将流程的结果返回给Salesforce。

帆布

Canvas提供了一种将外部用户界面加载到Salesforce中的方法,该界面可以通过JavaScript API与Salesforce数据进行交互。 您可以在Heroku上运行外部UI并使用开源Web技术构建它。 Canvas应用程序发出的数据请求是在Salesforce用户的上下文中发生的。

 

比较集成方法

每个Salesforce和Heroku集成方法都有一个位置,具体取决于开发人员的技能和手边的用例。 这是集成选项之间的一些基本区别。

 

 

 

以下是一些有关集成的一般建议:

要在Salesforce和Heroku之间复制数据,请使用Heroku Connect。
要将Heroku Postgres数据库公开给Salesforce,请使用Heroku Connect外部对象。
要将OData,SOAP,XML或JSON数据源代理到Salesforce中,请使用Salesforce Connect。
如果Heroku Connect不符合要求,例如在Heroku上有一个自定义UI(用户通过Salesforce登录)时,请使用Salesforce REST API。
要卸载或扩展对Salesforce数据事件的处理,请使用从Salesforce到Heroku的callouts。
要将Heroku(或其他外部Web应用程序)中的自定义UI嵌入到Salesforce中,请使用Canvas。

 
posted @ 2019-12-26 14:56  大雄小哆啦  阅读(451)  评论(0)    收藏  举报