5 JCS - SaaS ExtensionとOracle Sales Cloudの相互作用のユースケースおよびパターン
このトピックでは、Oracle Sales CloudとJCS - SaaS Extensionの間の相互作用の概要を示す、このような拡張のユースケースと設計パターンについて説明します。ここに示すユースケースとパターンは完全であることが目的ではなく、ある種の可能性の例です。
JCS - SaaS Extensionを使用したOracle Sales Cloudの拡張のユースケース
ビジネスの要件やニーズに固有の機能を構築したり、オンプレミスのレガシー・アプリケーションやOracle Cloud以外のアプリケーションとのマッシュアップを実行したり、あるいはOracleパートナとしてベース・アプリケーションに対する垂直型の業界向け拡張機能を構築したりするために、Oracle SaaSアプリケーションの拡張が必要な場合があります。
Oracle Sales CloudなどのOracle SaaSアプリケーションには、アプリケーションのカスタマイズおよび拡張を可能にするアプリケーション・コンポーザやページ・コンポーザなどのツールが用意されています。これらのツールを使用して、新しいUI要素の追加、検証の追加、 Oracle Sales Cloudデータ・モデルのエンリッチ、外部アプリケーションを使用したインタフェースの作成を行うことができます。また、アプリケーション・コンポーザには、アプリケーションの動作を高度に制御するためにGroovyインタフェースが用意されています。
これらのツールの強力な機能にもかかわらず、これらの拡張機能をOracle Sales Cloudの外部で構築し、これらをJCS - SaaS ExtensionなどのOracle PaaSオファリングにデプロイした方がよい場合があります。外部アプリケーションとの統合には、能力の強化、柔軟性の向上、および機能の増加などのメリットがありますが、作業量が増えたり複雑さが増したりする可能性があるなどの負の面も生じます。外部アプリケーションのオプションのメリットと欠点の両面を慎重に検討することが必要です。
このアプローチを採用する理由には、次のようなものがあります。
営業と直接関係ないデータのOracle Sales Cloudでの表示
たとえば、銀行がOracle Sales Cloudを使用しており、四半期の平均残高などの顧客プロファイル情報をOracle Sales Cloud内から参照することが必要な場合があります。1つのオプションはWebサービスを使用するというものですが、多くの場合、セキュリティや他の制約が原因で、データはWebサービスとしては使用可能ではなく、ファイルとしての使用が可能です。このような制約を回避するための1つのオプションは、(アプリケーション・コンポーザを使用して)データをOracle Sales Cloudでモデル化する方法です。しかし、このオプションは論理的でない可能性があります。この例では、銀行取引データは論理的にOracle Sales Cloudデータ・モデルに属していません。また、実際のデータ量の観点から、Oracle Sales Cloudに対する大量の銀行取引情報のロードは保証されていません。このようなシナリオでは、銀行がデータをOracle Database Cloud Serviceにロードし、JCS - SaaS Extensionで構築されたアプリケーションでそのデータを表示して、Oracle Sales Cloudからこのアプリケーションを埋め込む、またはこのアプリケーションにリンク・アウトすることができます(具体的にはOracle Sales Cloudタブにアプリケーション・インタフェースを埋め込むか、Oracle Sales Cloud内のカスタム・オブジェクトからアクセスできるサービス・エンドポイントを提供します)。
Oracle Sales Cloudツールで対応できないUIへのニーズ
たとえば、Oracle Sales Cloudに用意されているものとは異なるUIウィジェットを使用して、アカウントおよび関連する連絡先をグラフィカル・ビューで表示することが必要な場合があります。場合によっては、別のアプリケーションのUI標準によって代替UIも必要であると要求されることがあります。たとえば、企業ポータルで、現在の四半期に関する営業情報の表示が必要な場合があります。この場合、企業のUIにより、このUIのルック・アンド・フィールをJCS - SaaS Extension上に構築した後、これをポータル内に埋め込むことが要求されます。
各種アプリケーションにわたって再使用される共通のUIまたはWebサービスへのニーズ
たとえば、顧客に関連する情報を複数のアプリケーションから取得する社内の顧客レコードの包括的なビューなどがあります。このようなUIは、JCS - SaaS Extensionで構築してから、社内の各アプリケーションからリンク先として設定できます。もう1つの例として、モバイル・デバイス管理アプリケーション用として実行されるが、Oracle Sales CloudやOracle Marketing Cloudからリンクされる、個人の検索と照合に必要なUIがあります。同様に、共通タスクを実行するWebサービスをJCS - SaaS Extensionにデプロイしてから、複数の異なるエンタープライズ・アプリケーションから起動することもできます。
Oracle Sales Cloudを拡張するためのパターン
JCS - SaaS Extensionにデプロイされたアプリケーションを使用してOracle Sales CloudなどのSaaSサービスの機能を拡張する場合、設計パターンに関する次の考慮事項について検討する必要があります。
-
新しい機能をどのようにアクセスして表示すべきか
-
新しいアプリケーションに組み込むデータのソースは何か
-
ユーザーが持つアクセス権は何か
これらの質問に対する回答は、アプリケーションの設計に影響します。
JCS - SaaS Extensionアプリケーションに対するOracle Sales Cloudのアクセスのパターン
JCS - SaaS Extensionにデプロイされたアプリケーションは、追加のUIを提供するか、データのフェッチおよび更新に使用できるWebサービスを提供することにより、Oracle Sales Cloudに拡張機能を提供できます。それに応じて、Oracle Sales Cloudは、この追加UIへのリンクまたは追加UIの埋込みを行ったり、既存の画面の一部としてデータをフェッチおよび更新するWebサービスを起動したりできます。
アプリケーションのマッシュアップまたはリンク
JCS - SaaS Extensionにデプロイされているアプリケーション・ユーザー・インタフェースは、Oracle Sales Cloud内でマッシュアップ(埋込み)したり、Oracle Sales Cloudページからリンクしたりすることができます。
次の方法を使用してマッシュアップまたはリンクできます。
-
JCS - SaaS Extensionアプリケーションを起動するためのOracle Sales Cloudスプリングボード上の新しいアイコンの作成。詳細は、「JCS - SaaS Extensionアプリケーションを起動するためのOracle Sales Cloudのホーム・ページ・アイコンの追加」を参照してください。
-
JCS - SaaS ExtensionアプリケーションにリンクするためのOracle Sales Cloudオブジェクト・ページ上のURLの使用。詳細は、「Oracle Sales Cloudオブジェクト・ページへのJCS - SaaS Extension URLリンクの追加」を参照してください。
-
Oracle Sales CloudオブジェクトのサブタブとしてのJCS - SaaS Extensionアプリケーションの埋込み。詳細は、「Oracle Sales CloudオブジェクトでのJCS - SaaS Extensionアプリケーションのサブタブとしての埋込み」を参照してください。
サブタブを使用したマッシュアップ
たとえば、Oracle Sales CloudオブジェクトのサブタブとしてJCS - SaaS Extensionアプリケーションを埋め込むことにより、追加のUIを表示できます。
図mashup-subtab.pngの説明
ユーザー・インタフェースのマッシュアップ戦略
Oracle Sales CloudからJCS - SaaS Extensionアプリケーション・ユーザー・インタフェースをマッシュアップまたはリンクする場合、次のセキュリティ戦略をお薦めします。
マッシュアップには、Oracle Sales Cloudから、外部でホストされているアプリケーション(JCS - SaaS Extensionで構築したアプリケーションなど)からコンテンツまたは要素の組込みやリンク・アウトを行うユーザー・インタフェース環境が関与します。
注意:
マッシュアップ・ユースケースの詳細は、「アプリケーションのマッシュアップまたはリンク」を参照してください。マッシュアップを使用する場合、セキュリティ戦略はサービス環境の特質に依存します。
-
フェデレーテッド・サービス: サービスがフェデレートされている場合、シングル・サインオン(SSO)を使用してユーザーを認証できます。フェデレーテッド・サービスは同じアイデンティティ・ドメイン内にあるため、(これらのサービスが関連付けられていない場合でも) SSOは事前に構成されます。
-
非フェデレーテッド・サービス: サービスがフェデレートされていない場合、認証オプションは制限されます。JWTを使用するか、Oracleサポートに連絡してください。JWTの実装の詳細な手順は、 「Oracle Sales Cloudのマッシュアップ用のJSON Webトークンの使用」を参照してください。
Oracle Sales CloudからのWebサービスの起動
Oracle Sales CloudからWebサービスを直接コールでき、返されたデータをOracle Sales Cloud UI内に表示できます。
このシナリオでは、JCS - SaaS ExtensionプラットフォームにWebサービスをデプロイし、サービス・エンドポイントをOracle Sales Cloudに登録します。
たとえば、Oracle Sales Cloud内のオブジェクトがリモートのSOAP Webサービスをコールしてから、タブに表示されるデータを取得します。Oracle Sales Cloudでは、JCS - SaaS Extensionアプリケーションでの認証および認可用としてSecurity Assertion Markup Language (SAML)を使用します。
図osc-invoke-web-services.pngの説明
Oracle Sales CloudにアクセスするJCS - SaaS Extensionアプリケーションのパターン
場合によっては、Oracle Sales CloudのデータにアクセスするアプリケーションをJCS - SaaS Extensionで作成することが求められます。
たとえば、アクセスが制限されているかOracle Sales Cloudアカウントを持たないユーザーによって使用される、JCS - SaaS Extensionにデプロイされたアプリケーションにおいて、このユーザーがそのローカル・ユーザー・ロールに基づいて参照を許可されたデータを取得および表示できます。このアプリケーションでは、Oracle Sales Cloud Webサービスを起動し、返されたデータをアプリケーションのユーザー・インタフェースで表示することもできます。
アプリケーション内のOracle Sales Cloud UIへのリンク
JCS - SaaS Extensionにデプロイされたアプリケーションには、Oracle Sales Cloud内の特定のオブジェクトにナビゲートするリンクを含めることができます。
アプリケーション・ユーザーがOracle Sales Cloudユーザーでもある場合、SSOを活用して、このユーザーがアクセスできるユーザー・インタフェースを表示できます。ユーザーがOracle Sales Cloud内に存在していない場合、Oracle Sales Cloud UIをJCS - SaaS Extensionアプリケーションからリンク・アウトすることはできません。
この例では、ローカル・ユーザーにOracle Sales Cloudアカウントがある場合、ユーザーがアクセスをリクエストしたときに、認証資格証明がOracle Sales Cloudに自動的に送信されます。
図linked-objects.pngの説明
アプリケーションからのOracle Sales Cloud Webサービスの起動
JCS - SaaS Extensionにデプロイされたアプリケーションは、Webサービスを介してOracle Sales Cloudのデータに直接アクセスし、返されたデータをアプリケーション・インタフェースに表示できます。
通常、Oracle Sales Cloud Webサービスから提供されるデータは、認証されたユーザーに基づいています。ユーザーがOracle Sales Cloud内に存在する場合、このユーザーがアクセスできるデータは、SAML認証を使用してWebサービスを介して取得できます。ただし、場合によっては、ユーザー(パートナなど)がOracle Sales Cloud内に存在せず、JCS - SaaS Extension内にのみ存在することがあります。その場合、Oracle Sales Cloudでハードコード化されたサービス・ユーザーの資格証明を使用して、Oracle Sales Cloudを使用したユーザー名トークン・ベースの認証を行い、その結果情報をJCS - SaaS Extensionアプリケーションに表示できます。
図jsc-invoke-web-services.pngの説明