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 の詳細な技術情報には次のようにアクセスします。
KeyStore
、Certificate
、および PrivateKey
クラスについては、J2EE JavaDocs を参照してください。
JRun 3.1 では、JSP で書かれたカスタム タグをサポートしています。JRun Server Tags (JST) と呼ばれるこの技術を使用すると、Java ベースのカスタム タグ API ではなく JSP を使用してカスタム タグを構築できます。Java コードは必要ありません。JST 技術では JSP 構文が使用されているので、JSP プログラマはカスタム タグを利用できます。JST を使用すると、Java で書かれたカスタム タグに比べて短期間でアプリケーションを開発できます。ページが JST ページであることを示すには、そのページの名前に拡張子 .jst
を付けます。
この機能は、『JRun によるアプリケーションの開発』に記載されています。
JRun バージョン 3.1 では、Web アプリケーションを動的に更新して自動的に公開する機能が用意されています。これは主に操作性を向上させる機能であり、これにより次の機能が提供されます。
ホット デプロイおよびオート デプロイを有効にすると、Web アプリケーションへの変更後や新しい Web アプリケーションの追加後に、JRun サーバを再起動する必要はありません。ただし、JDBC データ ソースの追加などのサーバレベルの変更後は、JRun サーバを再起動する必要があることに注意してください。
メモ 運用環境ではこの機能を無効にすることを強くお勧めします。 |
JRun 3.1 とともに提供されている Web サーバおよびアプリケーションでは、この設定を次のように使用します。
webapp.hotdeploy.enabled=false
にします。)
webapp.hotdeploy.enabled=false
にします。)webapp.hotdeploy.enabled=true
から引き継がれます。)webapp.hotdeploy.enabled=true
から引き継がれます。)webapp.hotdeploy.enabled=true
から引き継がれます。)webapp.hotdeploy.enabled=true
から引き継がれます。)動的な公開の制御は、global.properties および local.properties にある次のプロパティによって行います。
webapp.hotdeploy.enabled=true|false
動的な公開を有効または無効にします。
webapp.hotdeploy.interval=
間隔 JRun によって変更がチェックされる頻度を秒単位で指定します。既定値は 5 秒です。この値を 0 に設定すると、ホット デプロイ サービスは無効になります。 webapp.hotdeploy.onchange=
ディレクトリおよびファイルのカンマ区切りリストwebapp.hotdeploy.onchange={webapp.rootdir}/WEB-INF/web.xml, {webapp.rootdir}/WEB-INF/webapp.properties, {webapp.rootdir}/WEB-INF/lib
webapp.hotdeploy.defaultname=
default-app war ファイル 既定のコンテキスト (URLの / ) にマッピングされる WAR ファイルの名前を指定します。既定値は default.war です。Web アプリケーションでは通常、コンテキストとして/webappname を使用しますが、既定のアプリケーションではスラッシュだけを使用します。詳細については、『JRun によるアプリケーションの開発』の「JRun によるサーブレットへの要求マッピング」を参照してください。 変更したファイルが WAR ファイルである場合は、以前に定義されたルート ディレクトリおよび URL マッピングを使用して Web アプリケーションを再公開し、その後で再起動します。変更したファイルが WAR ファイルでない場合は、Web アプリケーションの再起動のみを行います。
オート デプロイの制御は、global.properties および local.properties にある次のプロパティによって行います。
webapp.hotdeploy.autodeploy=
ファイルの場所 指定した場所で検出されたすべての新しい WAR ファイルが、自動的に公開されます。サーバの起動時にこの場所が確認され、サーバの実行中は新しいファイルの監視も行われます。
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 では、タグ ハンドラをキャッシュすることによってカスタム タグのパフォーマンスが向上しています。ハンドラ 開発者は次のことに注意してください。
Tag.release
メソッドを実装して変数をリセットする必要があります。詳細については、"カスタム タグ ハンドラの移行"を参照してください。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 番目の引数を表します。
param
および paramTypes
env-entry が必要ですが、メソッド引数を介して渡される SQL パラメータには必要ありません。
また、このテクニックは、次の例に示すように 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); ...
2 つの一般的な管理タスクによって、追加の JRun サーバ インスタンスが公開され、JRun ログ ファイルが表示されます。JRun 3.1 JMC では、次の点が強化されています。
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
classpath
- (オプション) Java コマンドへのクラスパスを指定します。このクラスパスは、コマンド ラインから指定したり、CLASSPATH 環境変数を使用して指定できます。クラスパスでは、次のパスを指定する必要があります。
j
- JRun ルート ディレクトリを指定します。s
- サーバ名を指定します。a
- Web アプリケーション名を指定します。use-webserver-root
プロパティが TRUE に設定されている Web アプリケーションに必要です。これを -w
に短縮することもできます。v
- (オプション) JSPC によるコンパイル時に、各 JSP ファイルの名前を表示するように指定します。g
- (オプション) デバッグ メッセージを表示するように指定します。h
- (オプション) JSPC コンパイラのヘルプ メッセージを表示するように指定します。n
- (オプション) 対応する .class ファイルよりも新しい JSP ページのみをコンパイルするように指定します。d
- (オプション) JSPC コンパイラが出力 .class および .java ファイルを書き込む場所を指定します。既定では、このディレクトリは現在の作業ディレクトリに設定されます。通常は、Web アプリケーションのディレクトリ構造の WEB-INF/jsp ディレクトリを指定します。 compiler
- (オプション) コンパイラおよびコンパイルに使用するコンパイラ設定を含む、引用文字列を指定します。このパラメータを省略すると、Sun javac コンパイラを使用して、インプロセスで JSP ページがコンパイルされます。次に例を示します。java JSPC -compiler "javac -nowarn -classpath %c -d %d %f" ...
または
java JSPC -compiler "jvc /cp:c %c /dest:%d %f" ...
JSP_path
- ファイル システム上の JSP ページの物理パスを、-a
パラメータによって Web アプリケーションへの相対パスで指定します。スペースで区切って、複数のファイルを指定できます。ワイルドカード文字を使用して、複数のファイルを指定することもできます。-a
によって指定されたディレクトリと JSP_path
を組み合わせて、コンパイルする JSP ページを指定します。たとえば、-a
がc:\myapps\store にある Web アプリケーションであり、コンパイルする JSP ページが JSP_path
は my.jsp となります。複数の JSP ページをコンパイルする場合は、 JSP_path
にワイルドカード文字を指定できます。
メモ JSPC コンパイラを使用して、 |
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 ディレクトリにあります。ユーティリティ名は次のとおりです。
commander
(UNIX) および commander.bat
(Windows) コマンドライン インターフェイスによって SQL ステートメントを入力できます。
console
(UNIX) および console.bat
(Windows) Swing ベースの GUI からデータベースのテーブルおよび行を変更できます。
メモ これらのユーティリティは、default JRun サーバを停止してから実行してください。 |
詳細については、JRun のルート ディレクトリ/pointbase/docs ディレクトリにある PointBase のマニュアルを参照してください。
PointBase Console では、新しいデータベースを作成できます。サーブレット、JSP、および EJB からこのデータベースにアクセスするには、次の設定値を使用してください。
com.pointbase.jdbc.jdbcUniversalDriver
jdbc:pointbase://embedded/
データベース名
サンプル データベースは、ネットワーク バージョンの PointBase DBMS と互換性があります。評価バージョンおよびアップグレード情報については、
http://www.pointbase.com を参照してください。
JRun の全サーバを停止しても、commander
または console
ユーティリティから PointBase データベースにアクセスできない場合は、JRun のルート ディレクトリ/pointbase/databases ディレクトリに *.lck ファイルがあるかどうかを確認してください。*.lck ファイルは PointBase が異常終了した場合に生成されます。これらのファイルを削除できない場合は、次の手順を実行してください。