機能

バージョン 3.1 には次のような新機能があります。

SSL サポート

Secure Sockets Layer (SSL) は、インターネットでのメッセージ転送のセキュリティの管理に最も一般的に使用されているプロトコルです。JRun 3.1 では JRun Web サーバで SSL をサポートし、JMC からこのサポートを公開します。これにより、非常に安全な Web アプリケーションを作成できます。


メモ

JRun 3.1 SSL 機能には、ブラウザと JRun のビルトイン Web サーバ間の安全なソ ケットがサポートされています。JRun 3.1 では、ブラウザとネイティブ Web サーバ間 のソケットは保護されていません。ほとんどの商用 Web サーバにはこの機能が組 み込まれているため、JRun でこの機能を提供する必要はありません。ただし、Apache は例外です。Apache の場合は SSL モジュールを追加するか、または SSL モジュー ルを追加しているベンダから Apache を購入する必要があります。ネイティブ Web サーバと JRun のコネクタの間のソケットでは、SSL がサポートされていないこと に注意してください。


SSL の詳細については、『SSL and TLS Essentials』 (Stephen Thomas 著、Wiley Computer 刊、2000 年、http://www.amazon.com/exec/obidos/ASIN/0471383546) を参照してください。

異なる Web サーバの SSL チュートリアルなどの便利なオンライン リソースは、http://www.verisign.com にあります。

さらに、SSL の詳細な技術情報には次のようにアクセスします。

JSP で書かれたカスタム タグ

JRun 3.1 では、JSP で書かれたカスタム タグをサポートしています。JRun Server Tags (JST) と呼ばれるこの技術を使用すると、Java ベースのカスタム タグ API ではなく JSP を使用してカスタム タグを構築できます。Java コードは必要ありません。JST 技術では JSP 構文が使用されているので、JSP プログラマはカスタム タグを利用できます。JST を使用すると、Java で書かれたカスタム タグに比べて短期間でアプリケーションを開発できます。ページが JST ページであることを示すには、そのページの名前に拡張子 .jst を付けます。

この機能は、『JRun によるアプリケーションの開発』に記載されています。

Web アプリケーションの動的な公開および更新

JRun バージョン 3.1 では、Web アプリケーションを動的に更新して自動的に公開する機能が用意されています。これは主に操作性を向上させる機能であり、これにより次の機能が提供されます。

ホット デプロイおよびオート デプロイを有効にすると、Web アプリケーションへの変更後や新しい Web アプリケーションの追加後に、JRun サーバを再起動する必要はありません。ただし、JDBC データ ソースの追加などのサーバレベルの変更後は、JRun サーバを再起動する必要があることに注意してください。


メモ

運用環境ではこの機能を無効にすることを強くお勧めします。


JRun 3.1 とともに提供されている Web サーバおよびアプリケーションでは、この設定を次のように使用します。

ホット デプロイ

動的な公開の制御は、global.properties および local.properties にある次のプロパティによって行います。

変更したファイルが WAR ファイルである場合は、以前に定義されたルート ディレクトリおよび URL マッピングを使用して Web アプリケーションを再公開し、その後で再起動します。変更したファイルが WAR ファイルでない場合は、Web アプリケーションの再起動のみを行います。

オート デプロイ

オート デプロイの制御は、global.properties および local.properties にある次のプロパティによって行います。

global.properties の既定の設定は次のとおりです。

webapp.hotdeploy.autodeploy=
{jrun.rootdir}/servers/{jrun.server.name}/deploy/*.war

自動的に WAR ファイルが公開されると、拡張子のない WAR ファイル名を使用して Web アプリケーション名および URL マッピングが作成され、WAR ファイルが /servers/server name/Web アプリケーション名というディレクトリに展開されます。たとえば、default JRun サーバの deploy ディレクトリのルート レベルに newapp.war を追加すると、次の項目が作成されます。

deploy ディレクトリの下のサブディレクトリに WAR ファイルを格納すると、JRun で作成されるディレクトリ構造を制御できます。たとえば、deploy/accounting/payroll.war に WAR ファイルを保存すると、/accounting/payroll という URL マッピングを持つ accounting-payroll と命名された Web アプリケーションが作成されます。

カスタム タグ ハンドラのキャッシュへの格納

JRun 3.1 では、タグ ハンドラをキャッシュすることによってカスタム タグのパフォーマンスが向上しています。ハンドラ 開発者は次のことに注意してください。

CMP メソッドのメソッド パラメータ サポート

JRun 3.1 には、SQL パラメータをメソッド引数から EJB メソッドに渡すためのサポートが含まれています。JRun 3.0 では、CMP メソッドはこの情報を Bean インスタンス フィールドからしか取得できませんでした。現在は、CMP Bean の SQL で使用する引数を渡す Bean メソッドを呼び出すことができます。メソッドの引数を使用して SQL を置き換える場合は、疑問符の後に数値を付けることによって SQL パラメータとメソッド引数を関連付けます。この疑問符と数値はメソッド引数内の位置を表します。たとえば、コンテナでは ?1 をメソッドの最初の引数に、?2 をメソッドの 2 番目の引数にというように置き換えます。たとえば、次のように指定します。

select key from table where value >?1 and value < ?2

ここで、?1 と ?2 は、検索メソッドの 1 番目と 2 番目の引数を表します。

次のことに注意してください。

また、このテクニックは、次の例に示すように create メソッドと併用できます。

<env-entry>
  <env-entry-name>ejipt.createSQL</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>
    INSERT INTO account (id, value) VALUES (?1, ?2)
  </env-entry-value>
</env-entry>

この env-entry に対応する ejbCreate メソッドには、次の例に示すように初期化コードは不要です。

public void ejbCreate(int accountId, int value)
  throws CreateException, RemoteException { }

クライアント側の create メソッド呼び出しでは、次のように id および value 引数を渡します。

...
BalanceHome home = (BalanceHome)javax.rmi.PortableRemoteObject.narrow
    (_context.lookup("sample3a.BalanceHome"), BalanceHome.class); 
...
Balance b = null;
b = bh.create(key, 0);
...

JMC の強化

2 つの一般的な管理タスクによって、追加の JRun サーバ インスタンスが公開され、JRun ログ ファイルが表示されます。JRun 3.1 JMC では、次の点が強化されています。

JSPC の強化

JSPC コンパイラは、Web サーバのコンテキストの外部での JSP ページのコンパイルに使用するコマンドライン ツールです。JSPC コンパイラを使用すると、JRun を使用して JSP ページの要求時にページをコンパイルすることなく、コマンド ラインから JSP ページを明示的にコンパイルできます。

JRun 3.1 では JSPC 構文が変更されました。新しい構文は次のとおりです。

java [-classpath classpath]
  JSPC 
  -j jrun_root_dir
  -s server
  -a web_application_name
  [-webroot path_to_web_root]
  [-vghn]
  [-d output_directory] 
  [-compiler "compiler_spec"] 
  JSP_path

引数の定義は次のとおりです。


メモ

JSPC コンパイラを使用して、use-webserver-root プロパティが TRUE に設定されて いる Web アプリケーションを処理するときは、-webroot 引数を指定する必要があり ます。たとえば、default JRun サーバにある既定のアプリケーションでは、
use-webserver-root が TRUE に設定されています。詳細については、『JRun による アプリケーションの開発』を参照してください。


新規サンプルと強化されたサンプル

JRun バージョン 3.1 には強化されたサンプルがあります。以前と同様に、サンプルは default JRun サーバで実行し、JMC の 「ようこそ」ページからアクセスできます。サンプルでは次の点が強化されています。

文書の改訂

JRun バージョン 3.1 では、文書が次のように改訂されました。

JRun 3.1 には PDF 形式と HTML 形式の文書が同梱されています。各 HTML ページには、http://livedocs.allaire.com の対応するページへのリンクがあります。このリンクを使用して、ほかの JRun 開発者が書き込んだコメントを確認して、コメントを追加できます。

組み込み型データベース

JRun バージョン 3.1 には、組み込み型 PointBase DBMS を使用するサンプル データベースが同梱されています。このデータベースは主に、JRun カスタム タグおよび EJB サンプルのサポートを目的としています。このデータベースは、開発データベースまたは公開データベースとしての使用を予定していません。このデータベースは簡単なテストに使用できますが、事前に制限事項について認識しておく必要があります。

制限

PointBase が組み込まれているデータベースは、接続すると自動的に起動されますが、1 つの JVM からの接続に限定されます。これは次のことを意味しています。

JRun バージョン 3.1 に同梱の組み込み型 PointBase データベースのデータは、5 MB に限定されます。

組み込み型データベースの使用

JRun には、サンプル データベース内のデータに追加や変更を行うユーティリティが同梱されています。これらのユーティリティは JRun のルート ディレクトリ/pointbase ディレクトリにあります。ユーティリティ名は次のとおりです。


メモ

これらのユーティリティは、default JRun サーバを停止してから実行してください。


詳細については、JRun のルート ディレクトリ/pointbase/docs ディレクトリにある PointBase のマニュアルを参照してください。

PointBase Console では、新しいデータベースを作成できます。サーブレット、JSP、および EJB からこのデータベースにアクセスするには、次の設定値を使用してください。

サンプル データベースは、ネットワーク バージョンの PointBase DBMS と互換性があります。評価バージョンおよびアップグレード情報については、
http://www.pointbase.com を参照してください。

ロック ファイルの削除

JRun の全サーバを停止しても、commander または console ユーティリティから PointBase データベースにアクセスできない場合は、JRun のルート ディレクトリ/pointbase/databases ディレクトリに *.lck ファイルがあるかどうかを確認してください。*.lck ファイルは PointBase が異常終了した場合に生成されます。これらのファイルを削除できない場合は、次の手順を実行してください。

  1. コンピュータを再起動します。
  2. 再起動で JRun が自動的に実行されたら停止します。
  3. JRun のルート ディレクトリ/pointbase/databases ディレクトリからすべての *.lck ファイルを削除します。