経緯と対象読者
現在のお仕事でC++のプログラムをいじっているのですが、
たびたび出てくる「CORBA」を理解できずにいました。
ググってみたところ、「Common Object Request Broker Architecture」の略であることはわかったのですが、中身はさっぱり理解できず悶々と日々を過ごしていました。。。
ついに先輩に聞いてみたところ、「分散処理基盤」だと教えてもらい、どうやら古い技術であることが判明。
これに変わる新しい技術があるんじゃないか?
と疑問に思い調査し、自分なりにわかったことをまとめます。
対象読者:CORBAを理解できなかった頃の自分(業界歴1年程度のなんちゃってITエンジニア)
結論
閉ざされた組織内では理にかなっている仕組みのようだ。
CORBAは分散処理基盤だと教えてくれた先輩の言葉を自分なりに記すと、
「社内にいくつかあるサーバから欲しい処理を呼び出してくれるやつ」らしい。
ここでのメリットは、
①呼び出すのに必要な処理を書かなくて済む
②言語問わず欲しい処理を呼び出せる
ということらしい。
そして、メリット②を実現するのに必要なのが「IDL」というものみたいだ。
IDLがこっち側の言語ソース(スタブ)とあっち側の言語ソース(スケルトン)を作ってくれるお陰で実現するらしい。
また、調べているうちにCORBAのような「散らばった処理を呼び出してくれるやつ(RPC)」は他にも「DCOM」というものがあるそうだが、CORBAとDCOMはプロトコルが異なるため通信できないらしい。
そこで、異なったオブジェクト間を通信するために登場したのが「SOAP」。
SOAPはIDLが担っていた役をXMLに変え、HTTPに乗せて通信する。
現在のWebサービスでよく使われているRESTの前身のようなものらしい。
おわりに
当たり前に使ってる仕組みの裏では色んな仕組みがあって、
その変遷の歴史を知れました。
頭の中に散らばっていた知識がつながって嬉しくなりました。
「仮説を立て」て答えを探すと宝探しみたいで面白いことがわかってよかったです。
あざした。