Oracle® Fusion Middleware

Oracle Enterprise Data Qualityの管理

12c (12.2.1.2.0)

E88275-01(原本部品番号:E78147-02)

2016年10月

Oracle Enterprise Data Qualityの管理方法を説明します。

Oracle Fusion Middleware Oracle Enterprise Data Qualityの管理、12c (12.2.1.2.0)

E88275-01

Copyright © 2015, 2016 Oracle and/or its affiliates. All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアはさまざまな情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 起動タスクを実行するための自動実行の使用

- 1.1 自動実行について

- 1.2 自動実行処理の使用

- 1.3 自動実行スクリプトの使用

- 1.3.1 例

- 1.4 処理とルール・スキーマについて

- 1.4.1 処理スキーマについて

- 1.4.2 ルール・スキーマについて

2 EDQ電子メール通知の構成

- 2.1 SMTPを使用した電子メール通知の送信

- 2.2 WebLogic管理コンソールでの電子メール・セッションの構成

- 2.3 電子メールが構成されていることの確認

3 EDQケース管理の構成

- 3.1 拡張属性の理解と追加

- 3.1.1 デフォルトの拡張属性

- 3.1.2 新規拡張属性の追加

- 3.2 データ入力の検証の構成

- 3.2.1 事前定義リストの制限のチェック

- 3.2.2 正規表現の制限のチェック

- 3.3 ケース管理の構成プロパティの理解

4 EDQのパフォーマンスのチューニング

- 4.1 プロパティ・ファイルについて

- 4.2 バッチ処理のチューニング

- 4.3 リアルタイム処理のチューニング

- 4.3.1 リアルタイム・システムでのバッチ処理のチューニング

- 4.4 JVMパラメータのチューニング

- 4.4.1 最大ヒープ・メモリーの設定

- 4.5 データベース・パラメータのチューニング

- 4.6 クライアントのヒープ・サイズの調整

- 4.7 高速なジョブの設計: 一般的なパフォーマンス・オプション

- 4.7.1 データのストリームおよびステージングの無効化

- 4.7.2 結果の書込みの最小化

- 4.7.3 ソートとフィルタの無効化

- 4.7.4 リソース集中型プロセッサ

- 4.8 解析および照合のパフォーマンス・チューニング

- 4.8.1 独自プロセスへの解析および照合プロセッサの配置

- 4.8.2 解析のパフォーマンス・オプション

- 4.8.3 照合のパフォーマンス・オプション

- 4.8.3.1 クラスタリングの最適化

- 4.8.3.2 照合プロセッサのソート/フィルタ・オプションの無効化

- 4.8.3.3 出力の最小化

- 4.8.3.4 入力のストリーム

- 4.9 住所の検証のパフォーマンス・チューニング

- 4.10 プロセスが遅くなる要因(一般的な原因)

- 4.10.1 照合プロセッサの不十分な構成

- 4.10.2 不要なデータ・ストリームのマージ・プロセッサ

- 4.10.3 単一プロセスでの過剰な処理

- 4.10.4 コア・プロセッサが使用可能な場合のスクリプト・プロセッサの使用

- 4.10.5 照合プロセッサの不必要な使用

- 4.11 EDQのプラットフォームのチューニング

- 4.11.1 アプリケーション・サーバーおよびデータベース・リポジトリ

- 4.11.1.1 アプリケーション・サーバーおよびデータベース・リポジトリの相対的重要性

- 4.11.1.2 データベースのチューニング

- 4.11.2 プロセッサ・コアおよびプロセス・スレッド

- 4.11.2.1 プロセス・スレッド

5 EDQを監視するためのJMX拡張の使用

- 5.1 MXバインディングについて

- 5.2 JMX Beanネーミングについて

- 5.2.1 例の確認

- 5.3 リアルタイムプロセスの監視

- 5.3.1 リアルタイムWebサービスMBeansの監視

- 5.3.2 リアルタイムMBeansの監視

6 トリガーの使用

- 6.1 トリガー機能の概要

- 6.1.1 定義済トリガーについて

- 6.1.2 カスタム・トリガーについて

- 6.2 トリガーの使用に必要なスキル

- 6.3 トリガーの格納

- 6.4 スクリプト・トリガーAPIを使用したトリガーの構成

- 6.5 プロパティ・ファイルを使用したトリガーの構成の拡張

- 6.6 EDQトリガー・ポイントについて

- 6.7 TriggerInfoメソッドについて

- 6.8 トリガー・レベルの設定

- 6.9 トリガーでのJMSの使用

- 6.10 ジョブ構成のトリガーの公開

- 6.11 トリガーの例

7 EDQファイルへのリモートからのアクセス

- 7.1 FTPおよびSFTPサーバーを使用したEDQファイルへのアクセス

8 サード・パーティ・ライセンスの帰属

- 8.1 サード・パーティ・ライセンスの帰属

- 8.1.1 Apacheソフトウェア・ライセンス

- 8.1.2 GNU General Public License

はじめに

このドキュメントでは、Oracle Enterprise Data Qualityを管理および構成する方法について説明します。様々な管理タスクを実行して、デフォルトのEDQ構成を拡張できます。

対象読者

このドキュメントは、Oracle Enterprise Data Qualityをインストールするシステム管理者またはアプリケーション開発者を対象としています。主なEDQ概念、アプリケーション・サーバーおよびWebテクノロジの基本知識を持ち、Linux、UNIXおよびWindowsプラットフォームの一般知識を持っていることが前提です。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートを購入したオラクル社のお客様は、My Oracle Supportを介して電子的なサポートにアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

EDQの詳細は、Oracle Enterprise Data Qualityのドキュメント・セットにある次のドキュメントを参照してください: http://docs.oracle.com/middleware/12212/edq/index.html

EDQドキュメント・ライブラリ

次の刊行物がEDQのインストールおよび使用に役立てるために提供されます。

- 『Oracle Fusion Middleware Enterprise Data Qualityリリース・ノート』

- Oracle Fusion Middleware Enterprise Data Qualityのインストールと構成

- 『Oracle Fusion Middleware Enterprise Data Qualityの管理』

- 『Oracle Fusion Middleware Enterprise Data Qualityの理解』

- Oracle Fusion Middleware Enterprise Data Qualityの外部システムとの統合

- Oracle Fusion Middleware Enterprise Data Qualityの保護

- Oracle Enterprise Data Qualityアドレス検証サーバーのインストレーションおよびアップグレード・ガイド

- Oracle Enterprise Data Qualityアドレス検証サーバー・リリース・ノート

次の場所で、これらのガイドおよびすべてのOracle製品ドキュメントの最新バージョンを検索してください。

https://docs.oracle.com

オンライン・ヘルプ

オンライン・ヘルプは、すべてのOracle Enterprise Data Qualityユーザー・アプリケーションに提供されています。各アプリケーションで、[F1]キーを押すか、「ヘルプ」アイコンをクリックすることで表示できます。Directorプロジェクトのブラウザの主なノードには、ヘルプ・ページへの統合されたリンクが含まれています。それらにアクセスするには、ノードを選択して[F1]を押すか、またはプロジェクト・ブラウザでオブジェクトを右クリックして「ヘルプ」を選択します。Directorのツール・パレットのEDQプロセッサにも、統合されたヘルプ・トピックが含まれています。これにアクセスするには、キャンバスでプロセッサを右クリックして「プロセッサ・ヘルプ」を選択するか、キャンバスかツール・パレットでプロセッサを左クリックして[F1]を押します。

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 起動タスクを実行するための自動実行の使用

この章では、アプリケーション・サーバーの起動時にEDQがプロジェクトをロードしてジョブを実行できる、EDQの自動実行機能について説明します。自動実行機能の構成方法と自動実行機能を使用して実行できる処理タイプについて説明し、自動実行スクリプトの例を示します。

この章の内容は次のとおりです。

- 自動実行について

- 自動実行処理の使用

- 自動実行スクリプトの使用

- 処理とルール・スキーマについて

1.1 自動実行について

起動時に自動的に次のことを実行するようにEDQを構成できます。

- アプリケーション・サーバーの起動時に、ある範囲のタスクを実行できます。処理を構成する各タスクは、アプリケーション・サーバーが起動するたびに、またはアプリケーション・サーバーが次に実行するときに1度のみ実行するように構成することができます。

- EDQサーバーに保存されたパージ設定を上書きするパージ・ルールをロードおよび適用します。

自動実行処理を使用するには、XMLで記述された、タスクを指定する自動実行スクリプトを、EDQインストールの2つの特定のディレクトリのいずれかに配置します。

- startupディレクトリ: startupディレクトリのスクリプトは、EDQアプリケーション・サーバーが起動するたびに処理されます。

- onceonlyディレクトリ: onceonlyディレクトリのスクリプトは、EDQアプリケーション・サーバーが次に起動するときに処理され、その後、onceonly内のcompleteサブディレクトリに移動されます。completeディレクトリ内のスクリプトは、以降の起動時には処理されません。

アプリケーション・サーバーが起動するときに、EDQはonceonlyおよびstartupディレクトリで自動実行スクリプトをチェックし、存在するものを処理します。

startupおよびonceonlyディレクトリは、アプリケーション・サーバーのローカル構成ディレクトリoedq.local.homeのEDQ autorunディレクトリにあります。

1.2 自動実行処理の使用

様々な種類の自動実行処理がEDQでは可能で、それぞれにはその機能に特有のXML属性のセットが含まれます。処理タイプとその使用可能な属性は、自動実行ファイルXMLスキーマにより定義されます。第1.4項「処理とルール・スキーマについて」を参照してください。使用可能な処理を次の表に示します。

処理タイプ

処理の実行内容

httpget

Webサーバーからファイルをダウンロードします。

package

プロジェクトを.dxiファイルからサーバーへロードするか、またはサーバー上のプロジェクトを.dxiファイルに保存します。ノードが指定されていない場合、システム・レベル・コンポーネントを含むファイル全体の内容がサーバーにロードされます。

load

パージ・ルール構成ファイルなどのファイルをロードします。この処理は、startupディレクトリでのみ有効です。パージ・ルールをロードするためのRulesスキーマでのload処理の使用方法については、例1-0を参照してください。

runjob

ディレクタから既存のジョブを実行します。この処理で指定された実行プロファイルの実行ラベルは無視されます。(runopsjobを使用して実行ラベルに基づくジョブを実行します。)

runopsjob

EDQサーバー・コンソールから既存のジョブを実行し、実行ラベルを実行プロファイルに設定するか、またはrunlabel属性を使用して設定する必要があります。

dbscript

ディレクタ・データベースに対してデータベース・スクリプトを実行します。このような処理は、最大の注意を払って使用する必要があります。スクリプトが不適切に適用されると基礎となるデータベースが破損する可能性があるからです。

sleep

続行する前に指定した間隔待機します。

1.3 自動実行スクリプトの使用

自動実行スクリプトはXMLコードを含むファイルです。自動実行スクリプトの主な部分は、それぞれの処理が<chores>タグで囲まれた、処理のリストから構成されます。各処理は第1.2項「自動実行処理の使用」にリストされた自動実行処理のタイプのいずれかで、実行する処理を指定する属性のセットを含みます。使用可能な属性は選択した処理タイプによって異なります。

自動実行スクリプトを構成するために使用されるXMLスキーマは、すべて第1.4項「処理とルール・スキーマについて」に示されています

1.3.1 例

この項では、自動実行スクリプトの例をいくつか示します。

例1

次のXMLコードは、EDQに次のことを指示する自動実行スクリプトの例を示します。

- 23People.dxiファイルをダウンロードし、同じ名前で既存のファイルを上書きします。

- 23Peopleプロジェクトを23People.dxiファイルからインポートし、同じ名前で既存のプロジェクトを上書きします。

- rp1実行プロファイルで、23People Excel.23Peopleジョブを実行します。これはrunopsjob処理ではないので、プロファイルに指定した実行ラベルは無視されます。

<?xml version="1.0" encoding="UTF-8"?>
<chores version="1">
<!-- Get the dxi file -->
<httpget overwrite="true" todir="dxiland" tofile="23People.dxi">
<url>http://svn/repos/dev/trunk/benchmark/ benchmark/dxis/23People.dxi</url>
</httpget>
<!-- Import the project from the dxi -->
<package direction="in" dir="dxiland" file="23People.dxi" overwrite="true">
<node type="project" name="23People"/>
</package>
<!-- Run the jobs -->
<runjob project="23People" job="23People Excel.23People" runprofile="rp1"
waitforcompletion="true"/>
</chores>

例2

次のXMLコードは、runjobまたはrunopsjob処理を使用してジョブを実行する4つの方法を示す自動実行スクリプトの例を示します。

<?xml version="1.0" encoding="UTF-8"?>
<chores version="1">
<!-- runs a director job with no runlabel -->
<runjob project="merge" job="tester" waitforlocks="false"
waitforcompletion="false" runprofile="x"/>
<!-- runs an ops job with the runlabel from the runprofile -->
<runopsjob project="merge" job="tester" waitforlocks="false"
waitforcompletion="false" runprofile="x" />
<!-- runs an ops job with the runlabel from the runlabel attribute-->
<runopsjob project="merge" job="tester" waitforlocks="false"
waitforcompletion="false" runprofile="x" runlabel="chooseme" />
<!-- runs an ops job with the runlabel from the runlabel attribute-->
<runopsjob project="merge" job="tester" waitforlocks="false"
waitforcompletion="false" runlabel="onlychoice" />
</chores>

例3

次のXMLコードは、load処理を使用してパージ・ルールをロードする方法を示します。

<?xml version="1.0" encoding="UTF-8" ?>
<chores version="1">
<load file="purgerules.xml" dir="autorun" type="purgeRules" />
</chores>

次に、処理仕様にロードされたpurgerules.xmlファイル内のパージ・ルールを示します。

<?xml version="1.0" encoding="UTF-8" ?>
- <rules>
- <rule displayName="testa" enabled="true">
<purgePeriod period="1" unit="HOURS" />
<project>aa</project>
<job>12345</job>
<runlabelMatcher regex="false" runlabel="ABCD" />
</rule>
- <rule displayName="testb" enabled="true">
<purgePeriod period="1" unit="HOURS" />
<project>aa</project>
<job>ABCD</job>
<runlabelMatcher regex="true" runlabel="^\d{5}$" />
</rule>
- <rule displayName="testc" enabled="true">
<purgePeriod period="2" unit="HOURS" />
<project />
<job />
<runlabelMatcher regex="true" runlabel="TEST" />
</rule>
- <rule displayName="testd" enabled="true">
<purgePeriod period="3" unit="WEEKS" />
<project />
<job />
<runlabelMatcher regex="true" runlabel="TEST" />
</rule>
- <rule displayName="teste" enabled="false">
<purgePeriod period="999" unit="MONTHS" />
<project />
<job />
<runlabelMatcher regex="true" runlabel="^\d{5}$" />
</rule>
- <rule displayName="testf" enabled="true">
<purgePeriod period="1" unit="HOURS" />
<project />
<job />
<runlabelMatcher regex="true" runlabel="^\d{5}$" />
</rule>
- <rule displayName="testg" enabled="true">
<purgePeriod period="1" unit="DAYS" />
<project />
<job />
<runlabelMatcher regex="false" runlabel="ABCD" />
</rule>
</rules>

1.4 処理とルール・スキーマについて

この項では、処理とルールXMLスキーマを示します。

1.4.1 処理スキーマについて

このスキーマは、第1.2項で示した処理について説明します。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- Chores -->
<xs:element name="chores">
<xs:complexType>

<!--
List of chores that need to be performed.  The chores will be performed
in the order
specified in the xml file
-->
<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element name="httpget"     type="httpgetType"/>
<xs:element name="package"     type="packageType"/>
<xs:element name="runjob"      type="runjobType"/>
<xs:element name="runopsjob"   type="runopsjobType"/>
<xs:element name="dumpdb"      type="dumpdbType"/>
<xs:element name="dbscript"    type="dbScriptType"/>
<xs:element name="sleep"       type="sleepType"/>
<xs:element name="load"        type="loadType"/>
</xs:choice>

<!-- Schema version number -->
<xs:attribute name="version" type="xs:positiveInteger" use="required"/>

</xs:complexType>
</xs:element>

<!-- Base type for chores -->
<xs:complexType name="choreType">

<!-- Flag indicating whether we should wait for completion before moving
on to the next chore. -->
<xs:attribute name="waitforcompletion" type="xs:boolean"
use="optional" default="true"/>
</xs:complexType>

<!-- HTTP Get chore.  Download the specified urls. -->
<xs:complexType name="httpgetType">

<xs:complexContent>
<xs:extension base="choreType">

<xs:sequence minOccurs="1" maxOccurs="1">
<!-- URL to download. -->
<xs:element name="url" type="xs:string"/>
</xs:sequence>

<!-- Filename to download to. -->
<xs:attribute name="tofile" type="xs:string" use="required"/>

<!--
Directory to download the files to.
- relative path is relative to the config dir
- absolute path is used as is
- no path indicates the config dir
-->
<xs:attribute name="todir" type="xs:string" use="optional"/>

<!-- If true existing files are overwritten, otherwise download is
not performed. -->
<xs:attribute name="overwrite" type="xs:boolean" use="optional"
default="true"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<!-- dxi file control chore.  Import or export to/from a dxi file. -->
<xs:complexType name="packageType">

<xs:complexContent>
<xs:extension base="choreType">

<!-- List of root level nodes to import/export.
An empty list indicates 'all'. -->
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="packageNodeType"/>
</xs:sequence>

<!-- dxi filename. -->
<xs:attribute name="file" type="xs:string" use="required"/>

<!--
Directory that the dxi is in.
- relative path is relative to the config dir
- absolute path is used as is
- no path indicates the config dir
-->
<xs:attribute name="dir" type="xs:string" use="optional"/>

<!-- If true existing files/nodes are overwritten,
otherwise no operation. -->
<xs:attribute name="overwrite" type="xs:boolean"
use="optional" default="true"/>

<!-- Direction: in=import out=export -->
<xs:attribute name="direction" type="packageDirectionEnum"
use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<!-- Package node for import or export from/to a dxi. -->
<xs:complexType name="packageNodeType">

<!-- the type of the node to process -->
<xs:attribute name="type" type="nodeTypeEnum" use="required"/>

<!-- the name of the node to process -->
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>

<!-- db script control chore.  Runs db script against the configuration database. -->
<xs:complexType name="dbScriptType">

<xs:complexContent>
<xs:extension base="choreType">

<!-- db script filename. -->
<xs:attribute name="file" type="xs:string" use="required"/>

<!--
Directory that the db script is in.
- relative path is relative to the config dir
- absolute path is used as is
- no path indicates the config dir
-->
<xs:attribute name="dir" type="xs:string" use="optional"/>

<!-- The database to run the script against -->
<xs:attribute name="database" type="databaseEnum" use="required"/>

</xs:extension>
</xs:complexContent>
</xs:complexType>

<!-- Invoke named job chore.  Run a named job -->
<xs:complexType name="runjobType">
<xs:complexContent>
<xs:extension base="choreType">

<!-- Project name -->
<xs:attribute name="project" type="xs:string" use="required"/>

<!-- Job name -->
<xs:attribute name="job" type="xs:string" use="required"/>

<!-- Wait for locks flag - default to true -->
<xs:attribute name="waitforlocks" type="xs:boolean"
use="optional" default="true"/>

<!-- Optional run profile -->
<xs:attribute name="runprofile" type="xs:string" use="optional"/>

</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="runopsjobType">
<xs:complexContent>
<xs:extension base="runjobType">

<!-- Optional run label (will override run profile run label if set) -->
<xs:attribute name="runlabel" type="xs:string" use="optional"/>

</xs:extension>
</xs:complexContent>
</xs:complexType>

<!--
Dump the database.
-->
<xs:complexType name="dumpdbType">
<xs:complexContent>
<xs:extension base="choreType">

<!-- Output JMP file for config database -->
<xs:attribute name="configout" type="xs:string" use="required"/>

<!-- Output JMP file for results database -->
<xs:attribute name="resultsout" type="xs:string" use="required"/>

<!--
Directory that the JMP files are written to
- relative path is relative to the config dir
- absolute path is used as is
- no path indicates the config dir
-->
<xs:attribute name="dir" type="xs:string" use="optional"/>

<!--
TODO: Add some filtering to allow dumping of categories of data
e.g. staged data, results data, case management data, etc.
-->
</xs:extension>
</xs:complexContent>
</xs:complexType>

<!-- Load a certain file to do a certain thing. Eg change purge rules. -->
<xs:complexType name="loadType">
<xs:complexContent>
<xs:extension base="choreType">
<!-- type of action to run with file -->
<xs:attribute name="type" type="loadTypeEnum" use="required"/>

<!-- filename -->
<xs:attribute name="file" type="xs:string" use="required"/>

<!--
Directory that the file is in.
- relative path is relative to the config dir
- absolute path is used as is
- no path indicates the config dir
-->
<xs:attribute name="dir" type="xs:string" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<!--  Enumeration of databases  -->
<xs:simpleType name="databaseEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="director"/>
<xs:enumeration value="results"/>
</xs:restriction>
</xs:simpleType>

<!-- Enumeration of valid node types -->
<xs:simpleType name="nodeTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="project"/>
<!-- Probably need to do these sometime
<xs:enumeration value="resource"/>
<xs:enumeration value="datastore"/>
-->
</xs:restriction>
</xs:simpleType>

<!-- Enumeration of packaging direction. -->
<xs:simpleType name="packageDirectionEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="in"/>
<xs:enumeration value="out"/>
</xs:restriction>
</xs:simpleType>

<!-- Enumeration of types of things that can be loaded. -->
<xs:simpleType name="loadTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="purgeRules"/>
<!-- <xs:enumeration value="schedule"/> -->
</xs:restriction>
</xs:simpleType>

<!-- Sleep chore.  Wait for a while before doing other autorun stuff -->
<xs:complexType name="sleepType">

<xs:complexContent>
<xs:extension base="choreType">

<!-- seconds to wait. -->
<xs:attribute name="time" type="xs:integer" use="required"/>

</xs:extension>
</xs:complexContent>
</xs:complexType>

</xs:schema>

1.4.2 ルール・スキーマについて

この項では、EDQサーバーのパージ・ルールを指定するXMLスクリプトを構成する基礎を提供する、ルール・スキーマについて説明します。load処理を使用してEDQ起動時にスクリプトをロードします。

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- Common types -->
<!-- ============ -->
<xs:include schemaLocation="urn:commontypes.xsd"/>

<xs:element name="rules" type="rulesType">
<!-- Rule name must be unique -->
<xs:key name="rule.name">
<xs:selector xpath="rules/rule"/>
<xs:field    xpath="@name"/>
</xs:key>
</xs:element>

<!--  Rules  -->

<xs:complexType name="rulesType">
<xs:sequence>
<xs:element name="rule" type="ruleType" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>

<xs:attribute name="schemaversion" type="xs:positiveInteger"
use="optional" default="1"/>
</xs:complexType>

<xs:complexType name="ruleType">
<xs:sequence>
<xs:element name="purgePeriod"     type="periodType"   minOccurs="1"
maxOccurs="1"/>
<xs:element name="project"         type="xs:string"    minOccurs="0"
maxOccurs="1"/>
<xs:element name="job"             type="xs:string"    minOccurs="0"
maxOccurs="1"/>
<xs:element name="runlabelMatcher" type="runlabelType" minOccurs="0"
maxOccurs="1"/>
</xs:sequence>

<!-- name -->
<xs:attribute name="displayName"    type="xs:string"  use="required"/>
<!-- whether this rule should be applied -->
<xs:attribute name="enabled" type="xs:boolean" use="required"/>
</xs:complexType>

<!-- Runlabel -->

<xs:complexType name="runlabelType">
<xs:attribute name="regex"    type="xs:boolean" use="required"/>
<xs:attribute name="runlabel" type="xs:string"  use="required"/>
</xs:complexType>

<!-- Purge Period -->

<xs:complexType name="periodType">
<xs:attribute name="period" type="xs:int" use="optional"/>
<xs:attribute name="unit" type="periodUnitType" use="required"/>
</xs:complexType>

<!-- Purge Unit types -->

<xs:simpleType name="periodUnitType">
<xs:restriction base="xs:string">
<xs:enumeration value="IMMEDIATE"/>
<xs:enumeration value="HOURS"/>
<xs:enumeration value="DAYS"/>
<xs:enumeration value="WEEKS"/>
<xs:enumeration value="MONTHS"/>
<xs:enumeration value="NEVER"/>
</xs:restriction>
</xs:simpleType>

</xs:schema>

2 EDQ電子メール通知の構成

この章では様々な状況で電子メール通知を生成するようにEDQを構成する方法について説明します。

- SMTPを使用した電子メール通知の送信

- WebLogic管理コンソールでの電子メール・セッションの構成

- 電子メールが構成されていることの確認

EDQユーザーに電子メールを送信できるのは、関係する問題が作成または変更されたとき、ケース管理で関連するケースまたはアラートが追加または変更されたとき、または関連するジョブの実行が完了したときです。

2.1 SMTPを使用した電子メール通知の送信

電子メール通知を送信するには、EDQインストールのSimple Mail Transfer Protocol (SMTP)情報をmail.propertiesファイルに入力する必要があります。認証を要求するSMTPサーバーとともに動作するEDQの電子メール認証が、WebLogic資格証明ストアを通じてサポートされるようになりました。セッション・ユーザーの名前とパスワードとして、SMTPユーザーの名前とパスワードをプロパティ・リストに設定します。mail.propertiesファイルは、/oedq_home/notification/smtpに格納されます。

1. mail.propertiesファイルをedq_home/notification/smtpのインストール場所からローカルの構成ディレクトリ(デフォルトではoedq_local_home)のnotification/smtpサブディレクトリにコピーします。
/oedq_local_home/notification/smtp

このファイルは、標準のJava mail.propertiesファイル形式であり、JavaMail APIドキュメントWebサイト(https://javamail.java.net/nonav/docs/api/)に記載されています。

2. mail.propertiesファイルを次のように編集して、サイトのSMTPホストの名前を指定します。

enabled = true
mail.transport.protocol = smtp
mail.host = smtp.fully qualified domain name of mail host
mail.user = depends on client site
mail.password = depends on client site
from.address = edqserver@example.com

2.2 WebLogic管理コンソールでの電子メール・セッションの構成

WebLogicコンソールで電子メール・セッションの構成を作成して、電子メール通知を送信することもできます。その後、mail.propertiesファイルでJNDI名を通じてこれを参照できます。JNDIでアクセス可能なセッションを構成するには、http://docs.oracle.com/middleware/1221/wls/WLACH/taskhelp/mail/CreateMailSessions.htmlを参照してください。

session = JNDI name of session
from.address = edqserver@example.com
enabled = true

注意:
電子メール通知が適切に機能するには、from.addressプロパティに、使用するサイトの有効な電子メール形式を設定する必要があります。また、電子メール通知を受信する各ユーザーのプロファイルで、電子メール・アドレスが設定されている必要もあります。

2.3 電子メールが構成されていることの確認

電子メール通知が適切に動作しているかどうかを確認するには、ディレクタにテスト問題を作成して、構成済の電子メール・アドレスを持つユーザーに割り当てます。そのユーザーは、問題へのリンクが記入された電子メールを受信するはずです。

3 EDQケース管理の構成

この章では、ケース管理を使用するようにEDQを構成する方法について説明します。

この章の内容は次のとおりです。

- 拡張属性の理解と追加

- データ入力の検証の構成

- ケース管理の構成プロパティの理解

ケース管理では、データ品質処理の結果の手動での調査をサポートしています。ケース管理を使用すると、特権ユーザーは高度に構成可能なワークフローを使用した一致する結果の管理およびレビューが可能になります。

EDQサーバーで使用されるケース管理の拡張属性の完全なセットは、oedq_local_home/casemanagementディレクトリのflags.xmlファイルに構成されます。このファイルは新しい拡張属性を追加し、それらの属性の移入方法のルールを定義するように変更される必要があります。

追加のプロパティ・ファイルflags.propertiesはベースflags.xmlファイルを伴い、グラフィカル・ユーザー・インタフェース(GUI)に表示される、拡張属性用のラベルを指定します。このファイルの設定は、ISO 639-1言語コードで追加のプロパティ・ファイルを作成することにより、flags_en.properties (英語)やflags_de.properties (ドイツ語)などの、特定のクライアント言語に対し上書きすることができます。この言語コードについては、ISO Webサイト(http://www.iso.org/iso/home/standards/language_codes.htm)で説明されています。

Oracle Watchlist Screeningがインストールされている場合、これらのファイルはすでに存在する可能性があります。

ケース管理の公開を正しく動作させるには、ケース管理の管理アプリケーションを使用してケース・ソースをインポートするときに、必ずflags.xmlファイルを上書きします。これは、ケース・ソースではflags.xmlファイルの形式に依存があり、ケース・ソースが定義されたサーバーで行われるのと同じ方法で、フラグが索引付けされ、指定される必要があるからです。インポートの完了後に再度追加される必要のあるサーバー上のflags.xmlファイルに既存の拡張属性がある場合には、ケース・ソースのインポート前にファイルをバックアップすることをお薦めします。

3.1 拡張属性の理解と追加

この項では、様々なタイプの拡張属性と、ケース管理で使用するためにそれらを追加する方法について説明します。

3.1.1 デフォルトの拡張属性

最初のEDQインストールでは、flags.xmlファイルに次の2つの拡張属性(flag)の定義例が含まれています。

<f:flag index="1" label="%escalation" type="boolean" default="false" notnull="true"/>

<f:flag index="2" label="%priority.score" type="number" readonly="true"/>

注意:
これらのプロパティが各行に表示される順序は、この例とは一致しない場合があります。プロパティの順序は重要ではありません。また、Oracle Watchlist Screeningがインストールされている場合、flags.xmlファイルの内容は異なります。

3.1.2 新規拡張属性の追加

新しい拡張属性を追加するには、flags.xmlファイルで、既存の属性定義の直後に行を追加し、既存の行と同じ構文に従い、各プロパティに次の備考を使用します。

プロパティ

指定できる値

備考

index

整数

ファイルの各エントリに対して一意である必要があります

label

すべて

%文字は、UIのラベルがクライアント・ロケールに対するflags.propertiesファイルから取り出す必要があることを示すために使用されます。%文字が使用されていない場合、ラベルは常に(すべての言語で)示されたとおりです。

type

number、booleanまたはstring

列のデータ型を制御します。

readonly

trueまたはfalse

ケースまたはアラートの編集時に特権ユーザーが拡張属性の値を編集できるかどうかを制御します

notnull

trueまたはfalse

Null値が拡張属性で許可されるかどうかを制御します。これが定義されない場合、Null値は許可されます('false'設定と同じ)。

default

任意の許容される値

特定の値に設定されていない場合、拡張属性のデフォルト値を設定します。

'string'のタイプの拡張属性には80文字の文字制限があります。これよりも長い値は、値として挿入できません。

3.2 データ入力の検証の構成

拡張属性に対しユーザー指定のデータ形式を制限できます。この制限は、ユーザーがケース管理GUIで拡張属性を編集するとき、およびケース管理の管理のワークフロー・エディタで拡張属性に指定可能な値を定義するときにチェックされます。

この制限はケースおよびアラートがプロセスからケース管理に書き込まれるときにはチェックされないので、拡張属性に無効な値を書き込むことができます。無効な値は適切なエラー・メッセージとともにエラーで表示されます。この計画された動作は、不要なジョブの失敗からシステムを保護します。

制限はflags.xmlファイルの一部として定義されます。指定可能な制限には2つのタイプがあります。

- 事前定義リストは、書き込まれるデータが、指定可能な値を事前定義したリストでチェックされることを意味します。

- 正規表現は、書き込まれるデータが、正規表現でチェックされることを意味します。

3.2.1 事前定義リストの制限のチェック

拡張属性に入力される値が、指定可能な値の事前定義リストと一致することをチェックするには、XML要素を次の形式で拡張属性(flag)の定義の後に追加します。

<f:restrictions>
<f:predefined>
<f:value>first value</f:value>
<f:value>second value</f:value>
<f:value>third value</f:value>
</f:predefined>
</f:restrictions>
</f:flag>

たとえば、次のXMLフラグメントは、'active'および'inactive'の値のみが可能な、カスタムの'Status'拡張属性を定義します。

<f:flag index="6" label="Status" type="string" readonly="false">
<f:restrictions>
<f:predefined>
<f:value>active</f:value>
<f:value>inactive</f:value>
</f:predefined>
</f:restrictions>
</f:flag>

拡張属性は、「ケース管理」の「ケースの編集」(または「アラートの編集」)ダイアログに有効な値のリストとともに表示されます。

ヒント:
この場合、ユーザーはStatusフィールドにNull値を指定できます('notnull'条件は設定できなかったため)。

3.2.2 正規表現の制限のチェック

拡張属性に入力される値が、正規表現と一致することをチェックするには、XML要素を次の形式で拡張属性(flag)の定義の後に追加します。

<f:restrictions>
<f:regex ignorecase="false" matchby="w">
<f:value></f:value>
</f:regex>
</f:restrictions>

ここで、valueプロパティは正規表現を定義し、ignorecaseおよびmatchbyプロパティは一致方法を定義します。matchby条件の指定可能な値は次のとおりです。

値

説明

w

WHOLE - すべての値が正規表現と一致する必要があります。

s

STARTS - 値の最初が正規表現と一致する必要があります。

e

ENDS - 値の最後が正規表現と一致する必要があります。

c

CONTAINS - 値に正規表現と一致する文字列が含まれる必要があります。

たとえば、次のXMLフラグメントは、NN-NN-NNN (2桁、ハイフン、2桁、ハイフン、3桁)形式の値のみが可能な、カスタムの'National ID'拡張属性を定義します。

<f:flag index="7" label="National ID" type="string" readonly="false" notnull="true">
<f:restrictions>
<f:regex ignorecase="false" matchby="w">
<f:value>\d{2}-\d{2}-\d{3}</f:value>
</f:regex>
</f:restrictions>
</f:flag>

次に、ユーザーが正規表現と一致しない値を追加しようとしたときに表示されるエラー・メッセージを示します。

errormessage属性を使用してこのエラー・メッセージをカスタマイズすることもできます。エラー・メッセージとして表示する単純なテキスト文字列を入力することも、パーセント(%)記号で文字列を開始して、アプリケーションによりflags.propertiesファイルでローカライズされた値を探すこともできます。

たとえば、次のXMLフラグメントは、エラーが発生したときに、e1.messageエラー・メッセージをflags.propertiesファイルから取得します。

<f:restrictions><f:regex ignorecase="false" matchby="w" errormessage="%e1.message"><f:value>\d{3}-\d{2}-\d{4}</f:value></f:regex></f:restrictions>

3.3 ケース管理の構成プロパティの理解

この項では、ケース管理の構成に使用されるdirector.propertiesの主要なパラメータを示します。

パラメータ

Description0

case.management.fail.on.long.flags

このプロパティは、80文字を超えるフラグ値が生成された場合のケース管理の動作を制御します。このプロパティにtrueを設定すると、そのプロセスはエラーを生成して停止します。falseを設定すると、長いフラグ値が切り捨てられ、警告がログ・ファイルに書き込まれます。このプロパティはデフォルトでfalseに設定されています。

cm.index.queue.limit

このプロパティは、索引キュー制限の最大サイズを制御します。

index.directory

このプロパティでは、Lucene索引ディレクトリの絶対パスを構成できます。デフォルトでは、索引ディレクトリは必ずlocalhomeディレクトリに作成されます。場合によっては、このディレクトリが非常に大きくなる可能性があるため、別の場所に格納することで、ディスク領域を管理しやすくなります。

4 EDQのパフォーマンスのチューニング

この章では、EDQシステムのパフォーマンスを最適化するために使用できるサーバーのプロパティについて、およびそのプロパティの様々な環境での構成方法について説明します。

内容は次のとおりです。

- プロパティ・ファイルの理解

- バッチ処理のチューニング

- リアルタイム処理のチューニング

- JVMパラメータのチューニング

- データベース・パラメータのチューニング

- クライアントのヒープ・サイズの調整

- 高速なジョブの設計: 一般的なパフォーマンス・オプション

- 解析および照合のパフォーマンス・チューニング

- 住所の検証のパフォーマンス・チューニング

- プロセスが遅くなる要因(一般的な原因)

- EDQのプラットフォームのチューニング

EDQには、システムの様々な側面を構成するために使用される多くのプロパティがあります。これらのうち比較的少数がシステムのパフォーマンス特性の制御に使用されます。

EDQでのパフォーマンス・チューニングは多くの場合CPUコアという言葉で説明されます。この章では、これはRuntime.availableProcessors()メソッドへのコールにより返される、Java仮想マシンによりレポートされるCPUの数のことです。

4.1 プロパティ・ファイルについて

チューニング制御はdirector.propertiesファイル内のプロパティとして公開されます。このファイルはoedq_local_home構成ディレクトリにあります。

注意:
ほとんどの場合、これらのプロパティをチューニングする必要はなく、そのデフォルト設定は、できるかぎり多くの使用可能なハードウェアを利用することを目的としています(通常、これは最適なパフォーマンスを得ることに適しています)。通常は、EDQエキスパートから指示があった場合にのみ、これらのプロパティを変更してください。
多くの使用例では、これらの設定に16を超える値を指定してもパフォーマンス上のメリットはほとんどないため、そのような設定は、EDQを非常に大規模なサーバーにデプロイする場合に行うことをお薦めします。たとえば、およそ70個の論理CPUが使用可能な単一のExaLogicノードにおいて、それぞれ最大16スレッドが実行される複数のEDQ管理対象サーバー(必要に応じてクラスタ内のもの)は、通常、制約のない単一サーバーより全体的なパフォーマンスに優れています。

最も重要なチューニング・プロパティは、次のとおりです。

runtime.threads

このプロパティは、起動された各バッチ・ジョブに使用されるスレッドの数を決定します。このプロパティのデフォルト値はゼロで、これは使用可能な各CPUコアに対しシステムが1スレッドを開始することを意味します。このプロパティの値にゼロ以外の正の整数を指定して、スレッドの数を明示的に指定できます。たとえば、各バッチ・プロセスに合計で4スレッドを開始する場合は、runtime.threadsを4に設定します。

runtime.intervalthreads

このプロパティは、間隔モードで実行中に各プロセスで使用されるスレッドの数を決定します。これは、同時に処理できるリクエストの数も定義します。デフォルトの動作では、間隔モードで実行中の各プロセスに対し1スレッドが実行します。

workunitexecutor. outputThreads

このプロパティは、データの結果データベースへの書込みに使用されるスレッドの数を決定します。これらのスレッドはシステム全体の結果および出力データのキューにサービスを提供するので、システムで実行しているすべてのプロセスで共有されます。このプロパティのデフォルト値はゼロで、これは使用可能な各CPUコアに対しシステムが1出力を使用することを意味します。このプロパティの値にゼロ以外の正の整数を指定して、出力スレッドの数を明示的に指定できます。たとえば、各バッチ・プロセスに合計で4スレッドを使用する場合は、workunitexecutor.outputThreadsを4に設定します。

4.2 バッチ処理のチューニング

EDQで提供されるデフォルトのチューニング設定は、バッチ処理で主に使用されるほとんどのシステムで適切です。すべての使用可能なコアを使用するジョブの実行時は、十分なスレッドが開始されます。複数のジョブが開始される場合、オペレーティング・システムはコア間の効率的な共有のために作業をスケジューリングできます。オペレーティング・システムがこれらの種類のワークロードのスケジューリングを実行できるようにするのがベスト・プラクティスです。

4.3 リアルタイム処理のチューニング

本番システムが大量のリアルタイム処理に使用されている場合、リアルタイムのレスポンスがクリティカルでなくなるまで、同時バッチおよびリアルタイム処理に使用しないでください。一般的に、リアルタイム処理のデータを準備するために必要なバッチ・パフォーマンスの部分のみを実行することをお薦めします(たとえば、リアルタイム参照データ照合の参照データの準備など)。

4.3.1 リアルタイム・システムでのバッチ処理のチューニング

バッチ処理をリアルタイム処理に使用されているシステムで実行する必要がある場合、スケジュールされているメンテナンス期間など、リアルタイム・プロセスが停止しているときにバッチ作業を実行することがベスト・プラクティスです。この場合、runtime.threadsはデフォルト設定が適しています。リアルタイム・サービスが実行している間にバッチ処理を実行する必要がある場合、runtime.threadsの値を、コアの合計数よりも小さく設定します。バッチ・プロセスで開始されるスレッドの数を削減することにより、これらのプロセスが実行時に使用可能なすべてのコアに負荷をかけるのを防ぎます。バッチが実行中に到着するリアルタイム・サービス・リクエストは、CPU時間をめぐってそれと競合することはありません。

4.4 JVMパラメータのチューニング

JVMパラメータはEDQのインストール中に構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Enterprise Data Qualityのインストールと構成』のEnterprise Data Qualityをサポートするサーバー・パラメータの設定に関する項を参照してください。パフォーマンスを改善するためにこれらのパラメータをインストール後にチューニングする必要が生じた場合、この項の手順に従います。

注意:
この項のすべての推奨事項はJava HotSpot仮想マシンを使用するEDQインストールに基づきます。実装の性質により、これらの推奨事項は他のJVMにも適用されることがあります。

4.4.1 最大ヒープ・メモリーの設定

OutOfMemoryエラー・メッセージがログ・ファイルに記録された場合、最大ヒープ領域パラメータの-Xmxを増加する必要があります。ほとんどの場合、8GBの値で十分です。しかし、大規模なEDQインストールでは、より大きな最大ヒープ・サイズが必要になるので、-Xmxパラメータをサーバー・メモリーの半分の値に設定することが、通常は推奨されます。

4.5 データベース・パラメータのチューニング

EDQ内でのパフォーマンス・チューニングに関する最も重大なデータベース・チューニング・パラメータはworkunitexecutor.outputThreadsです。このパラメータは、結果データおよびステージング済データの結果データベースへの書込みに使用されるスレッドの数、よってデータベース接続の数を決定します。アプリケーション・サーバーで実行中のすべてのプロセスはこのスレッドのプールを共有するので、特定の環境では処理がI/Oバウンドになるリスクがあります。CPUの使用率と比較して特にI/O集中になっているプロセスがあり、データベース・マシンがEDQアプリケーション・サーバーをホストしているマシンよりもより強力な場合、workunitexecutor.outputThreadsの値を増加することが適切な場合があります。追加のデータベース・スレッドはデータベースへのより多くの接続を使用し、データベースにより多くの負荷をかけます。

4.6 クライアントのヒープ・サイズの調整

特定の状況下では、クライアントのヒープ・サイズの問題が発生することがあります。次に例を示します。

- 大規模なデータをクライアント側のExcelファイルにエクスポートしようとした場合。

- 多数のグループがある場合に一致レビューを開いた場合。

EDQでは、クライアントのヒープ・サイズの調整にblueprints.propertiesファイルのプロパティを使用できます。

すべてのJava Web Startクライアント・アプリケーションのデフォルトの最大クライアント・ヒープ領域を2倍にするには、EDQサーバーのlocal構成ディレクトリでblueprints.propertiesファイルを作成(すでに存在する場合は編集)します。EDQ構成ディレクトリの詳細は、Oracle Enterprise Data QualityのインストールのEDQディレクトリの要件に関する項を参照してください。

次の行を追加します。

*.jvm.memory = 512m

注意:
この値を大きくすると、すべての接続クライアントでヒープ・サイズが512MBに変更されることになります。これに付随して、他のアプリケーションが使用中の場合に、クライアントのパフォーマンスにその影響が及ぶことがあります。

特定アプリケーションのヒープ・サイズを調整するには、アスタリスク(*)を次のリストに示すクライアント・アプリケーションのブループリント名に置き換えます。

- director - (ディレクタ)

- matchreviewoverview - (一致レビュー)

- casemanager - (ケース管理)

- casemanageradmin - (ケース管理の管理)

- opsui - (サーバー・コンソール)

- diff - (構成分析)

- issues - (問題マネージャ)

たとえば、ディレクタの最大クライアント・ヒープ領域を2倍にするには、次の行を追加します。

director.jvm.memory = 512m

複数のアプリケーションのクライアント・ヒープ領域を2倍にするには、単にこのプロパティを繰り返します。たとえば、ディレクタと一致レビューについては、次のようになります。

director.jvm.memory = 512m

matchreviewoverview.jvm.memory = 512m

4.7 高速なジョブの設計: 一般的なパフォーマンス・オプション

パフォーマンスを最大化するために、4つの一般的な技術を使用できます。

この項には、次の項目が含まれます。

4.7.1 データのストリームおよびステージングの無効化

インポートしたデータをEDQリポジトリ・データベースにステージングするかわりに(またはそれと同時に)、プロセスに直接ストリームするジョブを開発できます。ジョブで使用できるスレッドがごく少数である場合、そのジョブにデータをストリームすると、データをより迅速に処理できる可能性があります。その理由は、インポートしたデータのステージングをバイパスすると、ジョブのI/O負荷が減少するためです。実際のジョブの技術要件およびビジネス要件と、使用できるリソースに応じて、データをストリームするか、データをステージングしてストリームすることで、パフォーマンスを向上できます。ただし、ジョブで多数のスレッドを使用できる場合、最初からすべてを使用できるようにデータのスナップショットを作成すると、より迅速に実行できる可能性があります。誤解を避けるために言えば、データは、ステージングの有無にかかわらずジョブにストリームできます。ただし、データをストリームしない場合、インポートしたデータのステージングを無効にすることはできません。インポートしたデータをプロセスまたはプロセス・チェーンに対してステージングなしで直接ストリームするジョブは、パイプとして動作し、データ・ストアからレコードを直接読み取り、データ・ターゲットにレコードを書き込みます。

構成

データをプロセスにストリームするには、次のようにします。

- ジョブを作成します。

- ジョブの同じフェーズ内にタスクとしてスナップショットとプロセスの両方を追加し、スナップショットがプロセスに直接接続していることを確認します。

追加で、インポートしたデータのEDQリポジトリへのステージングを無効化するには、次のようにします。

- ジョブ内のスナップショットを右クリックして、「タスクの構成」または「コネクタの構成」を選択します。

- 「タスクの構成」ダイアログ・ボックス内で、「データのステージング」チェック・ボックスを選択解除します。

注意: レコード選択基準(スナップショットのフィルタまたはサンプリングのオプション)は、データのストリーム時にも適用されます。

エクスポートをストリームするには、次のようにします。

- データ・インタフェースに書き込むライターで終了するプロセスを作成します。

- 同じデータ・インタフェースから読み取るエクスポートを作成します。

- ジョブ内で、ジョブの同じフェーズのタスクとしてプロセスおよびエクスポートを追加します。

- データ・インタフェースに書き込むプロセスがエクスポートに直接接続していることを確認します。

前述のようにEDQを構成した場合、デフォルトで、データはリポジトリにステージングされません。その理由は、ステージング済データのセットを指し示すデータ・インタフェース出力マッピングを選択していないためです。

エクスポートするデータのステージングを有効にする場合、次のようにします。

- ステージング済データのセットを指し示すデータ・インタフェース・マッピングを作成します。

- ジョブ内のプロセスを右クリックして、「タスクの構成」または「コネクタの構成」を選択します。

- 「タスクの構成」ダイアログで、「ライター」タブに移動します。

- ライターの横にある「有効」チェック・ボックスを選択します(デフォルトで選択されています)。

- ステージング済データのセットを指し示すデータ・インタフェース・マッピングを選択します。

データをステージングする場合とステージングを無効にする場合

プロセスの設計時には、スナップショットを介してEDQリポジトリにステージングされたデータに対して頻繁にプロセスを実行します。ステージングなしでのジョブへのデータのストリームは、次の場合に適切です。

- 本番環境に対処する場合。

- 処理するレコードの数が多い場合。

- 常にソース・システムから最新のレコードを使用する場合。

ただし、ステージングなしのスナップショットのストリームは、常に最速または最適なオプションであるとはかぎりません。同じデータのセットで複数のプロセスを実行する必要がある場合や、ステージング済データを参照する必要がある場合、ジョブの最初のタスクとしてスナップショットを介してデータをステージングし、その後で依存プロセスを実行する方が効率的です。ジョブに使用可能な多数のスレッドがある場合、すべてのデータを最初にステージングすると、より迅速に実行できる可能性があります。また、スナップショットのソース・システムが有効である場合、状況によっては、ソース・システムに対する影響が最小化されるようにフェーズ単独でスナップショットを実行すると最も効果的です。この場合、ストリームを実行するには、同じジョブ・フェーズ内でスナップショットとプロセスが相互に直接接続される必要があるため、データはプロセスにストリームされません。

誤解を避けるために言えば、プロセスがスナップショットに直接接続されていると、データは、リポジトリにステージングされているかどうかにかかわらず(「データのステージング」チェック・ボックスにより決定)、そのプロセスに常にストリームされます。データをEDQにストリームして同時にステージングもするアプローチは、状況によっては効率的です(データをジョブで後から再度使用する場合など)。

エクスポートのストリーム

ステージング済データのセットのエクスポートが、ステージング済データを書き込むプロセスの後に同じジョブで実行されるように構成されている場合、エクスポートは、レコードがリポジトリにステージングされるかどうかにかかわらず、処理時に常にレコードを書き込みます。ただし、ターゲットのみにデータをストリームするようにステージングを無効化すると、パフォーマンスが多少向上する可能性があります。

次の場合に出力データのステージングを無効にできます。

- デプロイされたデータのクレンジング・ジョブが目的の場合。

- アプリケーション間で共有される外部ステージング・データベースに書き込む場合。(たとえば、より大規模なETLプロセスの一環としてデータ品質ジョブを実行し、外部ステージング・データベースを使用してEDQとETLツール間でデータを渡す場合など。)

4.7.2 結果の書込みの最小化

結果の書込みを最小化すると、EDQがプロセスからリポジトリに書き込む結果のドリルダウンのデータ量が減少し、I/Oも節約できます。

EDQの各プロセスは、3つの結果のドリルダウン・モードのいずれかで実行されます。

- すべて(プロセスのすべてのレコードがドリルダウンに書き込まれます)

- サンプル(レコードのサンプルがドリルダウンの各レベルに書き込まれます)

- なし(メトリックのみが書き込まれ、ドリルダウンは使用できません)
「すべて」モードは、すべての処理ポイントのプロセスですべてのレコードが完全にトラッキングされるため、少量のデータに対してのみ使用する必要があります。このモードは、小規模なデータ・セットを処理する場合や、少数のレコードを使用して複雑なプロセスをデバッグする場合に役立ちます。

「サンプル」モードは、ドリルダウンごとに限定された数のレコードが書き込まれるため、大量のデータに向いています。システム管理者は、ドリルダウンごとに書き込むレコードの数(デフォルトでは1000個のレコード)を設定できます。「サンプル」モードは、ディレクタのユーザー・インタフェースから対話的にプロセスを実行する場合のデフォルトです。

「なし」モードは、ユーザーが結果との対話を必要としない本番環境で実行されるテスト済プロセスのパフォーマンスを最大化する場合に使用する必要があります。「なし」は、ジョブ内でプロセスを実行する場合のデフォルトです。

プロセスの実行時に結果のドリルダウン・モードを変更するには、「実行プリファレンス」画面を使用するか、ジョブを作成してからプロセス・タスクをダブルクリックしてそれを構成します。

たとえば、次のプロセスは、ジョブを介して本番環境にデプロイする場合にドリルダウン結果を書き込まないように構成されています(これは、ジョブ内でプロセスを実行する場合のデフォルトです)。

実行ラベルの影響

サーバー・コンソールのユーザー・インタフェースまたはコマンドラインから実行ラベル付きで実行されるジョブでは、結果のドリルダウンは生成されないことに注意してください。

4.7.3 ソートとフィルタの無効化

大量のデータを処理する場合、ユーザーが結果ブラウザでデータをソートおよびフィルタできるようにスナップショットとステージング済データを索引付けする際に、時間がかかる可能性があります。多くの場合、このソートおよびフィルタ機能は不要であるか、少量のデータ・サンプルを処理する場合にのみ必要です。

システムでは、少量のデータ・セットを処理する場合にソートとフィルタを有効にし、大量のデータ・セットに対してはソートとフィルタを無効にするインテリジェント・ソートおよびフィルタが適用されます。ただし、少量のデータ・セットを複数処理する際に最大限のスループットを実現する場合などには、これらの設定をオーバーライドできます。

スナップショットのソート/フィルタ・オプション

スナップショット作成時のデフォルト設定では、「インテリジェント・ソート/フィルタリングの使用」オプションが選択されており、システムでは、スナップショットのサイズに基づいてソートとフィルタを有効にするかどうかを決定します。

ただし、ユーザーが結果ブラウザでスナップショットに基づく結果をソートまたはフィルタする必要がない場合、またはユーザーが必要となった時点でのみソートまたはフィルタを有効にする場合、スナップショットを追加または編集するときにそのソートとフィルタを無効にできます。

これを行うには、スナップショットを編集し、3番目の画面(「列選択」)で「インテリジェント・ソート/フィルタリングの使用」オプションの選択を解除して、「ソート/フィルタ」列のすべての列を選択解除したままにします。

または、ソートとフィルタが、使用可能な列の部分選択のみで必要であることがわかっている場合、チェック・ボックスを使用して適切な列を選択します。パフォーマンスを向上するには、ルックアップと戻りプロセッサによりルックアップ列として使用されるすべての列に索引を作成する必要があることに注意してください。ソートとフィルタを無効にすると、ソートとフィルタを有効にする追加タスクがスキップされるため、スナップショットの合計処理時間が短縮されます。ユーザーが、有効になっていない列に基づいて結果をソートまたはフィルタしようとすると、その時点でそれを有効にするためのオプションが提示されます。

ステージング済データのソート/フィルタ・オプション

ステージング済データがプロセスによって書き込まれる場合、サーバーは、デフォルトでデータのソートまたはフィルタを有効にしません。そのため、デフォルト設定はパフォーマンスのために最適化されています。

書き込まれたステージング済データのソートまたはフィルタを有効にする必要がある場合(たとえば、書き込まれたステージング済データが、対話的なデータ・ドリルダウンを必要とする別のプロセスによって読み取られるため)、ステージング済データの定義を編集してこれを有効にし、インテリジェント・ソート/フィルタ・オプションを適用するか(ソートとフィルタを有効にするかどうかは、ステージング済データ表のサイズに基づいて決定されます)、または選択した列を対象として有効にできます(次を参照してください)。

照合プロセッサのソート/フィルタ・オプション

照合の出力に対して、ソート/フィルタ有効化オプションを設定することが可能です。

注意:
これは、一致レビューUIを使用して照合処理の結果を確認する場合にのみ有効にする必要があります。

4.7.4 リソース集中型プロセッサ

次のプロセッサは、作業の前に処理対象のデータをすべてEDQリポジトリに書き込む必要があるため、リソースを集中的に使用します。

- クイック統計プロファイラ

- レコード重複プロファイラ

- 重複チェック

- すべての照合プロセッサ

- グループとマージ

- フレーズ・プロファイラ

- データ・ストリームのマージ

注意:
このプロセッサは、個々のリーダーからレコードをマージする場合にのみ使用する必要があります。同じリーダーの複数のパスを接続する場合に使用する必要はありません。

次のプロセッサは、レコード単位で動作しますが、同様にリソースを集中的に使用します。

- 解析

注意:
この解析プロセッサのパフォーマンスは、その構成に大きく依存し、高速にも低速にもなります。

- 住所の検証

これらのリソース集中型プロセッサを1つ以上使用する必要のある状況が明らかに存在します。たとえば、重複除外プロセスでは、照合プロセッサが必要です。ただし、最適なパフォーマンスが要求される場合は、可能なかぎりその使用を避けてください。解析および住所の検証の各照合プロセッサをチューニングする方法の具体的なガイダンスは、次の項を参照してください。

4.8 解析および照合のパフォーマンス・チューニング

解析と照合の場合、各プロセッサには多くの処理ステージがあるため、個々のプロセッサによって大量の作業が実行されます。このような場合、プロセッサ・レベルでパフォーマンスを最適化するためのオプションを使用できます。

データを解析または照合する際にパフォーマンスを最大化する方法の詳細は、次の項を参照してください。

4.8.1 独自プロセスへの解析および照合プロセッサの配置

解析と照合は、両方とも本質的にリソース集中型であり、実行に時間がかかる可能性があります。この理由から、解析および照合プロセッサは、独自のプロセスに配置する(または、ごく少数の他のプロセッサとともに使用する)ことをお薦めします。これにより、処理を分離してそのパフォーマンスを正確に測定できるため、チューニングが容易になります。

4.8.2 解析のパフォーマンス・オプション

デフォルトでは、解析プロセッサは「解析とプロファイル」モードで動作します。この場合、パーサーによって「トークン・チェック」および「未分類のトークン」結果ビューが出力されるため、構成の際に便利です。これらは、解析ルールを定義する場合に役立ちます。ただし、本番環境では、解析プロセッサによって最大限のパフォーマンスが要求される場合、「解析とプロファイル」モードではなく「解析」モードで実行する必要があります。パーサーの実行モードを変更するには、その「拡張オプション」リンクをクリックし、「オプション」ダイアログ・ボックスで実行モードを設定します。

解析プロセッサからメトリックとデータの出力のみが要求される場合にさらにパフォーマンスを向上するには、パーサーを含むプロセスをドリルダウンなしで実行できます(前述の「結果の書込みの最小化」を参照)。

解析の構成を繰り返し設計する際に高速なドリルダウンが必要な場合、通常は、少量のデータを処理するのが最適です。解析プロセッサの構成によって、指定した入力レコードの様々なパターンが複数生成される場合(たとえば、多くの分類および再分類ルールがある場合)、結果を変更することなく「パターン制限」オプションを使用して生成されるパターンの数を削減する(たとえば8にする)ことで、パフォーマンスが向上する可能性があります。このオプションを変更する場合、変更の前後で解析結果の変動をテストする必要があります。

4.8.3 照合のパフォーマンス・オプション

次の方法を使用して、照合のパフォーマンスを最大化できる可能性があります。

4.8.3.1 クラスタリングの最適化

照合のパフォーマンスは、照合プロセッサの構成に大きく依存しており、さらにその構成は照合プロセスに関連するデータの特性に依存します。適切な構成の最も重要な要素は、照合プロセッサのクラスタ化の構成です。

一般的には、できるかぎり多くの潜在的な一致を検出しながら、一致する可能性の低いレコード間での冗長な比較を実行しないようにして、その両者の間でバランスを取ることになります。適切なバランスを見つけるには、トライアル・アンド・エラーが必要で、たとえば、(クラスタ・キーで使用する識別子の文字を少なくするなどして)クラスタを拡張した場合、(クラスタ・キーで使用する識別子の文字を多くするなどして)クラスタを縮小した場合、またはクラスタの追加や削除を行った場合でそれぞれの一致統計の違いを評価します。

次の2つの一般的なガイドラインが役に立ちます。

- 適切に移入された多数の識別子を持つデータ(住所に加え電子メール・アドレスや電話番号といった連絡先の詳細を含む顧客データなど)を処理する場合、単一のクラスタを拡張するのではなく複数のクラスタを使用して、100万のレコードごとに最大サイズが20となるクラスタと、一部の識別子のカウンタの希薄化を目標としてください。

- 少数の識別子を持つデータを処理する場合(たとえば、名前とおおよその場所に基づいて個人やエンティティの照合のみを行う場合)、必然的に拡張されたクラスタを使用することになります。この場合、使用可能なデータを使用してクラスタを圧縮できるように、できるかぎり実際に保持している識別子で入力データを標準化、拡張および訂正することを目標としてください。この場合、可能であれば最大サイズが約500レコードとなるクラスタを引き続き目標とします(クラスタ内のすべてのレコードをクラスタ内の他のすべてのレコードと比較する必要があるため、500レコードの単一クラスタでは、500 x 499 = 249500回の比較が実行されることに留意してください)。

4.8.3.2 照合プロセッサのソート/フィルタ・オプションの無効化

デフォルトでは、ユーザー・レビューに使用できるように、すべての照合結果でソート、フィルタおよび検索が有効になっています。ただし、大規模なデータ・セットでは、ソート、フィルタおよび検索を有効にするために必要な索引作成プロセスは、非常に時間がかかることがあり、一定の場合には不要なこともあります。

一致レビュー・アプリケーションを使用して照合の結果を確認する機能を必要とせず、結果ブラウザでの照合の出力をソートまたはフィルタする必要がない場合、ソートとフィルタを無効にしてパフォーマンスを向上してください。たとえば、照合の結果を外部に書き込んで確認したり、本番環境へのデプロイ時に照合を完全に自動化できます。

ソートとフィルタを有効化または無効化する設定は、プロセッサの「拡張オプション」で設定できる個々の照合プロセッサ・レベルでも(詳細は照合プロセッサのソート/フィルタ・オプションを参照)、プロセスまたはジョブ・レベルのオーバーライドとしても使用可能です。

プロセスのすべての照合プロセッサで個々の設定をオーバーライドし、照合結果のソート、フィルタおよびレビューを無効にするには、ジョブ構成またはプロセス実行プリファレンスの照合プロセッサのソート/フィルタを有効化するオプションを選択解除します。

注意:
「照合でのソート/フィルタを有効化?」は、ジョブにプロセスが含まれる場合、デフォルトで無効になっています。

4.8.3.3 出力の最小化

照合プロセッサは、最大3つのタイプの出力を書き出すことができます。

- 一致(またはアラート)グループ(照合プロセッサによって決定される一致レコードのセットに編成されたレコード。照合プロセッサで一致レビューを使用する場合は一致グループが生成され、ケース管理を使用する場合はアラート・グループが生成されます。)

- 関係(一致レコード間のリンク)

- マージ済出力(一致レコードの各セットからマージされたマスター・レコード)

デフォルトでは、すべての使用可能な出力タイプが書き込まれます。(マージ済出力は、リンク・プロセッサから書き込むことはできません。)

ただし、プロセスでは、すべての使用可能な出力が必要なわけではありません。たとえば、一致レコードのセットのみを識別する場合、マージ済出力は無効にする必要があります。

出力のいずれかを無効にしても、ユーザーが照合プロセッサの結果を確認する機能に影響はありません。

一致(またはアラート)グループの出力を無効にする手順:

- キャンバスで照合プロセッサを開き、照合サブプロセッサを開きます。

- 一番上の「一致グループ」または「アラート・グループ」タブを選択します。

- 「一致グループ・レポートの生成」または「アラート・グループ・レポートの生成」オプションの選択を解除します。
または、関連レコードまたは関連のないレコードのグループのみを意図的に出力する場合、画面の同じ部分にある他のチェック・ボックスを使用します。

関係の出力を無効にする手順:

- キャンバスで照合プロセッサを開き、照合サブプロセッサを開きます。

- 一番上の「関係」タブを選択します。

- 「関係レポートの生成」オプションの選択を解除します。
または、一部の関係のみ(たとえば、レビュー関係のみ、または一定のルールにより生成された関係のみ)を意図的に出力する場合、画面の同じ部分にある他のチェック・ボックスを使用します。

マージ済出力を無効にする手順:

- キャンバスで照合プロセッサを開き、マージ・サブプロセッサを開きます。

- 「マージ済出力の生成」オプションの選択を解除します。
または、関連レコードのマージ済出力レコードや、関連のないレコードのみを意図的に出力する場合、画面の同じ部分にある他のチェック・ボックスを使用します。

4.8.3.4 入力のストリーム

バッチ照合プロセスでは、効率的にレコードを比較するためにEDQリポジトリにデータのコピーが必要です。

データは、リーダーとプロセスの照合プロセッサとの間で変換される可能性があり、照合プロセスで使用されるスナップショットがリフレッシュされた場合に照合結果を確認できる機能を維持するため、照合プロセッサでは、常に作業対象となるデータ(リアルタイム入力のものを除く)の独自のスナップショットが生成されます。大規模なデータ・セットでは、これに時間がかかる可能性があります。

そのため、照合プロセスで最新のソース・データを使用する場合、最初にスナップショットを実行してからデータを照合プロセッサにフィードするより、スナップショットをストリームして、独自の内部スナップショットを生成することをお薦めします(効率的にデータを2回コピーできます)。前述のスナップショットのストリームの説明を参照してください。

4.9 住所の検証のパフォーマンス・チューニング

EDQの住所の検証プロセッサは、Enterprise Data Quality住所検証サーバー(EDQ AV)へのパイプです。EDQ AVは、各入力レコードを、そのグローバル・ナレッジ・リポジトリの該当する国で存在するすべての住所に対して照合します。この操作は、本質的にリソース集中型であり、実行に時間がかかります。この理由から、住所の検証プロセッサは、独自のプロセスに配置するか、ごく少数の他のプロセッサとともに使用することをお薦めします。これにより、処理を分離してそのパフォーマンスを正確に測定できるため、チューニングが容易になります。EDQ住所検証サーバーは、EDQアプリケーション・サーバーのJavaヒープの外部に相当量のメモリーを必要とします。住所の検証のパフォーマンスは、使用可能なメモリーが不十分であると影響を受ける可能性があります。EDQアプリケーション・サーバーのJavaヒープのチューニングの詳細は、アプリケーション・サーバーのチューニングの説明を参照してください。キャッシュ・オプションをチューニングすることで、住所の検証のパフォーマンスを調整できます。これらのパラメータは、住所の検証プロセッサの「オプション」タブで使用できるそのプロセッサの「追加オプション」フィールドを使用して制御できます。調整に役立つ2つのパラメータは、次のとおりです。

- ReferenceDatasetCacheSize

- ReferencePageCacheSize

使用可能なオプションの詳細は、Loqateのサポート・サイト(https://www.loqate.com/support/options/)を参照してください

これらのパラメータを調整する前に、Loqateサポートのアドバイスを検索してください。

住所の検証のキャッシング・パラメータを調整することに加え、住所をスクリーニングする国ごとに異なるEDQプロセスを作成すると、住所の検証のパフォーマンスを大幅に向上できます。

4.10 プロセスが遅くなる要因(一般的な原因)

詳細は、次を参照してください。

4.10.1 照合プロセッサの不十分な構成

EDQの照合プロセッサは、本質的に非常に効率的で、多くの自動最適化を行います。ただし、構成が不十分であると、パフォーマンスに重大な影響を与える可能性があります。照合プロセスの実行に長い時間がかかる場合、そのクラスタ構成が原因である可能性があります(大規模なクラスタが多すぎると、通常、比較の回数も多くなり、結果として照合が遅くなります)。

4.10.2 不要なデータ・ストリームのマージ・プロセッサ

よくある誤解は、同じリーダーの複数のパスを結合する場合、データ・ストリームのマージ・プロセッサが必要であるというものです。これは間違っています。異なるリーダーの完全に異なっているデータ・ストリームを結合する場合はデータ・ストリームのマージ・プロセッサを使用する必要がありますが、通常のどのEDQプロセッサでも、同じリーダーの複数のパスを結合して、結合したすべてのパスのすべての個別レコードを処理できます。

4.10.3 単一プロセスでの過剰な処理

非常に大規模で複雑な単一プロセスのパフォーマンス問題の原因を特定することは、非常に困難です。かわりに、個別の操作に対して個別のモジュール・プロセスを作成し、それらをデータ・インタフェースで結合してください。このアプローチを採用すると、各プロセスの実行時間を簡単に把握できるため、診断がずっと容易になります。さらに、プロセスのサイズが小さくなるほど、その理解および管理が簡単になるというメリットも加わります。

4.10.4 コア・プロセッサが使用可能な場合のスクリプト・プロセッサの使用

スクリプト・プロセッサの使用が必要なこともありますが、その場合、ほぼすべての状況で、コンパイルされたJavaコードを使用するコア・プロセッサを実行するよりパフォーマンスが低下します。本当に必要な場合を除き、スクリプト・プロセッサは使用しないでください。

4.10.5 照合プロセッサの不必要な使用

EDQの監査および変換プロセッサは、一度に1つのレコードを処理します。これらは、その処理をすべてメモリー内で実行することや、アプリケーション・サーバーが保持している範囲で任意にCPU性能をスケーリングすることができます。一方で、EDQの照合プロセッサは、データのセットを処理できます。(これは、一部のプロファイリング・プロセッサにも当てはまります。詳細は、前述のリソース集中型プロセッサのリストを参照してください。)データ・セットのレコードの類似度を評価するために、照合プロセッサは、これらのデータ・セットをEDQリポジトリ・データベースに書き込みます。このI/Oオーバーヘッドは、照合プロセッサに必要です(レコード重複プロファイラ、クイック統計プロファイラ、レコード重複チェック・プロセッサおよびフレーズ・プロファイラでも同様です)。いくつかのシナリオでは、照合プロセッサが絶対に必要です。たとえば、次の場合は照合プロセッサを使用する必要があります。

- 大規模なデータ・セットであいまい一致を識別する場合。

- 複数のフィールドを使用して一致を識別する場合。

- 可能性がある一致を確認する必要がある場合。

ただし、単一のフィールドが完全に一致するレコードを単純に戻す必要がある場合、ルックアップと戻りプロセッサの方が、照合プロセッサより迅速に実行できる可能性があります。

4.11 EDQのプラットフォームのチューニング

効率的なプロセスの設計以外では、EDQ自体の広範なチューニングは必要ありません。変更できる有益なパラメータはごく少数で、ほとんどの場合、それらはデフォルト値のままに設定しておくことができます。(詳細は、『Oracle Fusion Middleware Oracle Enterprise Data Qualityの管理』を参照してください)。ただし、EDQはエコシステム内に存在します。物理的なハードウェアおよびネットワーク・インフラストラクチャ以外で、このエコシステムの最も重要な部分は、EDQが実行されるプラットフォーム(特にアプリケーション・サーバーとデータベース・リポジトリ)です。ほとんどのパフォーマンス問題の原因は、最適化されていないプロセスおよびジョブ構成であり、それらを解決するためにプラットフォームをチューニングする必要はありません。ただし、一定の場合、いくつかの単純なプラットフォーム最適化の手順によって、パフォーマンスが向上する可能性があります。プラットフォームのチューニングを検討する前に注意してもらいたいことは、新しいEDQインストールを構成する場合、システムを通じてテスト・データの実際のロードを実行して、設定を完了する前にその結果を確認する必要があるということです。

4.11.1 アプリケーション・サーバーおよびデータベース・リポジトリ

4.11.1.1 アプリケーション・サーバーおよびデータベース・リポジトリの相対的重要性

アプリケーション・サーバーの最大Javaヒープ・サイズをチューニングすると、パフォーマンスが向上する可能性があります。最大Javaヒープ・サイズをチューニングする場合、次の点に注意してください。

- プロセッサ・コア(とそれに対応するスレッド)の数を増やすほど、Javaヒープに割り当てるメモリー量を増加する必要があります。最適なパフォーマンスを得るには、ランタイム・スレッドごとに2GBのメモリーを割り当てることをお薦めします。(EDQでは、検出された論理CPUごとに1つのランタイム・スレッドが使用されることに注意してください)。

- ほとんどの場合、8GBの設定で十分です。

注意:
EDQカスタマ・データ・サービス・パック(CDS)では、集中的にメモリーを使用する必要があり、状況によっては8GBを超える量が必要です。

- サーバーのメモリー全体からJavaヒープに多く割り当てすぎると、Javaヒープ以外のメモリーを必要とするアプリケーション(たとえば、EDQ住所検証サーバー)を実行するための余分なメモリーが不足するため、パフォーマンス問題が発生する可能性があります。各スレッドでもJavaヒープ以外のメモリーを必要とするため、EDQが多くのスレッドにアクセスする場合、Javaヒープ以外のメモリーに対する必要性も増大します。一般的には、サーバーのメモリー全体の3分の2を超えてJavaヒープに割り当てないようにします。

アプリケーション・サーバーのチューニングの詳細は、『Oracle Fusion Middleware Oracle Enterprise Data Qualityの管理』を参照してください。

4.11.1.2 データベースのチューニング

EDQでは、照合などの特定の操作を効率的に実行するために最適なデータベースI/Oが必要とされますが、データベースのチューニング方法は、固有の使用例や環境に応じて異なります。ただし、いくつかの一般的なアドバイスを提供することは可能です。データベース管理者の注意点は次のとおりです。

- EDQに十分な表領域を割り当てていることを確認します。(表領域のサイズおよび他のデータベース設定のガイドラインは、『Oracle Fusion Middleware Oracle Enterprise Data Qualityのインストールと構成』を参照してください。)

- データベースのI/Oパフォーマンスをチューニングするには、経験的なアプローチを採用します。

- EDQのインストレーション・ガイド(および適切な項へのリンク)に従って、PGA、SGA、プロセスとセッションなどの重要な設定を指定します。
WebLogicでは、構成済のデータソースによって、データベースに対する接続の最大数を制御することにも注意してください。多くのスレッドが実行される大規模システムでは、状況により、(EDQプロセスによりデータの書込みと読取りが行われる)結果データベースに対する最大接続数をデフォルト値の200から調整する必要があります。ほぼすべての使用例で、500の値で十分です。

- アーカイブ(REDO)・ロギングは、リソースを消費します。一定の状況で、サーバー上のすべてのEDQ処理が完全にステートレスで、サービスを失うことなくサーバーを自動的に再プロビジョニングできる場合、パフォーマンスを向上するためにデータベースのアーカイブ・ロギングをオフにすることが適切です。または、これが不可能である場合、個別のディスクにREDOログ・ファイルをマウントすることで、パフォーマンスを向上できる可能性があります。

4.11.2 プロセッサ・コアおよびプロセス・スレッド

EDQでは、検出された論理CPU (またはコア)ごとに1つのランタイム・スレッドが作成されます。これは、可能な場合、パラレル・スレッド間で処理を分割します。一般的に、コアが追加されるとプロセスの実行時間は短縮されます。ただし、Java仮想マシン(JVM)で使用できるコアが一定数に達した後は、追加コアごとの処理時間の短縮は、ごくわずかとなる傾向があります(処理能力の増大が、競合の増加によって相殺されるためです)。これは、システムの他の部分(ファイルやデータベースを対象とする読取りと書込みなど)が最適化されていても同様です。典型的なバッチ処理では、JVMに追加されるコアごとの実行時間の短縮は、JVMで使用されるコアの合計数が16を超えるとごくわずかとなります。

4.11.2.1 プロセス・スレッド

ジョブの実行に使用されるプロセス・スレッドの数は、使用可能なコアの数に自動的に設定され、通常は変更できません。ただし、EDQが16より多くのコアを持つサーバーにインストールされており、そこで負荷の高いバッチ処理ワークロードを実行している場合、EDQで使用されるスレッドの数を手動で16に設定できます。その理由は、スレッドの数が多すぎると、スレッドが自身の作業を終了したときに、リソースの競合が発生する可能性があるためです。

スレッドの数を手動で設定するには、EDQインスタンスのoedq.local.homeフォルダにあるdirector.propertiesファイルの次のパラメータを変更します。

- runtime.threads = 16

- runtime.indexingthreads = 16

- workunitexecutor.outputThreads = 16

EDQが16より多くのコアを持つサーバーにインストールされている場合、別の管理対象サーバーを追加してスケーリングできます。すべての管理対象サーバーは、同じWebLogicクラスタ内に配置する必要がありますが、それぞれ個別のJava仮想マシン内で実行されます。別の管理対象サーバーを追加する方法の詳細は、『Oracle® Fusion Middleware Oracle Enterprise Data Qualityの理解』の高可用性に関する項を参照してください。単一のEDQバッチ・ジョブは、常に単一の管理対象サーバー上で実行されるため、管理対象サーバーを追加しても、必ずしも個々のジョブがより高速に実行されるわけではありません。複数の管理対象サーバーを用意するメリットは、異なるジョブを異なる管理対象サーバーで同時に実行できるようになることです。

データベース・サーバーは、EDQが実行されているアプリケーション・サーバーから遠く離れた場所に配置できますが、高速なネットワークで接続する必要があります。

5 EDQを監視するためのJMX拡張の使用

この章では、操作の多くの詳細を監視および管理するために使用できる、EDQ Java Management Extensions (JMX)インタフェースについて説明します。JMXはJavaコンポーネントのリモート管理および監視用に設計されたJavaテクノロジです。

内容は次のとおりです。

- JMXバインディングについて

- JMX Beanネーミングについて

- リアルタイム・プロセスの監視

5.1 JMXバインディングについて

EDQは内部JMXサーバー、またはWebLogicかTomcatアプリケーション・サーバーで提供されたもののいずれかを使用できます。このトピックでは、どのJMXサーバーが使用されるかを制御する方法について説明します。

- Apache TomcatでのEDQのデフォルトのインストールは、内部JMXサーバーを使用します。

- Oracle WebLogic ServerでのEDQのデフォルトのインストールは、WebLogic Serverアプリケーション・サーバーのJMXツリーを使用します。

デフォルトの構成には、リモート・メソッド呼出し(RMI)レジストリが含まれ、これはJMXクライアントだけでなく、EDQコマンドライン・インタフェースにより使用されます。RMIリスニング・ポート番号は、director.propertiesファイルに定義される、management.portプロパティで指定されます。デフォルトは8090です。このプロパティは内部JMXサーバーと、EDQコマンドライン・ツールで使用されるRMI APIの両方へのアクセスを制御します。

JMXの構成を次のように変更できます。

- コマンドライン・インタフェースを使用せず、Tomcatアプリケーション・サーバーJMXツリーにEDQ JMX Beansを表示する場合、management.portプロパティを0に変更します。
management.port=0

management.portをゼロに設定した場合、RMIレジストリはどのポートもリスンしません。これは、内部JMXサーバーが使用されず、かつRMI APIも使用できないことを意味します。そのため、コマンドライン・ツールはmanagement.portが0に設定されていると動作しません。

- Oracle WebLogic Serverを使用していて、コマンドライン・インタフェースを使用し、WebLogic ServerのJMXツリーにEDQ JMX Beansを表示する場合、構成ディレクトリのdirector.propertiesファイルに次のプロパティを追加します。コマンドライン・ツールでRMI APIを使用できるように、management.portの設定を8090のままにします。
management.jndiname=java:comp/env/jmx/runtime

5.2 JMX Beanネーミングについて

EDQ JMX Beansで使用されるネーミング・スキームはJconsoleを使用してうまく動作するように設計されています。しかし、他のJMXクライアントが変更されたネーミング・スキームを必要とする場合があります。

EDQ JMX Beansで使用される名前は、適切なJavaScriptまたはGroovyファイルを構成ディレクトリに書き込んで配置し、director.propertiesのmanagement.namemaker.scriptfileプロパティをその存在を示すように設定することでカスタマイズできます。

5.2.1 例の確認

この例では、type属性を名前の最後に追加することで、デフォルトのEDQ JMX Beanネーミング・スキームを変更する方法を示します。type属性はJava Beanクラスに基づきます。

1. 構成ディレクトリにjmxnames.jsという名前のファイルを作成し、次のJavaScriptを追加します。

/**
* Adds a type attribute to the name of a JMX Beans.
*
* @param beanclass The bean class name
* @param domain The domain name
* @param names The name strings
*
* @return The name string
*/
function objectNameFor(beanclass, domain, names)
{
var type = beanclass == null ? "*" : beanclass.substring(beanclass.lastIndexOf('.') + 1);
var out;
/*
* The names array always has 2 elements.
*/
out = domain + ":" + "component=" + escape(names[0]) + ",name=" + escape(names[1]);
for (var i = 2; i < names.length; i++)
{
var index = i-1
out += "," + "name" + index + "=" + escape(names[i]);
}
return out + ",type=" + type;
}

2. director.propertiesファイルに次の行を追加します。
management.namemaker.scriptfile = jmxnames.js

3. EDQアプリケーション・サーバーを再起動します。
JMX Beansでは名前の最後に型修飾子が含まれるようになります。

5.3 リアルタイムプロセスの監視

EDQでは、操作の多くの局面を監視するために使用できる、組込みJMXサーバーが提供されます。EDQアプリケーションを構成する多くのオブジェクトとリソースは、リアルタイムWebサービスを含む、MBeansをJMXサーバーに提供します。

5.3.1 リアルタイムWebサービスMBeansの監視

各リアルタイムWebサービスは、MBeanをそのリーダーと、JMXツリーのライターに登録します。

リーダーを次の場所に登録します。

Runtime/Data/Buckets/Realtime/Projects/Project Name/readers/Web service name

ライターを次の場所に登録します。

Runtime/Data/Buckets/Realtime/Projects/Project Name/writers/Web service name

いずれの場合も、MBeanへのパスには、それを所有するWebサービス、およびWebサービスを含むプロジェクトの名前が含まれます。

Global Webサービス(oedq_local_home/webservicesディレクトリの.jarファイルにデプロイ済)には別のパス名があります。単に前述のパスのProjects/Project NameをGlobalで置き換えます。

内部JMXサーバーのポートは、director.propertiesファイルに定義される、management.portプロパティで制御されます。

5.3.2 リアルタイムMBeansの監視

JConsoleなどの一般的なJMXコンソールを使用して、MBeansと対話できます。各MBeanは次のものを公開します。

- その値を読み取ることができる属性。

- 起動してMBeanでいくつかのアクションを実行できる操作。

- クライアントがMBeanで発生するイベントの通知をサブスクライブできるインタフェース。

EDQリアルタイムWebサービスMBeansは次の属性を使用します。

closetime

バケットが最後に閉じられた時間。

concurrent

同期リクエストの現在の数。

maxConcurrent

バケットが開かれてからの同時同期リクエストの最大数。

maxConcurrentMax

起動時以降の同時同期リクエストの最大数。

messages

バケットが開かれてから処理されたメッセージ数。

open

バケットが開いているかまたは閉じているかを示します。

openCount

起動時以降のバケットが開かれた回数。

opentime

バケットが最後に開かれた時間。

processtime

最後のメッセージが処理された時間。

records

バケットが開かれてから処理されたレコード数。

threads

最後に開かれたときにバケットを使用したスレッドの数。

totalMessages

起動時以降に処理されたメッセージの数。

totalRecords

起動時以降に処理されたレコードの数。

EDQリアルタイムWebサービスMBeansは次の操作を公開します。

closedown

このバケットを使用してリーダーまたはライターを停止します。

6 トリガーの使用

この章では、Oracle Enterprise Data Qualityでトリガー機能を使用する方法について説明します。このドキュメントでは、トリガーのインストール場所、呼び出し方法、および使用方法について説明します。

この章の内容は以下のとおりです。

- トリガー機能の概要

- トリガーの使用に必要なスキル

- トリガーの格納

- スクリプト・トリガーAPIを使用したトリガーの構成

- プロパティ・ファイルを使用したトリガーの構成の拡張

- EDQトリガー・ポイントについて

- TriggerInfoメソッドについて

- トリガー・レベルの設定

- トリガーでのJMSの使用

- ジョブ構成のトリガーの公開

- トリガーの例

6.1 トリガー機能の概要

Oracle Enterprise Data Qualityのトリガーは、EDQシステムの様々なトリガー・ポイントでコールできるスクリプト(JavaScriptまたはGroovy)です。トリガーには、定義済トリガーとカスタム・トリガーの2つのタイプがあります。

6.1.1 定義済トリガーについて

定義済トリガーはEDQインストールに付属しています。ディレクタ・ユーザー・インタフェースに表示され、ジョブ構成で使用されて、ジョブの開始、Webサービスの停止、電子メール通知の送信、およびジョブ内から別のジョブの実行を行うことができます。ディレクタ・ユーザーはトリガー・ポイント(ジョブの開始、ジョブの終了、またはその両方)で実行するようにこれらのトリガーを設定できます。ディレクタのオンライン・ヘルプ・システムで定義済トリガーの詳細を参照できます。

6.1.2 カスタム・トリガーについて

カスタム・トリガーはJavascriptまたはGroovyのスキルのある人により作成され、特定のワークフローの目的を達成するようにEDQの機能を拡張することができます。カスタム・トリガーを使用して次のようなタスクを実行できます。

- 電子メール・メッセージの送信

- JMSメッセージの送信

- Webサービスのコール

- ファイルの作成

- テキスト・メッセージの送信

次の定義済トリガー・ポイントでカスタム・トリガーを実行することができます。

- ジョブ・フェーズの実行前

- ジョブ・フェーズの実行後

- 一致決定の作成時

- ケース管理での遷移の作成時

- ジョブの完了時

これらの各トリガー・ポイントには、特別なAPIによりトリガーに渡される、一意のパスと定義済の引数のセットがあります。詳細は、第6.6項「EDQトリガー・ポイントについて」を参照してください

カスタム・トリガーについては、このドキュメントの後半で説明します。

6.2 トリガーの使用に必要なスキル

EDQでカスタム・トリガーを作成してデプロイするには、JavascriptまたはGroovyの知識が必要です。

6.3 トリガーの格納

カスタム・トリガーはEDQのconfig (構成)ディレクトリのtriggersサブディレクトリに格納される必要があります。新しいまたは更新されたトリガーは自動的にロードされ、システムを再起動する必要はありません。

6.4 スクリプト・トリガーAPIを使用したトリガーの構成

スクリプトAPIの機能を使用してトリガーを作成できます。これらの機能はトリガー・コードで定義されます。このドキュメントでの例はJavaScriptですが、同じAPIがGroovyでも使用可能です。

次にこのAPIでの各機能について説明します。

getPath()

トリガーが処理するパスを定義する文字列を返します。各トリガー・ポイントには一意のパスがあります。トリガー・ポイントに到達すると、指定したパスに一致するトリガーが実行されます。トリガー・ポイントの詳細は、第6.6項「EDQトリガー・ポイントについて」を参照してください

この機能は正規表現です。たとえば、パス/log/com\.datanomic\..*はログ出力名に文字列datanomicが含まれるログ出力パスと一致します(つまり、"datanomic"という語がEDQ用の別名になっている、EDQに定義されたログ出力)。

run(path, id, env, arg1, arg2 ...)

トリガーを実行します。これらの各変数に対するトリガーAPIによる戻り値の詳細は、第6.6項「EDQトリガー・ポイントについて」を参照してください

path

トリガーのパスで、/runtime/engine/interval/endなどです。

id

トリガーのIDIDはトリガーがディレクタ・ユーザー・インタフェースで構成されるときに設定されます。このIDは単純なトリガーに対してはnullです。

env

1つ以上のキー/値のペアの形式でのトリガー環境で、env.project = project nameなどです。env入力はトリガー・ポイントに特有です。これらの値はスクリプト内でenvオブジェクトのプロパティとして公開されます。ほとんどのトリガー・ポイントは関連するEDQプロジェクトIDおよびプロジェクト名で渡されます。

arg

追加の引数はトリガー・ポイントに特有です。たとえば、Interval endトリガー・ポイントは、タスク・コンテキスト・オブジェクト、プロセス・オプション、間隔の数(>= 1)、実行統計を返します。

filter(path, env)
(オプション機能)トリガーをフィルタ処理で除外してから実行できます。このフィルタを使用して、不要なトリガーの実行によるオーバーヘッドを回避します。トリガーを有効にするにはtrueを返し、無効にするにはfalseを返します。

path

トリガーのパス。

env

1つ以上のキー/値のペアの形式でのトリガー環境です。env入力はトリガー・ポイントに特有です。これらの値はスクリプト内でenvオブジェクトのプロパティとして公開されます。ほとんどのトリガー・ポイントは関連するEDQプロジェクトIDおよびプロジェクト名で渡されます。次の例では、トリガーは関連プロジェクトの名前が"My project"であるときのみ有効になります。

function filter(path, env) {
return env.project == 'My project';
}

getLevel()
(オプション機能)トリガーが受け入れる最大レベルを返します。たとえば、次の文では、トリガーはトリガー・システムでの他の設定にかかわらず、すべてのレベルを受け入れることができます。レベルの設定の詳細は、第6.8項「トリガー・レベルの設定」を参照してください

function getLevel() {
return Level.SEVERE;
}

getTriggerNames(path, env)
(オプション機能)ディレクタ・ユーザー・インタフェースでの表示用のTriggerNameオブジェクトの配列を返します。詳細は、第6.10項「ジョブ構成のトリガーの公開」を参照してください。トリガー名の取得とディレクタ・インタフェースでの公開は、ジョブ構成画面でのみ可能です。

6.5 プロパティ・ファイルを使用したトリガーの構成の拡張

プロパティ・ファイルでスクリプト・トリガー用の追加の構成を指定できます。すべてのトリガーで使用可能なconfigという名前の定義済オブジェクトにより、これらのプロパティへのアクセスが行われます。これらのプロパティ・ファイルのEDQのベース・ディレクトリは、triggersディレクトリ内のサブディレクトリconfigです。次にconfigオブジェクトの便利なメソッドを示します。

config.getTriggerConfigFiles(base, pattern)

名前がtriggers/configディレクトリ内の指定したディレクトリで検索パターンに一致するファイル・オブジェクトの配列を返します。

base

triggers/configディレクトリ内のディレクトリの名前。

pattern

一致させる検索パターンを定義する正規表現(regex)。

config.loadProps(file)
指定したJavaプロパティ・ファイルをロードし、JavaScriptオブジェクトとして返します。

file

Javaプロパティ・ファイルの名前。

6.6 EDQトリガー・ポイントについて

この項では、カスタム・トリガーをコールできるEDQ内でのトリガー・ポイントについて説明します。

ログ・メッセージ

ログ・メッセージがシステムで生成されるたびにコールされます。

コンポーネント

説明

Path

/log/loggername

Env

null

Arguments

java.util.logging.LogRecord

Syslogメッセージ

高レベルsyslogログ・メッセージが生成されるたびにコールされます。source引数はイベント・ソースの詳細を含むJavaオブジェクトです。これは表示用の文字列に変換できます。

コンポーネント

説明

Path

/syslog

Env

env.event = event_name
env.source = event_source_as_string

Arguments

event_name, source, message

プロセス開始

プロセスの開始時にコールされます。この引数はプロセス構成の情報を含むJavaオブジェクトです。

コンポーネント

説明

Path

/runtime/engine/task/start

Env

env.project = project_name
env.projectID = project_ID

env.missionname = job_name

env.processname = process_name

Arguments

Task_context_object, process_options

注意:
タスクを開始するためのパスを指定する場合、トリガー・スクリプトがエラーをスローしないように、トリガー・スクリプトにaddLibrary('runtime')を含める必要があります。

プロセス終了

プロセスの終了時にコールされます。この引数はプロセス構成の情報を含むJavaオブジェクトです。

コンポーネント

説明

Path

/runtime/engine/task/end

Env

env.project = project_name
env.projectID = project_ID

env.missionname = job_name

env.processname = process_name

Arguments

Task_context_object, process_options

注意:
タスクを終了するためのパスを指定する場合、トリガー・スクリプトがエラーをスローしないように、トリガー・スクリプトにaddLibrary('runtime')を含める必要があります。

間隔終了

通常のプロセスの終了時または間隔モードで実行するプロセスの各間隔の終了時にコールされます。実行済レコードの数などの統計を返します。

コンポーネント

説明

Path

/runtime/engine/interval/end

Env

env.project = project_name
env.projectID = project_ID

env.missionname = job_name

env.processname = process_name

Arguments

Task_context_object, process_options, interval_number (>= 1), execution_statistics

ジョブ・フェーズ前

'フェーズ前'に対するジョブ構成の実行でコールされます。

コンポーネント

説明

Path

/missions/phase/pre

Env

env.project = project_name
env.projectID = project_ID

env.missionname = job_name

env.processname = process_name

Arguments

なし

ジョブ・フェーズ後

'フェーズ後'に対するジョブ構成の実行でコールされます。

コンポーネント

説明

Path

/missions/phase/post

Env

env.project = project_name
env.projectID = project_ID

env.missionname = job_name

env.processname = process_name

Arguments

なし

一致決定時

EDQが可能性のある一致について決定する必要のあるときにコールされます。これは関係決定トリガーと呼ばれています。関係決定トリガーは、一致を実行するために必要な、関係および決定データを返すメソッドを含むことができます。このトリガー・ポイントは一致レビューに特有です。

コンポーネント

説明

Path

/matchreview/relationship/decision/

Env

env.project = project_name

Arguments

TriggerInfoメソッドのリスト。それぞれに1つの関係のデータが含まれます。これらのメソッドの詳細は、第6.7項を参照してください。

ケース作成時

個々のケース・ソースに属するケースが作成されるときにコールされます。

コンポーネント

説明

Path

/casemanagement/create/<ケース・ソース名>

Env

env.sourceName = ケース・ソース名
env.caseType = ケースまたはアラートのタイプ

env.currentState = 作成したケースの現在の状態

Arguments

com.datanomic.director.casemanagement.beans.CaseBean

ケースまたはアラート遷移後

ケースまたはアラートが個々のワークフローに対応する次の論理状態に遷移した後にコールされます。

コンポーネント

説明

Path

/casemanagement/transition/<ワークフロー名>/<遷移>

Env

env.sourceName = ケース・ソース名
env.caseType = ケースのタイプ('case'または'alert')

env.currentState = 作成したケースの現在の状態

Arguments

com.datanomic.director.casemanagement.beans.CaseBean,java.util.List<com.datanomic.director.casemanagement.beans.CaseHistoryBean>,comment,restrictingPermission
ここで、commentはユーザーが入力するもので、restrictingPermissionはコメントにアクセスするために必要な権限です。

ケースまたはアラート更新時

ケースまたはアラートがユーザーに更新されるときにコールされます。これには、割当て、状態変更、優先度変更または他の編集の実行が含まれます。

コンポーネント

説明

Path

/casemanagement/update/<ケース・ソース名>

Env

env.sourceName = ケース・ソース名
env.caseType = ケースのタイプ('case'または'alert')

env.currentState = 作成したケースの現在の状態

Arguments

com.datanomic.director.casemanagement.beans.CaseBean,java.util.List<com.datanomic.director.casemanagement.beans.CaseHistoryBean>,comment,restrictingPermission
ここで、commentはユーザーが入力するもので、restrictingPermissionはコメントにアクセスするために必要な権限です

ケースまたはアラートへのコメント追加時

ケースまたはアラートにコメントが追加されるときにコールされます。

コンポーネント

説明

Path

/casemanagement/commented/<ケース・ソース名>

env.sourceName = ケース・ソース名
Env

env.caseType = ケースのタイプ('case'または'alert')
env.currentState = 作成したケースの現在の状態

Arguments

com.datanomic.director.casemanagement.beans.CaseBean,java.util.List<com.datanomic.director.casemanagement.beans.CaseHistoryBean>,comment,restrictingPermission
ここで、commentはユーザーが入力するコメントで、restrictingPermissionはコメントにアクセスするために必要な権限です。

システム更新発生後

エスカレーションまたは一括更新の一環としてケースまたはアラートが更新された後にコールされます。

コンポーネント

説明

Path

/casemanagement/systemupdate/<ケース・ソース名>

Env

env.sourceName = ケース・ソース名
env.caseType = ケースのタイプ('case'または'alert')

env.currentState = 作成したケースの現在の状態

Arguments

com.datanomic.director.casemanagement.beans.CaseBean,java.util.List<com.datanomic.director.casemanagement.beans.CaseHistoryBean>,comment,restrictingPermission
ここで、commentはユーザーが入力するコメントで、restrictingPermissionはコメントにアクセスするために必要な権限です。

6.7 TriggerInfoメソッドについて

この項では、TriggerInfoトリガー・ポイントに関連する各メソッドについて説明します。これらのメソッドは、一致レビューで使用されるTriggerInfoトリガー・ポイントに特有です。

表6-1 TriggerInfoトリガー・ポイントに関連するメソッド

メソッド

返されるデータ

説明

getPreviousMatchStatus()

文字列

決定の前に照合ステータスを返します。

getPreviousRealtionshipReviewStatus()

文字列

決定の前に関係レビュー・ステータスを返します。

getRelationshipId()

整数

関係IDを返します。

getRecordId()

整数

最初のレコードのIDを返します。

getInputId()

整数

最初の入力のIDを返します。

getRelatedRecordId()

整数

2番目のレコードのIDを返します。

getRelatedInputId()

整数

2番目の入力のIDを返します。

getReviewStatus()

文字列

新しい関係のレビュー・ステータスを返します。

getMatchStatus()

文字列

新しい照合ステータスを返します。

getRuleName()

文字列

関係を生成したルールの名前を返します。

getCommentUser()

文字列

コメントを作成したユーザーのユーザー名を返します。

getReviewComment()

文字列

作成されたコメントを返します。

getCommentDate()

日付

コメントが作成された日時を返します(コメントが存在する場合)。

getReviewedUser()

文字列

レビューを実行したユーザーの名前を返します。

getReviewDate()

日付

レビューが実行された日時を返します。

SourceAttribute getRecordSourceAttributes()

リスト

最初のレコードを構成するすべてのソース属性(列)を返します。

SourceAttribute getRelatedRecordSourceAttributes()

リスト

2番目のレコードを構成するすべてのソース属性(列)を返します。

getRecordAttributeValue(SourceAttribute sa)

値

最初のレコードの指定されたソース属性(列)の値を返します。

getRelatedRecordAttributeValue(SourceAttribute sa)

値

2番目のレコードの指定されたソース属性(列)の値を返します。

6.8 トリガー・レベルの設定

すべてのトリガー・ポイントには関連するレベル(java.util.logging.Level値)があります。デフォルトでは、INFOよりも低いレベルのトリガー・コールは無視されます。

このレベルを変更する1つの方法は、levels.propertiesという名前のファイルをconfigディレクトリのtriggersサブディレクトリに作成することです。このファイルには、デフォルトのレベルと、個別のパス用の1つ以上のオーバーライド・レベルの両方を含めることができます。例6-1では、デフォルトのレベルをFINEに設定し、パス/runtime/engine/.*用のレベルをFINERに設定しています。パターンとレベル・プロパティに対し独自の接頭辞を定義できます。

例6-1 トリガー・レベルの設定

default = fine
runtime.pattern = /runtime/engine/.*
runtime.level   = finer

レベルを変更するもう1つの方法は、トリガーにgetLevel関数を定義することです。詳細は、第6.4項を参照してください。

6.9 トリガーでのJMSの使用

トリガー・ファイル内でJava Message Service (JMS)を有効にするには、次の手順に従います。

1. 内部JavaScript JMSライブラリをロードします。

addLibrary("jms");

2. JMS構成を定義するプロパティをロードします。これらのプロパティは、EDQ構成ディレクトリに含まれている標準realtime.propertiesファイルからのJMS設定で拡張されます。このファイルのデフォルト・バージョンは、EDQにバンドルされているオープンソースのActiveMQ Message Brokerのプロパティを定義します。最小限、トリガーは、使用するJMSトピックまたはキューに名前を付ける、destinationプロパティの値を提供する必要があります。

3. JMSオブジェクトを作成します。

var jms = JMS.open(props);

4. テキスト・メッセージを送信します。

jms.send(str)

5. スクリプト・オブジェクトから作成されたJMSマップ・メッセージを送信します。

jms.sendMap(jsobj)

6. テキスト・メッセージを作成します。送信前にプロパティおよびヘッダー値をメッセージに設定することができます。

var msg = jms.createTextMessage(str)

7. マップ・メッセージを作成します。送信前にプロパティおよびヘッダー値をメッセージに設定することができます。

var msg = jms.createMapMessage(jsobj)

8. 先行する2つのメソッドのいずれかにより作成されたメッセージを送信します。

jms.sendMessage(msg)

6.10 ジョブ構成のトリガーの公開

トリガーはディレクタのジョブ・フェーズの構成中に、ジョブでの使用のために選択されます。これはジョブ・フェーズの前または後に実行するように設定することができます。構成画面でトリガーを選択できるようにするには、各トリガーが名前のリストを返すことができる必要があります。これにより必要に応じて1つのトリガーが複数のタスクを実行できるようになります。

トリガー名には次のコンポーネントがあります。

- トリガーのrun機能に渡される、内部ID。この機能の詳細は、第6.4項を参照してください。

- 表示可能なラベル

- グループ名

同じグループのトリガー名は、ジョブ構成画面で1つのノードとして表示されます。

新しいトリガー名を作成するには、次のようにします。

var n1 = new TriggerName(id, label)
n1.group = "My group";

トリガーからトリガー名を返すには、次のようにします。

トリガー名を返すには、次の例に示すように、getTriggerNames関数を使用します。

function getTriggerNames(path, env) {
var n1 = new TriggerName(id1, label1);
var n2 = new TriggerName(id2, label2);
...
n1.group = "My group";
n2.group = "My group";
...
return [n1, n2 ...]
}

getTriggerNamesの詳細は、第6.4項を参照してください。

6.11 トリガーの例

次に、カスタム・トリガーを使用する方法の例を示します。

注意:
このドキュメントでの例はJavaScriptですが、同じAPIがGroovyでも使用可能です。

例1 トリガーを使用したJMS経由でのログ・メッセージの送信

この例では、ロギング・ライブラリが、メッセージのフォーマット指定および出力に使用できるロギング・オブジェクトをインポートします。JMSプロパティ・ファイルはEDQ構成ディレクトリのtriggers/config/jms/jms.propertiesからロードされます。

// Test trigger for task running with JMS
addLibrary("logging");
addLibrary("jms");

function getPath() {
return "/log/com\.datanomic\..*";
}
function run(path, id, env, logrecord) {

var pfiles = config.getTriggerConfigFiles("jms",
"jms\\.properties");

if (pfiles.length > 0) {
var props = config.loadProps(pfiles[0]);

var jms = JMS.open(props);
var msg = logging.format(logrecord);
var len = msg.length;

// Remove trailing newlines

while (len > 0) {
var c = msg.charAt(len - 1);

if (c != '\n' && c != '\r') {
break;
}

len--;
}

jms.send(msg.substring(0, len));
jms.close();
}
}

例2 トリガーを使用したJMS経由でのSyslogメッセージの送信

この例では、最初の行(#! id : syslog)の特別なidディレクティブがトリガーの内部IDを定義します。同じIDで複数のトリガー定義がある場合、後のものが前のものを置き換えます。標準のEDQインストールでは、標準のロギングAPI経由でメッセージをログに記録する定義済syslogトリガーがあります。この例でのidディレクティブの追加により、JMS syslogトリガーが定義済トリガーを置き換えます。

#! id : syslog

// Test trigger for task running with JMS

addLibrary("logging");
addLibrary("jms");

function getPath() {
return "/syslog";
}

function getLevel() {
return Level.SEVERE;
}

function run(path, id, env, level, event, source, message) {

var pfiles = config.getTriggerConfigFiles("jms",
"jms\\.properties");
var props  = null;

if (pfiles.length == 0) {
logger.log(Level.WARNING, "syslogger called but no properties");
} else {

props = config.loadProps(pfiles[0]);

var jms    = JMS.open(props);
var xml    = <syslog level={level}><source>{source}</source><message>{message}</message></syslog>

logger.log(Level.INFO, "xml = {0}", xml.toXMLString());
jms.send(xml.toXMLString());
jms.close();
}
}

例3 ミッション・フェーズ通知用のトリガーの使用

この例では、1組のトリガー名が定義され、ジョブ構成画面に表示されます。この例ではトリガーがログ・メッセージを書き込みますが、JMS通知を送信するように構成することもできます。

// Test trigger for misssion phase notification

addLibrary("logging");

function getPath() {
return "/missions/phase/.*";
}

function run(path, id, env) {
logger.log(Level.INFO, "phase called with path {0} and id {1}", path, id);
}

function getTriggerNames(path, env) {
var n1 = new TriggerName("logme", "logme2");
n1.group = "logmegroup";

var n2 = new TriggerName("n2", "n2");
n2.group = "logmegroup";
return [n1, n2];
}

7 EDQファイルへのリモートからのアクセス

この章では、EDQディレクトリ内の特定のディレクトリへのアクセス方法について説明します。

7.1 FTPおよびSFTPサーバーを使用したEDQファイルへのアクセス

EDQには、内部ファイル転送プロトコル(FTP)およびSecure File Transfer Protocol (SFTP)サーバーが付属しています。これらのサーバーでは構成ファイル領域およびランディング領域ファイルへのリモート・アクセスが可能です。

このFTPサーバーにアクセスするには、サードパーティのFTPクライアントから、有効なEDQユーザー名およびパスワードを使用し、director.propertiesファイルのftpserver.portで指定したポートに接続します。

SFTPサーバーは、director.propertiesのsshd.portプロパティで制御されます。デフォルト値は2222です。

次のディレクトリは、FTPおよびSFTPサーバー経由で使用できます。

ディレクトリ

説明

config

EDQベース構成ディレクトリ(edqhome)に対応します。

config1

EDQローカル構成ディレクトリ(edq.local.home)に対応します。

landingarea

EDQインストール環境のlandingareaディレクトリに対応します。

projectlandingarea

EDQインストール環境のプロジェクト固有のランディング領域に対応します。

commands

EDQローカル構成ディレクトリ(oedq_local_home)内のcommandareaディレクトリに対応します。

8 サード・パーティ・ライセンスの帰属

この章では、EDQ製品に含まれるサード・パーティのソフトウェアおよびコンポーネントの法的帰属について説明します。

8.1 サード・パーティ・ライセンスの帰属

Apache Active MQ

Apache ActiveMQ Copyright 2006-2008 Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

-------------

Jabber xsds in activemq-xmpp

This software was generated using XSDs from the Jabber Software Foundation http://www.xmpp.org/schemas/

Copyright (c) 1999-2006 The Jabber Software Foundation

http://www.xmpp.org/about/copyright.shtml

These XSD files are licensed under the Creative Commons License 2.5

http://creativecommons.org/licenses/by/2.5/

==============================================================

Jetty Web Container

Copyright 1995-2006 Mort Bay Consulting Pty Ltd

==============================================================

This product includes some software developed at The Apache Software Foundation (http://www.apache.org/).

The javax.servlet package used by Jetty is copyright Sun Microsystems, Inc and Apache Software Foundation.It is distributed under the Common Development and Distribution License.

You can obtain a copy of the license at

https://glassfish.dev.java.net/public/CDDLv1.0.html.

The UnixCrypt.java code ~Implements the one way cryptography used by Unix systems for simple password protection.Copyright 1996 Aki Yoshida, modified April 2001 by Iris Van den Broeke, Daniel Deville.

The default JSP implementation is provided by the Glassfish JSP engine from project Glassfish http://glassfish.dev.java.net.Copyright 2005 Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.

Some portions of the code are Copyright:

2006 Tim Vernum

1999 Jason Gilbert.

The jboss integration module contains some LGPL code.

Apache Batik

Copyright 1999-2007 The Apache Software Foundation

This product includes software developed at The Apache Software Foundation (http://www.apache.org/).

This software contains code from the World Wide Web Consortium (W3C) for the Document Object Model API (DOM API) and SVG Document Type Definition (DTD).

This software contains code from the International Organisation for Standardization for the definition of character entities used in the software's documentation.

This product includes images from the Tango Desktop Project (http://tango.freedesktop.org/).

This product includes images from the Pasodoble Icon Theme(http://www.jesusda.com/projects/pasodoble).

Apache Commons

Apache Commons BeanUtils

Copyright 2000-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons Codec

Copyright 2002-2009 The Apache Software Foundation

This product includes software developed by The Apache Software Foundation (http://commons.apache.org/proper/commons-codec/).

--------------------------------------------------------------------------------

src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java contains test data from http://aspell.sourceforge.net.

Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org).Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

--------------------------------------------------------------------------------

Apache Commons Collections

Copyright 2001-2008 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons DBCP

Copyright 2001-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons Digester

Copyright 2001-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons FileUpload

Copyright 2002-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache HttpComponents Client

Copyright 1999-2011 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

This project contains annotations derived from JCIP-ANNOTATIONS Copyright (c) 2005 Brian Goetz and Tim Peierls.See http://www.jcip.net

Apache Commons IO

Copyright 2002-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons Lang

Copyright 2001-2011 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons Logging

Copyright 2003-2007 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Commons Pool

Copyright 2001-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache Jakarta Commons Validator

Copyright 2001-2006 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

===============================================================

== NOTICE file corresponding to section 4(d) of the Apache License, ==

== Version 2.0, in this case for the Apache Derby distribution. ==

===============================================================

Apache Derby

Copyright 2004-2008 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Portions of Derby were originally developed by International Business Machines Corporation and are licensed to the Apache Software Foundation under the "Software Grant and Corporate Contribution License Agreement", informally known as the "Derby CLA".

The following copyright notice(s) were affixed to portions of the code with which this file is now or was at one time distributed and are placed here unaltered.

(C) Copyright 1997,2004 International Business Machines Corporation.All rights reserved.

(C) Copyright IBM Corp. 2003.

The portion of the functionTests under 'nist' was originally developed by the National Institute of Standards and Technology (NIST), an agency of the United States Department of Commerce, and adapted by International Business Machines Corporation in accordance with the NIST Software Acknowledgment and Redistribution document at http://www.itl.nist.gov/div897/ctg/sql_form.htm

Apache FOP

(C) Copyright 1999-2010 The Apache Software Foundation

This product includes software developed at The Apache Software Foundation (http://www.apache.org/).

This software consists of voluntary contributions made by many individuals on behalf of The Apache Software Foundation and was originally created by James Tauber <jtauber@jtauber.com>.

Apache FTP Server

// ------------------------------------------------------------------

// NOTICE file corresponding to the section 4d of The Apache License,

// Version 2.0, in this case for Apache FtpServer Parent

// ------------------------------------------------------------------

Apache FtpServer Parent

Copyright 2003-2010 The Apache Software Foundation

This product includes software developed at

The Apache Software Foundation (http://www.apache.org/).

Apache Geronimo

Copyright 2003-2010 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Portions of the Web Console were orginally developed by International Business Machines Corporation and are licensed to the Apache Software Foundation under the "Software Grant and Corporate Contribution License Agreement", informally known as the "IBM Console CLA".

Portions of the ASN1 codec implementation in framework/modules/geronimo-crypto/ were developed by the Bouncy Castle project (http://www.bouncycastle.org/).

Copyright (c) 2000-2005 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)

Apache log4j

Copyright 2007 The Apache Software Foundation

This product includes software developed at The Apache Software Foundation (http://www.apache.org/).

Apache Lucene

Copyright 2006 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

The snowball stemmers in contrib/snowball/src/java/net/sf/snowball were developed by Martin Porter and Richard Boulton.The full snowball package is available from http://snowball.tartarus.org/

The Arabic stemmer (contrib/analyzers) comes with a default stopword list that is BSD-licensed created by Jacques Savoy.The file resides in contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt.See http://members.unine.ch/jacques.savoy/clef/index.html.

The Persian analyzer (contrib/analyzers) comes with a default stopword list that is BSD-licensed created by Jacques Savoy.The file resides in contrib/analyzers/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt.See http://members.unine.ch/jacques.savoy/clef/index.html.Includes lib/servlet-api-2.4.jar from Apache Tomcat

The SmartChineseAnalyzer source code (under contrib/analyzers) was provided by Xiaoping Gao (copyright 2009).

ICU4J, (under contrib/collation) is licensed under an MIT styles license (contrib/collation/lib/ICU-LICENSE.txt) and Copyright (c) 1995-2008 International Business Machines Corporation and others

Apache POI

Copyright 2009 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

This product contains the DOM4J library (http://www.dom4j.org).Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.

This product contains parts that were originally based on software from BEA.Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.

This product contains W3C XML Schema documents.Copyright 2001-2003 (c) World Wide Web Consortium (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)

This product contains the Piccolo XML Parser for Java (http://piccolo.sourceforge.net/).Copyright 2002 Yuval Oren.

This product contains the chunks_parse_cmds.tbl file from the vsdump program.Copyright (C) 2006-2007 Valek Filippov (frob@df.ru)

Apache SSHD

===============================================================

== NOTICE file for use with the Apache License, Version 2.0, ==

== in this case for the SSHD distribution. ==

===============================================================

This product contains software developped by JCraft,Inc. and subject to the following license:

Copyright (c) 2002,2003,2004,2005,2006,2007,2008 Atsuhiko Yamanaka, JCraft,Inc.All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

The names of the authors may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL JCRAFT, INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

--------------------------------------------------------------------------------

Copyright (c) 2000 - 2006 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)

次の条件に従って、このソフトウェアおよび関連ドキュメント・ファイル(以下「本ソフトウェア」)の複製を取得するすべての人に対して、無償で、無制限に本ソフトウェアを扱うことを許可します。これには、本ソフトウェアの複製を使用、複写、変更、結合、公開、頒布、サブライセンス許諾および/または販売する権利、ならびに本ソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 作成者または著作権者は、契約行為または不法行為などの別を問わず、本ソフトウェアに起因もしくは関連するか、または本ソフトウェアの使用もしくはその他の扱いによって生じる一切の請求、損害、その他の義務に対して責任を負いません。

Apache Struts

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Apache v2.0

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution.You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions.Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks.This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty.Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability.In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your workTo apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!)The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

ライセンスのコピーは、http://www.apache.org/licenses/LICENSE-2.0で入手できます

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Apache Tomcat

Copyright 1999-2011 The Apache Software Foundation

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

The Windows Installer is built with the Nullsoft Scriptable Install System (NSIS), which is open source software.The original software and related information is available at http://nsis.sourceforge.net.

Java compilation software for JSP pages is provided by Eclipse, which is open source software.The original software and related information is available at http://www.eclipse.org.

Apache Xalan

===============================================================NOTICE file corresponding to the section 4d of the Apache License, Version 2.0, ==

== in this case for the Apache Xalan distribution. ==

==============================================================

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

Portions of this software was originally based on the following:

- software copyright (c) 1999-2002, Lotus Development Corporation., http://www.lotus.com.

- software copyright (c) 2001-2002, Sun Microsystems., http://www.sun.com.

- software copyright (c) 2003, IBM Corporation., http://www.ibm.com.

- voluntary contributions made by Ovidiu Predescu (ovidiu@cup.hp.com) on behalf of the Apache Software Foundation and was originally developed at Hewlett Packard Company.

Apache Xerces Java

===============================================================

== NOTICE file corresponding to section 4(d) of the Apache License, ==

== Version 2.0, in this case for the Apache Xerces Java distribution. ==

===============================================================

Apache Xerces Java

Copyright 1999-2010 The Apache Software Foundation

This product includes software developed at The Apache Software Foundation (http://www.apache.org/).

Portions of this software were originally based on the following:

software copyright (c) 1999, IBM Corporation., http://www.ibm.com.

software copyright (c) 1999, Sun Microsystems., http://www.sun.com.

voluntary contributions made by Paul Eng on behalf of the Apache Software Foundation that were originally developed at iClick, Inc., software copyright (c) 1999.

Common Development and Distribution License (CDDL)

The Common Development and Distribution License (CDDL) can be viewed here.

DB Utility Library

Copyright 2005-2010 Richard Evans

This product includes software developed by Richard Evans.

GeoNames

EDQカスタマ・データ・サービス・パック(CDS)の参照データの一部は、GeoNames (www.geonames.com)から導出されています。

このデータは、Creative Commons Licence 2.0に基づいてライセンスされています。

http://creativecommons.org/licenses/by/2.0/

GNU GENERAL PUBLIC LICENSE

GNU General Public Licenseはここで参照できます。

Groovy Language

===============================================================

== NOTICE file corresponding to the section 4 d of ==

== the Apache License, Version 2.0, ==

== in this case for the Groovy Language distribution. ==

===============================================================

Groovy Language

Copyright 2003-2009 The respective authors and developers

Developers and Contributors are listed in the project POM file

This product includes software developed by The Groovy community (http://groovy.codehaus.org/).

ICU

ICU License - ICU 1.8.1 and later

COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1995-2010 International Business Machines Corporation and others

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.

Janel

Copyright (c) 2003-2007 Timothy D.Kil

次の条件に従って、このソフトウェアおよび関連ドキュメント・ファイル(以下「本ソフトウェア」)の複製を取得するすべての人に対して、無償で、無制限に本ソフトウェアを扱うことを許可します。これには、本ソフトウェアの複製を使用、複写、変更、結合、公開、頒布、サブライセンス許諾および/または販売する権利、ならびに本ソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 作成者または著作権者は、契約行為または不法行為などの別を問わず、本ソフトウェアに起因もしくは関連するか、または本ソフトウェアの使用もしくはその他の扱いによって生じる一切の請求、損害、その他の義務に対して責任を負いません。

Java Runtime Environment

次に、Java Runtime Environmentの著作権情報をすべて複製します。Java Runtime Environmentには、READMEファイルとTHIRDPARTYLICENSEREADMEファイルも含まれます。

Copyright © 2006, 2010, Oracle and/or its affiliates.

All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。このソフトウェアまたは関連ソフトウェアドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。UNIXは、X/Open Company, Ltd.を通じてライセンスされた登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

JavaCC

Copyright (c) 2006, Sun Microsystems, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of the Sun Microsystems, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

JavaHL

This license applies to all portions of Subversion which are not externally-maintained libraries (e.g. apr/, apr-util/, and neon/).Such libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below.

This is version 1 of this license.It is also available online at http://subversion.tigris.org/license-1.html.If newer versions of this license are posted there (the same URL, but with the version number incremented: .../license-2.html, .../license-3.html, and so on), you may use a newer version instead, at your option.

===============================================================

Copyright (c) 2000-2006 CollabNet.All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by CollabNet (http://www.Collab.Net/)."

Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.

4. The hosted project names must not be used to endorse or promote products derived from this software without prior written permission.For written permission, please contact info@collab.net.

5. Products derived from this software may not use the "Tigris" name nor may "Tigris" appear in their names without prior written permission of CollabNet.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COLLABNET OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

===============================================================

This software consists of voluntary contributions made by many individuals on behalf of CollabNet.

Jaxen

/*

$Id: LICENSE.txt 1128 2006-02-05 21:49:04Z elharo $

Copyright 2003-2006 The Werken Company.All Rights Reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of the Jaxen Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/

JDOM

/*--

$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $

Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.

3. The name "JDOM" must not be used to endorse or promote products derived from this software without prior written permission.For written permission, please contact <request_AT_jdom_DOT_org>.

4. Products derived from this software may not be called "JDOM", nor may "JDOM" appear in their name, without prior written permission from the JDOM Project Management <request_AT_jdom_DOT_org>.

In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgement equivalent to the following: "This product includes software developed by the JDOM Project (http://www.jdom.org/)."Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos.

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This software consists of voluntary contributions made by many individuals on behalf of the JDOM Project and was originally created by Jason Hunter <jhunter_AT_jdom_DOT_org> and Brett McLaughlin <brett_AT_jdom_DOT_org>.For more information on the JDOM Project, please see <http://www.jdom.org/>.

*/

JGo

Northwoods JGoライセンスの条件により、JGoソフトウェアを使用するすべての会社は、適用可能なFARおよびDFARの規制に従って、Northwoodsテクノロジを組み込んだ製品のすべてのコピーに対し、次に指定する適切な米国政府の制限付き権利の注意書きを含める必要があります。適切な制限付き権利の注意書きは次のとおりです。

U.S. Government Restricted Rights

The Software and documentation are provided with RESTRICTED RIGHTS.Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (C)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (C)(1) and (2) of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable.Contractor / manufacturer is Northwoods Software Corporation, 142 Main St., Nashua, NH 03060.

MySQL JDBC Driver

次に、MySQL JDBCドライバに付属するREADMEファイルの内容を示します。これは、GNU GENERAL PUBLIC LICENSEのコピーにも付属します。

README file

MySQL Connector/J 5.1.15 (formerly MM.MySQL) This is a release of MySQL Connector/J, Oracle's dual-license JDBC Driver for MySQL.For the avoidance of doubt, this particular copy of the software is released under the version 2 of the GNU General Public License.

MySQL Connector/J is brought to you by the MySQL team at Oracle.

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

CONTENTS

* License

* Documentation Location

* Third-Party Component Notices

LICENSE

The MySQL Connector/J is licensed under the terms of the GPLv2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.There are special exceptions to the terms and conditions of the GPLv2 as it is applied to this software, see the FLOSS License Exception <http://www.mysql.com/about/legal/licensing/foss-exception.html>.License information can be found in the COPYING file.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. このプログラムとともにGNU General Public Licenseのコピーが送信されます。送信されない場合は、Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USAまでお問い合せください。

DOCUMENTATION LOCATION

The documentation formerly contained in this file has moved into the 'doc' directory, where it is available in HTML, PDF and plaintext forms.You may also find the latest copy of the documentation on the MySQL website at http://dev.mysql.com/doc/refman/5.1/en/connector-j.html

This software is OSI Certified Open Source Software.

OSI Certified is a certification mark of the Open Source Initiative.

***************************************************************

Third-Party Component Notices

****************************************************************

This distribution may include materials developed by third parties.For license and attribution notices for these materials, please refer to the documentation that accompanies this distribution.A copy of the license/notices is also reproduced below.GPLv2 Disclaimer For the avoidance of doubt, except that if any license choice other than GPL or LGPL is available it will apply instead, Oracle elects to use only the General Public License version 2 (GPLv2) at this time for any software where a choice of GPL license versions is made available with the language indicating that GPLv2 or any later version may be used, or where a choice of which version of the GPL is applied is otherwise unspecified.

*****************************************************************

%%The following software may be included in this product:

Ant-Contrib

Use of any of this software is governed by the terms of the APACHE SOFTWARE LICENSE.

*******************************************************************

%%The following software may be included in this product: c3p0:JDBC DataSources/Resource Pools

Use of any of this software is governed by the terms of the GNU LESSER GENERAL PUBLIC LICENSE.

*******************************************************************

%%The following software may be included in this product:

jboss-common-jdbc-wrapper.jar

Use of any of this software is governed by the terms of the GNU LESSER GENERAL PUBLIC LICENSE

***********************************************************************

次のソフトウェアがこの製品に含まれる場合があります。

SLF4J (Simple Logging Facade for Java)

Copyright (c) 2004-2008 QOS.ch

All rights reserved.

次の条件に従って、このソフトウェアおよび関連ドキュメント・ファイル(以下「本ソフトウェア」)の複製を取得するすべての人に対して、無償で、無制限に本ソフトウェアを扱うことを許可します。これには、本ソフトウェアの複製を使用、複写、変更、結合、公開、頒布、サブライセンス許諾および/または販売する権利、ならびに本ソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 作成者または著作権者は、契約行為または不法行為などの別を問わず、本ソフトウェアに起因もしくは関連するか、または本ソフトウェアの使用もしくはその他の扱いによって生じる一切の請求、損害、その他の義務に対して責任を負いません。

****

PostgreSQL

PostgreSQLのライセンスはhttp://www.postgresql.org/about/licence/で入手できます。

PostgreSQL JDBC Driver

PostgreSQL JDBCドライバのライセンスはhttps://jdbc.postgresql.org/about/license.htmlで入手できます。

Rhino

The majority of Rhino is MPL 1.1 / GPL 2.0 dual licensed:

The MOZILLA PUBLIC LICENSE (http://www.mozilla.org/MPL/MPL-1.1.txt):

The GNU GENERAL PUBLIC LICENSE

===============================================================

Additionally, some files (currently the contents of

toolsrc/org/mozilla/javascript/tools/debugger/treetable/) are available

only under the following license:

===============================================================

* Copyright 1997, 1998 Sun Microsystems, Inc. All Rights Reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

*

* - Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

*

* - Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

*

* - Neither the name of Sun Microsystems nor the names of its

* contributors may be used to endorse or promote products derived

* from this software without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

===============================================================

Rhino Debugger

Rhino Debuggerのライセンスにはhttps://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Licenseでアクセスできます。

SLF4J

SLF4Jのライセンスにはhttp://www.slf4j.org/license.htmlでアクセスできます。

Spring Framework

Spring Framework 3.1

Copyright (c) 2002-2011 SpringSource, a division of VMware, Inc.

This product is licensed to you under the Apache License, Version 2.0 (the "License").You may not use this product except in compliance with the License.This product may include a number of subcomponents with separate copyright notices and license terms.Your use of the source code for the these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file.

Staxのライセンス情報

Staxのライセンス情報の内容:

The Binary Code License

The Streaming API for XML (JSR-173) Specification Reference Implementation License

The Third Party License

The Binary Code License

Sun Microsystems, Inc.

Binary Code License Agreement

READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE.BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT.IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS AGREEMENT.

1. LICENSE TO USE.Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer hardware for which the corresponding fee has been paid.

2. RESTRICTIONS.Software is confidential and copyrighted.Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors.Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other than a single copy of Software for archival purposes.Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software.Licensee acknowledges that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses.No right, title or interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.

3. LIMITED WARRANTY.Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.Except for the foregoing, Software is provided "AS IS".Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software.

4.DISCLAIMER OF WARRANTY.UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

5.LIMITATION OF LIABILITY.TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement.The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.

6.Termination.This Agreement is effective until terminated.You may terminate this Agreement at any time by destroying all copies of Software.This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.Upon Termination, you must destroy all copies of Software.

7. Export Regulations.All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries.You agree to comply strictly with all such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.

8.U.S. Government Restricted Rights.If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).

9. Governing Law.Any action related to this Agreement will be governed by California law and controlling U.S. federal law.No choice of law rules of any jurisdiction will apply.

10.Severability.If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.

11.Integration.This Agreement is the entire agreement between you and Sun relating to its subject matter.It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement.No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.

JAVA OPTIONAL PACKAGE

SUN JAVA STREAMING XML PARSER, VERSION 1.0

SUPPLEMENTAL LICENSE TERMS

These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively, the "Agreement").Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement.These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software.

A.Software Internal Use and Development License Grant.Subject to the terms and conditions of this Agreement, including, but not limited to Section 3 Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of designing, developing and testing your Java applets and applications ("Programs").

B.License to Distribute Software.In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to, Section 3 (Java Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary code form only, provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.

C.Java Technology Restrictions.You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.

D.Trademarks and Logos.You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks.Any use you make of the Sun Marks inures to Sun's benefit.

E.Source Code.Software may contain source code that, unless expressly licensed for other purposes, is provided solely for reference purposes pursuant to the terms of this Agreement.Source code may not be redistributed unless expressly provided for in this Agreement.

F.Third Party Code.Additional copyright notices and license terms applicable to portions of the Software are set forth in the THIRDPARTYLICENSEREADME.txt file.In addition to any terms and conditions of any third party opensource/freeware license identified in the THIRDPARTYLICENSEREADME.txt file, the disclaimer of warranty and limitation of liability provisions in paragraphs 5 and 6 of the Binary Code License Agreement shall apply to all Software in this distribution.

G.Termination for Infringement.Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.

For inquiries please contact: Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054.

(Form ID#011801)

The Streaming API for XML (JSR-173) Specification Reference Implementation License

Streaming API for XML (JSR-173) Specification

Reference Implementation

License Agreement

READ THE TERMS OF THIS (THE "AGREEMENT") CAREFULLY BEFORE VIEWING OR USING THE SOFTWARE LICENSED HEREUNDER.BY VIEWING OR USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT.IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO ORIGINAL CONTRIBUTOR, DEFINED HEREIN.

1.0 DEFINITIONS.

1.1."BEA" means BEA Systems, Inc., the licensor of the Original Code.

1.2."Contributor" means BEA and each entity that creates or contributes to the creation of Modifications.

1.3."Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof and corresponding documentation released with the source code.

1.4."Executable" means Covered Code in any form other than Source Code.

1.5."FCS" means first commercial shipment of a product.

1.6."Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications.When Covered Code is released as a series of files, a Modification is:

(a) Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.

(b) Any new file that contains any part of the Original Code or previous Modifications.

1.7."Original Code" means Source Code of computer software code Reference Implementation.

1.8."Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent for which the grantor has the right to grant a license.

1.9."Reference Implementation" means the prototype or "proof of concept" implementation of the Specification developed and made available for license by or on behalf of BEA.

1.10."Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated documentation, interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice.

1.11."Specification" means the written specification for the Streaming API for XML, Java technology developed pursuant to the Java Community Process.

1.12."Technology Compatibility Kit" or "TCK" means the documentation, testing tools and test suites associated with the Specification as may be revised by BEA from time to time, that is provided so that an implementer of the Specification may determine if its implementation is compliant with the Specification.

1.13."You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this Agreement or a future version of this Agreement issued under Section 6.1.For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You.For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

2.0 SOURCE CODE LICENSE.

2.1.Copyright Grant.Subject to the terms of this Agreement, each Contributor hereby grants You a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Covered Code of such Contributor, if any, and such derivative works, in Source Code and Executable form.

2.2.Patent Grant.Subject to the terms of this Agreement, each Contributor hereby grants You a non-exclusive, worldwide, royalty-free patent license under the Patent Claims to make, use, sell, offer to sell, import and otherwise transfer the Covered Code prepared and provided by such Contributor, if any, in Source Code and Executable form.This patent license shall apply to the Covered Code if, at the time a Modification is added by the Contributor, such addition of the Modification causes such combination to be covered by the Patent Claims.The patent license shall not apply to any other combinations which include the Modification.

2.3.Conditions to Grants.You understand that although each Contributor grants the licenses to the Covered Code prepared by it, no assurances are provided by any Contributor that the Covered Code does not infringe the patent or other intellectual property rights of any other entity.Each Contributor disclaims any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise.As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any.For example, if a third party patent license is required to allow You to distribute Covered Code, it is Your responsibility to acquire that license before distributing such code.

2.4.Contributors' Representation.Each Contributor represents that to its knowledge it has sufficient copyright rights in the Covered Code it provides, if any, to grant the copyright license set forth in this Agreement.

3.0 DISTRIBUTION RESTRICTIONS.

3.1.Application of Agreement.

The Modifications which You create or to which You contribute are governed by the terms of this Agreement, including without limitation Section 2.0.The Source Code version of Covered Code may be distributed only under the terms of this Agreement or a future version of this Agreement released under Section 6.1, and You must include a copy of this Agreement with every copy of the Source Code You distribute.You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this Agreement or the recipients' rights hereunder.However, You may include an additional document offering the additional rights described in Section 3.3.

3.2.Description of Modifications.

You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by BEA and including the name of BEA in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.

3.3.Required Notices.

You must duplicate the following notice in each file of the Source Code:

"(c) 2002, 2003 BEA Systems, Inc. All rights Reserved.The contents of this file are subject to the BEA Streaming API for XML Specification Reference Implementation License Agreement (the "Agreement"); you may not use this file except in compliance with the Agreement.A copy of the Agreement is available at http://www.bea.com/"

If You created one or more Modification(s) You may add your name as a Contributor to the copyright portion of the notice above.You must also duplicate this Agreement in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code.You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of BEA or any other Contributor.You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify BEA and every other Contributor for any liability incurred by BEA or such other Contributor as a result of warranty, support, indemnity or liability terms You offer.

3.4.Distribution of Executable Versions.

You may choose to distribute Covered Code in Executable form under its own license agreement, provided that:

(a) You comply with the terms and conditions of this Agreement; and

(b) Your license agreement: (i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; (ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; (iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and (iv) states that Source Code for the Covered Code is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

(c) You do not use any marks, brands or logos associated with the JCP Specification, or otherwise promote or market any Covered Code, as being compatible, compliant, conformant or otherwise consistent with the Specification unless such product passes, in accordance with the documentation (including the TCK Users Guide, if any), the most current TCK applicable to the latest version of the Specification and available from BEA one hundred twenty (120) days before FCS of such version of the product; provided, however, that if You elect to use a version of the TCK also provided by BEA that is newer than that which is required under this Section 2.1(b)(v), then You agree to pass such TCK.

3.5.Distribution of Source Code Versions.

When You make Covered Code available in Source Code form:

(a) it must be made available under this Agreement; and

(b) a copy of this Agreement must be included with each copy of the Covered Code.

You may not remove or alter any copyright notices contained within the Covered Code.Each Contributor must identify itself as the originator of its contribution to the Covered Code, if any, in a manner that reasonably allows subsequent licensees to identify the originator of each portion of the Covered Code.

4.0 DISCLAIMER OF WARRANTY.

COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT BEA OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION.THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.

5.0 TERMINATION.

5.1.This Agreement and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach.All sublicenses to the Covered Code which are properly granted shall survive any termination of this Agreement.Provisions which, by their nature, must remain in effect beyond the termination of this Agreement shall survive.

5.2.If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against BEA or a Contributor (BEA or Contributor against whom You file such action is referred to as "Participant") alleging that:

(a) such Participant's Covered Code directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.0of this Agreement shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Covered Code against such Participant.If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Section 2.0 automatically terminate at the expiration of the 60 day notice period specified above.

(b) any software, hardware, or device, other than such Participant's Covered Code, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.0 are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.

5.3.If You assert a patent infringement claim against Participant alleging that such Participant's Covered Code directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.0 shall be taken into account in determining the amount or value of any payment or license.

5.4.In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.

6.0 LIMITATION OF LIABILITY.

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOUBEA, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.

7.0 U.S. GOVERNMENT END USERS.

The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995).Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.

8.0 MISCELLANEOUS.

This Agreement represents the complete agreement concerning subject matter hereof.If any provision of this Agreement is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.This Agreement shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions.With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses.The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this Agreement.

9.0 RESPONSIBILITY FOR CLAIMS.

As between BEA and the other Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this Agreement and You agree to work with BEA and Contributors to distribute such responsibility on an equitable basis.Nothing herein is intended or shall be deemed to constitute any admission of liability.

Sequence Library License for SVN

Sequence Library License

This license applies to all portions of the Sequence library, which are not externally-maintained libraries (e.g. junit or jsch).

===============================================================

Copyright (c) 2000-2008 SyntEvo GmbH, Ainring, GERMANY.

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are

met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

3. The end-user documentation included with the redistribution, if

any, must include the following acknowledgment: "This product includes

software developed by SyntEvo GmbH, Ainring, GERMANY."

Alternately, this acknowledgment may appear in the software itself, if

and wherever such third-party acknowledgments normally appear.

4. The hosted project names must not be used to endorse or promote

products derived from this software without prior written

permission.For written permission, please contact info@syntevo.com.

5. Neither the name of SyntEvo GmbH nor the names of its contributors

may be used to endorse or promote products derived from this

software without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SyntEvo GmbH OR HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

===============================================================

The Third Party License

%% The following software may be included in this product: Xerces.Use of any of this software is governed by the terms of the Apache Software License.

* This software consists of voluntary contributions made by many

* individuals on behalf of the Apache Software Foundation.For more

* information on the Apache Software Foundation, please see

* <http://www.apache.org/>.

*

* Portions of this software are based upon public domain software

* originally written at the National Center for Supercomputing Applications,

* University of Illinois, Urbana-Champaign.

*/

8.1.1 Apacheソフトウェア・ライセンス

DO NOT TRANSLATE OR LOCALIZE.

* The Apache Software License, Version 1.1

*

* Copyright (c) 2001-2003 Ant-Contrib project.All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

*

* 1.Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

*

* 2.Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in

* the documentation and/or other materials provided with the

* distribution.

*

* 3.The end-user documentation included with the redistribution, if

* any, must include the following acknowledgment:

* "This product includes software developed by the

* Ant-Contrib project (http://sourceforge.net/projects/ant-contrib)."

* Alternately, this acknowledgment may appear in the software itself,

* if and wherever such third-party acknowledgements normally appear.

*

* 4.The name Ant-Contrib must not be used to endorse or promote products

* derived from this software without prior written permission.For

* written permission, please contact

* ant-contrib-developers@lists.sourceforge.net.

*

* 5.Products derived from this software may not be called "Ant-Contrib"

* nor may "Ant-Contrib" appear in their names without prior written

* permission of the Ant-Contrib project.

*

* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

* PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE ANT-CONTRIB

* PROJECT OR ITSCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,

* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

* WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING

* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF

* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

* ===============================================================

8.1.2 GNU General Public License

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.,

51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.)You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you want), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights.

These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We want to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".)Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you want to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.>

Copyright (C) <year> <name of author>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.

The hypothetical commands show w' and 'show c' should show the appropriate parts of the General Public License.Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989

Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。