Directory Listing サンプル・アプリケーション入門

このページは、Directory Listing アプリケーションについて学習するための 開始点です。次のトピックが取り上げられています。

概要

Directory Listing サンプル・アプリケーションは、Dojo Toolkit for JavaScript の dojox.data.FileStore ストアの 使用を補完するために作成されたものです。Directory Listing サンプル は、dojox.data.FileStore データ・ストアから発生する要求を受け取って応答することができる JAX-RS Representational State Transfer (REST) アプリケーション の開発方法を示します。

dojox.data.FileStore データ・ストアは、リモート・ファイル・システム についての詳細にアクセスするための、軽量の JavaScript 実装です。このデータ・ストアおよび サーバー・サイド JAX-RS リソースは、要求されたファイル・システム・パスの階層全体を展開することはありません。 これによって、サブディレクトリーの遅延ロード用のフックを用意する一方で、要求されたパスの情報を 素早く返すことが可能になっています。これは、 Dojo データ・ストアが遅延ロードをどのように実行できるのかと、 dojox.data.FileStore の期待に対応する JAX-RS リソースをどのように作成するのかを示す例です。

この Directory Listing サンプルの主要な目的は、 JAX-RS リソース・クラスの単純さと機能を示すことです。ただし、この単純さをフルに示すため、 dojox.data.FileStore データ・ストアは、より大きい Dojo アプリケーションに組み込まれています。例について、Directory Listing アプリケーションの 作成についての説明を参照してください。

前提条件

前提となる製品 バージョン
Java Technology Edition 5.0 以降
Java Platform, Enterprise Edition 5 (Java EE) アプリケーション・サーバー以降

WebSphere Application Server バージョン 6.1.0.x 以降

WebSphere Application Server Community Edition バージョン 2.X

Web ブラウザー 任意の新しい Web ブラウザー (例: Internet Explorer 7 以降、 Mozilla Firefox 3.x 以降、Google Chrome、Safari、Opera)
開発 IDE (オプション) Eclipse バージョン 3.X

制限

Directory Listing サンプル・アプリケーションは、実動サーバーへのデプロイメントを目的としていません。 開発および研修目的にのみ使用してください。

JAX-RS アプリケーション、リソース、および Web ページのすべてのソース・コードは、 WebSphere ソフトウェアと共に稼働するアプリケーションを開発する際に、無料で使用し、 複製し、変更することができるよう、現存するままの状態で提供されます。サンプル・コードは、 ユーザー環境内でのみ使用する場合、またはアプリケーションの一部として、すなわち自社製品において再配布する場合のいずれの場合にも使用できます。

Directory Listing サンプル・アプリケーションの作成

Directory Listing サンプル・アプリケーションは、 Java EE 環境で Dojo Toolkit を使用して Ajax ベースのアプリケーション を開発する方法を示すように設計されています。これらの目標を達成するため、1 つの Java EE アプリケーションが 2 つの パート (クライアント・サイドとサーバー・サイド) に分かれていて、単純ないくつかの操作によって 1 つの有用な機能が実行されるように編成され ています。これは、Ajax テクノロジーを取り込むときに Java EE アプリケーションが使用する 基本的なパターンに従っています。

想定事項

以降のセクションでは、Dojo の JavaScript フレームワークに 関する知識があることが前提となっていて、サンプル Dojo クライアント・アプリケーションや 使用されている Dojo dojox.data.FileStore データ・ストアに関する詳しい説明はありません。

クライアント

クライアントは、ブラウザーにサービスを提供する Web ページです。この Web ページでは、 dojox.data.FileStore データ・ストアがインスタンス化され、 dijit.Tree ウィジェットにモデルとして宣言される dijit.tree.ForestStoreModel にストアとして宣言されます。 dijit.Tree ウィジェットは、ファイル・システム階層のビジュアル表示を提供します。 このウィジェットは、ツリー内のディレクトリーの横に、 展開または縮小する際にユーザーがクリックする、プラス記号とマイナス記号を表示します。ユーザーがプラス記号を クリックすると、要求されたパスが dojox.data.FileStore データ・ストアによって JAX-RS リソースに渡され、 遅延ロード機能が実行されます。クライアント・サイドの 設計に関するより詳しい説明については、Directory Listing サンプル・アプリケーションのクライアント・サイド設計を お読みください。

サーバー

サーバーは、サービスの処理および Web ページへのサービス提供のためのインフラストラクチャーを提供します。 このアプリケーションでは、サーバー・サイドは、 dojox.data.FileStore データ・ストアから GET 照会を受け取って処理し、 このデータ・ストアおよびそれを含んでいる Dojo アプリケーションの要件に従って応答する、JAX-RS リソース・クラスです。サーバー・サイド の設計に関するより詳しい説明については、Directory Listing サンプル・アプリケーションのサーバー・サイド設計を お読みください。

クライアント用 Directory Listing サンプル・アプリケーション

Directory Listing サンプル・アプリケーションは、サーバーのファイル・システム上のパスについての情報を得るために、dojox.data.FileStore データ・ストアを使用して、JAX-RS リソースに対して照会を行います。 dojox.data.FileStore オブジェクトは、オプションを指定するストリング、サービスへの URL、 および pathAsQueryParam フラグ (要求されるパスが ?path=/the/path 照会パラメーターとして送信される必要があることを示すフラグ) を 使用して構成されます。このフラグがないと、 要求は URL への付加として送信されます。

dojox.data.FileStore、モデル、およびツリーの周囲に作成されたこのアプリケーションは、 dojox.data.FileStore データ・ストアの個々の機能のサポートを有効または無効にするための dojo.form.CheckBox ウィジェット群を 含んでいます。これらのウィジェットは、データ・ストアの機能を示すために、このアプリケーションの 一部として組み込まれています。個々のチェック・ボックスをクリックして機能を有効または無効にするためには、 データ・ストアは最初の要求をサーバーに再送信し、モデルおよびツリーを更新することが必要になります。これらの機能をテストして、実際に確認することができます。

dojox.data.FileStore の検索フィーチャーもこのアプリケーションで処理されます。 マッチングを行うために、ドロップダウンに示されるファイル属性 をテキスト (ワイルドカードを示すアスタリスクを含む) を使用して選択できます。「大文字と小文字を無視する」 または「深く検索する」を選択すれば、検索をさらに絞り込むことができます。最後に、 戻される項目の最大数と共に開始索引を指定して、検索で戻される項目の量を制限または制御する ことができます。

Dojo データ・ストア、モデル、およびツリーの標準的な期待される機能に加えて、 このアプリケーションは、JAX-RS リソースの特別なフィーチャーを呼び出して、 クライアントが有用なデータの集合を表示できるようにディレクトリー・ツリーに事前設定します。アプリケーション は dojo.xhrPut を使用して PUT 要求を JAX-RS リソースに送信しますが、その際、 サンプルでの使用に備えてディレクトリー階層を事前設定するよう JAX-RS リソースに指示します。

この Directory Listing サンプル・アプリケーションの主要な目的は、 dojox.data.FileStore から照会を受け取って処理できる JAX-RS リソース の開発の単純さを示すことです。したがって、クライアントの理解とコーディング はご自身で行ってください。ただし、このクライアント は、Dojo フィーチャーをプログラムで使用して、dojox.data.FileStore のすべてのフィーチャー を示すようコーディングされていることと、ファイル・システム階層を手動で構築する必要をなくす ようにコーディングされていることには注意してください。そうでなければ、ビジュアル dijit.Tree とそれに よるモデルおよびストアの包含が、以下のように HTML コードのいくつかの短い行で宣言的に コーディングされていたかもしれません。

<div dojoType="dojox.data.FileStore"
     jsId="myStore" url="rest/directorylisting" pathAsQueryParam="true"></div>
<div dojoType="dijit.tree.ForestStoreModel"
     jsId="myModel" store="myStore" rootId="myfiles" rootLabel="Files" childrenAttrs="children"></div>
<div dojoType="dijit.Tree"
     id="mytree" model="myModel"></div>

クライアント・サイドの使用方法について詳しくは、アプリケーションの ソース・コードを参照してください。HTML 文書の各セクションにコメントが付けられ、コード・ブロックの目的が説明されています。

サーバー用 Directory Listing サンプル・アプリケーション

最小でも、サーバー用 Directory Listing サンプル・アプリケーションは、 要求を listen するパスに付加されるパスを指定した GET 要求、または、?path=/myPath 照会パラメーターが付加された GET 要求を 受け取ることができる必要があります。サンプルをできるだけ便利にセットアップする ため、この JAX-RS リソースには、ファイル・システム・ディレクトリー階層を 事前設定する PUT 照会を listen するメソッドが含まれていて、Dojo クライアント は dojox.data.FileStore フィーチャーをデモンストレーションする前にそのメソッドを呼び出すことができます。これによって、 ファイル・システム階層を手動で作成する必要がなくなります。

JAX-RS ランタイム環境は、任意の照会パラメーターを分割して名前と値のペアに し、それらのペアをパラメーターとして、GET 要求を受け取る Java メソッドに渡す組み込み機能を備えています。

HTTP 要求を受け取る JAX-RS リソース・クラスの作成

package com.ibm.websphere.mobile.appsvcs.sample.directorylisting.resources;

import javax.ws.rs.Path; // Full import list not shown.

@Path("/directorylisting")
public class DirectoryListingService
{
   // ...
}

この JAX-RS リソース・クラスは "/directorylisting" の URL セグメントを持つよう宣言されていることに注意してください。このリソース・クラスは、 http://<server>:<port>/<context-root>/<uri-mapping>/directorylisting をターゲットにする要求を処理します。

コンテキスト・ルートは、Web アーカイブ・ファイル (.war) が エンタープライズ・アーカイブ・ファイル (.ear) 内にパッケージされている場合、application.xml ファイルによって定義されます。 .war が単独でインストールされている場合は、コンテキスト・ルートはユーザーによってインストール時に 定義されます。uri マッピングは .war ファイル内の WEB-INF/web.xml に定義されます。

JAX-RS リソース・メソッドの作成

dojox.data.FileStore データ・ストアは、GET 要求を送信します。クライアントでは、このデータ・ストアは、 必要なパスを照会パラメーターとして送信するとともに、dojo.data.api.Read 照会プロトコルを含めて、 dojox.data.FileStore に記述されたさまざまなオプション引数のサブセットを送信するように構成されています。例えば、dojox.data.FileStore データ・ストア は、http://<server>:<port>/<context-root>/<uri-mapping>/directorylisting?path=/the/path として GET 要求を送信できます。 パスを URL の一部として処理する必要があり、もう一つの方法として照会パラメーターとして処理する必要もあると想定すると、 それぞれについて 1 つずつ JAX-RS リソース・メソッドがあります。それらは共通の 1 つのメソッドを 呼び出して、サービスのロジックを処理します。

// Query parameters and values
private static final String QUERY_OPTIONS = "options";
private static final String QUERY_PATH = "path";
private static final String QUERY_QUERY = "query";
private static final String QUERY_QUERYOPTIONS = "queryOptions";
private static final String QUERY_START = "start";
private static final String QUERY_COUNT = "count";

// Default value for start and count query parameters.
private static final String NO_VALUE_STRING = "-1";
private static final int NO_VALUE_INT = -1;

@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONObject getFileListWithPathInParam(
        @Context ServletConfig servletConfig,
        @Context HttpHeaders httpHeaders,
        // Note, the path is obtained with @QueryParam.
        @QueryParam(QUERY_PATH) String path,
        @QueryParam(QUERY_OPTIONS) String options,
        @QueryParam(QUERY_QUERY) String query,
        @QueryParam(QUERY_QUERYOPTIONS) String queryOptions,
        @DefaultValue(NO_VALUE_STRING) @QueryParam(QUERY_START) String startParam,
        @DefaultValue(NO_VALUE_STRING) @QueryParam(QUERY_COUNT) String countParam)
{
    return getFileListCommon(servletConfig, path, options, query, queryOptions, startParam, countParam);
}

@GET
// JAX-RS will call this method if the URL has more than the root path.
@Path("{path:.*}")
@Produces(MediaType.APPLICATION_JSON)
public JSONObject getFileListWithPathInUri(
        @Context ServletConfig servletConfig,
        @Context HttpHeaders httpHeaders,
        // Note, the path is obtained with @PathParam.
        @PathParam(QUERY_PATH) String path,
        @QueryParam(QUERY_OPTIONS) String options,
        @QueryParam(QUERY_QUERY) String query,
        @QueryParam(QUERY_QUERYOPTIONS) String queryOptions,
        @DefaultValue(NO_VALUE_STRING) @QueryParam(QUERY_START) String startParam,
        @DefaultValue(NO_VALUE_STRING) @QueryParam(QUERY_COUNT) String countParam)
{
    return getFileListCommon(servletConfig, path, options, query, queryOptions, startParam, countParam);
}

最初の @GET アノテーションは、クラス・レベル @Path アノテーションにより directorylisting で終わる URL で、メソッドが HTTP GET 要求 を受け取ることを宣言しています。 サービスにおいて要求されているパスにアクセスするための @QueryParam アノテーションの 使用に注意してください。

2 番目の @GET アノテーションは、@Path を正規表現 "{path:.*}" で さらに修飾しています。これは、クラス・レベル @Path アノテーションの後にある任意の文字にマップします。 したがって、2 番目のメソッドが呼び出されるとき、パスは URL にあると予期されます。 サービスにおいて要求されているパスの値にアクセスするための @PathParam の 使用に注意してください。

これら 2 つのメソッドのどちらにも @Produces アノテーションが含まれています。これは、JAX-RS ランタイム がインバウンド・メッセージを Java メソッドとマッチングするのに役立ちます。JAX-RS ランタイム は、インバウンド・メッセージ Accept ヘッダーを @Produces 値とマッチングしようとします。また、 JAX-RS ランタイムに応答のフォーマットを知らせます。

JAX-RS コア・アプリケーション・クラスの作成

この時点で、アプリケーションを完了するためにさらに 1 つのクラスが必要です。JAX-RS は、 javax.ws.rs.core.Application を継承するクラスを通して、 アプリケーションおよびそのリソースとプロバイダーを初期設定します。したがって、以下のクラスを作成します。

package com.ibm.websphere.mobile.appsvcs.sample.directorylisting;

import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.core.Application;

public class DirectoryListingApplication extends Application
{
   @Override
   public Set<Class<?>> getClasses()
   {
      Set<Class<?>> classes = new HashSet<Class<?>>();
      classes.add(DirectoryListingService.class);
      return classes;
   }
}

web.xml 内での JAX-RS アプリケーションの使用可能化

以下は、この JAX-RS アプリケーションを使用可能にする重要なパートです。

...
<servlet-name>JAXRSServlet</servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
<init-param>
   <param-name>javax.ws.rs.Application</param-name>
   <param-value>com.ibm.websphere.mobile.appsvcs.sample.directorylisting.DirectoryListingApplication</param-value>
</init-param>
...
<servlet-mapping>
   <servlet-name>JAXRSServlet</servlet-name>
   <url-pattern>/rest/*</url-pattern>
</servlet-mapping>
...

servlet-class、および param-name が "javax.ws.rs.Application" の init-param に注意してください。 これは、サーブレット実装を宣言し、 javax.ws.rs.core.Application を継承するクラスの参照を JAX-RS ランタイムに渡す、標準的な方法です。

WEB-INF/web.xml、コンパイル済みアプリケーション、 および適切なライブラリー・ファイルを .war ファイルの WEB-INF/lib/ ディレクトリーに組み込んで、 アプリケーションをアプリケーション・サーバー上にインストールできます。必要なライブラリー のリストを確認したい場合は、含まれているサンプルの内容を参照してください。含まれているサンプル・アプリケーション は、.ear ファイル内にパッケージされた .war ファイルの形式です。.ear ファイル内 の標準 application.xml ファイルは、 "/appsvcs-directorylisting" の URL コンテキスト・ルートを指定します。したがって、index.html ファイル への URL は http://<server>:<port>/appsvcs-directorylisting/ です。サンプル・アプリケーションの index.html ファイル 内に指定された URL は index.html ファイルの場所に相対的な rest/directorylisting であり、 web. xml ファイル内の URL パターンと JAX-RS リソース・クラス内の @Path アノテーションとを結合したものであることに注意してください。

Get メソッド実装

getFileListCommon メソッドは、上で説明した 2 つの JAX-RS リソース・メソッド のそれぞれから呼び出されます。下のリストは、各パラメーターについて記述しています。パラメーター のフォーマットと内容は、dojox.data.FileStore の資料と 合致しています。最初の 2 つのパラメーターは、 基となるサーブレット・コンテナーによって常に提供されます。その他のパラメーターはオプションです。したがって、 ヌルを指定することも、デフォルト値を受け入れることもできます。

protected JSONObject getFileListCommon(
        ServletConfig servletConfig,
        HttpHeaders httpHeaders,
        String path,         // Path of the request, from the URL or an HTTP parameter
        String options,      // JSON array, could contain expand, showHiddenFiles, dirsOnly
        String query,        // JSON array of name/value pairs for a filtered search
        String queryOptions, // JSON array of settings for a deep search and/or ignoreCase
        String startParam,   // Index of results to start with in the returned list
        String countParam)   // Number of items to return in the result list
{
    // ...
}

ソース・コードには、各パラメーターの妥当性検査を行い、場合によってはそのパラメーターを後で照会しやすい形式に変換にするメソッドが入っています。これらのパラメーターの説明については、dojox.data.FileStore 資料 を参照してください。

この時点で、dojox.data.FileStore データ・ストアから 要求を正常に受け取ることができました。このデータ・ストアは、JSON フォーマットでの応答を期待しています。このフォーマットは、 要求されたパスからの情報を使用して JSONObject 内に組み立てることができます。以下のコード・サンプルは、JSON フォーマットの応答をどのように作成するのかを 示しています。

 // Attribute names
 private static final String ATTRIB_ITEMS = "items";
 private static final String ATTRIB_NAME = "name";
 private static final String ATTRIB_PATH = "path";
 private static final String ATTRIB_PARENTDIR = "parentDir";
 private static final String ATTRIB_SIZE = "size";
 private static final String ATTRIB_DIRECTORY = "directory";
 private static final String ATTRIB_CHILDREN = "children";
 private static final String ATTRIB_MODIFIED = "modified";

...
// Assume you have already found the file you want,
// instantiated as a Java file in variable "file"
JSONArray fileList = new JSONArray();
if (path.equals("/") && file.isDirectory()) {
    // Query param "path" was not passed, was blank, or "/"
    File[] children = file.listFiles();
    if (children != null && children.length > 0) {
        for (int i = 0; i < children.length; i++) {
            // Call common code to append the list if the file is acceptable.
            // This also searches recursively if necessary.
            appendFileList(children[i], fileList);
        }
    }
    JSONObject items = new JSONObject();
    items.put(ATTRIB_ITEMS, fileList);
    logger.exit();
    return items;
} else {
    // This is a single identity lookup for a specific path.
    // A JSONObject representing the file will be returned.
    JSONObject jsonFile = appendFileList(file, null);
    if (jsonFile == null) {
        // Handle error
        ...
    } else {
        logger.exit();
        return jsonFile;
    }
}
...

...
private JSONObject appendFileList(File file, JSONArray fileList) {
   ...
   JSONObject item = new JSONObject();

   if (file != null) {
      item.put(ATTRIB_NAME, file.getName());
      item.put(ATTRIB_MODIFIED, new Long(file.lastModified()));
      item.put(ATTRIB_SIZE, new Long(file.length()));
      item.put(ATTRIB_PATH, getFileAttribute(ATTRIB_PATH, file));
      item.put(ATTRIB_PARENTDIR, getFileAttribute(ATTRIB_PARENTDIR, file));
      item.put(ATTRIB_DIRECTORY, new Boolean(file.isDirectory()));
      // See the sample code for details on traversing directory trees of files
      ...
      // Add another item to the list.
      fileList.add(item);

   }
   ...
}

これで、dojox.data.FileStore データ・ストアの期待に 応じて受信と応答を行うことのできる JAX-RS サービス・リソースができました。 ファイル・システムの全探索、オプション照会パラメーターからのオプションの管理、 および、ルート・ディレクトリーの構成の許可の実装詳細については、ソース・コードを参照して理解してください。

Directory Listing サンプル・アプリケーションのソース・コードの表示

Directory Listing サンプル・アプリケーションのソース・コードは、 appsvcs-directorylisting.ear ファイル内の .war Web モジュール・ファイル内にあります。ソース・コード を表示する方法には 2 つの方法があります。Eclipse ベースの統合開発環境 (IDE) を介して 表示する方法と、appsvcs-directorylisting.ear ファイルを解凍し、内部に含まれる .war ファイルを解凍する方法です。

エンタープライズ EAR ファイルの探索

ソース・コードを表示するための最初のステップは、DirectoryListing.ear ファイルの場所を探索することです。 IBM WebSphere Application Server Feature Pack for Web 2.0 and Mobile を インストール済みの場合、この EAR ファイルはインストール・ツリー内にあります。

例えば、このフィーチャー・パックを以下の場所にインストールしたとします。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServer
z/OS マウント・ポイント: <install_root>
Windows: c:\WebSphere\AppServer

この場合、EAR ファイルは次の場所にあります。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServer/web2mobilefep_1.1/samples/directorylisting/appsvcs-directorylisting.ear
z/OS: <install_root>/web2mobilefep_1.1/samples/directorylisting/appsvcs-directorylisting.ear
Windows: c:\WebSphere\AppServer\web2mobilefep_1.1\samples\directorylisting\appsvcs-directorylisting.ear

Eclipse ベースの IDE におけるソース・コードの表示

Eclipse ベースの IDE の使用は、WAR ファイルのソース・コードを 調べるための最も単純な方法です。以下のステップを完了すると、任意の Eclipse 3.2.X、3.3.X IDE を Web Tools Project 2.5 以降 または Rational Application Developer バージョン 7.0 以降と共に 使用して、Web アーカイブ (WAR) ファイルをインポートできます。

  1. appsvcs-directorylisting.ear ファイルを展開します。
  2. Eclipse IDE メニューから、「ファイル」>「インポート」を選択します。
  3. 表示されたパネルで、Web オプションを展開し、「WAR ファイル」を選択して「次へ」をクリックします。
  4. WAR ファイル」入力フィールドで、「参照」をクリックし、前に場所を確認しておいたファイルを選択します。
  5. プロジェクト名のデフォルトが適切であれば受け入れ、「完了」をクリックします。

インポート・プロセスが完了すると、新しいプロジェクトである DirectoryListing が、Eclipse ワークスペース に表示されます。この DirectoryListing プロジェクトから、アプリケーション・ソース・コードにアクセスできます。 クライアント・コードまたはサーバー・コードにアクセスするには、以下の表で、 DirectoryListing Eclipse プロジェクト・ツリー内のソース・コードの場所を参照してください。

ソース・コード 場所
クライアント・サイド (Web ブラウザー) WebContent/index.html: Dojo ウィジェット定義およびクライアント・スクリプト関数 を含みます。このファイルは最適化されていない Dojo プロファイルをロードします
サーバー・サイド Java リソース: src/com.ibm.websphere.mobile.appsvcs.sample.directorylisting/ DirectoryListingApplication.java: このファイルをダブルクリックすると、ソース・コードがロードされます
Java リソース: src/com.ibm.websphere.mobile.appsvcs.sample.directorylisting. resources/DirectoryListingService.java: このファイルをダブルクリックすると、ソース・コード がロードされます

WAR ファイルを解凍することによるソース・コードの表示

Web アプリケーション・アーカイブは、zip アルゴリズムを使用して圧縮されたファイル・アーカイブです。したがって、 Java アーカイブ (JAR) プログラムを含め、ファイルを圧縮するためのさまざまなツールを使用してアーカイブ・ファイルを 解凍できます。以下のステップでは、ユーザー が選択したツールを使用して圧縮ファイルが作成されていると想定します。

  1. 前に場所を確認しておいた DirectoryListing.ear ファイルを、 選択した zip ファイル圧縮ツールを使用して、システム上のいずれかのディレクトリーに解凍します。以下の ステップでは、EXPAND_DIR/DirectoryListing が正しい場所であると想定します。
  2. DirectoryListing.ear ファイルを解凍した EXPAND_DIR/DirectoryListing ディレクトリー 内のファイルをリストします。

EAR ファイルの内容を解凍した後、.war ファイルの内容を解凍します。これで、ソース・コードにアクセスできるようになります。クライアント・コードまたは サーバー・コードにアクセスするには、以下の表で EXPAND_DIR/DirectoryListing ディレクトリー内のソース・コードの場所を参照してください。

ソース・コード 場所
クライアント・サイド (Web ブラウザー) index.html: Dojo ウィジェット定義およびクライアント・スクリプト関数を 含みます。
サーバー・サイド WEB-INF/classes/com/ibm/websphere/mobile/appsvcs/sample/directorylisting/ DirectoryListingApplication.java
WEB-INF/classes/com/ibm/websphere/mobile/appsvcs/sample/directorylisting/ resources/DirectoryListingService.java

Directory Listing サンプル・アプリケーションのインストール

以下のバージョン固有のインストール手順を参照してください。

WebSphere Application Server インストール手順

このセクションでは、バージョン 6.1.0.X 以降の IBM WebSphere Application Server に Directory Listing サンプル・アプリケーションをインストールする手順を説明します。ここでは、アプリケーションのインストールとアプリケーション・サーバーの管理についての知識があることを前提としています。

始める前に

製品インストールと共に提供される Directory Listing サンプル・アプリケーション・エンタープライズ・アーカイブ (EAR) ファイルがある場所を確認してください。この EAR ファイルは、IBM WebSphere Application Server Feature Pack for Web 2.0 and Mobile をインストールしたインストール・ツリー内にあります。例えば、このフィーチャー・パックを以下の場所にインストールしたとします。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServer
z/OS マウント・ポイント: <install_root>
Windows: c:\WebSphere\AppServer

この場合、EAR ファイルは次の場所にあります。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServer/web2mobilefep_1.1/samples/application_services/directorylisting/appsvcs-directorylisting.ear
z/OS: <install_root>/web2mobilefep_1.1/samples/application_services/directorylisting/appsvcs-directorylisting.ear
Windows: c:\WebSphere\AppServer\web2mobilefep_1.1\samples\application_services\directorylisting\appsvcs-directorylisting.ear

管理コンソールを使用した Directory Listing サンプル・アプリケーションのインストール

  1. アプリケーション・サーバーの管理コンソールにログインします。
  2. 「アプリケーション」>「新規アプリケーション」とナビゲートします (注: WebSphere Application Server バージョン 6.1 では、「新規アプリケーションのインストール」を選択します)。
  3. 新規エンタープライズ・アプリケーション (New Enterprise Application)」を選択します。(注: WebSphere Application Server バージョン 6.1 では、このステップをスキップします。)
  4. ファイル・システムを参照し、前に場所を確認しておいた appsvcs-graphics.ear ファイルを選択します。「次へ」をクリックします。
  5. 次へ」をクリックして、アプリケーションのインストール準備をします。(注: WebSphere Application Server バージョン 6.1 では、このステップをスキップします。)
  6. 次へ」をクリックして、デフォルトのインストール・オプションを受け入れます。
  7. 次へ」をクリックして、モジュールからサーバーへのマップに関するデフォルト・オプションを受け入れます。
  8. 次へ」をクリックして、モジュールのメタデータに関するデフォルト・オプションを受け入れます (注: WebSphere Application Server バージョン 6.1 および 7 では、このステップをスキップします)。
  9. 次へ」をクリックして、Web モジュール用の仮想ホストのマップに関するデフォルト・オプションを受け入れます。
  10. インストール・オプションの要約を確認します。
  11. 完了」をクリックします。
  12. マスター構成に保存」をクリックします。
  13. 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」とナビゲートします (注: WebSphere Application Server バージョン 6.1 では、「アプリケーション」>「エンタープライズ・アプリケーション」とナビゲートします)。
  14. IBM WebSphere Application Server - Directory Listing サンプル・アプリケーション」を選択し、「開始」をクリックします。

インストールされたアプリケーション・デモ・クライアントへのアクセス

アプリケーション・サーバー・インストール http://<application server hostname>:<port>/appsvcs-directorylisting/ を Web ブラウザーで参照してください。

アプリケーション・サーバーのホスト名とポート番号は、アプリケーション・サーバー・インストールに固有のものです。アプリケーション・サーバー・インストール の Web コンテナーのデフォルト・ポートは 9080 です。アプリケーション・サーバー・インストールと同じワークステーションで Web ブラウザーを 実行していて、すべてデフォルト値を使用している場合は、URL: http://localhost:9080/appsvcs-directorylisting/ を使用してください。

WebSphere Application Server Community Edition バージョン 2.X インストール手順

このセクションでは、バージョン 2.X の IBM WebSphere Application Server Community Edition に Directory Listing サンプル・アプリケーションをインストールする手順を説明します。ここでは、アプリケーションのインストールとアプリケーション・サーバーの管理についての知識があることを前提としています。

始める前に

製品インストールと共に提供される Directory Listing サンプル・アプリケーション・エンタープライズ・アーカイブ (EAR) ファイルがある場所を確認してください。この EAR ファイルは、IBM WebSphere Application Server Feature Pack for Web 2.0 and Mobile をインストールしたインストール・ツリー内にあります。例えば、このフィーチャー・パックを以下の場所にインストールしたとします。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServerCommunityEdition
Windows: c:\WebSphere\AppServerCommunityEdition

この場合、EAR ファイルおよびライブラリー・ファイルは次の場所にあります。

プラットフォーム 場所
Linux および UNIX の場合: /opt/WebSphere/AppServerCommunityEdition/web2mobilefep_1.1/AppServices/samples/directorylisting/appsvcs-directorylisting.ear
Windows: c:\WebSphere\AppServerCommunityEdition\web2mobilefep_1.1\AppServices\samples\directorylisting\appsvcs-directorylisting.ear

管理コンソールを使用したインストール

アプリケーション・サーバーの管理コンソールにログインします。

  1. 左側のメニューで「アプリケーション」>「デプロイヤー」をクリックします (注: WebSphere Application Server Community Edition バージョン 2.0 では、「アプリケーション」>「新規デプロイ」をクリックします)。
  2. アーカイブ」フィールドで、ファイル・システムを参照し、前に場所を確認しておいた appsvcs-directorylisting.ear ファイルを選択します。「プラン」フィールドは空のままにしておきます。また、デフォルト・オプションも選択されたままにしておきます。次に、「インストール」をクリックします。

アプリケーションが自動的に開始し、インストールが実行されます。

インストールされたアプリケーション・デモ・クライアントへのアクセス

アプリケーション・サーバー・インストール http://<application server hostname>:<port>/appsvcs-directorylisting/ を Web ブラウザーで参照してください。

アプリケーション・サーバーのホスト名とポートは、アプリケーション・サーバー・インストールに固有のものです。WebSphere Application Server Community Edition サーバー・インストール の Web コンテナーのデフォルト・ポートは 8080 です。アプリケーション・サーバー・インストール と同じワークステーションでブラウザーを実行していて、すべてのデフォルト値を受け入れた場合は、次の URL を使用してください。

http://localhost:8080/appsvcs-directorylisting/