blob: e7e71a96903f132c2afab8c28e12ac5556d58592 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="A short guide to deploying web applications to an Oracle WebLogic instance on the Oracle Cloud, using NetBeans IDE">
<meta name="keywords" content="NetBeans, IDE, WebLogic, Cloud, Cloud computing, Oracle Cloud">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<script type="text/javascript" src="../../../images_www/js/window_opener.js"></script>
<title>Oracle CloudでのWebアプリケーションの実行 - NetBeans IDEチュートリアル</title>
</head>
<body>
<h1>Oracle CloudでのWebアプリケーションの実行</h1>
<p>Oracle Cloudはビジネス用のエンタープライズ・クラウドです。Oracle Cloudは、統合開発およびデプロイメント・プラットフォームに提供されるセルフサービス・ビジネス・アプリケーションを、新規サービスをすばやく拡張および作成するためのツールとともに提供します。Oracle Cloudの詳細は、<a href="https://cloud.oracle.com" target="_blank">Oracle Cloudのホームページ</a>を参照してください。</p>
<p>このドキュメントでは、Oracle CloudをNetBeans IDEに登録する方法と、IDEでサポートされるOracle Cloud機能の一部を示します。このドキュメントでは、完全にクラウドで作業する場合と、ローカル・サーバーで作業してからクラウドにデプロイする場合の利点と決定の一部を説明します。最後に、<a href="quickstart-webapps.html">Webアプリケーションの概要</a>の手順に従って単純なWebアプリケーションを作成し、Oracle Cloudで実行します。</p>
<p class="tips">Java Training Beatブログの<a href="https://blogs.oracle.com/javatraining/entry/oracle_cloud_development_with_netbeans">NetBeansおよびEclipse (OEPE)を使用したOracle Cloud開発</a>のチュートリアル・シリーズも参照してください。</p>
<p><strong>目次</strong></p>
<img alt="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます">
<ul class="toc">
<li><a href="#sdk-download">Oracle Java Cloud Service SDKのダウンロード</a></li>
<li><a href="#install-plugin">Oracle Cloudプラグインのインストール</a></li>
<li><a href="#register-cloud">IDEへのOracle Cloudの登録</a></li>
<li><a href="#jobs-n-logs">ジョブおよびログの表示</a></li>
<li><a href="#remote-server">Oracle Cloud Remoteサーバー</a></li>
<li><a href="#cloud-vs-local">ローカル・マシンでのアプリケーションの開発</a></li>
<li><a href="#create-webapp">Webアプリケーションの作成</a></li>
<li><a href="#crud">JSFでのCRUDアプリケーションの作成</a></li>
<li><a href="#test-whitelist">ホワイトリスト・サポートのテスト</a></li>
<li><a href="#seeAlso">関連項目</a></li>
</ul>
<p><strong>このチュートリアルに従うには、次のソフトウェアとリソースが必要です。</strong></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">ソフトウェアまたはリソース</th>
<th class="tblheader" scope="col">必須バージョン</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
<td class="tbltd1">7.3、7.4、8.0、Java EEバージョン</td>
</tr>
<tr>
<td class="tbltd1">Oracle Cloudプラグイン</td>
<td class="tbltd1">NetBeansプラグイン・マネージャを介してNetBeans Update Centerから入手可能</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java Development Kit (JDK)</a></td>
<td class="tbltd1">バージョン7またはバージョン8</td>
</tr>
<tr>
<td class="tbltd1">Oracle Java Cloud Service</td>
<td class="tbltd1"><a href="http://cloudcentral.c9dev.oraclecorp.com/mycloud/f?p=SERVICE:free_trial:0" target="_blank">Oracle Cloud Public Availabilityホームページ</a>でサインアップ</td>
</tr>
<tr>
<td class="tbltd1">Oracle Java Cloud Service SDK</td>
<td class="tbltd1"><a href="http://cloud.oracle.com">Oracle Cloudホームページ</a>からダウンロードします。</td>
</tr>
<tr>
<td class="tbltd1"><p>
<a href="http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html" target="_blank">Oracle WebLogic Server</a> <br> (ローカルでのアプリケーションの開発およびテスト用)</p>
</td>
<td class="tbltd1" valign="top"><br>Oracle Java Cloud Serviceユーザーズ・ガイドの第4章で指定されているバージョン<br>このドキュメントは、<a href="https://cloudeap.oracle.com/mycloud/f?p=service:home:0" target="_blank">アクティブ化したJava Cloudサービス</a>の「リソース」→「ドキュメント」タブから入手できます。</td>
</tr>
<tr>
<td class="tbltd1" valign="top"><a href="http://www.oracle.com/technetwork/products/express-edition/downloads/index.html" target="_blank">OracleXEデータベース・サーバー</a> <br>(ローカルでのアプリケーションの開発およびテスト用)</td>
<td class="tbltd1" valign="top">11g</td>
</tr>
</tbody>
</table>
<h2 id="sdk-download">Oracle Java Cloud Service SDKのダウンロード</h2>
<p>Oracle CloudでWebアプリケーションを開発するには、Oracle Java Cloud Service SDKのローカル・コピーが必要です。Oracle Java Cloud Service SDKは、<a href="http://cloud.oracle.com">Oracle Cloudホームページ</a>からダウンロードできます。
</p>
<p><strong>Oracle Java Cloud Service SDKをダウンロードする手順:</strong></p>
<ol>
<li>ブラウザ・ウィンドウで<a href="http://cloud.oracle.com">Oracle Cloudホームページ</a>を参照します。</li>
<li>メイン・メニューで<strong>「リソース」</strong>ドロップダウン・リストを展開し、<strong>「ダウンロード」</strong>をクリックします。</li>
<li>「Oracle Java Cloud Service SDK」セクションで、<strong>Oracle Cloud Java Service SDKのダウンロード</strong>をクリックします。</li>
<li>Oracle Java Cloud Service SDKのダウンロード・ページで、OTN使用許諾契約書を読んで同意し、ダウンロード・リンクをアクティブにします。</li>
<li>SDKをローカル・システムにダウンロードし、抽出します。</li>
</ol>
<h2 id="install-plugin">Oracle Cloudプラグインのインストール</h2>
<p>IDEでOracle Java Cloud Serviceのサポートを有効にするには、NetBeans Update CenterからOracle Cloudプラグインをインストールする必要があります。NetBeansプラグイン・マネージャを使用して、Oracle Cloudプラグインをインストールできます。
</p>
<p>次の手順を実行して、Oracle Cloudプラグインをインストールします。</p>
<ol>
<li>メイン・メニューから「ツール」>「プラグイン」を選択して、プラグイン・マネージャを開きます。</li>
<li>プラグイン・マネージャの「使用可能なプラグイン」タブを選択します。</li>
<li>Oracle Cloudプラグインのチェックボックスを探し、選択します。「インストール」をクリックします。
<p>「インストール」をクリックすると、IDEによってNetBeans IDEインストーラが開かれます。インストーラ・ウィザードの手順を完了して、プラグインをインストールする必要があります。</p></li>
</ol>
<p>Oracle Cloudプラグインをインストールすると、「クラウド・プロバイダの追加」ウィザードによってサポートされるクラウド・プロバイダのリストにOracle Cloudが表示されます。</p>
<a name="register-cloud"></a>
<h2>IDEへのOracle Cloudの登録</h2>
<p>Oracle Cloudを使用する前に、IDEの「サービス」ウィンドウに登録する必要があります。Oracle Java Cloud Service SDKを別途インストールする必要があります。</p>
<p class="notes"><strong>注意:</strong>NetBeans IDEでOracle Cloudを操作するには、Oracle Cloudにアカウントが必要です。 </p>
<p><strong>Oracle CloudをIDEに登録するには、次の手順を実行します。</strong></p>
<ol>
<li>IDEで「サービス」ウィンドウを開きます(「ウィンドウ」→「サービス」または[Ctrl]-[5])。</li>
<li>「クラウド」ノードを右クリックし、「クラウドの追加」を選択して「クラウド・プロバイダの追加」ウィザードを開きます。<br> <img alt="「サービス」ウィンドウの「クラウド」ノードの「クラウドの追加」コンテキスト項目" class="margin-around b-bottom b-right" src="../../../images_www/articles/74/web/oracle-cloud/add-cloud.png"></li>
<li>「クラウドを選択」フィールドで、Oracle Cloudを選択し、「次」をクリックして「Oracle Cloud」パネルを開きます。<br> <img alt="デフォルト・オプションが表示された、「クラウド・プロバイダの追加」ウィザードの「Oracle Cloud」パネル" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/oracle-cloud1.png"></li>
<li>すべてのフィールドに入力します。Oracle Java Cloud Service SDK JARが含まれているフォルダを参照します。「次」をクリックします。
<p>「次」をクリックすると、IDEによりクラウドへの接続がテストされます。接続に成功した場合は、クラウド・サービスのリストが表示されます。Oracle Cloud Remoteサーバー(Oracle WebLogic)のみが現在使用可能です。</p>
<p class="notes"><b>注意:</b> Oracle Cloudプロバイダを登録した後、「プロパティ」でクラウドの詳細を変更できます。「Oracle Cloud」ノードを右クリックし、「プロパティ」を選択して、「プロパティ」を開きます。</p></li>
<li>Oracle Cloudプロバイダがクラウド・リソースのリストに表示されていることを確認します。「終了」をクリックします。
<p>Oracle Cloudは、「サービス」ウィンドウの「クラウド」ノードにリストされています。「Oracle Cloud」ノードを右クリックして、サービスのリストをリフレッシュする、ジョブおよびログのリストを開く、クラウド・インスタンスを削除する、またはクラウドのプロパティを表示するコマンドを提供するコンテキスト・メニューを開くことができます。</p>
<img alt="「Oracle Cloud」ノードのコンテキスト・メニュー" class="margin-around b-top b-bottom" src="../../../images_www/articles/74/web/oracle-cloud/cloud-contextmenu.png">
<p>Oracle CloudをIDEに登録すると、Oracle Cloud Remoteサーバー・ノードのインスタンスも「サーバー」ノードに表示されます。(表示されない場合は、「Oracle Cloud」ノードを右クリックし、「リフレッシュ」を選択します。)</p>
<img alt="Oracle CloudおよびOracle Cloud Remoteサーバーを表示している「サービス」ウィンドウの「サーバー」および「クラウド」ノード" class="margin-around b-bottom" src="../../../images_www/articles/74/web/oracle-cloud/registered-cloud-and-server.png">
<p>Oracle Cloud Remoteノードを展開して、リモート・サーバーにデプロイされているアプリケーションのリストを表示できます。</p>
</li>
</ol>
<h2><a name="jobs-n-logs"></a>ジョブおよびログの表示</h2>
<p>NetBeans IDEがOracle Cloudに送信するリクエストごとに、ジョブが生成されます。すべてのジョブにはステータス(「送信」、「実行中」、「失敗」、「完了」)があり、1つ以上のログ・ファイル(ホワイトリスト・チェック・ログ、ウイルス対策スキャン・ログ、デプロイメント・ログ)がある場合があります。「ジョブおよびログの表示」アクションで、最近のジョブおよびそのログを表示できます。</p>
<p>「Oracle Cloud」ノードを右クリックし、ジョブおよびログの表示を選択します。エディタ・ウィンドウに、最後の50個のジョブおよびログのリストが表示されます。ロードには少し時間がかかります。ジョブ・リストは自動的にリフレッシュされません。「リフレッシュ」をクリックして、リストをリフレッシュします。 </p>
<p><img alt="ジョブおよびログ・ビュー" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/jobs-n-logs.png"></p>
<h2><a name="remote-server"></a>Oracle Cloud Remoteサーバー</h2>
<p>Oracle Cloud Remoteサーバーは、Oracle Cloudで実行されているOracle WebLogicのインスタンスです。Oracle Cloud Remoteノードを展開し、そのサーバーで実行されているアプリケーションのリストを表示します。アプリケーションを右クリックして、アプリケーションを開始、停止およびアンデプロイするコマンドを含むポップアップ・メニューを開きます。メニューの「表示」をクリックして、ブラウザにアプリケーション・ホーム・ページを開くことができます。</p>
<p><img alt="デプロイされたアプリケーションとアプリケーションのコンテキスト・メニューを表示している、展開されたOracle Cloud Remoteサーバー・ノード" class="margin-around b-bottom" src="../../../images_www/articles/74/web/oracle-cloud/webapp-contextmenu.png"></p>
<p>デプロイされたアプリケーションのリストを更新するには、Oracle Cloud Remoteノードを右クリックし、「リフレッシュ」を選択します。 </p>
<p><img alt="「サービス」ウィンドウのOracle Cloud Remoteサーバー・ノードのコンテキスト・メニュー" class="margin-around b-bottom" src="../../../images_www/articles/74/web/oracle-cloud/server-contextmenu.png"></p>
<p>&nbsp;</p>
<h2><a name="cloud-vs-local"></a>ローカル・マシンでのアプリケーションの開発</h2>
<p>ローカル・マシンでアプリケーションを開発し、それを定期的にクラウドにデプロイすることをお薦めします。Webアプリケーションを完全にOracle Cloudで開発することもできますが、次の理由でローカル開発をお薦めします。</p>
<ul>
<li>実行中のサーバーでのローカル・デプロイメントには数秒かかります。クラウドへのデプロイメントには数分かかります。</li>
<li>増分デプロイメントはローカルでのみ使用可能です。</li>
<li>デバッグはローカルでのみ使用可能です。</li>
</ul>
<p>ただし、ローカルでの開発とOracle Cloudへのデプロイにはリスクも存在します。ローカルに開発するアプリケーションは、Oracle Cloud Remoteサーバーで稼働しないことがあります。安全のために、Oracle Cloud Remoteと同じサーバーであるOracle WebLogic Server 11gでローカルに開発します。 </p>
<p>ローカル・サーバーとOracle Cloudサーバー間でWebアプリケーションのサーバーを手動で変更する必要があります。ローカルに開発してCloudに定期的にデプロイする自動的な方法はありません。 </p>
<p><strong>WebアプリケーションのサーバーをローカルとOracle Cloud間で変更する手順:</strong></p>
<ol>
<li>「プロジェクト」ウィンドウでアプリケーションのノードを右クリックし、「プロパティ」を選択します。<br> <img alt="「プロジェクト」ウィンドウのWebアプリケーション・プロジェクト・ノードのコンテキスト・メニュー" class="margin-around b-bottom" src="../../../images_www/articles/74/web/oracle-cloud/project-contextmenu.png"></li>
<li>「プロジェクト・プロパティ」で、「実行」カテゴリを選択します。<br> <img alt="Webアプリケーションの「実行」プロパティ" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/run-properties.png"></li>
<li>「サーバー」ドロップダウン・リストから、目的のサーバー(Oracle Cloud RemoteまたはローカルOracle WebLogic)を選択します。サーバーをIDEに登録する必要があります。「サービス」ウィンドウの「サーバー」ノードを右クリックしてサーバーを追加できます。</li>
</ol>
<h2><a name="create-webapp"></a>Webアプリケーションの作成</h2>
<p><a href="quickstart-webapps.html" target="_blank">Webの開発の概要</a>に進み、そのチュートリアルを完了します。ローカルOracle WebLogic ServerでWebアプリケーションを開発します。アプリケーションが完成したら、サーバーをOracle Cloud Remoteに変更し、アプリケーションを実行します。</p>
<p class="notes"><strong>注意:</strong>Oracle WebLogic Serverをローカルにインストールし、サーバーをIDEに登録する必要があります。詳細は、<a href="https://netbeans.org/kb/docs/javaee/weblogic-javaee-m1-screencast.html">Oracle WebLogic ServerへのWebアプリケーションのデプロイのビデオ</a>を参照してください。</p>
<p>アプリケーションをOracle Cloud Remoteサーバーにデプロイする前に、「出力」ウィンドウを開きます(「ウィンドウ」→「出力」→「出力」または[Ctrl]-[4])。「出力」ウィンドウの「Oracle Cloud Remoteデプロイメント」タブに注意してください。このタブには、デプロイメントの進捗状況が表示されます。</p>
<img alt="「Oracle Cloud Remoteデプロイメント」タブを表示している「出力」ウィンドウ" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/output-cloud-tab.png">
<h2 id="crud">JSFでのCRUDアプリケーションの作成</h2>
<p>NetBeans IDEおよびOracle Cloudは、Oracle WebLogic ServerにホストされているWebアプリケーションを通じて管理されるOracleデータベース・バックエンドがあるユースケースで使用できます。NetBeans IDEにより、既存のOracleデータベースのエンティティ・クラスを作成し、生成されるエンティティ・クラスのJavaServer Faces (JSF)ページを作成できます。このシナリオでは、OracleXEデータベース・サーバーおよびOracle WebLogicアプリケーション・サーバーのオンプレミス・インストールが必要です。</p>
<p class="alert"><strong>重要: </strong>Oracle Cloud Remote WebLogic ServerではJPA 2.0がサポートされません。オンプレミスWebLogicサーバーがJPA 2.0対応の場合は、JPA 2.0を無効にするか、CRUDアプリケーションのJPA 1.0持続性プロバイダを使用します。 </p>
<p class="notes"><strong>注意: </strong>このドキュメントでは、エンティティ・クラスとJSFページの作成を簡単に説明します。詳細は、<a href="jsf20crud.html">データベースからのJavaServer Faces 2.0 CRUDアプリケーションの生成</a>を参照してください。</p>
<p><strong>JSFでCRUDアプリケーションを作成する手順:</strong></p>
<ol>
<li>OracleXEデータベース・サーバーでサンプルHRスキーマを有効にし、スキーマをNetBeans IDEに登録します。詳細は、<a href="../ide/oracle-db.html">NetBeans IDEからのOracleデータベースへの接続</a>を参照してください。
<p class="alert">NetBeans IDEにHRスキーマを登録する際には、HRユーザー名とパスワードを使用します。</p></li>
<li>Java EE5おびよびWebLogicサーバーのオンプレミス・インストールを使用してJava Webアプリケーションを作成します。アプリケーションに対してJSFフレームワークを有効にします。<br> <img alt="「サーバーと設定」ページ、新規Webアプリケーション・ウィザード" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/crudapp-eevers.png"><br> <img alt="「フレームワーク」ページ、新規Webアプリケーション・ウィザード" src="../../../images_www/articles/72/web/oracle-cloud/crudapp-jsf.png"></li>
<li>「プロジェクト」ウィンドウで、プロジェクトのルート・ノードを右クリックし、「新規」→「データベースからのエンティティ・クラス」を選択します。「データベースからのエンティティ・クラス」ウィザードが開きます。</li>
<li>「データベースからのエンティティ・クラス」ウィザードで、「データ・ソース」ドロップダウン・ボックスから「新しいデータ・ソース」を選択します。「データ・ソースを作成」ダイアログが開きます。<br> <img alt="「データ・ソース」ドロップ・ダウン・ボックス" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/crudapp-newdatasource.png"></li>
<li>このデータソースに、登録したOracle Cloudアカウントのデータベース・サービス名と一致する名前を付けます。<br> <img alt="データベース名がハイライト表示されたクラウドのプロパティ・ダイアログ" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/cloud-db-name.png"></li>
<li>手順1で作成したOracleXE HRデータベース接続を選択します。「OK」をクリックします。「データ・ソースを作成」ダイアログが閉じます。<br> <img alt="データベース名および接続名を表示している「データ・ソースを作成」ダイアログ" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/create-datasource.png"></li>
<li>「データベースからのエンティティ・クラス」ウィザードで、「使用可能な表」フィールドにHRスキーマ表名が入力されます。EMPLOYEESなど、表の1つを選択し、「追加」をクリックします。ウィザードの残りの部分をクリックして、エンティティ・クラスを含むパッケージに任意の名前を付け、他のフィールドはすべてデフォルト値を受け入れます。</li>
<li>「プロジェクト」ウィンドウで、プロジェクトのルート・ノードを右クリックし、「新規」→「エンティティからのJSFページ・クラス」を選択します。「新規エンティティからのJSFページ・クラス」ウィザードが開きます。</li>
<li>「エンティティ・クラス」パネルで、「すべて選択」をクリックし、「次」をクリックします。</li>
<li>「生成されたJSFページとクラス」パネルで、パッケージとJSFファイル・フォルダに適切な名前を付け、「終了」をクリックします。</li>
<li>「プロジェクト」ウィンドウでプロジェクトのルート・ノードを右クリックし、「実行」を選択します。IDEは、プロジェクトをビルドし、それをオンプレミスWebLogicサーバーにデプロイします。プロジェクトのランディング・ページにブラウザが開きます。</li>
</ol>
<p>これで、CRUDおよびJSFを使用したJava Webアプリケーションのローカル・バージョンが作成されます。アプリケーションをローカルにテストおよび調整できます。アプリケーションが最終状態になったら、Oracle Cloudにデプロイします。</p>
<p><strong>Oracle CloudへのCRUD/JSFアプリケーションのデプロイ</strong></p>
<ol>
<li>「プロジェクト」ウィンドウでプロジェクトのルート・ノードを右クリックし、「プロパティ」を選択します。</li>
<li>「プロパティ」ウィンドウで「実行」カテゴリを選択します。このカテゴリで、「サーバー」ドロップダウン・リストを展開し、Oracle Cloud Remoteを選択します。「OK」をクリックします。<br> <img alt="アプリケーション・プロジェクトのプロパティ" class="margin-around" src="../../../images_www/articles/72/web/oracle-cloud/crudapp-properties.png"></li>
<li>「プロジェクト」ウィンドウで、プロジェクトの「構成ファイル」ノードを展開し、「<code>persistence.xml</code>」をダブルクリックします。ファイルがXMLエディタの「デザイン」ビューに開きます。</li>
<li>「表生成戦略」で、「作成」を選択します。<br> <img alt="persistence.xmlの「デザイン」ビュー" class="margin-around b-bottom b-right" src="../../../images_www/articles/72/web/oracle-cloud/crudapp-persistence.png"></li>
<li>オンプレミスWebLogicサーバーでJPA 2.0が有効になっている場合は、持続性プロバイダを、JPA 2.0を使用するデフォルトのEclipseLinkから、OpenJPAなどのJPA 1.0プロバイダに変更する必要があります。
<p class="notes"><strong>注意: </strong>オンプレミスWebLogicサーバーがJPA 2.0対応でない場合、EclipseLinkはJPA 1.0にフォールバックします。この場合は、持続性プロバイダを変更する必要がありません。</p></li>
<li>「プロジェクト」ウィンドウでプロジェクトのルート・ノードを右クリックし、「実行」を選択します。IDEは、プロジェクトをビルドし、それをOracle Cloud Remoteサーバーにデプロイします。IDEの「出力」ウィンドウの「Oracle Cloud Remoteデプロイメント」タブで、デプロイメントの進捗状況をフォローできます。</li>
</ol>
<p class="alert"><strong>注意: </strong>Oracle Cloudは、データベース表のアップロードをまだサポートしていません。したがって、これがOracle Cloud上にある場合は、アプリケーションで使用可能なデータはありません。</p>
<h2><a name="test-whitelist"></a>ホワイトリスト・サポートのテスト</h2>
<p>Oracle Cloudは、<tt>System.exit()</tt>などの一部の標準Java APIメソッドをサポートしません。Oracle Cloud<em>ホワイトリスト</em>は、許可されているすべてのメソッドを定義します。Oracle Cloudへのアプリケーションのデプロイメント中に、クラウド・サーバーはホワイトリストへのコンプライアンスをテストします。ホワイトリストに違反している場合、クラウド・サーバーはアプリケーションのデプロイを拒否します。</p>
<p>NetBeans IDEは、コードの作成時にホワイトリスト違反を通知することで、ホワイトリスト関連のエラーを防ぎます。コード補完はホワイトリストによって制限され、ホワイトリスト違反はコードでハイライト表示されます。Oracle Cloud RemoteサーバーにデプロイされているWebアプリケーションで「検査」アクションを実行すると、「出力」ウィンドウにホワイトリスト違反が表示されます。</p>
<p><strong>ホワイトリストをテストする手順:</strong></p>
<ol>
<li>「プロジェクト」ウィンドウで、<a href="#create-webapp">作成したWebアプリケーション</a>を右クリックし、「新規」→「サーブレット」を選択します。新規サーブレット・ウィザードが開きます。<br> <img alt="以前に作成した任意の名前およびパッケージを表示している新規サーブレット・ウィザード" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/new-servlet.png"></li>
<li>サーブレットに任意の名前を付け、そのサーブレットの既存のパッケージを選択し、「終了」をクリックします。サーブレット・クラスがエディタに開きます。</li>
<li>サーブレットの<tt>processRequest</tt>メソッドを探し、メソッド本文に「<tt>System.ex</tt>」と入力し、[Ctrl]-[Space]を押してコード補完を開きます。<tt>System.exit</tt>はOracle Cloudホワイトリストで禁止されているため、コード補完は<tt>System.exit</tt>を補完する可能性のある提案を行いません。IDEは、取消し線が引かれた<tt>exit</tt>を表示します。<br> <img alt="System.exitを提案しないコード補完" class="margin-around b-bottom b-right" src="../../../images_www/articles/74/web/oracle-cloud/cc-failure.png"></li>
<li><tt>System.exit(1);</tt>の入力を終了します。警告が表示されます。カーソルを警告アイコンにスクロールすると、<tt>java.lang.System.exit</tt>が許可されていないことを通知するツールチップが表示されます。<br> <img alt="ホワイトリストがメソッドを許可しないことを示す警告" class="margin-around b-bottom b-right" src="../../../images_www/articles/74/web/oracle-cloud/whitelist-warning.png"></li>
<li>「プロジェクト」ウィンドウでアプリケーションのノードを右クリックし、「検査」を選択します。「出力」ウィンドウを開きます(「ウィンドウ」→「出力」→「出力」または[Ctrl]-[4])。「出力」ウィンドウには、ホワイトリストの制限によるエラーを示す「ホワイト・リスト」タブがあります。<br> <img alt="「検査」アクションの出力、エラーを表示している「ホワイト・リスト」タブ" class="margin-around b-right" src="../../../images_www/articles/74/web/oracle-cloud/whitelist-output.png"></li>
<li>「アクション項目」ウィンドウを開きます(「ウィンドウ」→「アクション項目」または[Ctrl]-[6])。ホワイトリスト違反がアクション項目の独立したグループとして表示されます。
<p class="tips"><strong>ヒント:</strong> 「アクション項目をカテゴリでグループ化」(左側の下部のボタン)をオンにすると、ホワイトリスト違反をより簡単に表示できます。</p>
<img alt="ホワイトリスト違反を表示している「タスク」ウィンドウ" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/whitelist-tasks.png"></li>
<li>プロジェクトのデプロイを試行します。ホワイトリスト違反が検出されたことを通知し、デプロイメントを続行するかどうかを確認する警告ダイアログが表示されます。「いいえ」をクリックします。ダイアログが消えます。</li>
<li>
<p>「プロジェクト」ウィンドウでアプリケーションのノードを右クリックし、「プロパティ」を選択します。アプリケーションの「プロジェクト・プロパティ」が開きます。「ホワイト・リスト」カテゴリを選択します。アクティブなホワイトリストのリストが表示されます。このダイアログで、ホワイトリストを無効にできます。 </p>
<p>WebアプリケーションのサーバーがOracle Cloud Remoteに設定されている場合、Oracle Cloudホワイトリストはプロジェクトとそのプロジェクトのサブプロジェクトの両方に適用されます。たとえば、Oracle Cloud Remoteで実行するように設定されたEnterpriseアプリケーションにOracle Cloudがある場合、ホワイトリストはEnterpriseアプリケーション自体と、Enterpriseアプリケーションの一部である任意のEJBモジュールまたはWebアプリケーションに適用されます。プロジェクトとそのサブプロジェクトの両方の「プロジェクト・プロパティ」に「ホワイト・リスト」カテゴリがあります。「プロジェクト・プロパティ」ダイアログを使用して、プロジェクトとその個々のサブプロジェクトごとにホワイトリストを別々に設定できます。</p>
<img alt="「ホワイト・リスト」カテゴリを表示している「プロジェクト・プロパティ」" class="margin-around" src="../../../images_www/articles/74/web/oracle-cloud/whitelist-properties.png"> </li>
</ol>
<div class="feedback-box">
<a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Running%20Web%20Apps%20on%20Oracle%20Cloud">ご意見をお寄せください</a></div>
<p>&nbsp;</p>
<p><br style="clear:both;">
<a name="seeAlso"></a>
</p>
<h2>関連項目</h2>
<p>Oracle Cloudサービスの詳細は、次のリソースを参照してください。</p>
<ul>
<li><a href="https://blogs.oracle.com/javatraining/entry/oracle_cloud_development_with_netbeans">NetBeansおよびEclipse (OEPE)を使用したOracle Cloud開発</a> (Java Training Beatブログ)</li>
<li><a href="https://cloud.oracle.com/mycloud/f?p=service:home:0" target="_blank">Oracle Cloudホームページ</a></li>
</ul>
<p>NetBeans IDEでのWebアプリケーションの開発の関連情報は、次のリソースを参照してください。</p>
<ul><li><a href="../../trails/java-ee.html">Java EEおよびJava Webの学習</a></li>
</ul>
</body>
</html>