最初は、はてなマークがいっぱいだった。
photo credit: jurvetson via photopin cc
ことの発端
お客さんから、あるデータ送受信システムのゲートウェイの開発を行って欲しいとの依頼を受けた。
現在のデータ送受信システムでは、別のプロトコルで通信ができないので、ゲートウェイでプロトコルの変換を行って通信して欲しいということだった。
内容説明されて、C言語でソケット通信プログラムを開発すれば、対応できるなということは、すぐに思いついた。
お客さんとのズレ
後日お客さんと話していると、Apacheが必要では?URLはどうなるのか?と質問される。
こちらは、80番ポートか443番ポートでリッスンするプログラムを作って、送信されてきた伝文を解釈するから、Apacheは不要だし、URLも関係ないと言っても、理解されていないようだった。
時間がなかったので、細かく説明できなかったが、お客さんとの会話を自分なりに解釈すると、通信にはURLが影響していると考えていることが想像できた。
URLは、確かにブラウザの動作に影響を与える。
URLをプログラムが解釈して相手先を決めて、コネクションできたら、伝文を送って、受け取ったサーバーが伝文を解釈して処理した結果を返すということをWebサーバーはしているので、同じようにゲートウェイを作れば、対応できるというを理解されていないということがわかった。
ズレの解消方法
伝文をロギングできるプログラムを作って、通信の相手先を作ったプログラムにして、ログが取れることを示して、こちらの構想で実現できるということを理解してもらった。
反省点
お客さんからゲートウェイを作りたいと言われたので、通信についてわかっていると思い込んでいた。
後から思えば、言葉の端々にわかっていなさそうなことが想像できたので、もっと敏感になって、余計なことでも話して、早く理解をしていかないと、後々になってからでは苦労する。