エンタープライズへの適用 |
|
■インターネット保険料見積もりサイト
この事例は、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」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|