Distributed Component Object Model (abr. DCOM) est une technique propriétaire de Microsoft qui permet la communication entre des composants logiciels distribués au sein d'un réseau informatique. DCOM, appelé à l'origine « Network OLE », étend COM et fournit le substrat sous l'infrastructure du serveur d'application COM+. Il a été rendu obsolète par Microsoft .NET.
L'addition du « D » à COM est due à l'utilisation intensive de DCE/RPC, plus précisément sa version Microsoft, connue sous le nom de MSRPC.
En termes d'extensions ajoutées à COM, DCOM devait résoudre les problèmes de :
Un des facteurs clés de la résolution de ces problèmes est l'utilisation de DCE/RPC comme le mécanisme RPC derrière DCOM. DCE/RPC possède des règles strictement définies à propos de la sérialisation et de la responsabilité de la libération de la mémoire.
DCOM fut un adversaire important de CORBA. Les supporters de ces deux techniques les voyaient un jour devenir le modèle pour la réutilisation de code et de services sur Internet. Cependant les difficultés pour les faire marcher à travers des pare-feu et sur des machines inconnues et non sécurisées, ont impliqué que des requêtes HTTP normales combinées avec des navigateurs web les ont supplantés. Microsoft a, à un moment, essayé et échoué de les atténuer en ajoutant une couche de transport supplémentaire http à DCE/RPC appelée ncacn_http (Network Computing Architecture, Connection-based, over HTTP, littéralement : architecture de réseau informatique, basée sur des connexions, sur HTTP). Ceci fut recyclé plus tard pour supporter des connexions Exchange 2003 sur HTTP.