例をもとに、JMSを利用したアプリケーションの開発手順を説明します。
アプリケーションの開発は、以下の手順で行います。
図D.9 開発の手順

サービスエンドポイント名:endpointJMSIN、endpointJMSOUT
サービスエンドポイント定義を作成します。
メッセージ送受信APIを利用するためのサービスエンドポイント定義にサービスエンドポイント名“endpointJMSIN”と“endpointJMSOUT”を定義します。
作成方法については、“ISI Studio ヘルプ”を参照してください。
手順1で作成したサービスエンドポイント名をパラメタに設定し、通信制御クラス(ESIService)を生成します。
共通メッセージ(ESIMessage)を作成します。
共通メッセージの作成方法については、“D.5 共通メッセージの作成・操作”を参照してください。
ISIを呼び出し、共通メッセージを送信、または受信します。
import com.fujitsu.esi.client.ESIAPIException;
import com.fujitsu.esi.client.ESIService;
import com.fujitsu.esi.client.ESIServiceFactory;
import com.fujitsu.esi.message.ESIHeaderConstants;
import com.fujitsu.esi.message.ESIMessage;
import com.fujitsu.esi.message.ESIParameter;
public class ESISend {
    public static void main(String[] args) {
        try {
            //(2)通信制御クラス(ESIService)を生成
            ESIService service = ESIServiceFactory.getService("endpointJMSIN");
            //(3)ESIMessageを作成
            ESIMessage message = new ESIMessage();
            //JMS用パラメタの設定
            ESIParameter parameter = message.getHeader().getParameter();
            //JMSCorrelationIDの設定
            parameter.put(ESIHeaderConstants.ESI_HEADER_KEY_JMS_HEADER_JMS_CORRELATION_ID, "ID_0123456789");
            //JMS Stringプロパティ “category”の設定
            parameter.put(ESIHeaderConstants.ESI_HEADER_KEYPREFIX_JMS_STRING + "category", "A01");
                           :
            //(4)ISIを呼び出す(共通メッセージの送信)
            ESIMessage returnMessage = service.send(message); ……(a)
                           :
        } catch (ESIAPIException e) {
            e.printStackTrace();
        }
    }
} | 
import com.fujitsu.esi.client.ESIAPIException;
import com.fujitsu.esi.client.ESIClientUtil;
import com.fujitsu.esi.client.ESIFilter;
import com.fujitsu.esi.client.ESIService;
import com.fujitsu.esi.client.ESIServiceFactory;
import com.fujitsu.esi.message.ESIMessage;
public class ESIReceive {
    public static void main(String[] args) {
        try {
            //(2)通信制御クラス(ESIService)を生成
            ESIService service = ESIServiceFactory.getService("endpointJMSOUT");
            //フィルタの設定
            ESIFilter filter =
       ESIClientUtil.createJMSReceiveEqualFilter("JMSCorrelationID", "ID_0123456789"); ……(b)
                           :
            //(4)ISIを呼び出す(共通メッセージの受信)            
            ESIMessage returnMessage = service.receive(filter); ……(a)
                           :
        } catch (ESIAPIException e) {
            e.printStackTrace();
        }
    }
}
 | 
メッセージ送受信APIの送信API、受信APIとして提供しているメソッドは、以下のとおりです。
非同期送信呼出し:send(ESIMessage)
非同期受信呼出し(フィルタ付き):receive(ESIFilter)
非同期受信呼出し(フィルタなし):receive()
送信で指定したJMS Stringプロパティ“category”で検索する場合は、以下のようになります。
ESIFilter filter =
       ESIClientUtil.createJMSReceiveEqualFilter("category", "A01"); | 
ESIFilterにクエリを設定しない場合は、キューの先頭に格納されている共通メッセージを受信します。