コードを使用せずに開発する
学習の目的
この単元を完了すると、次のことができるようになります。
- メタデータ駆動型の開発モデルの利点について説明する。
- ノーコードおよびローコードのカスタマイズを定義し、例を挙げる。
メタデータの効果
「Salesforce Platform の基礎」モジュールを完了した方は、アプリケーション、オブジェクト、レコード、項目といった Salesforce 用語を覚えていると思います。それが (他にもありますが) メタデータです。つまり、メタデータは顧客、ビジネスプロセス、または Salesforce で収集したいその他の情報に関するコンテンツを保持する殻です。
皆さんは、Salesforce でデータを表示するときに、昔ながらの通常のリレーショナルデータベース上に存在するユーザーインターフェースを見ているとお考えかもしれませんが、実際にはプラットフォームのメタデータ対応アーキテクチャに基づくデータベースの抽象化を見ています。
この抽象化において、データベースのテーブルはオブジェクトです。データベースの列は項目で、行はレコードです。アプリケーションとは、特定のビジネス機能をサポートするオブジェクト、項目、その他の機能 (フローや分析など) のセットです。このたとえは Salesforce にデフォルトで付属する標準オブジェクトとユーザーが自分で作成するカスタムオブジェクトの両方に当てはまります。
DreamHouse アプリケーションの物件レコード詳細ページでメタデータの動作を見てみましょう。
Dreamhouse で物件のレコード詳細ページを表示するには、ステップを展開する矢印をクリックします。
Trailhead Playground の Dreamhouse アプリケーションで、次の手順を実行します。
-
[Properties (物件)] タブをクリックします。
- リストから物件を選択します。
-
[Details (詳細)] タブをクリックして、物件の詳細項目を参照します。
ここには (1)、[Property Name (物件名)]、[Address (住所)]、[Days On Market (市場日数)]、[Status (状況)] などの項目名が表示されています。これはアプリケーションの構造を定義するメタデータです。
メタデータは、システムが求めている値の種別のヒントにもなります (価格など)。また、値がどのようにデータベース内で保存され、UI で表示されるかに関するインサイトもメタデータから得られます。たとえば、[Status (状況)] 項目 (2) は選択リストです。選択リスト値は定義済みの選択肢のセットで、テキスト入力項目やチェックボックスとはデータベースでの保存方法が異なります。選択リストやその他の項目の実際の値がデータであり、データモデルに関しては実際のデータ値はあまり重要ではありません。
端的に言えば、メタデータは組織の構造を形成します。項目やビジネスプロセスを定義する場合でも、もっと複雑なものを定義する場合でも、メタデータにはその設定が保持されます。続いて、プラットフォームのユーザーインターフェースにアプリケーションのメタデータとそれに関連付けられたデータが表示されます。
このメタデータ駆動型の開発モデルは、プラットフォーム上での開発と Salesforce 外部での開発の主要な違いの 1 つです。プラットフォームがメタデータ対応であるため、ユーザーエクスペリエンスの大部分を自動生成することもできます。他のプラットフォームでは自分で開発する必要があるダイアログ、レコードリスト、詳細ビュー、フォームなども Salesforce Platform には無料で付属しています。データベースのカスタムオブジェクトを作成、参照、更新 (または編集)、削除 (CRUD または CRED とも呼ばれる) する機能のすべても含まれています。
このような事前作成済みの機能があるために、お客様の開発時間が少なくて済み、より高度なカスタム機能に取り組むことができます。メタデータ駆動型の開発アプローチを実際に見てみましょう。
Dreamhouse
Dreamhouse サンプルアプリケーションは、一般に社内従業員生産性アプリケーションと呼ばれるものの例です。Salesforce Platform のさまざまな部分を使用して構築されており、ページ上のコンポーネントの配置を細かく設定するためにカスタムページテンプレートが使用されています。
Dreamhouse サンプルアプリケーションには、アプリケーションのコア機能をサポートする 2 つのカスタムオブジェクトが含まれています。
-
Broker (仲介業者): パートナー仲介業者に関する情報
-
Property (物件): 市場に出ている物件の写真と情報
Dreamhouse データモデルが実際にどのように表示されるかを見てみましょう。プラットフォームにはスキーマビルダーと呼ばれる便利なツールがあり、実際のオブジェクトリレーションモデルを見ることができます。
スキーマビルダーを試すには、ステップを展開する矢印をクリックします。
Trailhead Playground の Dreamhouse アプリケーションで、次の手順を実行します。
-
をクリックします。[Setup (設定)] をクリックします。
- [Quick Find (クイック検索)] ボックスに、
Schema
(スキーマ) と入力します。
-
[スキーマビルダー] をクリックします。Dreamhouse アプリケーションのスキーマ全体が表示されます。
- [Objects (オブジェクト)] タブで [Clear All (選択解除)] をクリックします。
- 選択リストから [Custom Objects (カスタムオブジェクト)] を選択します。
-
[Broker (仲介業者)] と [Property (物件)] のチェックボックスをオンにします。右上に凡例が表示されます。
-
[Auto-Layout (自動レイアウト)] をクリックすると [Broker (仲介業者)] および [Property (物件)] カスタムオブジェクトのスキーマが表示されます。
便利ですよね? コーディングを行う場合でも行わない場合でも、スキーマビルダーを使用することで、アプリケーションのデータモデルの全体または一部を簡単に視覚化して設定することができます。ここではデータモデルの構築については詳しく説明しません。詳細は Trailhead の「データモデリング」モジュールを参照してください。
ノーコードとローコードのツール
ご覧のとおり、Salesforce Platform ではさまざまな方法で機能を作成できます。会社に必要なビジネスプロセスと、組織のシステム管理者とコーディング担当者の経験レベルによって、作成するカスタマイズの種別が異なります。多数のコーディング担当者を抱える企業では、ノーコードまたはローコードの開発はシステム管理者に任せて、コーディング担当者は複雑なカスタマイズに集中できます。
コードをほとんどまたはまったく使用しなくてもかなり高度なものを開発できます。それについてもう少し見ていきましょう。
ノーコードのカスタマイズとオートメーション
Salesforce Platform では、1 行のコードも書かずにできることがたくさんあります。それは私たちがコードを好きでないためではありません。プラットフォームのメタデータ駆動型アーキテクチャによって、1 行のコードも書かずに多くの基本的な開発作業を実行できるためです。(もちろん、コードが必要であればいつでもコードを使用できます。)
Salesforce Platform でのノーコード開発は、宣言型開発、ポイント & クリック開発、フロントエンド開発などと呼ばれることもあります。使用したり聞いたりする用語にかかわらず、それらはすべて Salesforce で提供される、コーディング理念をほとんどまたはまったく理解しなくても使用できるツールのことです。実際、コーディング知識がまったくない人でも、事前作成済みコンポーネントとローコードのツールやオートメーションを使用して Salesforce でアプリケーション全体を作成することができます。Dreamhouse サンプルアプリケーションの物件レコードページを作成するために使用された Lightning アプリケーションビルダーの例を次に示します。
Lightning アプリケーションビルダーを試すには、ステップを展開する矢印をクリックします。
Trailhead Playground の Dreamhouse アプリケーションで、次の手順を実行します。
-
をクリックします。
- [Quick Find (クイック検索)] ボックスに、
Lightning App Builder
(Lightning アプリケーションビルダー) と入力します。
-
[Lightning App Builder (Lightning アプリケーションビルダー)] をクリックします。
- [Lightning Pages (Lightning ページ)] リストで、[Property Record Page (物件レコードページ)] を選択します。
-
[Edit (編集)] をクリックします。
- 左側のメニューに標準オブジェクトとカスタムオブジェクトが表示されています。それを中央のキャンバスにドラッグアンドドロップします。
- 次に、キャンバス上のいくつかのコンポーネントをクリックすると、右パネルのプロパティが変化し、各コンポーネントをカスタマイズできます。
-
をクリックして、Lightning アプリケーションビルダーを終了します。
このようなページを作成するには、(1) 標準コンポーネントとカスタムコンポーネントを左パネルでクリックして中央のキャンバスにドラッグします。(2) 配置を自由に調整します。(3) キャンバス上のコンポーネントをクリックすると、右パネルではページプロパティとコンポーネントプロパティが切り替わります。
ローコードのツールとオートメーション
Lightning アプリケーションビルダーや Flow Builder などのいくつかのツールはローコードツールとされています。これらのツールを使用して作成されたアプリケーションやフローもローコードとみなされます。デフォルトではプログラミング知識は必要ありませんが、コードを使用して拡張、結合、カスタマイズが可能であるためです。
たとえば、ロジック、条件、CRUD 操作についての多少の知識があれば、Flow Builder を使用して、ここで取り上げた Dreamhouse アプリケーションの新しい物件レコードを作成するための詳細を収集するフォームを生成するフローと同じようなものを作成できます。
Flow Builder で [Create Property (物件を作成)] フローを試すには、ステップを展開する矢印をクリックします。
Trailhead Playground の Dreamhouse アプリケーションで、次の手順を実行します。
-
をクリックします。
- [Quick Find (クイック検索)] ボックスに、
Flow
(フロー) と入力します。
-
[フロー] をクリックします。
-
[Create Property (物件を作成)] フローをクリックします。
-
をクリックしてツールボックスメニューを開きます。
-
をクリックして、全体が表示されるようにフローのサイズを変更します。
-
[Run (実行)] をクリックします。新しい物件レコードの詳細を収集するために [Create Property (物件を作成)] フォームが表示されます。
- 任意の詳細を入力します。[Next (次へ)]、[Next (次へ)]、[Finish (完了)] の順にクリックします。
-
をクリックして Flow Builder を終了します。
-
をクリックし、[Dreamhouse] を探して選択します。
-
[Properties (物件)] タブをクリックします。
- Flow Builder で作成したばかりの物件をクリックします。
Salesforce Platform で提供されるローコードオートメーション機能により、システム管理者が簡単にさまざまな種類のカスタマイズを作成できるため、コーディング担当者はコーディングスキルが必要な作業に集中できます。あなたが会社で Salesforce で開発を行う唯一の人である場合には、プラットフォームの多数のローコードツールを使用して、より多くの機能をより短時間に作成できます。
リソース