- PR -

システム間のデータ送受信方式について

1
投稿者投稿内容
debora
会議室デビュー日: 2003/03/20
投稿数: 7
投稿日時: 2005-09-29 15:12
はじめまして。

2つの遠隔地にあるシステム「システムA」と「システムB」の間で
商品受発注システムのようなものを構築しようとした場合、
データ伝送方式としてどのような方式が考えられるのかを
検討しています。

仕組みは簡単で、システムAから注文情報を送信し、
受け取ったシステムBで在庫状況等を確認して即出荷可なのか
入荷待ちとなるのか等の結果を返す処理を行います。

現在考えているのが、
1.ソケット通信プログラムをベタで作る方式
2.HTTPでPOSTする方式
3.SOAPを利用する方式

の3つの方式を考えています。
一番簡単に作れそうなのが2.HTTP−POST方式なのですが、
3.SOAPを利用すればより確実で拡張性のあるシステムが
作れるのかなぁとも考えています。

ただ、SOAPを利用したシステムの構築経験がなく、今更のように
勉強しているところなのですが、イマイチこのシステムでSOAPを
利用するメリットが見出せずにいます。

システムとしては単純なものなのでHTTP-POST方式で
十分なのかもしれません。
これだけのシステムでHTTP-POSTとSOAPを比較した場合、
それぞれのメリット・デメリットはどんなところにあるのでしょうか?

みなさんの知恵をお借し、参考にできれば幸いです。
よろしくお願いします。

加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2005-10-05 00:16
>データ伝送方式としてどのような方式が考えられるのかを

簡単なデータなのであれば、確かにHTTP-POSTの方が保守性、
移植性を考えても楽なのは確かです。

が、近年、そもそもの最初から最後まで顧客が「簡単だろ」とか
いいつつデータをFIXしてくれない場合を散見してます。

で納期2週間とかいう微妙なところで「こうしなさい」
とか言い出す例が多いので。

「そんなんできるかぁ!」とか表面上怒りつつ、ぢつは簡単にデータを
変える方法として、「オブジェクト」を送りあってしまう設計を
考慮したことがあります。要は

class a {
int b;
String c;
}

というオブジェクトを送る仕様にするわけです。これならデータが変わっても
大差ないので。単にメンバを追加するだけ。

SOAPといっしょといえば一緒ですが、SOAPの場合不要なデータが多すぎます。
でもってXMLのパーサを真っ当に使うとぜーんぶ読んでからぜーんぶ吐き出すので
やたらと遅い場合があります。

しかも意外と仕様変更に弱かったり。というのもWSDLを仕様の基準にするのですが
そもそもWSDL自体がいろいろ変化したり(苦笑)

ということで最近seaser2でも実装しようとしているheisian(?)だったかな?
簡単にオブジェクト通信できるライブラリの使用を検討したことがあります。

でもあまりに簡単なデータだったので止めましたが。

ま、なんかの参考にでも。
1

スキルアップ/キャリアアップ(JOB@IT)