質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SOAP

SOAP(Simple Object Access Protocol)はウェブサービス実装においての構造化された情報をやり取りするためのプロトコル規定です。

Q&A

解決済

2回答

2808閲覧

システム間連携について

ahuramazda

総合スコア34

SOAP

SOAP(Simple Object Access Protocol)はウェブサービス実装においての構造化された情報をやり取りするためのプロトコル規定です。

0グッド

3クリップ

投稿2015/03/08 03:04

SOAPやCORBA等を使ったシステム間連携というものがイマイチ理解できません。
システム間のやりとりだったらTCP-IPとか使うんじゃないの?と思ってしまってる人です。。。

以下のサイトでなんとなくわかったつもりになっていましたが、根本的なところが理解できてない気がします。
http://itpro.nikkeibp.co.jp/article/lecture/20061215/257077/?ST=selfup

”どうして必要なのか。なかったらどうなるのか。”
という観点で教えてもらえると助かります。

あと、URIという概念についても理解できてないので、教えていただけると助かります。

ちなみに私自身はアプリではなくインフラの人間です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

WordやExcelも同じ文章を作るWindowsアプリケーションです。
WindowsをTCP/IPとすると、WordやExcelがSOAPやCORBAになります。
WindowsだけがあってWordやExcelが無い状態で文章を作ろうとすると、文章を作成するプログラムの作成から始めないといけません。もしくは、Windowsに同梱されているメモ帳で「貧弱」な文章の作成にとどまります。

すなわち、SOAPやCORBAはいずれもTCP/IPを使用した通信のためのプログラム(プロトコル)ですが、TCP/IPで通信を行うよりも、より「手軽」に、かつ「便利」で「高機能」な通信が可能となるのです。

投稿2015/03/08 06:53

snowfaller

総合スコア125

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ahuramazda

2015/03/08 08:55

早速ご回答頂きありがとうございます。 必要性についてはなんとなく理解できたのですが、具体的にどのように実装されるのでしょうか? 「java等のプログラム内で、CORBAという他システムとのデータの受け渡し方法に則り、渡したいデータが記述されており、プログラム実行時に具体的なデータがTCP-IPのパケットに載せられ、他システムのCORBAのルールを理解しているプログラムがそれを受け取り、処理する」 というおおまかな理解は正しいでしょうか? 仮に正しければ、以下の質問があります。 ①他システムとは、違うプラットホーム(またはOS)ということか? ②具体的にはどのようなデータ連携で使われるのか?ファイルにしてFTPじゃダメなのか? ③相手のシステムがCORBAのプロトコルを理解できるというのはどうやって知るのか? 的外れな方向に理解が進んでたらすみません…。たぶん実装経験とかあればすんなり理解できるのかもしれませんけど…泣
guest

0

ベストアンサー

CORBAもSOAPもRPCの1種で、TCP/IPのトランスポート層では無く、アプリケーション層のレベルでの通信を行うようにする方法の規格です。もちろん、見えないところではTCP/IPを使っています。

利用者は、TCP/IPを意識することなく、Javaのオブジェクトのレベルで通信プログラムを書くことができます。また、ただの通信では無く、リモートコンピューター上で処理を行った結果を返すこともします。

Webサービスもこれと同類ですね。

まとめると、
どうして必要なのかは、毎回TCP/IPの通信から同じことをするプログラムを1から書かないで済むようにするためです。
それを使わないと、TCP/IPの通信を使って同じことをするけれどインターフェイスも実装もバラバラのプログラムができてしまいます。呼び出す側も、ルールが決まっていないとサービスごとにつなぎ方が違って不便です。

参考URL:
OSI参照モデル - Wikipedia

投稿2015/03/08 04:07

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ahuramazda

2015/03/08 08:55

早速ご回答頂きありがとうございます。 必要性についてはなんとなく理解できたのですが、具体的にどのように実装されるのでしょうか? 「java等のプログラム内で、CORBAという他システムとのデータの受け渡し方法に則り、渡したいデータが記述されており、プログラム実行時に具体的なデータがTCP-IPのパケットに載せられ、他システムのCORBAのルールを理解しているプログラムがそれを受け取り、処理する」 というおおまかな理解は正しいでしょうか? 仮に正しければ、以下の質問があります。 ①他システムとは、違うプラットホーム(またはOS)ということか? ②具体的にはどのようなデータ連携で使われるのか?ファイルにしてFTPじゃダメなのか? ③相手のシステムがCORBAのプロトコルを理解できるというのはどうやって知るのか? 的外れな方向に理解が進んでたらすみません…。たぶん実装経験とかあればすんなり理解できるのかもしれませんけど…泣
argius

2015/03/08 09:08

> おおまかな理解 はい、だいたいそんな感じです。 ①異なるプラットフォーム、大抵は物理的に別のマシンです。もちろん呼び出しているOSで起動していても利用可能です。 ②回答でも書きましたが、メソッド呼び出しのようなことができます。詳しくはRPCで調べてみてください。 ③サービスの提供側に教えてもらいます。CORBAの場合IDLというインターフェイス定義言語を使って定義しますので、IDLを提供してもらうことになります。SOAPも似たような方法が使えますが、XMLなので単純なインターフェイスなら手書きでできないこともありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問