電文送受信の基礎について教えて下さい。
システム間で電文を送受信する機能の設計を
担当することになり悩んでおります。
「相手システムに電文を送信して、その結果を受信する」または、
「相手から送信されてきた電文を受け取って、その結果を返す」
っといった設計に関してまったくの素人です。
なぜ素人に担当させるのかっといった事で突っ込まれると、
みもふたもないので、その点に関して触れないで下さい m(_ _)m
とりあえず、私のレベル(下記)にあった
分かりやすい参考書、またはインターネットのサイトを見て
基礎勉強(下記)からはじめたいのですが、参考資料/サイト
の紹介をお願いします。
<開発環境(案)>
OS:Solaris
言語:Java(自分からAシステムへ)とPerl(自分からBシステムへ)
プロトコル:https
<私のレベル>
https,SSL、SOAPといった通信用語の意味は知っている(つもり)
Javaは実装の経験は無いが解析は出来る。
<知りたいと思っている事>
※「思っている」の意味は、今まで見た事・聞いた事からインスピレーション的に、
「多分、この辺を押さえておかなければいけないんだろうな...」っと思っている事です。
・送受信処理のJavaの実装例
・送受信が1秒間に100回あってもレスポンス悪化しない方法
(100回という数値は適当です。普通どれくらいを目標にするのですか?)
・通信エラー等の例外処理の実装方法
(通信エラー発生時の電文はロストするのですか?それってどうリカバリー
するのですか? その当たりに関する事)
・「なりすまし,盗聴,改ざん」っといった事に対する防御方法とその実装方法に関する事
日時:
06/09/25 20:31
コメント
『機能の設計』って何?
MrKさん、こんにちわ。
>システム間で電文を送受信する機能の設計を
>担当することになり悩んでおります。
『機能の設計』っていうのはどういう意味かしら。
実装してくれる人が他にいて、
その人に、こんな機能が必要だということを示す役割っていうことかな?
それだったら、JavaだとかPerlだとかという実装面での知識を習得することより、
そのシステムに何が必要なのかを考えることの方が重要だと思います。
>OS:Solaris
>言語:Java(自分からAシステムへ)とPerl(自分からBシステムへ)
>プロトコル:https
Webアプリケーションを作りたいっていうことかしら?
で、Javaって書いてあるところをみると、アプリケーションサーバを使うのかな?
Perlとも書いてあるから、cgiもある、っていうことかな?
その辺がはっきりしないと、何とお答えしたらよいのか...
今はいろいろなプログラミング方法がありますから、
まず、どんな方法があるのか調べるところから始めた方がよさそうに感じます。
でも、どんな方法があるのか体系的にまとめたドキュメントは無いかもしれません。
大抵のドキュメントは一つの方法について説明しているだけなので。
Googleで下記のキーワードを検索してみると、
参考になるドキュメントが見つかるようなかもしれません。
・Socket
・cgi
・アプリケーションサーバ
・Webアプリケーション
>・送受信処理のJavaの実装例
Socketを使ったプログラミングだったら、
Javaのチュートリアルにサンプルがありますけど、
知りたいのはこういうことなのかしら?
http://java.sun.com/docs/books/tutorial/networking/TOC.html
>・送受信が1秒間に100回あってもレスポンス悪化しない方法
普通、メッセージの送受信は
(1)メッセージ受信
(2)何らかの処理
(3)応答を返信
という三つのステップを踏むと考えてよいと思いますが、
(2)でどの程度の負荷がかかるかによってレスポンスタイムは左右されます。
(1)と(3)の負荷はたいしたことありません。
つまり、重要なのはメッセージ送受信ではなく、
アプリケーションの処理内容だということです。
だから、『悪化しない方法』と一言で説明できる方法はありません。
>・通信エラー等の例外処理の実装方法
通信エラーはTCP/IPのプロトコルスタックが面倒みてくれますから、
アプリケーションで気にかける必要はありません。
TCP/IPで面倒みきれないとき、簡単にいうと、ネットワークが切れちゃったときに
アプリケーションにエラーがあがりますから、
そのときは、アプリケーションの実行を中止せざるを得ないでしょう。
>・「なりすまし,盗聴,改ざん」っといった事に対する防御方法とその実装方法に関する事
セキュリティは上級編なので、
基本的な知識を身につけてから考えた方がよいと思います。
それから、生兵法は怪我の基ということわざのとおり、
中途半端な知識で臨むのは危険な面もありますから、
セキュリティのコンサルタントに相談した方がよいかもしれません。