拡張APIの作成¶
intra-mart Accel Platform では、ユーザが API を定義可能です。ユーザ定義の拡張API はユーザ独自のオブジェクトを実装した js ファイルと initializer-XXX.xml によって登録できます。オブジェクトの実装の仕方によって、静的な関数を定義した API、および new 演算子を用いてインスタンスを生成する形式の API を実装できます。本項では、jsAPIの登録から利用方法までを記載しています。
jsAPI の登録の流れ
intra-mart e Builder for Accel Platform で静的な関数の登録¶
以下の手順で静的な関数を持つオブジェクトを登録します。
ステップ1:initializerの作成¶
src/main/conf/products/initializer/initializer-[プロジェクト名].xmlを作成します。コラム
initializer-[プロジェクト名].xml は、厳密にはプロジェクト名ではなくモジュールのIDから決定されます。モジュールIDを ”.” で分割したその末尾が [プロジェクト名] に当たります。例として、モジュールIDが「org.example.foo」場合は「initializer-foo.xml」をという名前で initializer を定義してください。intra-mart e Builder for Accel Platform で開発する場合はプロジェクト名と考えて問題ありません。注意
intra-mart e Builder for Accel Platform でプロジェクトを作成する際は 「im」 で始まる名前は利用できません。ファイルに内容を加えます。記述方法は、<java-script-api><api-script>オブジェクトを定義した js ファイルパス#オブジェクト</api-script></java-script-api>です。<?xml version="1.0" encoding="UTF-8"?> <initializer-config xmlns="http://intra-mart.co.jp/system/secure/product/initializer/config/initializer-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://intra-mart.co.jp/system/secure/product/initializer/config/initializer-config ../../../schema/initializer-config.xsd "> <java-script-api> <api-script>sample/prog_guide/common_libs/api#StaticApi</api-script> </java-script-api> </initializer-config>
ステップ3:モジュールのデプロイ¶
エクスポートしたユーザモジュールを含んだwarファイルを作成します。そのwarファイルをデプロイして intra-mart Accel Platform を再起動します。注意
initializer は warファイルに含まれるモジュール構成を元に読み込まれるので、一旦ユーザモジュールにしてwarファイルに組み込んだ形でないと動作しません。ユーザモジュールに関しては、『 intra-mart e Builder for Accel Platform アプリケーション開発ガイド / immファイルのエクスポート 』を参照してください。
ステップ4:登録したAPIの呼び出し¶
登録したAPIは、任意のjsファイルから呼び出すことができます。function init(request){ StaticApi.hoge(); }
intra-mart e Builder for Accel Platform でインスタンス オブジェクトの登録¶
以下の手順でインスタンスな関数を持つオブジェクトを登録します。
ステップ1:initializerの作成¶
src/main/conf/products/initializer/initializer-[プロジェクト名].xmlを作成します。コラム
initializer-[プロジェクト名].xml は厳密には、プロジェクト名ではなくモジュールのIDから決定されます。モジュールIDを ”.” で分割したその末尾が [プロジェクト名] に当たります。例として、モジュールIDが「org.example.foo」場合は「initializer-foo.xml」をという名前で initializer を定義してください。intra-mart e Builder for Accel Platform で開発する場合はプロジェクト名と考えて問題ありません。注意
intra-mart e Builder for Accel Platform でプロジェクトを作成する際は 「im」 で始まる名前は利用できません。ファイルに内容を加えます。記述方法は、<java-script-api><api-script>オブジェクトを定義した js ファイルパス#オブジェクト</api-script></java-script-api>です。<?xml version="1.0" encoding="UTF-8"?> <initializer-config xmlns="http://intra-mart.co.jp/system/secure/product/initializer/config/initializer-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://intra-mart.co.jp/system/secure/product/initializer/config/initializer-config ../../../schema/initializer-config.xsd "> <java-script-api> <api-script>sample/prog_guide/common_libs/api#InstanceApi</api-script> </java-script-api> </initializer-config>
ステップ3:モジュールのデプロイ¶
エクスポートしたユーザモジュールを含んだwarファイルを作成します。そのwarファイルをデプロイして intra-mart Accel Platform を再起動します。注意
initializer は warファイルに含まれるモジュール構成を元に読み込まれるので、一旦ユーザモジュールにしてwarファイルに組み込んだ形でないと動作しません。ユーザモジュールに関しては、『 intra-mart e Builder for Accel Platform アプリケーション開発ガイド / immファイルのエクスポート 』を参照してください。
ステップ4:登録したAPIの呼び出し¶
登録したAPIは、任意のjsファイルから呼び出すことができます。function init(request){ var api = new InstanceApi(); api.hoge(); }