―BEA WebLogic Server編―
日本BEAシステムズ
プロフェッショナル・サービス
2001/4/21
Web Applicationのデプロイメント |
今回の内容
|
1.Web
Applicationのデプロイメント・ディスクリプタ 2.デプロイメント・ディスクリプタのテンプレート |
いよいよBEA WebLogic Server 6.0.1Jをメインに話を進めましょう。第3回目はWebLogic Server 6.0.1JにおけるWeb Applicationのデプロイメント・ディスクリプタを取り上げます。次回の記事でWeb ApplicationについてのTIPSを紹介する予定ですが、その前にデプロイメント・ディスクリプタのおさらいをしておきます。なお、本稿ではWeb Applicationとは何かといった説明や、Web ApplicationにおけるServletやJSPのデプロイ方法などの説明は割愛させていただきますのでご了承ください。
1.Web Applicationのデプロイメント・ディスクリプタ |
Web ApplicationではEJBと同様にXML形式のデプロイメント・ディスクリプタを使用します。WebLogicでは次の2つのファイルを使用します。
■web.xml
J2EE Servlet 2.2仕様に準拠したWeb Applicationのデプロイメント・ディスクリプタ。Web Applicationには必須のファイルです。設定する要素がまったくない場合でも、次のように空のルート要素を含むファイルが必要です。
<?xml version="1.0" ?> |
■weblogic.xml
web.xmlを補完/機能拡張するWebLogic独自のデプロイメント・ディスクリプタ。必要がなければファイル自身存在しなくても構いません。WebLogic
5.1ではweblogic.propertiesやweb.xmlで行っていたhttpdやWeb Applicationに関するWebLogic固有の設定はすべてweblogic.xmlに移行されました。
2.デプロイメント・ディスクリプタのテンプレート |
デプロイメント・ディスクリプタの構造は、Servlet 2.2の仕様書や、製品のlib/weblogic.jarにアーカイブされているweb-jar.dtdやweblogic-web-jar.dtdをご覧いただければ分かるのですが、DTD
は全体の構造を見渡す目的に適した情報源とはいえません。新たな要素を追加する際に、その順番や構成をDTDでいちいち確認するのも面倒です。そこで、要素の基本的な機能を一通り理解している方々向けに、2つのデプロイメント・ディスクリプタのテンプレートを提供させていただこうと思います。
これらのテンプレートでは、各デプロイメント・ディスクリプタで使用できるすべての要素をほぼ網羅していますので、不要な部分を適宜削除/コメントアウトしてご使用ください。用途や設定方法が分かりづらい要素に関してはコメントやbodyで情報を補足してあります。右側のコメントの“?、*、+”は要素の繰り返し回数を示しています。意味はDTDにおける繰り返し回数(occurs)と同じですが、念のため説明しておきます。
? | 0 回か 1 回だけ記述 (省略可) |
* | 0 回以上繰り返して記述 (省略可) |
+ | 1 回以上繰り返して記述 (省略不可) |
<description>は多くのタグの中で説明を記載する目的で使用できますが、このテンプレートでは一部を除いて省略しています。また、インデント幅は先頭だけ2文字分でそれ以降は4文字分です。
デプロイメント ディスクリプタ |
補足説明 |
|
●DOCTYPE 宣言 製品をインストールするとデフォルトの管理サーバ(Administration Server)のdefault web application が作成されます。このweb.xml (デフォルトでconfig/mydomain/applications/DefaultWebApp_myserver/ WEB-INF/web.xml)は、DOCTYPE 宣言の公開識別子が “-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN” となっていますが、このバージョン番号 “1.2” は“2.2”の誤りです。 ●servlet/JSP定義 ともに<servlet>で宣言します。テンプレートでは別々に記載していますが、両者の違いは <servlet-class>でservletのclassを指定するか、<jsp-file>でJSPのファイル名を指定するかだけです。JSP に関しては、初期化パラメータ<init-param>やURLのマッピング<servlet-mapping>などの設定が必要なければweb.xmlで宣言する必要はありません。 ●参照の定義 <security-role-ref>、<security-role>、<resource-ref>、<ejb-ref> は、servlet/JSP がロール、リソース、EJB を参照する際にコード内で使用する名前と、Web Application がデプロイされた環境における実体の名前(レルムやJNDIの登録名)とをマッピングするための仕組みを提供します。 デプロイメント・ディスクリプタでマッピングを行うことで、異なる環境にデプロイする際にコード内の参照名を変更する必要をなくすのが狙いです。なお、<resource-ref>では JDBCデータソースへの参照を定義することがほとんどだと思いますので、データソース用の記述を埋め込んであります。 ●セキュリティ設定 <security-constraint>、<login-config>、<security-role> に関しては、今後この連載の中で例を示して説明する予定です。 ●<taglib> カスタム・タグと <taglib> についても別の機会に解説する予定です。 |
weblogic.xml |
●<security-role-assignment> |
本稿に関するご質問やご意見は下記のメールアドレスまでお願いします。
|
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|