imtkmake コマンド

COBOL プログラム ベースのサービス インターフェイスを作成してディプロイしたり、サービスにアクセスするクライアント アプリケーションを生成したりできます。

構文:

imtkmake -defmap          service=service-name
                          src=program-name
                          type=service-type
                         [directives=Compiler-directives] 
                         [settings=properties-filename]
                         [transactionAttribute=attribute]
imtkmake -generate        service=service-name
                          type=service-type
                         [appdir=directory-name]
                         [appserver=J2EE-application-server-name]
                         [archivename=arch-name]
                         [basePath=base-path]
                         [bean=bean-name]
                         [classpath=pathname]
                         [ejbInterfaceType={remote|local}]
                         [ejbname=ejb-name]
                         [ejbversion=3]
                         [esruntime=esruntime-filename]
                         [exithandler=program-name]
                         [filename]...
                         [@filelistname]
                         [j2eeVersion={1.7|7}]
                         [jarname=jar-filename]
                         [javacpath=java-dir]
                         [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]
                         [version=version]
imtkmake -query
imtkmake -queryAppServerList
imtkmake -queryEJBDefaults
imtkmake -deploy          type=service-type
                         [carname=car-filename]
                         [ejbversion=3]
                         [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]
                         [basePath=base-path]
                         [classpath=java-class-path]
                         [clientdir=directory-name]
                         [j2eeVersion={1.7|7}]
                         [namespace=service-namespace]
                         [serverHost=host-name]
                         [serverPort=port-number]
                         [style={doclit|rpcenc}]
                         [url=ip-address]
                         [version=version]
imtkmake -genclientwsdl   clientwsdl=wsdl-filename
                         [clientdir=directory-name]
                         [defaultstringsize=string-size]
                         [defaultarraysize=array-size]
                         [inlineoccurslimit=limit-size]
                         [operations=index[,index[…]]]
                         [wsdlportindex=index
                         [wsdlserviceindex=index]]
imtkmake -genclientjson   clientjson=json-filename
                         [clientdir=directory-name]
                         [defaultstringsize=string-size]
                         [defaultarraysize=array-size]
                         [inlineoccurslimit=limit-size]
                         [operations=index[,index[…]]]
imtkmake -validate
imtkmake -help

パラメーター:

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

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

  • "JBoss EAP 7.1"
  • "WebSphere 9.0"

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

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

basePath=base-path
REST サービスの場合は、サービスの URI で使用されているベース パス。
bean=bean-name
EJB 生成で、生成される Bean の名前。デフォルトは service-name です。
carname=car-filename
ディプロイする .car ファイルのパスおよび名前。デフォルトでは、このファイルは servicename.car という名前で、servicename.deploy ディレクトリに格納されています。 carname= は、同じコマンド ラインで生成およびディプロイを行う場合は不要です。
classpath=java-class-path
J2EE アプリケーション サーバー上の J2EE 実装クラスのフル パス。これは、J2EE アプリケーション サーバーごとに異なり、それぞれ次の .jar ファイルへのパスです。
  • JBoss の場合は jboss-ejb-api*.jarjboss-connector-api*.jar、および jboss-servlet-api*.jar
    注: これらのファイルの名前は、使用している JBoss のバージョンによって異なる場合があります。
  • Tomcat の場合は servlet-api.jar
  • WebSphere の場合は j2ee.jar
  • WebLogic の場合は weblogic.jar
注: java-class-path では大文字と小文字が区別されます。
clientdir=directory-name
クライアント プログラムを生成するディレクトリ。 -genclientwsdl または -genclientjson 関数を使用する場合は、WSDL または JSON スキーマ ファイルのディレクトリがデフォルトになります。それ以外の場合は、servicename.deploy ディレクトリがデフォルトになります。
clientjson=json-filename
REST サービスの場合は、クライアント プログラムの生成に使用する JSON スキーマ ファイルの名前。
clientwsdl=wsdl-filename
クライアント プログラムの生成に使用する WSDL ファイルの名前。
defaultarraysize=array-size
バインドされていない配列に使用するデフォルトの配列サイズ。
defaultstringsize=string-size
バインドされていない文字列に使用するデフォルトの文字列サイズ。
deploydir=deployment-address
deploylog.txt ファイルの URL。この URL は、-deploy 関数で表示できます。
directives=Compiler-directives
プログラムを正しくコンパイルするために必要な指令。各指令の間はカンマで区切ります。
ejbInterfaceType={remote|local}
EJB が実行されるサーバーのタイプ (ローカルまたはリモート)。
ejbname=ejb-name
EJB 生成で、生成される EJB の名前。デフォルトは、service-nameEJB です。
ejbversion=3
EJB バージョン 3 のサポートを有効にします。
esruntime=esruntime-filename
ディプロイされたサービスが実行される際に適用される、ランタイム構成設定が含まれるファイルの名前。ファイルの拡張子は、.rtc である必要があります。
exithandler=program-name
Web サービス生成で、MFRHSOAP 要求ハンドラー内の出口ポイントを処理するユーザー出口プログラムの名前。
@filelistname
.car ファイルにインクルードする必要のある追加ファイルのリストを含むファイルの名前。ファイル名は 1 行に 1 つずつである必要があります。
filename
.car ファイルにインクルードする必要のある追加ファイル。複数のファイルを指定できます。
inlineoccurslimit=limit-size
Enterprise Developer で動的割り当てのために別のデータ構造として生成される配列の最小サイズを表す数値。Enterprise Developer で可変長配列が生成される方法の詳細については、「WSDL および JSON での可変長配列の処理」を参照してください。
j2eeVersion={1.7|7}
J2EE のバージョン。波かっこ ({}) で囲まれたペアのオプションは、どちらを指定しても同じです。
jarname=jar-filename
EJB 生成で、生成される .jar ファイルの名前。デフォルトは、service-name.jar です。
javacpath=java-dir
javac.exe ファイルへのパス。
namespace=service-namespace
Web サービス生成、EJB 生成、およびクライアント生成での、サービスのネームスペース。Web サービス生成およびクライアント生成では、デフォルトは http://tempuri.org/service-name です。EJB 生成では、デフォルトは service-name です。
operations=index[,index[…]]
1 つの数値またはカンマで区切られた数値のリスト。この数値は、WSDL ファイルまたは JSON ファイルに格納された操作の 1 から始まる索引を表します。索引番号は、ファイル内で定義されている順序に従って各操作に順番に割り当てられます。デフォルトは 1 で、最初に定義されている操作です。
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 がデフォルトになります。
transactionAttribute=attribute
EJB のデフォルト マッピングに使用されるトランザクション属性。値は、次のいずれかになります。
  • notSupported
  • mandatory
  • never
  • required
  • requiresNew
type=service-type
実行するマッピング タイプまたは生成するクライアント タイプ (上述の defmapgenclient、および generate を参照)。service-type には、次のいずれか 1 つを指定できます。
  • EJB
  • J2SEbean
  • WebService
  • REST
url=ip-address
Web サービス生成およびクライアント生成での、サービスの IP アドレス。WSDL 文書または JSON スキーマに追加されます。
username=secure-username
サービス インターフェイスのセキュア サーバーへのディプロイを可能にするユーザー名。このユーザー名は、MFDS がユーザー名を必要とするように構成されている場合のみ必要です。
version=version
REST サービスの場合は、サービスの URI で使用されているサービスのバージョン。
wsdlportindex=index
クライアントを生成するサービス ポートを表す 1 つの数値。これは、WSDL ファイルまたは JSON ファイルで定義されているサービス ポートの 1 から始まる索引です。索引番号は、ファイル内で定義されている順序に従って各ポートに順番に割り当てられます。デフォルトは 1 で、最初に定義されているポートです。
wsdlserviceindex=index
クライアントを生成するサービスを表す 1 つの数値。これは、WSDL ファイルまたは JSON ファイルで定義されているサービスの 1 から始まる索引です。索引番号は、ファイル内で定義されている順序に従って各サービスに順番に割り当てられます。デフォルトは 1 で、最初に定義されているサービスです。

説明:

  • Enterprise Developer command promptから、COBOL プログラム ファイルが含まれるディレクトリで imtkmake を実行します。
  • このコマンドは、複数の関数を実行します。同一のプログラムに対して、次の順序で実行する必要があります。
    • -defmap
    • -generate
    • -query (オプション)
    • -deploy
    • -showlog (オプション)
    • -genclient または -genwsdl、あるいはその両方 (オプション)
  • 次のように、同一のコマンド ライン上で複数の関数を組み合わせることができます。
    • -defmap および -generate を組み合わせて、デフォルト マッピングからサービス インターフェイスを生成し、後でディプロイするディプロイ ファイルを生成する。
    • -generate および -deploy を組み合わせて、既存のサービス インターフェイス用のディプロイ ファイルを生成し、そのファイルをエンタープライズ サーバーにディプロイする。
    • -defmap-generate、および -deploy を組み合わせて、3 つの関数をすべて実行する。
    注: 同一のコマンド ライン上で複数の関数を組み合わせた場合、共通のパラメーターを繰り返し指定する必要はありません。
  • コマンド ライン関数と、サービス インターフェイス機能を組み合わせて使用できます。たとえば、サービス インターフェイスを作成してカスタマイズしたとします。その後、コマンド ラインを使用してそのサービス インターフェイスをディプロイできます。
  • -generate 関数に関連するオプション パラメーターのリストを含むマッピング プロパティの 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="WebSphere 9.0"

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

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

次のコマンドでは、ベース パス /servicesApp/ およびバージョン 1.0 を使用して、REST サービス service1 の COBOL クライアント プログラムが作成されます。

imtkmake -genclient service=service1 type=rest 
                    url=http://localhost:9003 
                    basePath=/servicesApp/ 
                    version=1.0 

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

imtkmake -genclientwsdl clientwsdl=wmapserv.wsdl 

次のコマンドでは、requiresNew トランザクション属性を使用するデフォルト マッピングで EJB サービス インターフェイスが作成されます。

imtkmake -defmap type=ejb 
                 src=calculator.cbl 
                 service=service13.xml 
                 transactionAttribute=requiresNew

次のコマンドでは、ベース パス /servicesApp/ およびバージョン 1.0 を使用して、REST サービス service1 に必要なファイルが生成されます。

imtkmake -generate type=rest
                   url=http://localhost:9003 
                   basePath=/servicesApp/ 
                   version=1.0
                   service=service1

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

imtkmake -genclientjson clientjson=wmapserv.json