アプリケーションの作成ツールの特定

学習の目的

この単元を完了すると、次のことができるようになります。

  • Salesforce 組織でのアプリケーションの作成に使用可能なツールについて説明する。
  • 他のシステムと統合するために Salesforce が提供するテクノロジを挙げる。
  • Chatter により、コラボレーションがどのような形で促進されるか説明する。
  • Salesforce コミュニティの適切な使用事例を特定する。
  • アプリケーションをモバイル対応にするために Salesforce が提供するテクノロジについて説明する。

Salesforce のテクノロジ

この単元では、アプリケーションの作成に使用可能なツールやテクノロジについて概説します。また、幅広い顧客ベースに対応するため、あるいは設計を向上させるためのテクノロジも取り上げます。この単元の情報から、解決できるとは思っていなかった問題の解決策を見つけ、ずっと夢見てきたアプリケーションを作成されることを期待しています。

Salesforce の使用経験がある方は、この単元の内容の一部はすでにご存知かもしれません。けれども、知らないこともあるはずです。ここで新しいことを 1 つ学び、それが、自身のアプリケーションが市場で脚光を浴びるきっかけになるかもしれません。

プラットフォームの基本

作成するすべてのアプリケーションの基盤となる Lightning Platform には、アプリケーションを設定、作成、カスタマイズするための充実した機能が揃っています。たとえば、次の操作を簡単に実行できます。

  • データを保存、操作、保護する
  • ビジネスプロセスを自動化する
  • ユーザおよびアプリケーションへのユーザアクセスを管理する
  • ユーザインターフェースを作成する

Salesforce では、設定やカスタマイズに使用するポイント & クリックツールを用意しています。宣言型ツールと呼ばれるように、確定的に実行する強力なツールで、アプリケーションを一刻も早く稼働させることを目的に設計されています。

たとえば、イベント管理アプリケーションに会場情報を保存する必要がある場合、数分のうちに会場データを保持するオブジェクトを作成し、そのオブジェクトにセキュリティを設定できます。Salesforce ではまた、そのオブジェクトに保存されたデータをエンドユーザが表示、作成、編集、削除するための UI ページも提供しています。

けれども、カスタマイズの中には極めて複雑あるいは特殊なため、宣言型インターフェースだけでは実装できないものもあります。そのため、プログラム型のアプリケーション開発ツールも用意されています。代表的なツールは次のとおりです。

  • Apex - Salesforce のクラウドベースのプログラミング言語で、構文は Java や C# と似ています。Apex は、アプリケーションの基幹となるオブジェクトやユーザアクションを実装します。
  • Lightning コンポーネント - 再利用可能なコンポーネントを作成するための JavaScript フレームワークです。これらのコンポーネントは、UI の表示、クライアント側のイベントの処理、Salesforce サーバとの通信などを実行します。これらのコンポーネントを使用して、アプリケーションを作成したり強化したりすることができます。そして、出来上がったアプリケーションがあまりにも素晴らしくて誰かに紹介したくなった場合は、AppExchange で販売できます。
  • Visualforce - HTML に似たタグベースのマークアップ言語で、UI ページやコンポーネントの作成に使用します。Apex と同様、オブジェクトやユーザアクションを実装します。また、jQuery や AngularJS などのサードパーティライブラリも処理します。

以下は、宣言型ツールとプログラム型ツールが推奨される状況です。

推奨されるツール 理由
最初に宣言型を使用
  • 作成やメンテナンスが容易である。
  • Salesforce の新機能の活用に適した方法である。
  • テストが簡便である (機能自体はテスト済みのため、各自のソリューションで動作するかをテストします)。
プログラム型に宣言型を併用
  • ビジネスロジックが複雑すぎて、宣言型のみでは実装できない。
  • カスタムユーザエクスペリエンスを構築したい。
  • プログラム型と宣言型を組み合わせることによって最適なソリューションになることが多い。
全面的にプログラム型 特定の目的によりプログラム型しか使用できない。

宣言型ツールについての詳細はこちらの Trailmix、プログラム型ツールについての詳細は「開発者向け初級」トレイルを最初に参照してください。

パートナーの方は、パートナーオンライントレーニングにサインアップすれば、eラーニングのカタログもご覧いただけます。

  1. パートナーコミュニティにログインします。
  2. https://partners.salesforce.com/partnerTraining をクリックします。
  3. パートナーレーニングのアカウントを登録します。

ご自身に適した方法で知識を習得して目的を達成してください!

Salesforce から外部システムへの接続

Salesforce のお客様や AppExchange パートナーの多くは、各自の組織を外部システムと統合しています。Salesforce には、インテグレーションを構築するための多数のオプションが用意されています。ここではそのいくつかを簡単に説明します。各自のアプリケーションに最適なインテグレーションオプションを判断するときは、developer.salesforce.com の「インテグレーションパターンの概要」を確認し、Salesforce パートナーコミュニティでエキスパートや他の開発者に質問してください。

API

Salesforce では、常に API ファーストアプローチをとっています。データおよびメタデータ (設定に関する保存済みのデータ) には、API を介してアクセスします。たとえば、データオブジェクトを作成する場合、REST や SOAP API を使用して、そのオブジェクトを説明するメタデータにすぐにアクセスできます。さらに、ユーザがそのオブジェクトを使用してデータを作成したときも、API を使用してすぐにアクセスできます。API には汎用目的のものと特殊目的のものがあり、カスタム API を構築するオプションもあります。

コードに汎用目的の SOAP API または REST API を使用して、データベースレコードのデータのプル型およびプッシュ型転送を行ったり、そのデータの構造を調べたりすることができます。たとえば、Java アプリケーションで商談進行予測機能の予測アルゴリズムを開発できたため、顧客の組織からデータをプログラムにフィードして、結果を返せないか検討しているとします。この問題は SOAP API または REST API を使用して解決できます。

また、Apex で記述されたメソッドを、シンプルなアノテーションを指定した SOAP または REST サービスとして有効化することもできます。

各自のアプリケーションに適した API を選ぶ場合は、このリストを参照してください。

インテグレーションのその他のメカニズム

ちょっと待ってください! Salesforce には API 以外にもインテグレーションツールがあり、その代表的なものは次のとおりです。

アウトバウンドメッセージ - 顧客の組織でデータが変更されたときに外部アプリケーションに通知します。アウトバウンドメッセージは、ワークフローを使用して宣言的に設定します。ワークフロールールが、指定した変更を監視し、ToDo レコードの作成やアウトバウンドメッセージの外部システムへの送信などの自動アクションをトリガします。

Apex コールアウト - 外部の SOAP または RESTful サービスを Apex コードから直接コールします。

プラットフォームイベント - システムを監視して変更を他のシステムに伝達するフレームワークを提供します。

Salesforce Connect - OData プロトコルを使用するツールで、外部データオブジェクトを Salesforce 内に公開します。ユーザは外部オブジェクトを、プラットフォームオブジェクト内に保存されたデータと同じ様に操作します。Salesforce Connect は有料オプションです。

Heroku Connect - Salesforce と、Postgres データベースのある Heroku で実行される外部アプリケーション間でデータを同期します。Heroku Connect は有料オプションです。

Canvas - 複合アプリケーションを作成する優れた方法です。たとえば、外部システムの注文ページを埋め込んで、そのページのデータを Salesforce と共有することができます。

Chatter を使用したコラボレーション

Chatter を使用すると、個々のユーザが共通のテーマについて「データに基づく」コミュニケーションやコラボレーションを行えるようになります。

Chatter は、ビジネス上の話し合いを進める従来の方法の非効率性に対処するものです。たとえば、あなたが営業チームの一員で、主要な見込み客の商談レコードのデータの訂正について、社内の数人のエキスパートと話し合っているとします。まず初めに、問題のレコードへのハイパーリンクを記したメールを送信します。この時点ですでに危険信号が点滅します! すぐに長いスレッドができ、やがてスレッドが 3 つに分裂していきます。そして、この会話が思わぬ場所で進行していきます。

あるいは、主要なプロジェクトについて、チームのメンバーは 15 分おきにレコードを確認することなどできないために、あなたが状況を手動で更新して送信する羽目に陥ることがあります。

Chatter があれば、こうした問題が解決されます。他のソーシャルコラボレーションツールと同様に、Chatter にはユーザプロファイル、フィード、グループを公開と非公開のどちらででも設定できます。オブジェクトのフィード追跡が有効になっている場合は、そのオブジェクトに基づくレコードに Chatter フィードが設定されます。レコードの項目が変更されると、その Chatter フィードに投稿が表示されます。ユーザがレコードをフォローしている場合は、投稿が送信されます。

Chatter フィードのスクリーンショット

ここでは、Chatter の一部の機能について簡単に説明しました。Chatter は、各自のアプリケーションをミッションクリティカルなものにする手段です。顧客の組織にも Chatter が自動的に設定されるため、アプリケーションを販売するうえでも役立ちます。

Salesforce コミュニティ

Salesforce コミュニティは、お客様がその顧客やパートナーと情報を共有したりコラボレーションしたりする優れた手段です。コミュニティでは、ログインを必要とするセキュアな情報と、誰でも見ることができる公開情報の両方がサポートされます。

Salesforce コミュニティのスクリーンショット

コミュニティを使用する最適な状況をいくつかご紹介します。

  • 下請業者コンプライアンス管理アプリケーションで、下請業者がプロジェクトのすべてのコンプライアンス要件を満たしていることを追跡します。下請業者が満たす必要のあるコンプライアンス要件を従業員が指定します。下請業者にはコンプライアンスに関する書類を提出する義務があります。従業員は要件を審査したうえで、下請業者に業務を委託します。
  • コンシューマ (消費者) に直接販売する企業が使用する商品情報アプリケーションに、商品情報とともに評価やお客様のフィードバックを表示します。また、お客様の購入履歴に基づいてお勧めの商品を提案します。コンシューマがフィードバックを送ったり、商品の改善点を提案したり、お互いの質問に回答する公開フォーラムを設けます。

AppExchange パートナー (そのソリューションの使用事例の機能を含む) にとってはユーザベースが拡大され、ライセンス数が増加し、収益の増大につながります。次の表は、Salesforce Customer Community と Customer Community Plus の種別の要です。


カスタマーコミュニティ カスタマーコミュニティプラス
最大ユーザ数 1,000 万 2,000 万
対象者 お客様 パートナーまたは他のビジネス
一般的な用途
  • セルフサービスコンテンツ
  • お客様同士が情報交換するフォーラム
ビジネス間プロセス (再販など)
特長
  • (大半の) 標準オブジェクト (商談やリードなど) にアクセス不可
  • シンプルなセキュリティモデル
  • ビジネスプロセス設定に含めることはできない
  • 高度な共有モデル
  • ビジネスプロセス設定に含めることができる

企業では混合コミュニティも使用しています。たとえば、プリンタを販売する企業が、サポートを探しているお客様と、プリンタの修理点検を行うパートナーのコミュニティを開設することが考えられます。

ISVforce アプリケーションを作成するときに、既存のコミュニティを拡張するアプリケーションや新しいコミュニティを設定するアプリケーションをお客様に提供できます。ただし、お客様が Salesforce からコミュニティユーザライセンスを購入する必要があります。

Salesforce コミュニティや Chatter の実際の動作を確認したい方は、Salesforce パートナーコミュニティをご覧ください。

モバイル化

モバイルデバイスから業務を行えることが、商談成立の決め手になることがあります。フィールド技術者がアプリケーションを搭載したタブレットデバイスを携行していれば、情報をすばやく検索し、レポートをすぐさま提出することができます。そして、モバイルデバイス上でアプリケーションにアクセス可能であることが必須となることも少なくありません。Salesforce では、モバイル対応アプリケーションを簡単に作成できます。また、独自の Salesforce 接続モバイルアプリケーションを作成するオプションも用意されています。

Salesforce モバイルアプリケーション

Salesforce モバイルアプリケーションは、iOS および Android 向けに構築されています。標準ページは Salesforce アプリケーションで機能します。Visualforce のカスタム UI については、若干調整すればページを応答させることができます。他方、Salesforce の宣言型ツールを使用して、モバイルナビゲーション、コンパクトレイアウト、モバイルユーザのアクションを最適化すれば、モバイルデバイスで最高のユーザエクスペリエンスを実現できます。モバイルアプリケーションの開発経験は必要ありません! 詳細は、「Salesforce モバイルの基本」トレイルを参照してください。

Salesforce モバイルアプリケーションでの Salesforce コミュニティに対するサポートについての詳細は、こちらをご覧ください。

Lightning コンポーネント

Lightning コンポーネントは、新しいモバイルアプリケーションを拡張または作成したり、Lightning Experience をサポートしたりする優れた方法です。このコンポーネントベースのアプローチにより、モバイルアプリケーションをすばやく作成できます。さらに、コンポーネントを AppExchange で販売することもできます。

Salesforce Mobile SDK

Salesforce モバイルアプリケーションは、ほぼどのケースでも適切に機能しますが、場合によっては、デバイスのネイティブ機能の使用や大幅なオフライン機能の装備を検討します。Salesforce Mobile SDK を使用すると、iOS および Android デバイス向けのアプリケーションを簡便に開発できます。この SDK によってユーザ認証やセキュリティなどさまざまな機能が処理されるため、バックエンドの Salesforce プラットフォームと容易に連携させることができます。

まとめ

終わりが見えてきました! これまでに説明した内容を振り返っておきましょう。

テクノロジ 用途 当社の考え
宣言型ツール アプリケーションの設定および作成 できる限り使用する。
Apex、Lightning コンポーネント、Visualforce アプリケーションの設定および作成 宣言型だけでは対処でないときにプログラム型を併用する。
API、その他のインテグレーションツール Salesforce と外部システムのインテグレーション ニーズに最適なオプションを選ぶ。
Chatter コラボレーション セールスポイントです!
コミュニティ お客様、パートナー、従業員とのコラボレーション アプリケーションの利用者を簡単に拡大できます。
Salesforce モバイルアプリケーション、Lightning コンポーネント、Salesforce Mobile SDK アプリケーションのモバイル化 ビジネスはモバイル対応を切望しています。

ここで説明したテクノロジはどれも準備万端で、優れたアプリケーションに採用されるのを待っています。テストを受け、バッジを獲得したら、後は我が道を行くのみです!

リソース