Commerce の種類がいっぱいあるなぁ　B2C, B2B, B2B2C, B2C Lightning?

何が何だかよく分からん。
いい記事をみつけました。

[Three and a half B2C Commerce (SFCC) things we’ve learned this week](https://salesforceweek.ly/2022/03/three-and-a-half-b2c-commerce-sfcc-things-weve-learned-this-week.html)

+ **B2B** は、Experienced Cloud (以前は Community Cloud と呼ばれていました) に基づく CloudCraze の買収から生まれたネイティブ コマース プラットフォームです。B2Bの一般的な用語は、Business To Businessの略です。

そのためにVisualforce のアプリなのか？

[B2B Commerce for Visualforce リリースおよびパッチの URL](https://help.salesforce.com/s/articleView?id=sf.b2b_commerce_install_urls.htm&type=5)

+ **B2C** は、 Demandwareの買収によって誕生した、**完全に独立したテクノロジー プラットフォーム**です。B2C の一般的な用語は、Business To Consumer の略です。
+ **B2B2C** はネイティブ コマース プラットフォームのバージョンであり、B2C が提供できるよりも低いレートでより多くの消費者を処理することを目的としています。付加価値価格モデルを確認してください。
[B2B2C Commerce (正式リリース)](https://help.salesforce.com/s/articleView?id=release-notes.rn_b2b2c_d2c_commerce_solution.htm&type=5&release=232)
B2B2C Commerce ライセンスで Lightning プラットフォームの機能を活用および拡張し、買い物客に応じてセルフサービスストアを構築します。B2B2C Commerce は Salesforce プラットフォーム上にネイティブに構築されています。B2B2C Commerce ソリューションを設定すると、Salesforce プラットフォームのすべての標準テクノロジの信頼された機能、セキュリティ、拡張性を利用できます。B2B2C Commerce と B2B Commerce では、Salesforce Commerce のデータモデル、検索、おすすめ、ガイド付きストアフロント設定環境、共有された基本コンポーネント、およびパートナーエコシステムが共有されます。エンドツーエンドの D2C B2C ストアフロントを構築するための一貫した環境がこれらすべてで提供されます。

コマースアプリケーション (B2B と B2C) の統合

+ **B2C Lightning** は、B2B2C という紛らわしい可能性がある上記の用語が、ブランド変更される可能性があると最近聞いたものです。

どうもこれを参照したらしいが、見てもこんな解説はない
[Salesforce B2B コマースと B2B2C コマース](https://help.salesforce.com/s/articleView?id=sf.comm_intro.htm&type=5)


ここにLightning B2Bというのが出てくる。もしかして今までのB2BはVisualforceだったが、ネイティブのLightningに作り変えたということか？
[B2B および B2B2C コマース データ モデル](https://developer.salesforce.com/docs/atlas.en-us.238.0.b2b_b2c_comm_dev.meta/b2b_b2c_comm_dev/b2b_b2c_dev_data_model.htm)
Commerce ストア テンプレートは、構成済みのデータ モデルに基づいて構築されています。データ モデルは、多数のビジネス関係と、B2B2C ストア、**Lightning B2B**、Salesforce 注文管理、および Service Cloud との相互運用性のために、標準およびカスタマイズ可能なビジネス オブジェクトをサポートします。

# ここで再度整理してみると

|従来 | これから|
|:------------|:-----------------------|
|B2B(Visualforce)| Lightning B2Bとなっているが、実際はB2B2Cと同じ？|
|B2C(独自プラットフォーム)|B2B2C|


# 面白そうな記述をかいつまんでみます。 Optimistic Concurrency
大きな違いの 1 つは、B2C Commerce はコード駆動型であり、バックエンドとログに大量にアクセスできることです。ログの側面は、ExactTarget を買収する前から MC に常に望んでいたことの 1 つです。

B2C Commerce では、楽観的同時実行のこの概念を使用しています。つまり、ロックを必要とせずに、多くのスレッドがオブジェクト レコードの読み取りと書き込みを行うことができます。これは、Salesforce の動作とはかなり異なります。
B2C Commerce uses this concept of Optimistic Concurrency, meaning that it allows many threads to read and write an object record, without requiring a lock. This is quite different to how Salesforce behaves.

各トランザクションをコミットする前に、読み取ったデータが他のトランザクションによって変更されていないことを確認します。これに沿って、楽観的制御属性の概念があります。これは、順序どおりに変更されたときではなく、最後に変更されたときです。

この考えの結果、トランザクション全体がロールバックされます。プラットフォームは、最新のものがジョブの重要な部分であるかどうかがわからないことを理解しているためです。（ただし、再起動することはできます。）

これを軽減するために、Job Locking の機能があります。つまり、ジョブに設定できるリソース ロックを制御する機能が手元にあります。

言うまでもなく、オプティミスティック コンカレンシーを回避するように設計することが重要です。これは、たとえば特定のステータス値によって、多数のレコードの処理を複数のトランザクションに分割することによって行います。

より一般的なレベルでは、Optimistic Concurrency Exceptions (2 つの異なるスレッド/プロセスがレコードを変更し、データベースで変更しようとした場合のエラー) を回避するようにしてください。ストアフロントおよびジョブ コンテキストからレコードを変更することは避けてください。

# B2B2C データモデルが B2B データモデルとよく似ていることを知って安心しますが、両者の販売モデルを反映した違いもあります。2 つのモデルは次の点が異なります。

|要素|相違点|
|:----------|:---------------|
|買い物客|B2B ではバイヤー、B2C では買い物客という。|
|ゲストのチェックアウト|認証済みの買い物客も未認証の買い物客もチェックアウトを実行できる。セルフ登録は買い物客が自身を登録できるもので、B2C では主要な機能である。B2B コマースでは、ゲストのチェックアウトはかなり稀である。|
|バイヤーグループ|B2B2C Commerce では 1 つのバイヤーグループのみを使用し、すべての買い物客が同じ商品にアクセスする。B2B Commerce では複数のバイヤーグループがサポートされる。|
|国際市場|B2B2C Commerce では、英語と米国拠点のストアのみがサポートされる。B2B Commerce では複数の国がサポートされる。|
|ストアのデフォルト|B2B2C Commerce では、ストアのデフォルトのカタログ、エンタイトルメントポリシー、バイヤーグループを使用する。|
|価格表|B2B2C Commerce ではストアに割り当てられた価格表を使用するのに対し、B2B Commerce ではバイヤーグループに割り当てられた価格表を使用する。|

# オブジェクトの違い

B2B2C Commerce には、組織で使用する一連の標準オブジェクトが用意されています。

+ ストア　(ストアを立ち上げると、このストアがカタログ、カテゴリ、価格表、商品といったコマースデータのコンテナになります。)
* カタログ
+ カテゴリ
+ エンタイトルメントポリシー
+ 商品
+ 価格表
+ 価格表エントリ
+ バイヤーアカウント*
+ バイヤーグループ*
+ バイヤーグループメンバー*

"*" この 3 つのオブジェクト(バイイヤーカウント、バイヤーグループ、バイヤーグループメンバー)も設定する必要がありますが、主として B2B Commerce で使用します。
B2B Commerce ではバイヤーグループに割り当てられた価格表を使用する。

# 関連資料

+ [B2C 外部ユーザー ライセンス](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000J7IXLSA3)
B2C では、訪問者にライセンスは必要ありません。サイトは公開されています。
+ [OCAPI Shop が突然動作しなくなり、403 エラーが発生しました](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000J7Zu4)