Commerce的体系结构 – 了解有关B2C商业复制的信息

学习目标

完成本单元后,您将能够:

  • 描述实例之间的流程。
  • 列出三种要复制的数据。
  • 列出导入/导出和复制过程之间的两个区别。
  • 描述两种控制复制的方法。
  • 解释复制任务的好处。

介绍

复制是Salesforce B2C Commerce流程,它以受控的方式将数据和代码从暂存实例推送到开发或生产实例,从而最大程度地降低了错误风险。复制仅发生在主实例组(PIG)中的实例上,而不发生在辅助实例组(SIG)或沙箱中。

从登台复制到生产和开发

源和目标

复制期间,将更改从复制源推送到复制目标。复制源始终是登台实例。复制目标可以是开发或生产实例。尽管复制的主要目标是将变更从阶段推向生产,但第一步是将相同的变更推向开发。这使您可以验证复制是否成功。

复制控制

首先在Business Manager(用于站点配置和管理的B2C Commerce工具)中创建复制过程开始。复制过程是复制任务的集合,这些任务指定自上次复制以来的更改。更改可以是数据(例如产品数据,内容和图像文件)或代码。

您可以定义多个复制过程,并指定每个复制过程中要包括的复制任务。这使您可以控制每次推送的粒度级别。您可以推送整个站点或选定的子集;例如,仅网站的自定义对象。您在组织级更改方面具有类似的灵活性。

在流量较低的时间安排开始日期和结束日期,因此不会影响您网站的性能,也不会对购物者的体验产生不利影响。

两步发布

您可以通过两步发布来复制数据,这可以帮助您避免仅因失败而运行整个过程。如果您刚刚开始复制和传输过程,并且需要对结果进行更多控制,则此过程会有所帮助。

  1. 传输-创建新的复制,为您的站点配置它,然后选择“ 传输”作为复制类型。如果传输失败,请找出问题所在。修复后,请重试。
  2. 发布-创建另一个名为“ 数据发布”的任务以发布数据。对于数据复制,传输和发布任务中的数据必须匹配。例如,您不能传输目录,索引和促销数据,然后只能发布目录数据。

资料复制

因为数据复制旨在将最新版本的店面推入生产环境,所以它是替换操作,而不是 merge。数据复制首先在目标实例的新位置从源实例创建数据的副本,而不替换原始数据。该过程完成后,您可以从目标系统中的现有数据切换到新数据,从而有效地替换数据。它是无缝且瞬时的。

第一次复制数据时,将包含所有数据。对于后续复制,可以在粒度级别进行复制。例如,您可以复制单个站点及其关联的目录:所有目录,一个目录或标准目录。

选择要复制的数据

B2C Commerce数据可以具有组织或站点范围。在组织级别,所有站点都共享数据。在站点级别,数据仅由单个站点使用。在每个范围内,您可以选择要复制的不同数据集,例如组织的所有目录或特定店面的促销和优惠券。这是所支持的最低级别的数据复制粒度。当某些数据准备好复制而有些则不能复制时,此功能很有用。例如,新的内容资产可能已准备好投入生产,而新的目录定义尚未准备就绪。

有一些限制。您不能从要复制的数据集中的目录或促销中选择单个产品。数据复制不会从分段复制这些内容:

  • 命令
  • 库存清单
  • 业务管理器用户配置文件和登录凭证

计划数据复制

您可以通过四种方式安排复制过程。

  • 自动 -默认情况下,或者在您定义复制过程之后,在指定的日期和时间
  • 手册—准备由具有适当权限的用户在Business Manager中启动
  • 定期 -按每日,每周或每月的时间表
  • 工作步骤 -由工作触发时

复制时请小心。如果重复数据复制失败,则该作业的后续重复将不会运行。复制通常会清除页面缓存,这可能会对店面性能产生重大影响。

最佳实践

以下是一些数据复制最佳实践。

  • 首先测试从暂存到开发的复制过程。
  • 在开发中测试结果配置,以确保其按预期工作。
  • 始终运行传输,然后再发布,以便您可以验证传输过程。
  • 识别不同数据复制组之间的依赖关系。
  • 始终使用目录复制搜索索引。
  • 当店面活动最少时,执行转移到生产步骤。
  • 禁用增量索引和计划索引,并在复制数据时停止其他作业。尽管无需为传输禁用增量索引,但是在发布之前必须禁用增量索引。您可以复制搜索索引,也可以在目标实例上手动构建它。
  • 在B2C Commerce标准维护窗口期间,避免主要数据复制。
  • 使用业务管理器权限来限制谁可以执行数据复制。

代码复制

使用业务管理器代码复制,可以在源实例和目标实例之间复制代码版本。代码版本是包含自定义墨盒的文件夹。一个实例可以具有多个代码版本,但只能使用活动代码版本。

在沙盒中完成开发后,请使用UX Studio创建新的服务器连接并将代码上载到暂存。服务器连接应该是安全的。

将代码从开发人员机器上载到沙箱和登台实例。

在生产实例上,将自动创建一个新版本,命名为原始版本名称和时间戳的组合。您可以在不激活代码的情况下将其复制到生产环境,也可以在激活时将其复制。如果您需要还原到以前的代码版本,B2C Commerce会知道以前使用的是哪个版本,然后重新激活它。我们建议您在生产实例上执行以下操作。

  1. 在登台时部署代码版本。
  2. 复制代码(和数据)以进行开发以测试过程。
  3. 将代码复制到生产中。

复制类型

配置目标系统以手动,自动或作业步骤开始创建代码复制过程。这些是复制类型。

复制类型描述
代码转移源系统上当前激活的代码版本已传输到目标系统。每次复制都会在目标系统上创建一个新的代码版本,即使该版本中所有文件的名称都与已安装的版本匹配。与数据复制不同,它没有同步,因为这可能会影响目标上现有的甚至活动的版本。
代码传输和发布进行代码传输后,立即激活新版本。
代码发布没有转移。先前传输的版本已激活。仅当先前的复制类型为Code Transfer时,此模式才可用。由于版本名称可以在两个系统之间更改,因此附加逻辑可确保正确处理。如果此版本不再存在,则发布失败。如果已被激活,则什么也不会发生。
撤消代码这类似于代码发布 (不进行数据传输),但是它回滚先前激活的版本。先前的过程必须是“ 代码传输和发布”或 “代码发布”。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果该版本不再存在或不存在要回滚的版本,则该过程将失败。

电子邮件通知

您可以使用逗号分隔的收件人列表为代码复制配置电子邮件通知。该过程完成或失败后,将发送一封电子邮件。如果该过程挂起,则不会发送电子邮件。

复制组

复制组(或任务)使您能够以可管理的方式组织数据和流程。您还可以在站点级别,组织级别或同时在两者上复制数据。例如,可以在组织级别和站点级别上复制自定义对象。

业务管理器将复制在一起的多个对象分组。花时间检查对象之间的关系以了解它们的复杂性。

数据/代码复制与导入/导出

同时使用导入/导出和数据复制来填充实例数据库。

  • 一旦数据已经存在于B2C Commerce数据库中,则复制会将数据从一个实例移动到另一个实例。
  • 导入和导出将数据与B2C Commerce数据库之间的外部系统移动。

Commerce的体系结构 – 了解有关导入和导出数据的信息

学习目标

完成本单元后,您将能够:

  • 给出两个为什么导入/导出模式文件很重要的原因。
  • 列出通常导入的两种数据。
  • 描述两种导入/导出模式。
  • 描述导出过程。
  • 解释为什么增量供稿很重要。

介绍

大多数商人都有后端系统,这是他们的记录系统。Salesforce B2C Commerce应用程序环境具有其自己的数据库和服务器,旨在支持店面。B2C Commerce导入/导出功能弥合了差距。

考虑一下数据流:从记录系统到B2C Commerce,从B2C Commerce捕获到记录系统。产品详细信息(例如SKU编号,产品描述,尺寸,图像,价格和视频)在记录系统中开发,然后导入B2C Commerce。购物者创建的订单将导出到外部系统进行处理。尽管可以将优惠券代码导入B2C Commerce,但购物者兑换优惠券的行为会创建导出的数据。

导入使用来自外部文件的数据来填充B2C Commerce数据库。导出使您可以从B2C Commerce数据库中提取数据并创建可用作外部系统供稿的XML文件。提要是特定的导入或导出过程。

从后端系统导入和导出

数据从生产中导出。

这些不是店面数据导入/导出过程。

  • 数据复制是指您将代码和数据从一个实例复制到另一个实例。我们将在下一个单元中讨论数据复制。
  • 业务管理器目录提要功能处理第三方文件(例如Certona)。
  • 站点导入/导出将特定于站点的配置和设置信息从一个实例移动到另一个。

模式

架构文件指定B2C Commerce导入和导出所需的文件结构。B2C Commerce仅接受以这些模式格式化的XML导入文件。架构还记录了所需的数据属性。导入的数据必须与架构匹配,否则将不会导入。

B2C Commerce以XML格式导出,但优惠券代码除外,后者以CSV格式导出。我们建议您使用第三方程序将.csv文件处理为所需的XML格式。使用纯.NET或Java平台(为处理分配了大量内存)来转换文件要快得多,效率也更高。

那么这些架构文件是什么?事实证明,其中有很多。这里有些例子:

  • sort.xsd
  • 优惠券
  • 优惠券兑换
  • order.xsd
  • Promotion.xsd

模式

您可以指定导入模式来定义B2C Commerce如何解释导入供稿中的数据。该模式适用于提要中的所有对象以及模式定义的所有导入文件。

导入和导出模式为合并,更新,替换和删除。

这些是导入模式。

模式说明
合并如果对象不存在,则会创建一个对象,并对该对象执行更新。
更新资料现有对象被修改。如果不存在,则不会创建。提要中提供的对象属性将更新。Feed中未提供的对象属性保持不变。
更换将使用提要中提供的数据重新创建对象。该对象不必已经存在。导入期间,将删除Feed中未提供的现有属性。替换模式与删除然后合并的模式相同
删除从数据库中删除了一个对象。提要中仅必须提供对象ID。其他对象属性将被忽略。

删除导入中的对象时要小心。删除模式将删除提要中的对象。同样,替换模式将删除提要,然后重新创建提要中的对象。仅执行更改导入即可更改一个对象,这会删除整个对象集。

某些模式在导入元素级别支持属性模式。在这种情况下,唯一支持的模式是删除,其中可以为特定元素覆盖流程的导入模式。这对于更改的信息很有用,在此情况下,单个导入过程可以创建,更新和删除对象。

生产提要

我们建议生产提要仅包含对先前提要的更改。这些称为增量供稿。它们较小,可以存档,可以更快地导入,并且更易于排除故障。但是,某些架构的元素会覆盖全局导入模式,并且始终使用替换模式。这些元素不能包含在增量Feed中,因为它们要求在每次导入中都包含完整的对象集。

列表类型元素

XML文件中列表类型元素的标准行为是替换整个列表,而不管导入方式如何。如果导入文件中未包含list元素:

  • 在合并模式下,列表保留。
  • 在替换模式下,列表被删除。

导入/导出过程

这是一个典型的导入过程。

  1. 使用WebDAV,SFTP或HTTPS将XML文件从后端系统传输到B2C Commerce实例。
  2. 对于登台或生产实例,请建立用于文件传输的安全连接。沙箱不需要它。
  3. 使用业务管理器将XML文件导入实例,或创建自定义控制器。B2C Commerce为大多数标准导入提供了导入管道,这些导入管道可以处理大型数据集,快速可靠,有效地使用系统资源。我们建议在必须将业务对象加载到B2C Commerce中时使用它们,而不是对B2C Commerce脚本或管道使用自定义逻辑。

这是典型的导出过程。

  1. 使用模式将数据库对象导出到XML文件。通过业务管理器或通过创建自定义控制器手动执行此操作。您可以对大多数出口使用B2C Commerce出口管道。在某些情况下,它们在对象方面比Business Manager更细化。您必须创建一个控制器以自动执行数据导出。
  2. 将文件从实例传输到商家后端系统。
  3. 如果需要满足PCI-DSS(安全性)要求以传输数据或满足后端系统要求,请配置安全连接。

实例特定的详细信息

根据实例类型,您将以不同的方式使用B2C Commerce导入/导出。我们分别探索每种实例类型。

数字实例具有独特的导入和导出注意事项。

沙盒

开发网站时,每个开发人员都使用一个单独的沙箱。您可以创建一个初始沙箱,用作其他沙箱的模板,这样站点配置只需完成一次。

您首先将数据文件从本地计算机传输到实例。然后,使用业务管理器将数据导入实例数据库。当第一个沙箱具有开发团队所需的配置和数据时,请使用“网站导出”导出网站内容和配置,然后将其下载到开发人员计算机。

在开发过程中,您可以将新产品和价格Feed直接导入每个沙箱。每个沙箱使用相同的导入文件,但必须独立地导入它们。您还可以创建自定义控制器以自动执行数据导入,通常需要执行此步骤以支持登台和生产系统的自动数据导入。然后,另一个沙箱可以使用“站点导入”来获取配置和内容。

注意

注意

某些对象只能使用网站导入/导出来导入。在执行此操作之前,请确保这些对象存在。如果导出网站的用户或权限设置,则将覆盖要导入到其上的沙箱上的数据信息。

分期和生产

主实例组(PIG)包含开发,登台和生产实例。使用自定义控制器通过安全连接将数据从后端系统移动到这些实例类型之一。对于不频繁的提要,仅将它们导入到暂存中,然后将其复制到生产中。这样可以保护您的生产实例免受导入数据问题的影响。

某些提要可能需要在Business Manager中进行其他增强。例如,如果您要手动添加仅网络描述或其他信息。需要增强的Feed在登台中进行更新,然后将数据复制到生产中。

暂存和复制必须经常更改的数据是不切实际的,因此频繁的提要直接导入到生产中。频繁的提要同时导入到暂存和生产中,因此实例保持同步。请记住,您的登台实例应始终反映生产情况。

使用控制器可增加导入/导出的灵活性。将业务逻辑添加到控制器中,以将值添加到导入文件中,自动更新搜索索引,或存档导入文件。从生产中导出数据时,可以将业务逻辑添加到控制器中,以更改导出文件的格式,添加值或进行其他处理。

发展历程

开发实例是生产实例的测试环境。您可以执行从站点到开发实例的初始站点导入/导出来进行设置。之后,使用数据复制来更新该实例上的数据和代码。

Commerce的体系结构 – 开始配置您的B2C Commerce网站

学习目标

完成本单元后,您将能够:

  • 列出实例类型。
  • 说明实例类型的用途。
  • 描述网站与组织的关系。
  • 描述如何管理多站点领域。

介绍

Salesforce B2C Commerce包括运行电子商务店面所需的资源和流程。您不会直接与云交互;这是支持您的网站的基础。本单元说明了它们如何工作:领域,PIG,SIG以及在它们上运行的实例的类型。

创建或配置站点时,它会被组织为所谓的领域,该领域包括两个组:主实例组(PIG)和辅助实例组(SIG)。领域是特定于商家的。两组都包括可用于配置电子商务网站的工具。

领域具有主要和次要实例组。

境界

商家通常只有一个适合他们的领域。领域包含在其上开发,测试和部署店面应用程序的实例。B2C Commerce实例是包含以下组件的应用程序基础结构:

  • 网络服务器
  • 应用服务器
  • 数据库服务器

通常,商家每个域接收九个实例。其中包括用于在PIG上进行登台,测试和部署的三个实例,用于在SIG上进行代码开发的五个沙箱实例,以及一个演示实例。为了实现可伸缩性,客户每个域最多可以有47个沙箱。

注意

注意

一个领域只有一个PIG和一个SIG。

在Business Manager(用于站点配置和管理的B2C Commerce工具)中,您可以按以下方式使用PIG实例。

  • 登台 -用于站点配置,数据充实和数据导入
  • 开发 -用于在部署之前测试站点
  • 生产 -用于托管购物者访问过的实时网站

单域和多域配置

通常,商家具有单个领域,可以在其中开发,登台和部署具有不同品牌或地区的多个站点。管理店面站点的人员不必位于同一位置。站点可以共享产品目录或具有不同的目录。他们甚至可以共享一些站点管理员设置。

具有多个业务线或全球团队且每个都有自己的流程或业务策略的商人通常使用多个领域。对于具有不同组织的商家来说,单独的领域也很有用,这些组织具有单独的后端集成,时间表或其他问题,可以更好地进行独立管理。

每个领域(无论是单个配置还是多个配置)都具有一个主实例组和一个辅助实例组。

虽然同一领域中的站点可以共享相同的产品数据主目录,但是不同领域中的站点不能通过目录结构共享数据。但是,他们可以通过将数据导入不同的领域来共享数据。

假设您有两个拥有不同品牌的站点:一个在欧洲,另一个在环太平洋。您可以为管理环太平洋站点的团队提供一个领域,为管理欧洲站点的团队提供另一个领域。

站点和组织

在业务管理器中,您可以在每个实例中配置一个或多个站点。特定实例上的多个站点被视为组织。例如,在配置设置时,可以将它们配置为特定于站点的(一个站点)或跨所有站点(组织)配置。

执行个体

B2C Commerce实例包含用于定制店面的工具和资源。通过在浏览器中键入实例URL来查看实例,或在业务管理器中打开实例。沙盒,分段,开发和生产这四种实例类型有不同的考虑因素:

沙盒分期发展历程生产
用法创建和更新店面代码。配置广告系列,促销,产品,目录和内容。模拟生产环境。用作使用代码测试内容的最后一步。通过B2C Commerce提供的CDN,但不缓存(内容)。用于店面交易的实时实例。已连接到B2C Commerce提供的CDN。
数据I / O对于沙箱,大多数系统作业均被禁用。数据和代码将上载到暂存中,然后复制到生产或开发中。从分段复制数据和代码。可以从实例中导出数据。从分段复制数据和代码。可以从实例中导出数据并将其导入到暂存中。

实例类型用户

根据团队的规模,一个人可以扮演多个角色。这些是一些一般责任。

角色实例类型职责范围
开发者沙盒,暂存开发人员在本地计算机上创建或修改模板,控制器和脚本,然后将它们上载到沙盒进行测试。开发人员将代码上传到登台。他们还可以导出商户在登台时添加的数据,以用作沙箱的测试数据。注意:开发人员仅在测试生产中的产品时才使用开发实例。
跟单员分期售货员创建活动和促销,管理产品信息并配置搜索行为。
管理员所有实例管理员授予对实例和实例功能的访问权限。他们重新启动实例,管理数据馈送,并上传证书。
质量保证工程师发展历程该工程师在尽可能接近生产的条件下测试现场。这里没有代码开发。