Ant スクリプトを使用して J2C コンポーネントを起動できます。これらの Ant スクリプトはワークベンチからもコマンド行からも呼び出すことができます。
アプリケーション開発を実行する際、アプリケーション成果物のソースがメタデータ・リポジトリーから得られるのは非常に一般的です。
これらのリポジトリーは通常、成果物を探すために参照され、成果物のサブセットが選択され、ここからアプリケーション・コンポーネントが生成されます。
このプロセスは通常、実際のインポートを行うために、基盤となる API を呼び出すワークベンチで行われます。
ワークベンチと基盤となる API の相互作用にならった Ant 定義ファイルを使用しても、同じインポートを行うことができます。
Apache Ant は、Java ベースのビルド・ツールです。Ant 構成ファイルには、
コマンド行からでも、ワークベンチからでも起動できるという利点があります。
Ant 構成ファイルは本質的に XML ファイルであるため、
手作業で全体を変更またはビルドして、ワークベンチをロードせずに再実行することができます。
Ant 構成ファイルは、さまざまなタスクが実行されるターゲット・ツリーから構成されています。
ターゲット内のタスクは、パイプライン方法で処理されます。
各タスクは、特定のタスク・インターフェースを実装するオブジェクトによって実行されます。
Ant 構成ファイルが呼び出されると、各タスクに対応したプロパティーが実装しているタスク・オブジェクトにロードされます。
情報がロードされると、タスク・オブジェクトが呼び出されます。
データ・インポートのサイクル
一般に、
インポート・サイクル中に関与するステップは 2 つあり、それぞれのステップは別個のコンポーネントによって行われます。
- ディスカバリー・エージェントは、データの実際のインポートを実行し、インポート結果 と呼ばれる専有メタデータを作成する。
- リソース書き込み機能はインポート結果を利用し、適切なアプリケーション成果物を作成する。
ディスカバリー・エージェントおよびリソース書き込み機能には、インポートおよび生成ステップ中にユーザー入力のセットを提供する必要があります。
例えば、照会段階で、ディスカバリー・エージェントにはそれぞれ、対応するメタデータ・リポジトリーでの照会を定義するのに使用される、異なるセットのパラメーターがあります。
Ant 定義ファイルには、このような情報を保管する 2 つの異なるセクションがあります。1 つはディスカバリー・エージェントのコンポーネント用で、もう 1 つはリソース書き込み機能のコンポーネント用です。
- Ant スクリプトの「インポート」セクションは、次のようになる。
<discoveryAgent type="DiscoveryAgentName">
<importResource name="PropertyName" value="PropertyValue"/>
<importProperties>
<propertyElement name="PropetyName" value="PropertyValue"/>
</importProperties>
<searchParameters>
<propertyElement name="ParameterName"/>
</searchParameters>
</discoveryAgent>
ここで、
- discoveryAgent は、インポートに使用されるディスカバリー・エージェントの名前
- importResource は、インポートされるリソース
- importProperties は、メタデータ・リポジトリーに対する照会を構成する必要がある情報を表すパラメーターのリスト
- searchParameters は、アプリケーション成果物としてインポートするために望ましい結果ツリーの select ノード
- propertyElement は、リスト (プロパティー名とプロパティー値のペア)
- アプリケーション成果物を生成するために、インポートされた結果を利用することを理解しているリソース書き込み機能が呼び出される。
例えば、タイプ COBOL のインポート後には、COBOL タイプのインポート結果を利用することを理解している書き込み機能のみを使用することができます。
Ant スクリプトの「Write」セクションは、次のようになります。
<workspaceResourceWriter type="ResourceWriterName">
<propertyElement name="PropertyName" value="PropertyValue"/>
</workspaceResourceWriter>
ここで、
- workspaceResourceWriter は、アプリケーション成果物を生成するために使用される書き込み機能の名前
- propertyElement は、書き込み機能が生成に使用するリスト (プロパティー名とプロパティー値のペア)
- 言語インポート (COBOL および C) の特殊な場合には、追加ステップとしてバインディング生成がある。
Ant スクリプトの「Binding」セクションは、次のようになります。
<createBinding package="PackageName" class="ClassName">
<methodElement>
<name value="MethodName"/>
<input value="Input"/>
<output value="Output"/>
<interactioSpec>
<propertyElement name="PropertyName" value="PropetyValue"/>
</interactioSpec>
</methodElement>
<connectionSpec>
<propertyElement name="PropertyName" value="PropertyValue"/>
</connectionSpec>
<resourceAdapter project="ResourceAdapterProjectName"/>
</createBinding>
- resourceAdapter は、次の方法でも定義できます。
<resourceAdapter>
<propertyElement name="displayName" value="PropertyValue"/>
<propertyElement name="version" value="PropertyValue"/>
<propertyElement name="vendorName" value="PropertyValue"/>
</resourceAdapter>
ここで、
- createBinding は、パッケージおよびインターフェース・バインディング・クラス名を定義する
- methodElement は、EIS にアクセスするための Java™ メソッド
- name は、メソッド名
- input は、入力型
- output は、出力型
- interactioSpec は、相互作用プロパティーのリスト
- connectionSpec は、接続プロパティーのリスト
- resourceAdapter は、プロジェクト名またはプロパティーのリストを指定することによって使用されるリソース・アダプター
- プロパティーが設定された後で、基盤となる API を呼び出すコマンドを実行し、インポートまたは成果物生成を行う。
Ant スクリプトの「Command」セクションは、次のようになります。
<command commandID="CommandID">
<fileset dir="." includes="AntFile"/>
</command>
ここで、
- command は、実行を駆動するコマンド
- fileset は、アクション・トリガーとして使用される必須パラメーターであり、常に Ant ファイル自体を指す
注: Ant スクリプトを使用する際は、以下のガイドラインに留意してください。
- Ant スクリプトでリソース・アダプターを呼び出す場合は、
Ant スクリプトを起動する前にワークスペースにリソース・アダプターをインポートする必要がある。
- 使用されるリソースには、ワークスペースおよびプロジェクトを指すファイル・パスか、
またはフル・ファイル・システム・パスがなければならない。
- ディスカバリー・エージェントおよびワークスペース書き込み機能は、一意的に識別される名前 (QName) で参照される。
すべての登録済みディスカバリー・エージェント、ワークスペース・リソース書き込み機能、およびインポート構成
を検索するには、スクリプト・ディレクトリーにある displayAll.xml スクリプトを使用してください。
- 一部のエレメントには、name 属性と value 属性のペアがある。名前は実際には、ディスカバリー・エージェントまたはリソース書き込み機能によって内部的に定義されたプロパティーであり、値を渡すために使用されます。
正しい名前を使用することが重要です。
名前がコンポーネントによって認識されないと、値は設定されません。
いかなる場合も、これらの属性は 1 対多の多重度を持つ propertyElement タグの一部です。
同じ多重度が methodElement タグにも適用されます。
以下のスクリプトの例は、指定された (taderc99.ccp) COBOL ファイルに基づいてデータ・バインディングを生成します。このスクリプトは、com.ibm.adapter.command プラグイン、script ディレクトリーにあります。
<?xml version="1.0"?>
<project name="com.ibm.adapter.command" default="DataType">
<target name="DataType">
!-- perform import -->
<discoveryAgent type="com/ibm/adapter:CobolDiscoveryAgent">
<importResource name="CobolFile" value="¥Test¥taderc99.ccp"/>
<importProperties>
<propertyElement name="Platform name" value="Win32"/>
</importProperties>
<searchParameters>
<propertyElement name="DFHCOMMAREA"/>
</searchParameters>
!-- execute import command -->
<command commandID="com.ibm.adapter.command.PerformImportCommand">
<fileset dir="." includes="**/dataType.xml"/>
/command>
!-- write to workspace -->
<workspaceResourceWriter type="type="com/ibm/adapter/cobol/writer:JAVA_WRITER">
<propertyElement name="Java Type Name/Overwrite existing class" value="true"/>
<propertyElement name="Java Type Name/Project Name" value="Test"/>
<propertyElement name="Java Type Name/Package Name" value="com.ibm.test"/>
<propertyElement name="Java Type Name/Class Name" value="Taderc99"/>
</workspaceResourceWriter>
!-- execute write command -->
<command commandID="com.ibm.adapter.command.WriteToWorkspaceCommand">
<fileset dir="." includes="**/dataType.xml"/>
</command>
</target>
</project>
CobolFile プロパティーの値は大/小文字が区別され、フル・ファイル・システム・パスか、ワークスペースを基準とするパスです。
上記のスクリプトを実行する前に、以下の修正が必要です。
- 開いているワークスペースを閉じる。
- RAD_INSTALL_DIR/rad/eclipse/plugins/com.ibm.adapter.command.6.0.0plugin ディレクトリーを参照する。
- plugin.xml ファイルを開き、以下の行を除去する。
<library name="runtime/command-ant.jar">
<export name="*"/>
/>library>
- ファイルを保管する。
- コマンド・プロンプトを開き、clean パラメーター RAD_INSTALL_DIR/rationalsdp.exe
-clean で RAD を呼び出す。この修正を行う必要があるのは、1 度のみです。
上のスクリプトを実行するステップ:
- スクリプトが指す Java プロジェクトを作成する。
- 新たに作成された Java プロジェクトで、XML ファイル dataType.xml を作成し、
その中に上記のスクリプトをコピーする。
- それに応じて、スクリプト・ファイル内のプロパティーを変更する。
- Ant スクリプトを実行する。ワークスペースと同じ JRE で実行してください。