COM

COM(コンポーネントオブジェクトモデル)に関心を持った。概念としてはそれほど難しいというわけでもなさそうだけれども、入門に適した資料というと意外と見付からない。しかも、COMという略語がありがち過ぎるせいで検索でも妙な語ばかり引っかかる。結局はCマガジンのCOM特集を主に参考にしながらウェブを徘徊して知識を集めた。
で、COMに関心を持った理由はAjaxで構成されたあるウェブサービスからデータを取得して利用したいと考えたからだ。具体的にはチャットである。ウェブチャットは手元にログが残らないのが嫌なのでメッセンジャーへ橋渡しするプラグインがあれば便利ではないかと思ったわけだ。当初はWininetを利用して取得したデータを適当なXMLライブラリで操作すればよかろうと考えていたのだが、よくよく考えるとJavaScriptから呼んでいるXMLHTTPRequestはwindowsに備わっているものなわけでそれをそのまま使ってみるのもアリだろうと。
実際にやってみると結構面倒な仕組みではある。VCではCOMの作成・利用を支援する機能があったりもするようだけど、私が使っているのはMingwなので尚更だ。にちゃんねるにあるCOM関連のスレも「なぜCOMは即死したのか」なんていうタイトルが付いていたりして、どちらかというと良くない印象が広まっているように見える。
しかし、スクリプト言語からの操作を考慮してあったり、プロセスをまたぐ連携もできたりといった柔軟な運用を可能にする仕組みもあるのでなかなか奥が深そうだ。一度は触れておいても損にはならないだろう。
と言いつつ早くも挫けそうな私。
Document ID: 3dad9272df0fd88dab59227df9228044