Distributed Component Object Model - Wikipedia

Software for communication between software components

Distributed Component Object Model (DCOM) is a proprietary Microsoft technology for communication between software components on networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure.

The extension COM into Distributed COM was due to extensive use of DCE/RPC (Distributed Computing Environment/Remote Procedure Calls) – more specifically Microsoft's enhanced version, known as MSRPC.[1]

In terms of the extensions it added to COM, DCOM had to solve the problems of:

  • Marshalling – serializing and deserializing the arguments and return values of method calls "over the wire".
  • Distributed garbage collection – ensuring that references held by clients of interfaces are released when, for example, the client process crashed, or the network connection was lost.
  • Combining significant numbers of objects in the client's browser into a single transmission in order to minimize bandwidth utilization.

One of the key factors in solving these problems is the use of DCE/RPC as the underlying RPC mechanism behind DCOM. DCE/RPC has strictly defined rules regarding marshalling and who is responsible for freeing memory.[2]

DCOM was a major competitor to CORBA.[3] Proponents of both of these technologies saw them as one day becoming the model for code and service-reuse over the Internet. However, the difficulties involved in getting either of these technologies to work over Internet firewalls, and on unknown and insecure machines, meant that normal HTTP requests in combination with web browsers won out over both of them.[4] Microsoft, at one point, attempted to remediate these shortcomings by adding an extra HTTP transport to DCE/RPC called ncacn_http (Network Computing Architecture connection-oriented protocol).[5]

DCOM was publicly launched as a beta for Windows 95 September 18, 1996.[6]

DCOM is supported natively in all versions of Windows starting from Windows 95, and all versions of Windows Server since Windows NT 4.0[7]

Security improvements

[edit]

As part of the initiative that began at Microsoft as part of Secure Development Lifecycle to re-architect insecure code, DCOM saw some significant security-focused changes in Windows XP Service Pack 2.[8]

In response to a security vulnerability reported by Tencent Security Xuanwu Lab in June 2021,[9] Microsoft released security updates for several versions of Windows and Windows Server, hardening access to DCOM.[10]

Alternative versions and implementations

[edit]

COMsource is a Unix based implementation of DCOM, allowing interoperability between different platforms. Its source code is available, along with full and complete documentation, sufficient to use and also implement an interoperable version of DCOM. COMsource comes directly from the Windows NT 4.0 source code, and includes the source code for a Windows NT Registry Service.[11]

In 1995, Digital and Microsoft announced Affinity for OpenVMS (also known as NT Affinity) which was intended to allow OpenVMS to serve as the persistence layer for Windows NT client-server applications.[12] As part of this initiative, an implementation of the Distributed Component Object Model (DCOM) was added to OpenVMS Alpha.[13] In order to support DCOM, VMS was provided with implementations of the Windows Registry, NTLM authentication, and a subset of Win32 APIs needed to support COM.[14] DCOM was first added to OpenVMS V7.2-1 for the Alpha.[15] A similar implementation of DCOM was added to Digital Unix as part of the AllConnect program.[13]

TangramCOM was a separate project from Wine, focusing on implementing DCOM on Linux-based smartphones.[16]

See also

[edit]
  • ActiveX
  • Dynamic Data Exchange (DDE)
  • .NET Remoting
  • OLE for Process Control

References

[edit]
  1. ^ "What is Distributed Component Object Model (DCOM)?". WhatIs.com. Retrieved 2022-08-03.
  2. ^ "DCE 1.1: Remote Procedure Call - Introduction to the RPC API". pubs.opengroup.org. Retrieved 2022-08-03.
  3. ^ Nowak, Filip; Qasim, Mohsin. "A Comparison of Distributed Object Technologies CORBA vs DCOM" (PDF). Archived (PDF) from the original on 2017-08-29.
  4. ^ "Object Technology Jeff Sutherland: Web Services: Better than CORBA or DCOM?". Retrieved 2022-08-03.
  5. ^ stevewhims (23 August 2019). "Remote Procedure Calls Using RPC over HTTP - Win32 apps". docs.microsoft.com. Retrieved 2022-08-03.
  6. ^ Press Release Announcing DCOM Beta
  7. ^ "Distributed Component Object Model (DCOM) Remote Protocol" (PDF). Microsoft - Distributed Component Object Model (DCOM) Remote Protocol. June 25, 2021. Archived (PDF) from the original on 2021-05-09. Retrieved August 3, 2022.
  8. ^ DCOM Security Enhancements
  9. ^ "Security Update Guide - Microsoft Security Response Center". msrc.microsoft.com. Retrieved 2022-08-03.
  10. ^ "KB5004442—Manage changes for Windows DCOM Server Security Feature Bypass (CVE-2021-26414)". support.microsoft.com. Retrieved 2022-08-03.
  11. ^ "DataSheet COMsource for Solaris, Tru64 UNIX and other Platforms". DataSheet COMsource for Solaris, Tru64 UNIX and other Platforms.
  12. ^ "OpenVMS at 20 Nothing stops it" (PDF). Digital. October 1997. Archived (PDF) from the original on 2021-04-19. Retrieved 2021-02-12.
  13. ^ a b Gene Cronin, Terence P. Sherlock (2000). COM Beyond Microsoft: Designing and Implementing COM Servers on Compaq Platforms. Digital Press. ISBN 1555582265.
  14. ^ "OpenVMS Connectivity Developer Guide". hpe.com. July 2000. Archived from the original on 2020-12-04. Retrieved 2021-01-01.
  15. ^ "OpenVMS Alpha V7.2-1 Release Notes". odl.sysworks.biz. January 1999. Retrieved 2021-01-01.
  16. ^ "Home - TangramCOM". www.andjoin.com. Retrieved 2022-08-03.
[edit]
  • Distributed Component Object Model Protocol -- DCOM/1.0
  • The Open Groups COMsource Archived 2020-01-13 at the Wayback Machine
  • TangramCOM
  • v
  • t
  • e
Microsoft APIs and frameworks
Graphics and UI
  • Desktop Window Manager
  • Direct2D
  • Direct3D
  • D3D (extensions)
  • GDI / GDI+
  • WPF
  • Silverlight
  • WinUI
  • Windows Color System
  • Windows Image Acquisition
  • Windows Imaging Component
  • DirectX Graphics Infrastructure (DXGI)
  • Windows Advanced Rasterization Platform
  • WinG
Audio
  • DirectMusic
  • DirectSound
  • XACT
  • Speech API
  • XAudio2
Multimedia
  • DirectX
    • Media Objects
    • Video Acceleration
  • Xinput
  • DirectInput
  • DirectShow
  • Managed DirectX
  • Media Foundation
  • XNA
  • Windows Media
  • Video for Windows
Web
  • MSHTML
  • JScript
  • VBScript
  • BHO
  • XDR
  • SideBar Gadgets
  • TypeScript
Data access
  • Data Access Components (MDAC)
    • ADO
    • ADO.NET
    • ODBC
    • OLE DB
  • Extensible Storage Engine
  • Entity Framework
  • Sync Framework
  • Access Database Engine
  • MSXML
  • OPC
Networking
  • Winsock
    • LSP
  • Winsock Kernel
  • Filtering Platform
  • NDIS
  • Windows Rally
  • BITS
  • P2P API
  • MSMQ
  • DirectPlay
Communication
  • Messaging API
  • Telephony API
  • WCF
Administration andmanagement
  • Win32 console
  • Windows Script Host
  • WMI (extensions)
  • PowerShell
  • Task Scheduler
  • Offline Files
  • Shadow Copy
  • Windows Installer
  • Error Reporting
  • Event Log
  • Common Log File System
Component model
  • COM
  • COM+
  • ActiveX
  • Distributed Component Object Model
  • .NET Framework
Libraries
  • Framework Class Library
  • Microsoft Foundation Classes (MFC)
  • Active Template Library (ATL)
  • Windows Template Library (WTL)
Device drivers
  • WDM
  • WDF
    • KMDF
    • UMDF
  • WDDM
  • NDIS
  • UAA
  • VxD
Security
  • Crypto API
    • CAPICOM
  • Windows CardSpace
  • Data Protection API
  • Security Support Provider Interface (SSPI)
.NET
  • ASP.NET
  • ADO.NET
  • Remoting
  • Silverlight
  • TPL
  • WCF
  • WCS
  • WPF
  • WF
Software factories
  • Enterprise Library
  • CCF
IPC
  • MSRPC
  • Dynamic Data Exchange (DDE)
  • Remoting
  • WCF
Accessibility
  • Active Accessibility
  • UI Automation
Text and multilingualsupport
  • DirectWrite
  • Text Services Framework
  • Text Object Model
  • Input method editor
  • Language Interface Pack
  • Multilingual User Interface
  • Uniscribe
  • v
  • t
  • e
Microsoft Windows components
  • APIs
  • Architecture
    • 9x
    • NT
  • Booting process
  • Games
Managementtools
  • App Installer
  • Command Prompt
  • Control Panel
  • Device Manager
  • DirectX Diagnostic Tool
  • Disk Cleanup
  • Drive Optimizer
  • Driver Verifier
  • Event Viewer
  • IExpress
  • Management Console
  • Netsh
  • Performance Monitor
  • PowerShell
  • Recovery Console
  • Resource Monitor
  • Settings
  • Sysprep
  • System Configuration
  • System File Checker
  • System Information
  • System Policy Editor
  • System Restore
  • Task Manager
  • Windows Backup
  • Windows Error Reporting
  • Windows Ink
  • Windows Installer
  • Windows Update
    • Windows Insider
  • WinRE
  • WMI
Apps
  • 3D Viewer
  • Calculator
  • Calendar
  • Camera
  • Character Map
  • City Art Search
  • Clipchamp
  • Clock
  • Company Portal
  • Copilot
  • Edge
  • Fax and Scan
  • Feedback Hub
  • Get Help
  • Magnifier
  • Mail
  • Media Player
    • 2022
  • Mesh
  • Messaging
  • Mobility Center
  • Money
  • Movies & TV
  • Narrator
  • News
  • Notepad
  • OneDrive
  • OneNote
  • Paint
  • PC Manager
  • People
  • Phone Link
  • Photos
  • Quick Assist
  • Remote Desktop Connection
  • Snipping Tool
  • Sound Recorder
  • Speech Recognition
  • Sticky Notes
  • Store
  • Terminal
  • To Do
  • Weather
  • Whiteboard
  • Windows App
  • Xbox
Shell
  • Action Center
  • Aero
  • AutoPlay
  • AutoRun
  • ClearType
  • Explorer
  • Search
    • IFilter
    • Indexing Service
    • Namespace
    • Saved search
    • Special folder
  • Start menu
  • Task View
  • Taskbar
  • Windows Spotlight
  • Windows XP visual styles
Services
  • BITS
  • CLFS
  • Error Reporting
  • Multimedia Class Scheduler
  • Service Control Manager
  • Shadow Copy
  • Task Scheduler
  • Wireless Zero Configuration
File systems
  • CDFS
  • DFS
  • exFAT
  • FAT
  • IFS
  • NTFS
    • EFS
    • Hard link
    • links
    • Mount Point
    • Reparse point
    • TxF
  • ReFS
  • UDF
Server
  • Active Directory
  • Active DRM Services
  • DFS Replication
  • Distributed Transaction Coordinator
  • DNS
  • Domains
  • Folder redirection
  • Group Policy
  • Hyper-V
  • IIS
  • MSMQ
  • Network Access Protection
  • Print Services for UNIX
  • PWS
  • Remote Desktop Services
  • Remote Differential Compression
  • Remote Installation Services
  • Roaming user profiles
  • Server Core
  • SharePoint
  • System Resource Manager
  • Windows Deployment Services
  • Windows Media Services
  • WSUS
Architecture
  • Boot Manager
  • Console
  • CSRSS
  • Desktop Window Manager
  • Enhanced Write Filter
  • Graphics Device Interface
  • Hardware Abstraction Layer
  • I/O request packet
  • Imaging Format
  • Kernel Transaction Manager
  • Library files
  • Logical Disk Manager
  • LSASS
  • MinWin
  • NTLDR
  • Ntoskrnl.exe
  • Object Manager
  • Open XML Paper Specification
  • Portable Executable
    • DLL
    • EXE
  • Registry
  • Resource Protection
  • Security Account Manager
  • Server Message Block
  • Shadow Copy
  • SMSS
  • System Idle Process
  • USER
  • WHEA
  • Winlogon
  • WinUSB
Security
  • Security and Maintenance
  • AppLocker
  • BitLocker
  • Credential Guard
  • Data Execution Prevention
  • Defender
  • Family features
  • Kernel Patch Protection
  • Mandatory Integrity Control
  • Protected Media Path
  • User Account Control
  • User Interface Privilege Isolation
  • Windows Firewall
Compatibility
  • COMMAND.COM
  • Windows Subsystem for Linux
  • WoW64
API
  • Active Scripting
    • JScript
    • VBScript
    • WSH
  • COM
    • ActiveX
    • ActiveX Document
    • COM Structured storage
    • DCOM
    • OLE
    • OLE Automation
    • Transaction Server
  • DirectX
  • Native
  • .NET
  • Universal Windows Platform
  • WinAPI
  • Windows Mixed Reality
  • Windows Runtime
  • WinUSB
Games
  • Solitaire Collection
  • Surf
Discontinued
Games
  • 3D Pinball
  • Chess Titans
  • FreeCell
  • Hearts
  • Hold 'Em
  • InkBall
  • Purble Place
  • Solitaire
  • Spider Solitaire
  • Tinker
Apps
  • ActiveMovie
  • Address Book
  • Anytime Upgrade
  • Backup and Restore
  • Cardfile
  • CardSpace
  • CD Player
  • Chat
  • Contacts
  • Cortana
  • Desktop Gadgets
  • Diagnostics
  • DriveSpace
  • DVD Maker
  • Easy Transfer
  • Edge Legacy
  • Fax
  • Food & Drink
  • Groove Music
  • Health & Fitness
  • Help and Support Center
  • HyperTerminal
  • Imaging
  • Internet Explorer
  • Journal
  • Make Compatible
  • Maps
  • Media Center
  • Meeting Space
  • Messaging
  • Messenger
  • Mobile Device Center
  • Movie Maker
  • MSN Dial-Up
  • NetMeeting
  • NTBackup
  • Outlook Express
  • Paint 3D
  • Pay
  • Phone Companion
  • Photo Gallery
  • Photo Viewer
  • Program Manager
  • Skype
  • Sports
  • Start
  • Steps Recorder
  • Syskey
  • Tips
  • Travel
  • WinHelp
  • WordPad
  • Write
Others
  • Desktop Cleanup Wizard
  • File Protection
  • Games for Windows
  • HPFS
  • Interix
  • Media Control Interface
  • MS-DOS 7
  • Next-Generation Secure Computing Base
  • POSIX subsystem
  • ScanDisk
  • Video for Windows
  • Virtual DOS machine
  • Windows on Windows
  • Windows Services for UNIX
  • Windows SideShow
  • Windows System Assessment Tool
  • Windows To Go
  • WinFS
Spun off toMicrosoft Store
  • DVD Player
  • File Manager
  • Hover!
  • Mahjong
  • Minesweeper
  •  Category
  •  List
Authority control databases Edit this at Wikidata
National
  • United States
  • Israel
Other
  • Yale LUX

Tag » What Does Dcom Stand For