進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

Salesforce Platform の拡張

学習の目的

この単元を完了すると、次のことができるようになります。
  • Salesforce の API の例を挙げる。
  • Heroku と Salesforce がどう関連するかを説明する。
  • Salesforce が IoT やボットとやり取りする方法を識別する。

Lightning プラットフォーム API の概要

Lightning アプリケーションビルダーやプロセスビルダーのようなツールを使用した Salesforce の宣言型開発についてはすでに説明しました。こうしたツールには、Salesforce の基礎となる API とのやりとりはほとんど必要ありません。

プログラミングによる開発へと進むと、堅牢な API のセットを使用して、さまざまな方法で Salesforce データにアクセスできるようになります。実際の API については、Lightning コンポーネント、Apex、および Visualforce のセクションですでに確認しました。
Property__c property = [SELECT Name, Price__c from Property__c WHERE Id=:propId];

簡単に言うと、組織のすべてのオブジェクトには API 名があり、API 名を使用してそのオブジェクトのでデータにアクセスできます。前の単元の SOQL クエリをもう一度見てみましょう。

__c は、オブジェクトがカスタムオブジェクトまたはカスタム項目であることを示します。このクエリは Property (物件) オブジェクト用に自動作成された API アクセスポイントを使用して、組織の物件に関する情報を取得します。

では、Salesforce が提供する API とその用途の一覧をざっと確認しましょう。
API API でできること
SOAP API 標準 SOAP プロトコルを使用して組織のデータを他のアプリケーションと統合する。
REST API 標準 REST プロトコルを使用して組織のオブジェクトにアクセスする。
メタデータ API 組織のカスタマイズを管理し、メタデータモデルを管理するツールを作成する。
Tooling API プラットフォームアプリケーション用のカスタム開発ツールを作成する。
Marketing Cloud API REST API で Marketing Cloud 機能を公開し、SOAP API でほとんどのメール機能に包括的にアクセスする。
Bulk API 大きなデータセットに対して読み込み、削除、非同期クエリを実行する。
ストリーミング API セキュアかつ効率的に通知を送受信する。通知には、組織のデータ変更やカスタムイベントを反映できる。
Chatter REST API Chatter、コミュニティ、おすすめ、ファイル、トピックなどの UI を作成する。
Mobile SDK 技術的にはソフトウェア開発キットであるが、ここにも含まれる。ネイティブまたはハイブリッドモバイルアプリケーションを Salesforce に直接統合する。

Lightning プラットフォーム API についての詳細は、「リソース」に記載されている「Lightning プラットフォーム API の基礎」モジュールを参照してください。

Heroku でアプリケーションを解放

API は Salesforce 内と外部システムの両方で使用できますが、Heroku は外部の世界とのみやりとりします。Heroku は、Web アプリケーションの迅速な開発、リリース、拡張を可能にする Web 開発プラットフォームです。

Heroku の優れている点の 1 つは、アプリケーションの記述方法に高い柔軟性があることです。Java マニアなら、Java でアプリケーションを作成できます。筋金入りの Python ファンでも、Heroku は邪魔をしません。PHP がお気に入りなら、心ゆくまで使ってください!

Heroku は Amazon Web Services (AWS) 上に構築されています。つまり、標準 Web アプリケーション開発で生じるインフラストラクチャに関する多くの懸念事項が対処されています。その上にある Heroku Connect によって Salesforce データが Heroku Postgres データと統合されるため、プラットフォーム間を移動する情報を管理する必要がありません。インフラストラクチャやデータストレージの心配がなくなるということは、新しい開発に専念する時間が増えるということです。

では、DreamHouse シナリオに少しだけ戻りましょう。Salesforce 側についてはすでに見ました。これは社内従業員生産性アプリケーションで、不動産エージェントが物件、顧客、顧客のお気に入り物件を管理できます。

ところで、顧客はどこにこれらの物件を表示しているのでしょう。もちろん、DreamHouse Heroku アプリケーションです。こちらを参照してください。

IoT、ボット、その他

ここまで取り上げてきたトピックは、多少の差はあっても開発環境の「必須事項」でした。一方、開発者が開発スキルを発揮し、プラットフォームを楽しむ機会は他にもたくさんあります。

IoT

業種によって、Salesforce と IoT (モノのインターネット) の統合が必要かどうかは異なります。ただし、スマートデバイスが増えるなか、IoT を念頭に置いた開発に慣れておくのは悪くない考えです。

たとえば、DreamHouse の不動産エージェントが見込み客の見学のために住宅を準備するとき、住宅のドアを開錠する、照明をつける、適切な室温にする、など必ずやることがあります。

不動産エージェントがこうした準備を外出先で Salesforce モバイルアプリケーションから実行できるとしたらどうでしょうか? スマートデバイスを Salesforce と接続することで、まさにその操作を行うことができます。Visualforce または Lightning コンポーネント、Heroku でホストされるマイクロサービス、スマートロック、証明、サーモスタットからの IoT インターフェースの組み合わせを使用して、プラットフォーム上に直接 IoT 制御機能を構築できます。

当然、IoT には他に多くのアプリケーションがあります。接続されたハードウェアコンポーネントを持つ会社であれば、Salesforce の IoT 機能で容易にデバイスに関するデータを収集、管理、分析できます。顧客のデバイスのパフォーマンス状況を監視したり、顧客エンゲージメントをサポートするビジネスロジックを定義したりすることも容易になります。

ボット

チャットボットは通常、外部カスタマーサービスで使用されます。ただし、Salesforce 組織に直接組み込んで、従業員がデータを操作しやすくすることもできます。

再び DreamHouse について考えてみましょう。ある家族が不動産エージェントに連絡し、ボストン地区にある 3 ベッドルームの家を買いたいと伝えたとします。この家族に適した住宅を見つけるために、不動産エージェントはボットを利用できます。DreamHouse 組織では、実際のボットを確認できます。

アプリケーションランチャーから、DreamHouse を選択します。ページ下部に DreamBot 項目があります。クリックして、「3 bedrooms in Boston (ボストンで 3 ベッドルーム)」と入力し、Enter キーを押します。

検索結果が表示されたチャットボットウィンドウ。

すばらしいですね。このボットは、DreamHouse のリストから入力した条件に一致するすべての物件を検出します。

DreamBot は Apex のみでコーディングされています。その方法を詳しく調べるには、開発者コンソールを開き、[File (ファイル)] | [Open (開く)] | [Classes (クラス)] | HandlerFindProperties.apxc に移動してください。Slack、Facebook Messenger、Amazon Alexa などのサービスに接続するボットをコーディングすることもできます。

その他

ここまで、Salesforce Platform 開発の可能性について表層部を見てきたにすぎません。

Apex および Einstein Vision API を使用してカスタム画像認識および分類エンジンを作成できます。猫好きなら、「Build a Cat Rescue App That Recognizes Cat Breeds (猫の品種を認識する猫救出アプリケーションの作成)」という Trailhead プロジェクトを参照してください。猫好きでなくても心配はいりません。Einstein Vision も利用できます。このブログ記事では、Einstein Vision API を Raspberry Pi と組み合わせて猫の侵入を検出して食い止めています。

データに詳しければ、Einstein Analytics、GeoJSON、Python を使用して Analytics グラフのためのカスタム地図を作成できます。

または、プラットフォームイベントと Lightning コンポーネントを使用して即時通知アプリケーションを作成することもできます。

まとめ

このモジュールでは多くの基礎を学習しました。Salesforce Platform の概要とノーコードおよびローコードによる迅速な開発での使用方法について説明しました。プラットフォームのプログラミングの柱である Lightning コンポーネント、Apex、Visualforce についても取り上げました。最後に、Salesforce Platform を拡張するための新しく画期的な方法も確認しました。

このモジュールで学んだもう 1 つのことは、Salesforce Platform がきわめて動的であるということです。開発機能は加速し、多くのテクノロジが Salesforce と統合されているため、Salesforce 組織を構築するためのオプションは豊富にあります。

Trailhead では、ここで説明したテクノロジについてもっと多くのことを学習できます。また、Salesforce 開発者ポータルは、Salesforce Platform での開発に関してあらゆる情報を入手するのに最適なリソースです。開発者ガイド、ブログ記事、フォーラム、使用開始に役立つ詳細な情報が揃っています。

リソース

著作権

Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of Jerusalem. (ALBERT EINSTEIN の権利は、ヘブライ大学の許可を受けた上で使用しています。)Represented exclusively by Greenlight. (Greenlight が排他的に代理人を務めています。)