モダン・アプリケーション開発- SaaS拡張機能

Oracle Applications Cloudは、Human Capital Management (HCM)、Enterprise Resource Planning (ERP)、Supply Chain Management (SCM)、Customer Experience (CX)などの領域に対するソリューションを提供する、Software as a Service (SaaS)アプリケーションの完全なスイートです。

SaaSアプリケーションと同様に、カスタマイズされたUIレイアウトや追加のビジネス・プロセスなど、組織に固有の拡張機能が必要になる場合があります。これらの拡張機能は、Oracle Applications Cloudの情報と統合したり、他のシステムのデータを結合するアプリケーションとして実装されます。アプリケーションは同じセキュリティ・レイヤーを使用し、Oracle Applications Cloudとシームレスに統合するユーザー・エクスペリエンスを提供します。一部の拡張アプリケーションは、Oracle Applications Cloudインタフェースに組み込まれているか、外部の顧客を対象とする場合、Oracle Applications Cloud環境の外部で動作します。

このドキュメントは、SaaS拡張アプリの設計原則、リファレンス・アーキテクチャおよび最適な実装パスを説明しています。

設計方針

次の設計原則を使用して、SaaS拡張アプリケーションを構築します。

  • 軽量オープンソース・フレームワークと熟練したプログラミング言語を使用

    UIレイヤーには、Oracle JavaScript Extension Toolkit (Oracle JET)を使用します。Oracle JETは、Oracle Applications CloudチームがRedwoodベースのUIを開発するために使用するOracleおよびオープン・ソースのJavaScriptライブラリのオープン・ソース・ツールキットです。JETでは、これらと同じRedwood UIパターン、スタイルおよびテンプレートが提供されます。

    UIレイヤーには、HTML5およびCSSとともにJavaScriptを使用します。バックエンドの場合は、Javaを使用します。

  • REST APIを使用して通信する一連のマイクロサービスとしてアプリを構築

    REST APIとして公開されているマイクロサービスとして、ビジネス・プロセスおよびデータ操作サービスを開発します。これにより、サービスを簡単に処理、スケーリングおよびアクセスできるようになります。

    Oracle Visual Builder Studioで開発されたUIでは、RESTベースのバック・エンド・サービスを使用します。これには、Oracle Applications Cloudで公開されるサービスや、REST APIとして他のソースからデータを公開するサービスが含まれます。

  • ビルド、テストおよびデプロイメントの自動化

    Oracle Visual Builder Studioを使用して、インフラストラクチャ・レイヤーからプラットフォーム・レイヤーまで、SaaS拡張のビルド、パッケージおよびデプロイメント・ステップを自動化します。(これには、ビジュアル・アプリケーション、統合、データベース・オブジェクト、ミドルウェア・コードなどのアーティファクトが含まれます。)Oracle Visual Builder Studioでは、継続的な統合/継続的なデプロイメント(CI/CD)パイプラインにより、Gitリポジトリ、問題追跡、アジャイルなプランニングおよび追跡およびチーム・コラボレーション機能も統合されます。

  • 完全管理型のサービスを使用して、アプリケーション開発、ランタイムおよびデータ管理の複雑さを排除

    Oracle Applications Cloudを使用するほとんどの組織には、独自のインフラストラクチャを管理する欲求やリソースがありません。かわりに、完全管理型のサービスを使用して、ビジネス・アプリケーションのデプロイメントとメンテナンスを簡素化します。

    Oracle Visual Builder Studioは、Webおよびモバイル・アプリケーションをホストするための完全管理プラットフォームを提供します。さらに、カスタム・ビジネス・オブジェクト、それを公開するRESTレイヤーを管理し、外部RESTサービスへのアクセスを保護します。管理対象統合サービスのOracle Integrationを介して外部データ・ソースへのアクセスを構成できます。また、REST APIとして公開される関数として、追加のビジネス・ロジックを実装できます。アプリケーションによっては、データがスタンドアロン・データベースにレプリケートされる場合があり、その場合、Oracle REST Data Servicesを使用してそのデータにアクセスするための一連のRESTサービスを実装できます。

  • アプリ層をステートレスに保つ

    Oracle Visual Builder Studioは、REST APIを介してバックエンド・サービスに通信するステートレス・アプリケーションを作成します。Oracle Functionsは、サーバー側のビジネス・ロジックを追加するためにステートレス機能も提供できます。

  • エンドツーエンドの監視とトレースの実装

    Oracle Application Performance Monitoringを使用して、アプリケーションの層を監視およびトレースします。このサービスを使用すると、UIエクスペリエンス、RESTコール、関数およびデータベースを追跡できます。

    また、多くのOracle管理サービスでは、管理対象のアーティファクトの監視とトレース機能が提供されます。たとえば、Oracle Integrationには、統合の使用状況およびステータスを示す監視ダッシュボードが用意されています。

  • アプリケーション・ライフサイクルを保護するための多層防御アプローチの導入

    詳細な防御メカニズムを適用して、適切なロールを持つ担当者のみがデータとやり取りできるようにします。アプリケーションとOracle Applications Cloudの間でシングル・サインオン(SSO)を使用して、REST APIを介してデータにアクセスするユーザーがOracle Applications Cloudで定義したロールに準拠していることを確認します。Oracle Cloud Infrastructure APIゲートウェイおよびWeb Application Firewallを使用してルールを作成し、それらのルールに基づいてRESTサービスおよびWebインタフェースへのユーザーのアクセスを制限します。

    Oracle Visual Builder StudioはSSOで事前構成されており、アイデンティティ伝播を提供します。たとえば、Oracle Visual Builder StudioからREST APIへのコールによって、Oracle Visual Builder StudioユーザーがAPIコールに自動的に伝播されます。

アーキテクチャ

設計原則を実装するには、この考えられたアーキテクチャに基づくデプロイメントを使用します。



maf-arch-paas.zip

Oracleでは、SaaS拡張アーキテクチャで次のコンポーネントを推奨しています。

  • UI

    Oracle JavaScript Extension Toolkit (Oracle JET)は、複数のデバイスにまたがるリッチUIを構築するための軽量オープン・ソース・ツールキットを提供します。また、Redwoodユーザー・エクスペリエンスもサポートしており、Oracleから提供されるアプリケーションと同じエクスペリエンスを提供するOracle Applications Cloudの拡張機能を開発できます。Oracle JETアプリケーションの開発を簡略化および高速化するには、開発に対するより宣言的でビジュアルなアプローチを提供するOracle Visual Builder Studioを使用します。

  • Webサーバ

    Oracle Visual Builder Studioは、Webアプリケーションをホストするための完全管理サービスを提供し、Oracle Applications Cloud内のデータおよび外部RESTベースのサービスへの安全なアクセスを提供します。また、カスタム拡張アプリケーションとOracle Applications Cloud間のシングル・サインオンもサポートされています。

  • ビジネス・ロジック

    ビジネス・ロジック要件を実装するには、Oracle FunctionsやHelidonなどのスケーラブルなサーバーレス・テクノロジを使用し、簡単に消費できるようにREST APIとして公開します。

  • 統合

    Oracle Integrationは、アプリケーションの統合、プロセスの自動化、ビジネス・プロセスに関するインサイトの取得およびビジュアル・アプリケーションの作成を可能にするフルマネージド・サービスです。

    Oracle Integrationの簡素化されたバージョンであるOracle Integration for SaaSは、SaaSに焦点を当てたOracle Integrationの機能および利点を提供します。

  • データベース

    Oracle Databaseでは、Oracle Applications Cloudでデータに直接アクセスおよび処理するための簡単または高性能な方法がない場合に、よりアクセスしやすい方法でデータを格納できます。

  • APIゲートウェイ

    Oracle API Gatewayでは、ネットワーク内からアクセス可能なプライベート・エンドポイントとともに、必要に応じてパブリック・インターネットに公開できるAPIを公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、ORS、認証と認可およびリクエスト制限をサポートします。

代替およびアンチパターン

このパターンで説明するアーキテクチャの代替方法を検討し、アンチパターンの実装を回避します。
  • 代替値

    Applications Cloudインタフェースへの統合を必要としないアプリケーションの場合、代替UIフレームワークの使用を検討できます。

    既存のシステムでApplications Cloudのデータへのアクセスが必要な場合で、外部リクエストによるApplications Cloudのオーバーロードが懸念される場合は、外部データベースへのデータのセットを抽出できます。

  • アンチパターン

    外部システムのApplications Cloudにすでに定義されているビジネス・プロセス、検証およびセキュリティをレプリケートしないでください。これにより、元のシステムとの同期が取れなくなるリスクが発生します。

例のユースケース

同様のアーキテクチャを使用したSaaS拡張のユース・ケースの例を次に示します。
  • カスタマイズされた内部システム

    新たな従業員のオンボーディング、駐車スペースの割当て、出張の承認、請求書コンプライアンス・チェックなどを追跡できます。

  • マッシュアップ・システム

    SalesForceなどの外部システムの顧客情報でApplications Cloudインベントリをマッシュアップします。

  • 外部システム

    発注書入力、パートナ・カタログ、サービス・サポート・ポータル。

パブリック・ケース・スタディ

ここでは、この最新のアプリケーション開発パターンを使用してSaaS拡張をロールアウトした企業を示します。
  • パナソニック

    Oracle Advertising and Customer Experience (Oracle CX)のデータにアクセスするWeb向けパートナ・ポータルを構築。

  • Yum!ブランド

    勤務時間レポートなどのタスクに対して一連の内部HCM拡張機能を作成。

  • Caesars Entertainment

    ERPを拡張した請求書規制改訂システムを作成。

変更ログ

このログには、重要な変更がリストされます。

確認

  • 作成者: Shay Shmeltzer
  • コントリビュータ: Hassan Ajan、Matthias Brantner、James Emerson、Bernard Horan、Harshad Kasture、Parvez Syed Mohamed、Sajan Parihar、Joshua Stanley