WebLogic Server 9.1 アプリケーションのデプロイメント
![]() |
![]() |
![]() |
![]() |
この付録では、WebLogic Server デプロイメント プランに関する追加情報を提供します。内容は以下のとおりです。
WebLogic Server デプロイメント プランは、アプリケーションを WebLogic Server へのデプロイ用にコンフィグレーションする任意の XML ファイルです。デプロイメント プランでは、WebLogic Server デプロイメント記述子で通常定義するようなプロパティ値を設定したり、WebLogic Server デプロイメント記述子で既に定義されているプロパティ値をオーバーライドしたりします。アプリケーションをエクスポートするときに、デプロイメント プランは通常、開発中に作成した WebLogic Server デプロイメント記述子内の選択されたプロパティをオーバーライドするよう機能します。
デプロイメント プランを使用すると、管理者はパッケージ化されている WebLogic Server デプロイメント記述子ファイルを変更することなく、アプリケーションの WebLogic Server コンフィグレーションを簡単に変更して、複数のさまざまな WebLogic Server 環境にデプロイできます。コンフィグレーションの変更は、変更する WebLogic Server 記述子プロパティの場所と、それらのプロパティに割り当てる値の双方を定義する、デプロイメント プラン内の変数を追加または変更することによって適用されます。アプリケーションをデプロイしている管理者は、デプロイメント プランを変更するだけで済みます。元のデプロイメント ファイルとデプロイメント記述子は、変更されないままです。
図 7-3 WebLogic Server デプロイメント プラン
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.bea.com/ns/weblogic/90"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wls="http://www.bea.com/ns/weblogic/90"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<xsd:import namespace="http://java.sun.com/xml/ns/j2ee"
schemaLocation="http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd" />
<xsd:element name="deployment-plan" type="wls:deployment-planType"/>
<xsd:complexType name="deployment-planType">
<xsd:sequence>
<xsd:element name="description"
type="xsd:string"
minOccurs="0"
nillable="true"/>
<xsd:element name="application-name"
type="xsd:string"/>
<xsd:element name="version"
type="xsd:string"
minOccurs="0"/>
<xsd:element name="variable-definition"
type="wls:variable-definitionType"
minOccurs="0" />
<xsd:element name="module-override"
type="wls:module-overrideType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="config-root"
type="xsd:string"
nillable="true"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="global-variables"
type="xsd:boolean"
use="optional"
default="false"/>
</xsd:complexType>
<xsd:complexType name="variable-definitionType">
<xsd:sequence>
<xsd:element name="variable"
type="wls:variableType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!--
単一の変数定義
-->
<xsd:complexType name="variableType">
<xsd:sequence>
<xsd:element name="name"
type="xsd:string"/>
<xsd:element name="value"
type="xsd:string"
minOccurs="0"
nillable="true"/>
<xsd:element name="description"
type="xsd:string"
minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!--
各変数の割り当てには、以下の要素がある
name: 変数を識別する
xpath : uri によって識別される記述子への有効な xpath。xpath は、複数の要素に解決される
description : 任意の説明
-->
<xsd:complexType name="variable-assignmentType">
<xsd:sequence>
<xsd:element name="description"
type="xsd:string"
minOccurs="0"/>
<xsd:element name="name"
type="xsd:string"/>
<xsd:element name="xpath"
type="j2ee:pathType"/>
<xsd:element name="operation" default="add" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="add"/>
<xsd:enumeration value="remove"/>
<xsd:enumeration value="replace"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="module-overrideType">
<xsd:sequence>
<xsd:element name="module-name"
type="xsd:string"/>
<xsd:element name="module-type"
type="xsd:string"/>
<xsd:element name="module-descriptor"
type="wls:module-descriptorType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="module-descriptorType">
<xsd:sequence>
<xsd:element name="root-element"
type="xsd:string"/>
<xsd:element name="uri"
type="j2ee:pathType"/>
<xsd:element name="variable-assignment"
type="wls:variable-assignmentType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="hash-code"
type="xsd:string"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="external"
type="xsd:boolean"
use="optional"
default="false"/>
</xsd:complexType>
</xsd:schema>
アプリケーションのデプロイメント コンフィグレーションは、アプリケーションのライフサイクルにおいて、いくつかの時点で行われる可能性があります。デプロイメント コンフィグレーションの各フェーズでは一般に、さまざまなデプロイメント ファイルの作成と処理が行われます。
注意 : WebLogic Server 開発環境の外部で開発されたアプリケーション (たとえばサンプル アプリケーション、または PetStore などサードパーティの J2EE アプリケーション) には、J2EE 記述子しか含まれていない場合があります。
デプロイメント コンフィグレーションは、アプリケーションのライフサイクルにおけるさまざまな時点で、さまざまな人間によって行われるため、管理者と開発者は互いに協力して、繰り返し実行できるコンフィグレーション ワークフローを組織のために作成する必要があります。詳細については、「一般的なデプロイメント コンフィグレーションのワークフロー」を参照してください。
管理者およびデプロイヤは通常、デプロイメント時またはアプリケーションのデプロイメント後にのみ、デプロイメント コンフィグレーションを実行します。これらの段階において、アプリケーションについて必要とされる追加のコンフィグレーションは、使用可能はコンフィグレーション ファイルによって異なります。「アプリケーションのデプロイメント コンフィグレーションの更新」を参照してください。
デプロイメント プランを使用すると、複数の WebLogic Server 環境にデプロイするためのアプリケーションのコンフィグレーションの、便利かつ繰り返し可能なワークフローを定義できます。プロダクション アプリケーションのためのコンフィグレーション ワークフローには、デプロイ可能なアプリケーションを作成およびパッケージ化する開発および設計チームと、各対象 WebLogic Server 環境の管理者またはデプロイヤとの間で協力が必要です。
組織のための理想的なコンフィグレーション ワークフローは、次の要素によって決まります。
以下の節では、デプロイメント プランの管理、および複数の WebLogic Server ドメインへのアプリケーションのデプロイのための一般的なデプロイメント コンフィグレーション ワークフローについて説明します。
さまざまなデプロイメント環境の正確なコンフィグレーションを理解している組織では、単一の精密に定義されたデプロイメント プランを使用して、アプリケーションを複数の WebLogic Server ドメインにデプロイできます。単一デプロイメント プランのコンフィグレーション ワークフローは、次のように機能します。
このフェーズでチームが作成するデプロイメント プランは、各対象環境ごとに異なると分かっているすべてのコンフィグレーション プロパティの変数を定義します。たとえばこのプランで、環境間で異なっており、アプリケーションがデプロイ可能になる前にコンフィグレーションが必要なリソース名のための空の変数を定義する場合があります。またこのプランでは、デプロイヤが環境において変更するかもしれない共通のチューニング パラメータのデフォルト値を定義することもあります。
開発中におけるデプロイメント プランの作成の詳細については、「新しい環境にデプロイするためのアプリケーションのエクスポート」を参照してください。
単一デプロイメント プランのワークフローを使用する利点は、次のとおりです。
全般に、単一デプロイメント プランのワークフローを使用するのは、組織における対象環境が少数かつ詳しく理解されており、各環境で標準化されたデプロイメント コンフィグレーションを簡単にレプリケートする必要がある場合です。
単一のデプロイメント プランのワークフローでは、開発または設計チームが、デプロイメント プランの所有権を保持しており、デプロイヤがプランに対して行える変更は、プラン内で定義される変数に限定されていることを前提としています。デプロイヤが、デプロイメント プランで定義されているプロパティのみを変更する場合、それらの変更は変数の更新として、同じデプロイメント プランに書き戻されます。
しかし、WebLogic Server では、デプロイヤが Administration Console を使用して変更できるコンフィグレーション プロパティに関しては、制限を設けていません。デプロイヤが、元来はプラン内で定義されていなかったデプロイメント プロパティをコンフィグレーションする場合、Administration Console は変数エントリが追加された新しいデプロイメント プランを生成し、その新しいプランを、デプロイメントまたは再デプロイメント操作に使用します。これによりデプロイヤが、開発チーム所有のマスター デプロイメント プランとは大幅に異なるデプロイメント プランを使用するという状況が生じる可能性があります。
マスター デプロイメント プランに新しく変更を組み込むには、デプロイヤは Administration Console によって作成された新しいカスタマイズされたデプロイメント プランを取得します。理想的には、これらの変更は、マスター デプロイメント プランに適用されます。
頻繁に変更される数多くのデプロイメント環境を有する組織では、複数のデプロイメント プランを備えるコンフィグレーション ワークフローを使用する必要があります。複数デプロイメント プランのワークフローでは、各デプロイメント プランは開発チームではなく、アプリケーションのデプロイヤが所有しています。複数デプロイメント プランのコンフィグレーション ワークフローは、次のように機能します。
カスタム デプロイメント プランの作成は、テンプレート デプロイメント プランから (またはデプロイメント プランなしで) 開始して、Administration Console を使用しアプリケーションのデプロイメント コンフィグレーションに対話形式による変更を加えることで行えます。Administration Console を使用して加えられた変更は、元のデプロイメント プランに書き戻されるか、またはアプリケーションの新しく生成されたデプロイメント プランに格納されます。
複数デプロイメント プランのワークフローを使用する利点は、次のとおりです。
全般に、複数デプロイメント プランのワークフローを使用するのは、組織におけるデプロイメント環境の数が多く、頻繁に変更されるために単一のマスター デプロイメント プランを維持することが困難または不可能である場合です。
複数デプロイメント プランのワークフローでは、デプロイヤまたは管理者 (プログラミングまたは設計チームではない) が、アプリケーションのデプロイメント コンフィグレーションを所有および維持することが前提となっています。また、アプリケーションの基本の J2EE コンフィグレーションは滅多に変更されないものと想定されています。これは、J2EE コンフィグレーションに、ある特定の変更が加えられるとデプロイヤのカスタム コンフィグレーション プランが無効になってしまうからです。たとえば、エンタープライズ アプリケーション内のモジュールが追加、削除、または変更された場合、そのモジュールを参照するカスタム デプロイメント プランは無効になります。この場合、各デプロイヤは Administration Console を使用してアプリケーションを対話形式によってコンフィグレーションすることで、カスタム プランを再作成する必要があります。
![]() |
![]() |
![]() |