MessageQueueDirector説明書
目次 索引 前ページ次ページ

第2部 拡張機能編> 第11章 イベントチャネル連携サービス

11.5 アプリケーションの作成方法

 送信側と受信側の非同期メッセージ基盤が異なる場合やグローバルサーバなどの他のプラットフォームとの間でイベントチャネル連携サービスを使用したサーバ間連携を行う場合は、表11.28に示す各々の非同期メッセージ基盤で動作するアプリケーションが共通して処理できるメッセージの範囲でアプリケーション論理を作成する必要があります。

 各通信形態で通信可能なメッセージの形式とアプリケーション作成時の留意点を以下に示します。

[表11.28 通信可能なメッセージの形式]

送信側の非同期メッセージ基盤

受信側の非同期メッセージ基盤

ノーティフィケーションサービス

JMS



MQD(注1)

グローバルサーバのMQD

ノーティフィケーションサービス

形式1

形式2

形式3

JMS

形式1

形式4

形式4

MQD (注2)

形式2

形式4

形式5

グローバルサーバのMQD

形式3

形式4

形式5

-

○: 各非同期メッセージ基盤に対応したメッセージの送信が可能
×: 通信不可能
- : 本機能の機能範囲外
注1) 受信側の非同期メッセージ基盤がMQDの場合、受信できない形式のメッセージを受信するとシテムログにMQD6374のエラーメッセージが出力されます。

注2) 文字列データとして送信するメッセージの終端がNULL文字以外の場合は、自動的にメッセージの終端にNULL文字(1バイト)が付加されます。

形式1

 “J2EEユーザーズガイド”に示すメッセージの形式の範囲でアプリケーションを作成してください。

形式2

 ノーティフィケーションサービスのアプリケーションでは、表11.29の形式のメッセージをMQDのアプリケーションに送信できます。

[表11.29 利用可能なCORBAサービスのデータ型]

CORBAサービスのデータ型

C言語での定義

整数型

CORBA_short

CORBA_unsigned_long

CORBA_long

CORBA_unsigned_short

CORBA_long_long

浮動小数点型

CORBA_float

CORBA_double

CORBA_long_double

文字型

CORBA_char

CORBA_wchar

オクテッド型

CORBA_octet

ブーリアン型

CORBA_boolean

文字列型

CORBA_string

ワイド文字列型

CORBA_wstring

列挙型

CORBA_enum

シーケンス型のオクテッド型

CORBA_Sequence_octet

 ノーティフィケーションサービスのアプリケーションでは、表11.30の形式のメッセージをMQDのアプリケーションから受信できます。

[表11.30 利用可能なCORBAサービスのデータ型]

CORBAサービスのデータ型

C言語での定義

文字列型

CORBA_string

シーケンス型のオクテッド型

CORBA_Sequence_octet

形式3

 ノーティフィケーションサービスのアプリケーションとグローバルサーバのアプリケーションでは表11.31のCORBAサービスのデータ型でメッセージの送受信ができます。

[表11.31 利用可能なCORBAサービスのデータ型]

CORBAサービスのデータ型

説明

構造体

IDL言語で構造体structとして定義したメッセージ

形式4

 JMSのアプリケーションでは、表11.32の形式のメッセージをMQDもしくはグローバルサーバのMQDのアプリケーションに送信できます。

[表11.32 利用可能なCORBAサービスのデータ型]

JMS Message

対応するCORBAサービスのデータ型

ByteMessage

シーケンス型のオクテッド型

TextMessage

ワイド文字列型

 JMSのアプリケーションでは、表11.33の形式のメッセージをMQDもしくはグローバルサーバのMQDのアプリケーションから受信できます。

[表11.33 利用可能なCORBAサービスのデータ型]

JMS Message

対応するCORBAサービスのデータ型

ByteMessage

シーケンス型のオクテッド型

TextMessage

文字列型

形式5

 MQDのアプリケーションと通信するグローバルサーバのアプリケーションでは以下に示すCOPYLIBを参考にIDLファイルを作成してください。

 グローバルサーバとメッセージの通信をする場合、“非有限文字列型構造体”もしくは“非有限バイナリ型構造体”を推奨します。

“有限文字列型構造体”もしくは“有限バイナリ型構造体”を使用する場合、Windowsサーバ、UnixサーバもしくはLinuxサーバから送信されるデータ長が65535バイト固定となります。グローバルサーバ側のインタフェース定義のデータ長を65535バイト固定にしてください。

非有限文字列型構造体でメッセージの送受信を行う場合

000010*========================================================================
000020*     STRING
000030*========================================================================
000040 01 IN-REC.
000050   02 INSTRING.
000060     49 LEN                    PIC S9(9) BINARY.
000070     49 DAT                    PIC X(1〜1999996).  ・・・(注)
000080*

注) DAT項目の大きさはメッセージ長に合わせて、1〜1999996の範囲で指定してください。

非有限バイナリ型構造体でメッセージの送受信を行う場合

000010*========================================================================
000020*     SEQUENCE <OCTET>
000030*========================================================================
000040 01 IN-REC.
000050   02 INSEQOCTET.
000060     49 LEN                    PIC S9(9) BINARY.
000070     49 DAT                    PIC X(1〜1999996).  ・・・(注)
000080*

注) DAT項目の大きさはメッセージ長に合わせて、1〜1999996の範囲で指定してください。

有限文字列型構造体でメッセージの送受信を行う場合

000010*========================================================================
000020*     STRING<65535>
000030*========================================================================
000040 01 IN-REC.
000050   02 INBSTRING                PIC X(65535).
000060*

有限バイナリ型構造体でメッセージの送受信を行う場合

000010*========================================================================
000020*     OCTET[65535]
000030*========================================================================
000040 01 IN-REC.
000050   02 INBARYOCTET              PIC X(65535).
000060*

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005