ADB HOL #6-1 : Node.jsによるADB上でのアプリ開発

Version 19

    目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

    >ADBコンテンツ一覧に戻るAutonomous Database ハンズオンラボ

     

     

    Node.jsはサーバサイドでJavaScript言語を実行するオープンソースの実行環境です。

    node-oracledbドライバを利用することで、Autonomous Databaseに簡単に接続できます。

     

    この章では開発言語としてNode.jsを想定し、Autonomous Databaseに対して接続する方法、およびデータベース操作を実行する方法を学びます。

    尚、JavaScriptのコーディングやNode.js自体の使い方を説明するものではありません。

     

     

    作業の流れ

    1. 事前準備
    2. Node.js環境の確認
    3. ADBに接続してみよう
    4. ADB上のデータを操作してみよう

     

     

    所要時間 : 約20分

     

     

    1. 事前準備

     

    ネットワークセキュリティの設定変更

    本章ではお手元のPCからインターネットを介して、Node.jsのアプリにポート3030で接続します(3030は変更可能)。

    しかしながら、デフォルトだとセキュリティの観点でこの接続は拒否されるため、事前に外部インターネットからこの接続を受け入れるためのイングレス・ルール(インバウンド・ルール)の設定、およびNode.jsが配置される仮想マシンのOSのFirewallの設定を行います。

     

    イングレス・ルールの設定

     

    1.メニューからネットワーキング仮想クラウド・ネットワークを選択します。

     

    2. 作成済みの仮想クラウド・ネットワーク(vcn01)を選択します。

     

     

    3. リソースからセキュリティ・リストを選択し、Default Security List for vcn01をクリックします

     

     

    4. イングレス・ルールの追加をクリックします。

     

     

    5.入力ウィザードが立ち上がるので、以下の記載例を参考に各項目を入力し、イングレス・ルールの追加をクリックします。

     

    ソースCIDR:0.0.0.0/0

    IPプロトコル:TCP

    ソースポート範囲:all

    宛先ポート範囲:3030

     

         (パブリック・インターネット(0.0.0.0/0) からの 3030に対する接続を許可する)

     

    Firewallの設定

     

    1. 仮想マシンにopcユーザでログインします。ログイン方法はこちらを参考ください。

     

    2. rootユーザに切り替えます。

    $ sudo -s

         (oracleユーザーで既にログインしている場合は、exit してください。)

         $ exit

     

    3.  ポート番号3030を追加、設定を反映します。(successが表示されればOKです。)

     

    # firewall-cmd --permanent --zone=public --add-port=3030/tcp

    # firewall-cmd --reload

     

    上記の設定はあくまでも参考です。実際の利用に際してはセキュリティ要件を十分検討の上、設定ください。

     

     

    2. Node.js環境の確認

    ここではお手元のPCのブラウザでNode.jsのアプリに接続できるかを確認します。

     

    1. ユーザをrootからoracleに切り替えます。

     

    $ su - oracle

     

     

    2. (必要に応じて)nodeとnpm(Node Package Manager)のバージョンを確認します。

     

    $ node --version

    $ npm --version

     

    3. (必要に応じて)npmコマンドを実行しプリインストールされているパッケージを確認します。

     

    $ npm view oracledb

    $ npm view app

    $ npm view async

     

         4. Hello World アプリケーションを実行し、Node.jsが問題なく利用できることを確認しましょう

     

    4-1. ディレクトリを移動します。

    $ cd ~/labs/node

     

    4-2. (必要に応じて)app.jsファイルの中身を確認します。アクセスしてきたクライアントに対して、Hello World を表示するという内容です。

    $ cat app.js

     

    4-3. app.jsを実行します。

    $ node app.js

     

    4-4. ブラウザを開き、以下のURLを実行して、"Hello world" が表示されることを確認します。

    http://<仮想マシンのIPアドレス>:3030

     

    4-5. Hello World が表示されることを確認後、端末上で CTRL-C を入力しアプリを停止します。

     

     

    3. ADBへの接続

    次にNode.jsのアプリからADBに接続し、ADB上のデータを手元のブラウザ経由で確認します。

    尚、事前にこちらを実施し、SQL*plusで接続できていることを前提に以下を記載しています。

     

     

    1.ディレクトリを移動します。

    $ cd ~/labs/node

     

    2. 接続先となるAutonomous Databaseの情報をdbconfig.jsに登録します。

     以下を記載例を参考に各項目を記載して保存ください。

    $ vi dbconfig.js

                   module.exports= {

                      dbuser: 'admin',

                      dbpassword: 'Welcome12345#',

                      connectString: 'atp01_tp'

                      }

     

    3. 環境変数を設定します。

    $ export TNS_ADMIN=/home/oracle/labs/wallets

     

    4. (必要に応じて)connectadb.jsファイルの中身を確認します。ADBへの接続を生成し、接続の生成可否を画面に表示するという内容です。

     

    $ cat connectadb.js

     

    5. connectadb.jsを実行します。

     

    $ node connectadb.js

     

     

    6. ブラウザを開き、以下のURLを実行して、Successed と表示されることを確認します。

     

    http://<仮想マシンのIPドレス>:3030

     

     

    7. 上記のように接続確認ができたら、端末上で CTRL-C2回入力しアプリを停止します。

     

     

     

    4. ADB上のデータを確認してみよう

    最後に、上記で作成したADBへの接続を利用して、ADBの中に格納されているデータを見てみましょう。

     

    1. (必要に応じて)adbselect.jsの中身を確認します。ADBへの接続を作成して、簡単なSELECT文を実行するという内容です。

     

    $ cat adbselect.js

     

    2. adbselect.jsを実行します。特定のCUSTOMER IDの情報が表示されればOKです。

     

    $ node adbselect.js

     

     

    以上で、この章の作業は終了です。

     

    次の章にお進みください。

    ADB HOL #6-2 : PythonによるADB上でのアプリ開発