imtkmake コマンド

COBOL プログラム・ベースのサービス・インターフェイスを作成してディプロイしたり、エンタープライズ・サーバで実行されているディプロイ済みサービスにアクセスするクライアントを生成したりできます。

構文:

imtkmake -defmap          service=service-name
                          src=program-name
                          type=service-type
                         [directives=Compiler-directives] 
                         [settings=properties-filename]
imtkmake -generate        service=service-name
                          type=service-type
                         [appdir=directory-name]
                         [appserver=J2EE-application-server-name]
                         [bean=bean-name]
                         [classpath=pathname]
                         [ejbname=ejb-name]
                         [esruntime=esruntime-filename]
                         [exithandler=program-name]
                         [filename]...
                         [@filelistname]
                         [jarname=jar-filename]
                         [namespace=service-namespace] 
                         [package=package-name]
                         [sepsession={stateless|stateful}]
                         [serverHost=host-name]
                         [serverPort=port-number]  
                         [session={stateless|stateful}] 
                         [settings=properties-filename]
                         [style={doclit|rpcenc}]
                         [transaction={application|container}]
                         [transactional={yes|no}]
                         [url=ip-address]
imtkmake -query
imtkmake -queryAppServerList
imtkmake -deploy          type=service-type
                         [carname=car-filename]
                         [password=secure-password]
                         [server=server-name,deployer-name]
                         [settings=properties-filename]
                         [username=secure-username]
imtkmake -showlog         deploydir=deployment-directory
imtkmake -genclient       service=service-name
                          type=service-type     
                         [appserver=J2EE-application-server-name]
                         [clientdir=directory-name]
                         [j2eeVersion={1.4|1.5|5|1.6|6}]
                         [namespace=service-namespace]
                         [style={doclit|rpcenc}]
                         [url=ip-address]
imtkmake -genclientwsdl   clientwsdl=wsdl-filename
                         [clientdir=directory-name]
                         [defaultstringsize=string-size]
                         [defaultarraysize=array-size]
imtkmake -help

パラメータ:

-defmap
src= パラメータで指定されている COBOL プログラムに基づき、デフォルト・マッピングを使用してサービス・インターフェイスを作成します。
-generate
設定されているパラメータに基づいてディプロイ・ファイルを生成し、エンタープライズ・サーバへのディプロイ用に生成されたファイルが含まれる COBOL アーカイブ (.car) ファイルを生成します。
-query
ディプロイに使用できるエンタープライズ・サーバの一覧を表示します。
-queryAppServerList
デフォルトでは、使用できる J2EE 1.4 アプリケーション・サーバの一覧を示します。その他の J2EE バージョンでサポートされているアプリケーション・サーバを表示するには、j2eeversion パラメータを指定してください。
-deploy
-generate パラメータを使用して作成された .car ファイルをエンタープライズ・サーバにディプロイします。servicename.deploy ディレクトリから、-deploy パラメータを指定して imtkmake を実行してください。
-showlog
ディプロイ・ログ (deploylog.txt ファイル) の内容を表示します。
-genclient
指定したタイプ (EJB または Web サービスなど) に応じて、サービス・インターフェイスからクライアントを生成します。
注:J2EEversion を指定した場合、値 1.55 は同じとみなされます。同様に、1.66 も同じとみなされます。
-genclientwsdl
WSDL から COBOL クライアントを生成します。
-help
imtkmake の関数およびパラメータに関する情報を表示します。
appdir=directory-name
エンタープライズ・サーバで実行されているアプリケーションのアプリケーション・ファイルへのパス。
appserver=J2EE-application-server-name
EJB が生成され、ディプロイされる J2EE アプリケーション・サーバの名前およびバージョン。これにより、生成されるディプロイ記述子が定義されます。

EJB および EJB クライアントを生成する場合は、このパラメータは必須です。つまり、 -generate または -genclient 関数を、タイプを EJB に設定して使用する場合に、このパラメータを指定する必要があります。値にはスペースが含まれるため、引用符で囲む必要があります。例:

  • "JBoss 5.1.0"
  • "WebSphere 7.0"

このパラメータは、他のパラメータの後に指定する必要があります。

使用できるサーバの一覧を表示する方法については、-queryAppServerList を参照してください。

bean=bean-name
EJB 生成で、生成される Bean の名前。デフォルトは service-name です。
carname=car-filename
ディプロイする .car ファイルのパスおよび名前。デフォルトでは、このファイルは service.car という名前で、service.deploy ディレクトリに格納されています。同一のコマンド・ライン上で生成とディプロイを行う場合は、carname= は必要ありません。
classpath=pathname
EJB の生成での、J2EE アプリケーション・サーバ上の J2EE 実装クラスのクラスパス。大文字小文字は区別されます。これは、次の .jar ファイルへのパスであり、J2EE アプリケーション・サーバごとに異なります。
  • JBoss の場合は jboss-j2ee.jar および servlet-api.jar
  • WebSphere の場合は j2ee.jar
  • WebLogic の場合は weblogic.jar
clientdir=directory-name
クライアント・プログラムを生成するディレクトリ。-genclientwsdl 関数を使用する場合は、WSDL ファイルのディレクトリがデフォルトになります。その他の場合は、サービスがディプロイされたディレクトリがデフォルトになります。
clientwsdl=wsdl-filename
クライアント・プログラムの生成に使用する WSDL ファイルの名前。
defaultarraysize=array-size
バインドされていない配列に使用するデフォルトの配列サイズ。
defaultstringsize=string-size
バインドされていないストリングに使用するデフォルトのストリング・サイズ。
deploydir=deployment-address
deploylog.txt ファイルの URL。この URL は、-deploy 関数で表示できます。
directives=Compiler-directives
プログラムを正しくコンパイルするために必要な指令。各指令の間はカンマで区切ります。
ejbname=ejb-name
EJB 生成で、生成される EJB の名前。デフォルトは service-nameEJB です。
esruntime=esruntime-filename
ディプロイされたサービスが実行されるときに適用される、ランタイム構成設定が含まれるファイルの名前。ファイルの拡張子は、.rtc である必要があります。
exithandler=program-name
Web サービス生成で、MFRHSOAP 要求ハンドラ内の出口ポイントを処理するユーザ出口プログラムの名前。
@filelistname
.car ファイルにインクルードする必要のある追加ファイルのリストを含むファイルの名前。ファイル名は 1 行に 1 つずつである必要があります。
filename
.car ファイルにインクルードする必要のある追加ファイル。複数のファイルを指定できます。
jarname=jar-filename
EJB 生成で、生成される .jar ファイルの名前。デフォルトは service-name.jar です。
namespace=service-namespace
Web サービス生成、EJB 生成、およびクライアント生成での、サービス・ネームスペース。Web サービス生成およびクライアント生成では、デフォルトは http://tempuri.org/service-name です。EJB 生成では、デフォルトは service-name です。
package=package-name
EJB 生成での、Bean を含む Java クラスのパッケージ名。大文字小文字は区別されます。デフォルトは com.mypackage.service-name です。
password=secure-password
サービス・インターフェイスのセキュア・サーバへのディプロイを可能にするパスワード。このパスワードは、MFDS がパスワードを必要とするように構成されている場合のみ必要です。
sepsession={stateless|stateful}
関連するサービス実行プロセス (Service Execution Process; SEP) 属性の設定。SEP 属性は、transactional=yes の場合のみ意味を持ちます。
server=server-name,deployer-name
ディプロイ・ファイルの宛先。server-name はサービスをディプロイするエンタープライズ・サーバ、deployer-name はそのエンタープライズ・サーバ上のディプロイ・サービスの名前です。このパラメータを指定しなかった場合、関数によりディプロイに使用できるサーバの一覧が表示され、いずれか 1 つを選択するように促すプロンプトが表示されます。
serverHost=host-name
J2SE Java Bean 用のエンタープライズ・サーバが動作しているホスト・マシン名。
serverPort=port-number
J2SE Java Bean 用のエンタープライズ・サーバ・リスナのポート番号。
service=service-name
マップする、または生成するサービスの名前。
session={stateless|stateful}
EJB 生成で、生成される EJB のタイプ。デフォルトは stateless です。
settings=properties-filename
このサービス・インターフェイスの設定プロパティが含まれるファイルの名前。
src=program-name
デフォルト・マッピングの作成に使用するプログラム。
style={doclit | rpcenc}
WSDL 生成に使用するスタイル。デフォルトは doclit です。
transaction={application|container}
サービスがアプリケーション管理かトランザクション管理かを指定します。デフォルトは application です。
transactional={yes|no}
EJB 生成で、EJB サービスをトランザクション・コンテキストで実行するかどうかを設定します。yes に設定した場合、session=stateful がデフォルトになります。
type=service-type
実行するマッピング・タイプまたは生成するクライアント・タイプ (上述 defmapgenclient、および generate を参照)。service-type には、次のいずれか 1 つを指定できます。
  • EJB
  • J2SEbean
  • WebService
url=ip-address
Web サービス生成およびクライアント生成での、サービスの IP アドレス。WSDL 文書に追加されます。
username=secure-username
サービス・インターフェイスのセキュア・サーバへのディプロイを可能にするユーザ名。このユーザ名は、MFDS がユーザ名を必要とするように構成されている場合のみ必要です。

コメント:

  • COBOL プログラム・ファイルが含まれるディレクトリにある Enterprise Developer のコマンド・プロンプトから imtkmake を実行します。
  • このコマンドは、複数の関数を実行します。同一のプログラムに対しては、次の順序で実行する必要があります。
    • -defmap
    • -generate
    • -query (オプション)
    • -deploy
    • -showlog (オプション)
    • -genclient または -genwsdl (またはその両方) (オプション)
  • 次のように、同一のコマンド・ライン上で複数の関数を組み合わせることができます。
    • -defmap-generate を組み合わせて、デフォルト・マッピングからサービス・インターフェイスを生成し、後でディプロイするディプロイ・ファイルを生成する。
    • -generate-deploy を組み合わせて、既存のサービス・インターフェイス用のディプロイ・ファイルを生成し、そのファイルをエンタープライズ・サーバにディプロイする。
    • -defmap-generate、および -deploy を組み合わせて、3 つの関数をすべて実行する。
    注:同一のコマンド・ライン上で複数の関数を組み合わせた場合、共通のパラメータを繰り返し指定する必要はありません。
  • コマンド・ライン関数と、Service Interfaces 機能を組み合わせて使用することができます。例えば、サービス・インターフェイスを作成してカスタマイズしたとします。その後、コマンド・ラインを使用してそのサービス・インターフェイスをディプロイすることができます。
  • Service Interfaces 機能を使用して、[Mapping Properties] ダイアログ・ボックスからサービス・インターフェイスのマッピング・プロパティを指定した場合、Enterprise Developer は、設定を保持するための XML ファイルを生成します。-generate 関数で settings=properties-filename を使用して、この XML ファイルを指定することができます。マッピング・プロパティの XML ファイルには、-generate 関数に関連するオプション・パラメータの値が含まれます。コマンド・ライン上でこれらのパラメータのいずれかを指定した場合、マッピング・プロパティの XML ファイルに含まれる値はオーバーライドされます。
  • パラメータの前に = を付ける代わりに、パラメータを () で囲むことで、() を区切り文字として使用します。例えば、src=book.cbl ではなく src(book.cbl) とします。
  • imtkmake -deploy を使用してサービス・インターフェイスをディプロイした場合、imtkmake は次の場所を次の順序で検索してディプロイする項目を探し、見つかったディプロイ可能な各項目の最初のインスタンスを使用します。
    • MFDS。ディプロイ項目が MFDS 内にある場合、[destination] セクションのあらゆる構成設定が使用されます。例:
      [destination]
         server=ESDEMO
         listener=Web Services and J2EE
      
    • MFDS。ディプロイ項目が MFDS 内に存在しても、構成設定がない場合は、imtkmake は、サービスを所有するエンタープライズ・サーバを使用します。

例:

次のコマンドでは、プログラム book.cbl のデフォルト・マッピングでサービス・インターフェイスが作成されます。

imtkmake -defmap src=book.cbl service=wmapserv type=webservice

次のコマンドでは、wmapserv サービス・インターフェイスの Web サービスが生成されます。

imtkmake -generate service=wmapserv
                          type=webservice
                          exithandler=myhandler
                          namespace=http://corpuri.org/wmapserv

次のコマンドでは、JMapServ サービス・インターフェイスの EJB が生成されます。

imtkmake -generate service=JMapServ
                          type=ejb
                          bean=JMap
                          classpath=/usr/java131/lib/j2ee.jar
                          ejbname=JMapEJB
                          esruntime=jmapconf.rtc
                          jarname=JMap.jar
                          package=com.corp.jmap
                          session=stateful                          
                          appserver="WebLogic 10.3.5"

次のコマンドでは、wmapserv サービス・インターフェイスの Web サービスが生成され、エンタープライズ・サーバ ESDEMO にディプロイされます。追加のデータ・ファイル data-files-path\bookfile.dat (Windows) または data-files-path/bookfile.dat (UNIX) がディプロイされます。

Windows プラットフォームの場合:

imtkmake -generate service=wmapserv type=webservice
         -deploy server=ESDEMO,Deployer data-files-path\bookfile.dat

UNIX プラットフォームの場合:

imtkmake -generate service=wmapserv type=webservice
         -deploy server=ESDEMO,Deployer data-files-path/bookfile.dat

次のコマンドでは、wmapserv.car で生成済みの Web サービスが、エンタープライズ・サーバ ESDEMO にディプロイされます。

imtkmake -deploy carname=wmapserv.car server=ESDEMO,Deployer

このサブミットによるディプロイが成功したかどうかは、202 戻りコードと、応答メッセージ内に URL が存在しているかどうかでわかります。

次のコマンドでは、URL http://10.120.72.229:47704/uploads/cw_diYLq から deploylog.txt ファイルが表示されます。

imtkmake -showlog deploydir=http://10.120.72.229:47704/uploads/cw_diYLq

次のコマンドでは、サービス wmapserv の COBOL クライアント・プログラムが作成されます。

imtkmake -genclient type=webservice service=wmapserv

次のコマンドでは、サービスの WSDL ファイルを使用して、サービス wmapserv の COBOL クライアント・プログラムが作成されます。

Windows プラットフォームの場合:

imtkmake -genclientwsdl clientwsdl=wmapserv.wsdl 

UNIX プラットフォームの場合:

imtkmake -genclientwsdl clientwsdl=$PWD/wmapserv.wsdl clientdir=$PWD