encyklopedia.space

dcom

Distributed Component Object Model (skrót DCOM) – rozszerzenie Component Object Model (COM) opracowane przez Microsoft w latach 90. XX wieku. DCM umożliwia tworzenie i uruchamianie komponentów programistycznych rozproszonych w sieci, zapewniając ich wzajemną współpracę niezależnie od fizycznego położenia oraz języka, w którym zostały napisane.

Historia

Wraz z rosnącą popularnością aplikacji klient‑serwer oraz potrzebą integracji rozwiązań opartych na COM, firma Microsoft w 1996 roku wprowadziła DCM jako część platformy Windows 95 i później Windows NT. Pierwsze wersje DCM wykorzystywały protokół RPC (Remote Procedure Call) i były zamieszczone w systemach Windows 98, Windows 2000 oraz Windows XP. Do lat 2000‑2005 DCM był podstawą wielu aplikacji internetowych i korporacyjnych, a także technik ActiveX oraz Internet Explorer.

Architektura

DCOM opiera się na kilku kluczowych elementach:

  • Klient – proces wywołujący metody komponentu zdalnego.
  • Serwer – proces udostępniający interfejsy COM i obsługujący wywołania klienta.
  • Warstwa transportowa – najczęściej protokół TCP lub HTTP (w późniejszych wersjach).
  • Model bezpieczeństwa – mechanizmy uwierzytelniania (Kerberos, NTLM) i autoryzacji, które decydują o dostępie do komponentów.

Główne cechy

  • Transparentność – programista może wywoływać metody komponentu tak, jakby znajdował się w tym samym procesie.
  • Obsługa wielu języków – DCM współpracuje z C++, C#, VB.NET i innymi.
  • Skalowalność – komponenty mogą być rozmieszczone w różnych sieciach, w tym w środowiskach VLAN czy przez Internet.
  • Integracja z systemem uprawnień Windows – możliwość wykorzystania grup użytkowników, polityk zabezpieczeń i certyfikatów.

Bezpieczeństwo

Chociaż DCM zapewnia rozbudowane mechanizmy uwierzytelniania, w praktyce technologia ta była narażona na ataki typu man‑in‑the‑middle oraz wykorzystanie luk w komponentach ActiveX. Dlatego od 2005 roku Microsoft zaleca stosowanie nowszych rozwiązań, takich jak Windows Communication Foundation (WCF) czy protokoły SOAP i REST.

Zastosowania

W praktyce DCM znalazł zastosowanie w:

Alternatywy i następcy

W miarę rozwoju technologii webowych i usług sieciowych, DCM został częściowo wyparty przez:

Współczesny status

Chociaż DCM nie jest już preferowaną technologią przy projektowaniu nowych systemów, wciąż jest utrzymywana w starszych aplikacjach działających na platformach Windows Server. Wsparcie techniczne obejmuje jedynie poprawki bezpieczeństwa i kompatybilności z nowszymi wersjami systemu operacyjnego.

Patrz także