分散コンポーネントオブジェクトモデル

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

分散コンポーネントオブジェクトモデルDCOM)は、ネットワーク接続されたコンピューター上のソフトウェアコンポーネント間の通信のための独自の Microsoftテクノロジですもともと「ネットワークOLE 」と呼ばれていたDCOMは、 MicrosoftのCOMを拡張し、MicrosoftのCOM +アプリケーションサーバーインフラストラクチャ の下で通信基盤を提供します。

COMに「D」が追加されたのは、 DCE / RPC(分散コンピューティング環境/リモートプロシージャコール)、より具体的にはMSRPCとして知られるMicrosoftの拡張バージョンが多用されたためです。

COMに追加された拡張機能に関して、DCOMは次の問題を解決する必要がありました。

  • マーシャリング–「ネットワークを介して」メソッド呼び出しの引数と戻り値をシリアル化および逆シリアル化します。
  • 分散ガベージコレクション–クライアントプロセスがクラッシュした場合やネットワーク接続が失われた場合などに、インターフェイスのクライアントが保持している参照が確実に解放されるようにします。
  • 帯域幅の使用率を最小限に抑えるために、クライアントのブラウザに保持されている数百/数万のオブジェクトを1回の送信と組み合わせる必要がありました。

これらの問題を解決するための重要な要素の1つは、DCOMの背後にある基盤となるRPCメカニズムとしてDCE / RPCを使用することです。DCE / RPCには、マーシャリングとメモリの解放の責任者に関する規則が厳密に定義されています。

DCOMはCORBAの主要な競争相手でした。これらのテクノロジーの両方の支持者は、それらがいつの日かインターネット上でのコードとサービスの再利用のモデルになると考えていましたただし、これらのテクノロジのいずれかをインターネットファイアウォール上で、および未知の安全でないマシン上で機能させることに伴う問題は、 Webブラウザと組み合わせた通常のHTTP要求が両方で勝つことを意味しました。Microsoftは、ある時点で、ncacn_http(ネットワークコンピューティングアーキテクチャのコネクション型プロトコル)と呼ばれる追加のhttpトランスポートをDCE / RPCに追加することで、これを回避しようとしましたが失敗しました。これは後でMicrosoftExchangeをサポートするために復活しました HTTPを介した2003接続。

DCOMは、1996年9月18日にWindows95のベータ版として公開されました。[1]

DCOMは、Windows NT 4.0、Windows 2000、Windows XP、およびWindows Server 2003、ならびにWindows 7、Windows 8、Windows 10、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、およびWindows Server2016。

硬化

安全でないコードを再構築するための安全な開発ライフサイクルの一部としてマイクロソフトで開始されたイニシアチブの一環として、DCOMはWindows XP Service Pack2でセキュリティに重点を置いた重要な変更をいくつか確認しました。[2]

代替バージョンと実装

COMsource:そのソースコードは、完全で完全なドキュメントとともに利用可能であり、DCOMの相互運用可能なバージョンを使用および実装するのに十分です。そのドキュメントによると、COMsourceはWindows NT 4.0のソースコードから直接取得され、 WindowsNTレジストリサービスのソースコードも含まれています

1995年、DigitalとMicrosoftは、OpenVMSがWindowsNTクライアントサーバーアプリケーションの永続化レイヤーとして機能できるようにすることを目的としたAffinityforOpenVMS(NT Affinityとも呼ばれます)を発表しました。[3]このイニシアチブの一環として、分散コンポーネントオブジェクトモデル(DCOM)の実装がOpenVMSAlphaに追加されました。[4] DCOMをサポートするために、VMSには、Windowsレジストリ、NTLM認証、およびCOMをサポートするために必要なWin32APIのサブセットの実装が提供されました。 [5] DCOMは、Alpha用のOpenVMSV7.2-1に最初に追加されました。[6] DCOMの同様の実装がに追加されましたAllConnectプログラムの一部としてのデジタルUnix 。[4]

Wineチームは、バイナリの相互運用性を目的としてDCOMも実装しています。彼らは現在、 MSRPCによって提供されているDCOMのネットワーキング側には関心がありません彼らは、MicrosoftのAPI [要出典]を介したNDR(ネットワークデータ表現)の実装に制限されていますが、MSRPCと可能な限り互換性を持たせることに取り組んでいます。

TangramCOMはWineとは別のプロジェクトであり、LinuxベースのスマートフォンへのDCOMの実装に重点を置いています。

Sambaチームは、有線の相互運用性の目的でDCOMも実装しています。Wineチームとは異なり、Samba MSRPCの実装はMicrosoftのMSRPCとのバイナリ相互運用性にはほど遠いため、現在、バイナリ相互運用性には関心がありません。

も参照してください

参考文献

  1. ^ DCOMベータを発表するプレスリリース
  2. ^ DCOMセキュリティの強化
  3. ^ 「OpenVMSat20 Nothing stop it」 (PDF)デジタル。1997年10月2021-02-12を取得
  4. ^ a b ジーン・クローニン、テレンスP.シャーロック(2000)。マイクロソフトを超えたCOM:CompaqプラットフォームでのCOMサーバーの設計と実装ISBN 1555582265
  5. ^ 「OpenVMSConnectivity開発者ガイド」hpe.com2000年7月2021-01-01を取得
  6. ^ 「OpenVMSAlphaV7.2-1リリースノート」odl.sysworks.biz1999年1月2021-01-01を取得

外部リンク