エンタープライズへの適用

Webアプリケーションとホストを連携した事例を教えてください

テンアートニ 中越智哉
2001/8/10

■インターネット保険料見積もりサイト

 この事例は、XML編で紹介した「XMLを活用した業務システムにはどんな事例がありますか?」と同じ事例なのですが、実は、保険料の算出の際にホストとの連携を行っています。Webを用いて顧客が入力した見積もり条件のデータをホスト側に送信し、ホスト側ではその条件から保険料を算出、それを再びWeb側で受信して結果をブラウザに表示しています。

 このシステムでは、Javaアプリケーションとホストとの通信のためのミドルウェアとして、IBMのMQSeriesを使用しています。MQSeriesは、いわゆるPoint-to-Point方式で通信を行うミドルウェアです。ホストで処理するため、送受信されるメッセージは固定長のバイナリ形式を用いています。

 また、このシステムでは、Webアプリケーション側でのデータの保持にXMLを利用しており、ホストへのデータ送信時にはXML形式の文書を固定長のバイナリに変換し、受信時には受信したバイナリを元のXMLに書き戻す作業を行っています。このとき用いる固定長のバイナリは、Java側ではbyte配列を用いることができます。

 メッセージを格納しておくキューについては、ホスト側に受信用、送信用のキューを1つずつ用意し、Javaアプリケーションからそれらのキューに対して直接メッセージを送受信しています。

 このシステムのホスト連携部分の動作を図を用いて順に追っていくと、以下のようになります。

(1)Web側で保持している見積もり条件のXML文書を、専用のクラスを用いてMQSeries用のバイナリ列に変換する

(2)変換したバイナリ列を、ホストの受信用キューに送信する

(3)ホスト側では、一定周期でキューを調べて、新たなメッセージがあれば取り出して保険料算出を行う

(4)算出した保険料を埋め込んだバイナリ列を、送信用キューに格納

(5)ホストの送信用キューに格納されたメッセージをWeb側で受信

(6)MQSeries用のバイナリ列に埋め込まれた保険料データを、専用のクラスを用いてXMLの所定のタグや属性の値に書き込む

 

「Java Solution FAQ」





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間