Webアプリケーションの構成、デプロイおよびテスト

このソリューション・プレイブックの例として使用されるブロックチェーン・ネットワークおよびバケットを指すようにWebアプリケーションが構成されています。ブロックチェーン・ネットワークおよびバケットを指すこのアプリケーションを使用するように詳細を更新する必要があります。

WebアプリケーションをGitHubからダウンロードします: Webアプリケーションの例

Oracle Visual Builder StudioへのWebアプリケーションのインポート

Oracle Visual Builder Studioは、Visual Builderアプリケーションの開発に使用されるだけでなく、GITリポジトリ、CI/CDパイプライン・エンジン、アーティファクト生成、コンテナ・リポジトリ、アジャイル・ツール、チーム・ビルディング・ツールなどの多数の統合開発ツールのおかげで、あらゆる種類のモダン・アプリケーションを開発できます。

  1. Oracle Cloud Webコンソールのナビゲーション・メニューにサインインし、OCI Classic Servicesに移動して、「開発者」をクリックします。
  2. Oracle Visual Builder Studioインスタンス・アイコンをクリックし、「サービス・インスタンスへのアクセス」をクリックします。

    ノート:

    既存のインスタンスがない場合は、新しいインスタンスを作成し、作成されるまで待機してアクセスします。次のステップで使用するため、このVisual Builder StudioインスタンスのURLを保存します。
  3. 新規プロジェクトを作成するには、デフォルト・ページ(組織)で「+作成」をクリックします。
  4. プロジェクトの「名前」を入力し、「次へ」をクリックします。
  5. 既存のVisual Builderアプリケーションをプロジェクト・テンプレートとしてインポートするため、「空のプロジェクト」オプションを選択し、「次へ」をクリックします。
  6. ウィザードの最後の画面で、デフォルトのwikiマークアップ言語のままにして、「終了」をクリックします。新しいプロジェクトは約5分で作成されます。
  7. プロジェクトが作成されると、プロジェクトのメイン・ページが表示されます。アプリケーションをインポートする前に、アプリケーションを構成および一時的に実行するための環境が必要です。「環境の作成」をクリックします。
  8. 「環境名」「説明」を入力し、「作成」をクリックします。
    テナンシにVisual Builderインスタンスがすでに存在する場合は、「インスタンスの追加」をクリックしてこの環境に追加します。Visual Builderのインスタンスがない場合は、インスタンスをプロビジョニングし、このステップに戻って環境に追加します。
  9. Visual Builderインスタンスを選択し、「追加」をクリックします。
  10. 環境がプロジェクトに追加されたら、ワークスペースを作成して、事前作成されたWebアプリケーションをインポートできます。左側のナビゲーション・メニューで「ワークスペース」メニュー・オプションを選択します。
  11. Visual Builder Webアプリケーションをプロジェクトにインポートすることで、ワークスペースを作成できます。「インポート」をクリックします。
  12. ウィザードで、次の詳細を指定します。
    • 事前作成されたVisual Builder Webアプリケーションのzipファイル。
    • ワークスペースの名前。
    • アプリケーションのテストに使用する、以前にプロジェクトに構成した環境を選択します。
    • 新しい空のGitリポジトリを作成し、名前とデフォルトのブランチ名を指定します。
  13. 「インポート」をクリックします。

ブロックチェーン・インスタンスを指すようにWebアプリケーションを構成します

この項では、前の項で作成したブロックチェーン・インスタンスを指すように、提供されたWebアプリケーションを構成します。

作成したブロックチェーン・ネットワークから、次の情報をノートにとります。
  • BCエンドポイント
  • インスタンス名
  • チャネル
  • チェーンコード
  1. Visual Builder Studioインスタンスにアクセスし、Visual Builder Studioにアクセスしたときに配置したデフォルト・ページ(組織)からプロジェクトの名前をクリックして、作成したプロジェクトを開きます。
  2. Webアプリケーションのインポート時に作成したワークスペースを選択し、次のイメージおよびステップに示すようにWebアプリケーションを選択します。

    1. Webアプリケーション・セクションを選択します。
    2. Webアプリケーションを選択します。
  3. 「変数」タブに移動し、各変数の「デフォルト値」属性の右上隅にあるf(x)記号をクリックして、変数bcEndpointbcInstancechaincodeおよびchannelのデフォルト値を変更します。

オブジェクト・ストレージ・バケットを指すようにWebアプリケーションを構成します

この項では、以前に作成したAPIキーおよびバケットの値に基づいて、Webアプリケーションで使用されるオブジェクト・ストレージ・バケットを構成します。

  1. Visual Builder Studioインスタンスにアクセスし、Visual Builder Studioにアクセスしたときに配置したデフォルト・ページ(組織)からプロジェクトの名前をクリックして、作成したプロジェクトを開きます。
  2. 「サービス接続」セクションを選択し、fileUploadサービス接続を選択します。
  3. 「サーバー」タブに移動し、サーバー構成の右側にある鉛筆アイコンをクリックして、fileUploadサービス接続の構成を変更します。
    バケットとの対話に使用されるサービス接続構成は、3つの場所に適応する必要があります。
  4. 「サーバーの編集」画面で、次のフィールドを更新します:
    • インスタンスURL: OCIテナンシのいくつかのプロパティと、作成時にバケットに指定した名前に基づいて、バケットを指すように変更する必要があります。URLは、次のURLテンプレートに基づいて構成する必要があります。
      https://objectstorage.<region-name>.oraclecloud.com/n/<storage-namespace>/b/<bucket-name>
    • 認証: 認証方法がOracle Cloud Infrastructure API Signature 1.0に設定されており、「キーID」プロパティの右側にある鉛筆アイコンをクリックしてキーが設定されていることを確認する必要があります。

      ノート:

      「キーID」は、次のテンプレートに基づいて構成されます。
      <Tenancy-OCID>/<User-OCID>/<Key-Fingerprint>
      
      これらの値はすべて、OCIバケット・ストレージ構成中にAPIキーが作成されたときに取得された構成ファイル・プレビューからアクセスできます。秘密キーは、APIキーの作成時に(選択したオプションに応じて)使用または生成またはダウンロードした秘密キーです。
    • 接続タイプ: 「動的、サービスはCORSをサポートしています」に設定する必要があります。

    これら3つのプロパティがバケットおよびAPIキーと適切に構成されると、Webアプリケーションはストレージ・バケットと完全に対話できます。Webアプリケーションのテストを続行できます。

Webアプリケーションのテスト

これで、プロジェクトで構成されたVisual Builder環境からアプリケーションをテストできます。すべてが正常に動作する場合は、次に進み、デプロイするWebアプリケーションをスタンドアロン構成にエクスポートできます。

このWebアプリケーションは、ソリューションで使用される2つのバックエンド(フォルダとドキュメント・メタデータを格納するブロックチェーンと、ドキュメント・コンテンツ用のOCIストレージのバケット)と相互作用します。そのため、Webアプリケーションを介して両方のバックエンド(ブロックチェーンとバケット)にアクセスできることを確認するために、いくつかの機能をテストします。
  1. アプリケーションをテストするには、Visual Studio Workspaceの右上隅にある「プレビュー」アイコンをクリックします。
  2. フォルダ・マネージャとしてアプリケーションにログインすると、ユーザーは現在の所有者であるフォルダにアクセスしたり、現在の顧客になる新しいフォルダを作成したり、フォルダにドキュメントを追加したり、フォルダ全体を別のユーザーまたは部門に転送したりできます。
    フォルダを作成し、そのフォルダにドキュメントをアップロードしてみましょう。
  3. いずれかのユーザーとしてログインし(cmsleg001cmsfin001またはcmsrsk001)、ロールがフォルダManagerに設定されていることを確認して、「ログイン」をクリックします。
  4. フォルダ管理ページで、「新規フォルダ」をクリックします。
  5. 3つの入力フィールド(フォルダ・タイプ説明および顧客ID)に値を割り当て、「フォルダの作成」をクリックします。
  6. Oracle Blockchain Serviceコンソールで、「チャネル」タブに移動し、wedocmsチャネルを選択して、元帳に保存された最後のブロックの内容を確認します。実行したトランザクションを実行するリクエストが含まれている必要があります。
  7. 新しく作成したフォルダにドキュメントをアップロードできるかどうかをテストするには、フォルダを選択して「ドキュメントのアップロード」をクリックします。
  8. このフォルダにドキュメントがアップロードされていない場合は、「新規ドキュメントのアップロード」をクリックします。
  9. 「ドキュメント・タイプ」を選択し、「ドキュメント名」を入力し、ファイルを選択するか、PDFファイルを「ドラッグ・アンド・ドロップ」領域にドロップし、「動的プロパティ」を追加して、「ドキュメントのアップロード」をクリックします。
この新しいトランザクションが実行されたかどうか、およびドキュメントがOCIストレージ・バケットにアップロードされたかどうかは、Oracle Blockchainコンソールで確認できます。ドキュメント・レビューアとしてログインすると、アプリケーションへのアクセス権を持つユーザーは、任意のフォルダからアップロードされたドキュメントを確認できます。

スタンドアロン・マシンで実行するアプリケーションのエクスポート

次のステップでは、アプリケーションをエクスポートし、Visual Builderの外部にデプロイするエクスポート可能なパッケージをダウンロードする方法について説明します。

Visual Builderアプリケーションが一部の条件を満たしている場合は、Visual Builderのコンテキスト外で実行できます。詳細は、他のサーバー(およびオンプレミス)でのVisual Builderアプリケーションの実行およびVisual Builder外部でのVisual Builderアプリケーションの実行のブログを参照してください。
  1. アプリケーションをエクスポートするには、変更をGitリポジトリにプッシュします。ワークスペースの左上にある「Git Repo/Branch」メニューをクリックし、「Push」オプションを選択します。
  2. コミット・メッセージを入力し、「すべてコミットしてプッシュ」をクリックします。
    このジョブが初めて実行されると、ビルド・エグゼキュータの待機に数分かかる場合がありますが、ビルド・エグゼキュータがジョブを取得したら、約3分以内に実行され、Gitプッシュの成功したポップアップ・メッセージが表示されます。
  3. この時点でアプリケーションを公開でき、このアクションによってビルド・ジョブがトリガーされ、最適な条件で実行されるようにアプリケーションが最適化されます。「ワークスペース」ページの右上隅にある「公開」をクリックします。
  4. 「変更の公開」ダイアログ・ボックスで、「今すぐマージ」または「レビュー後にマージ」を選択し、「公開」をクリックします。
  5. 資格証明を入力し、「資格証明の追加と続行」をクリックします。
  6. 「ビルド開始」ポップアップ・ウィンドウで、「ジョブを開く」をクリックします。
  7. 「アーティファクト」をクリックして、生成されたパッケージを表示します。
  8. 「built-assets.zip」をクリックしてパッケージをダウンロードし、エクスポート可能なパッケージをVisual Builderの外部にデプロイできます。

エクスポートしたパッケージをApache Tomcatサーバーで実行します。

built-assets.zipパッケージは、Apache Tomcatサーバーによって直接提供されるようにデプロイできます。

  1. Apache Tomcat Serverをインストールしたら、インストールして起動し、URL: http://localhost:8080にアクセスすることで動作することを確認します。
  2. built-assets.zipパッケージを解凍し、zipの内容を/webappsフォルダ内に作成された新しいフォルダにコピーすることで、アプリケーションをTomcatにインストールできます。
  3. アプリケーションがTomcatインストールのwebappsフォルダ内にデプロイされると、Tomcatを再起動して次のURLにアクセスしようとします: http://localhost:8080/<folder-name-inside-webapps>/webApps/docmngmt/
    これで、アプリケーションをローカル環境でテストできます。