15 JCS - SaaS ExtensionによってWebサービスとして公開されるデータの識別
SaaSで使用するWebサービスを公開する理由は複数存在します。また、特定のデザイン・パターンを使用すると、Webサービスとの統合の効率を最大限に高めやすくなります。
SaaSアプリケーションの操作時にWebサービスが必要になる理由
Webサービスは、SaaSアプリケーションとともに使用される場合、複数の重要な役割を果たします。これらには、SaaSアプリケーションではネイティブではなく、複数のSaaSアプリケーションによって使用される可能性もある機能の提供も含まれます。
Webサービスを公開する最も基本的なニーズの1つとして、SaaSアプリケーションでは直接使用できないかSaaSアプリケーションでは計算できない機能を起動することがあります。この機能が複数のSaaSアプリケーションおよびオンプレミス・アプリケーションで共有されている場合、この機能を複数のアプリケーションに組み込むのではなく外部化する方が道理にかなっています。場合によっては、これらのサービスは、Javaテクノロジを使用するチームによって開発および保守されることがあります。これにより、多くのSaaSアプリケーションでネイティブでは不可能である機能が作成されます。付随するメリットとして、Webサービスが標準に基づいており、プラットフォームに依存しないため、これらのサービスが複数のコール側のアプリケーションとの互換性を得られます。
注意:
ただし、Webサービスを使用する主な目的が、コール側のSaaSアプリケーションに追加データを提供するのではなく、データのアウトバウンド統合である場合、JCS - SaaS Extensionがふさわしくない可能性があります。代替策として、この目的のためにOracle Integration Cloud Serviceを使用することを検討してください。WebサービスをオンプレミスではなくJCS-SaaS Extensionでホストする必要がある理由
一見したところ、JCS - SaaS ExtensionではなくオンプレミスでSaaSアプリケーションをサポートするWebサービスをホストする方が容易に思われるかもしれませんが、そのようにすると、このクラウド・サービスに組み込まれている複数の貴重な時間節約機能を活用できなくなります。
WebサービスをオンプレミスではなくJCS - SaaS Extension上でホストする主な理由は、次を活用することにあります。
-
簡単なネットワーク・セキュリティ構成
クラウド・サービスをオンプレミスに接続する場合、クラウドで拡張機能をホストすれば回避できる追加のネットワーク設定が必要になる可能性があります。
-
様々なOracle Cloudサービスによってサポートされている特定のインターネット・セキュリティ標準の活用:
-
Oracle Sales Cloudで共有されているアイデンティティについては、「JCS - SaaS ExtensionとOracle SaaSの相互作用のセキュリティ戦略」を参照してください。
-
CPQ Cloud内のOAuthについては、「OAuthサーバーとして機能するCPQ Cloudの構成」を参照してください。
-
-
サービスのスケーラビリティの使用
Webサービスのデザイン・パターン
Webサービスを使用するデザイン・パターンにより、拡張機能が欠落したクラウド・サービスにこの機能を提供したり、以前は存在しなかった機能を提供したりできます。
Webサービスを採用する2つのデザイン・パターンについて説明します。
-
Webサービスをメディエータとして使用した外部サービスのコール
-
Webサービスを使用した計算の実行
Webサービスを使用した複数の外部サービスの仲介
JCS - SaaS Extension内のWebサービスは、メディエータとして機能し、1つ以上の外部サービスをコールできます。このようにすることにより、JCS - SaaS Extensionサービスは、SaaSアプリケーションに使用される単純かつ単一のインタフェースを実現できます。
ネイティブWebサービスの計算エンジンとしての使用
JAX-WSサービスなどのネイティブWebサービスを使用して、Oracle Database Cloud Service – Schema内のデータからの追加入力の有無にかかわらず、入力データに基づいて計算を実行できます。たとえば、Database Schema Serviceを使用して、すべての顧客の銀行取引データを格納でき、Webサービスが一定期間にわたる顧客口座の平均残高を簡単に提供できるようになります。
Webサービスに関する実装の考慮事項
Webサービスに関しては、公開対象として正しい種類のWebサービス(SOAPまたはREST)を選択したり、最も適切なセキュリティ・メソッドを決定したりするための実装オプションが複数用意されています。
SaaSアプリケーションとともに使用するWebサービスの設計および構築を検討する際は、次の各事項を念頭に置いてください。
-
サービスをSOAP WebサービスとREST Webサービスのどちらとして公開するか決定してください。可能な限り、REST Webサービスを使用してください。ただし、これは、起動されたSaaSアプリケーションまたは外部Webサービスの要件によって異なります。この場合、サービスから他のサービスに対するSOAPまたはREST起動を行うことが必要な可能性があります。この設計に関する考慮事項は、サービスを公開する方法とは関係ありません。
-
不要なデータが公開されないようにサービスを設計してください。たとえば、仲介デザイン・パターンの場合、事前に決定されたOracle Sales Cloudデータのサブセットのみが公開されます。同時に、同様の機能に対して複数のサービスを作成しないでください。再使用が可能になるよう最大限努力してください。
-
SaaSアプリケーションがサービスを複数回コールすることを避けるため、粒度の粗いサービスを作成してください。たとえば、オーダーを作成するサービスを公開してから、オーダー明細を追加する別のサービスを公開する必要がないようにしてください。
-
Webサービスを保護してください。「Webサービスの保護」を参照してください。また、Webサービスによって別のWebサービス(複数も可)が起動されるデザイン・パターンを使用する場合は常に、起動されるこれらのサービスの資格証明をハードコードしないようにしてください。代替策として、可能な場合は常に、サービスを起動したアイデンティティを伝播してください。