E D R , A S I H C RSS

Component Object Model


1. COM?

{{|Component Object Model, or COM, is a Microsoft technology for software componentry. It is used to enable cross-software communication and dynamic object creation in many of Microsoft's programming languages. Although it has been implemented on several platforms, it is primarily used with Microsoft Windows. COM is expected to be replaced to at least some extent by the Microsoft .NET framework. COM has been around since 1993 - however, Microsoft only really started emphasizing the name around 1997.
|}}
COM은 μ†Œν”„νŠΈμ›¨μ–΄ μ»΄ν¬λ„ŒνŠΈλΌ μœ„ν•΄ λ§Œλ“€μ–΄μ§„ Microsoft μ‚¬μ˜ κΈ°μˆ μ΄λ‹€. μ΄λŠ” μˆ˜λ§Žμ€ MSμ‚¬μ˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ†Œν”„νŠΈμ›¨μ–΄κ°„ 톡신과 동적 객체생성을 κ°€λŠ₯μΌ€ν•œλ‹€. 비둝 이 기술이 λ‹€μˆ˜μ˜ ν”Œλž«νΌμƒμ—μ„œ κ΅¬ν˜„μ΄ λ˜κΈ°λŠ” ν•˜μ˜€μ§€λ§Œ MS Windows μš΄μ˜μ²΄μ œμ— 주둜 μ΄μš©λœλ‹€. μ‚¬λžŒλ“€μ€ .Net ν”„λ ˆμž„μ›Œν¬κ°€ COM을 μ–΄λŠμ •λ„κΉŒμ§€λŠ” λŒ€μ²΄ν•˜λ¦¬λΌκ³  κΈ°λŒ€ν•œλ‹€. COM 은 1993년에 μ†Œκ°œλ˜κ³  1997μ¦ˆμŒν•΄μ„œ MSκ°€ κ°•μ‘°ν•œ κΈ°μˆ μ΄λ‹€.

90λ…„λŒ€ λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈκ°€ 내놓은 κ°€μž₯ 핡심적인 기술둜 μ°¨ν›„ ActiveX λΌ μ΄λ£¨λŠ” 기반기술이 λœλ‹€. COM은 μ–Έμ–΄κ°€ μ•„λ‹ˆλΌ 객체지ν–₯을 지ν–₯ν•˜λŠ” λ°”μ΄λ„ˆλ¦¬λΌ λ§Œλ“€μ–΄ λ‚΄λŠ” ν‘œμ€μ„ 지정해놓은 것이닀. λ”°λΌμ„œ μ–΄λ–€ μ–Έμ–΄μ΄λ˜μ§€ COM ν‘œμ€μ— λΆ€ν•©ν•˜λŠ” λ°”μ΄λ„ˆλ¦¬ ν˜•νƒœλΌ μƒμ„±ν•  수 μžˆλ‹€λ©΄ κ·Έ μ–Έμ–΄λ‘œ μž‘μ„±ν•œ λ°”μ΄λ„ˆλ¦¬λŠ” μ–Έμ–΄ λ…λ¦½μ μœΌλ‘œ COM을 μ§€μ›Œν•˜λŠ” κ³³μ—μ„œ μ»΄ν¬λ„ŒνŠΈλ‘œμ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€. 고질적으둜 μ§„μž…μž₯벽이 μ—…μ²­λ‚˜κ²Œ 높은 기술둜 유λͺ…ν•˜μ§€λ§Œ... -_-; .NET 이 λ‚˜μ˜€λ©΄μ„œ μ–΄λ–»κ²Œ μ“°μ΄κ²Œ λ λŸ°μ§€λŠ” λΈμ§€μˆ˜κ°€ λ˜μ–΄λ²„λ¦° κΈ°μˆ μ΄λ‹€. Vista κ°€ λ‚˜μ˜€λ©΄ μ™„μ „νžˆ legacy 둜 μ·¨κΈ‰λ˜κ²Œ 될 것인지... -_-;; 이제 MFCλŠ” 사μž₯의 길둜 κ±Έμ–΄κ°€λŠ” 것 κ°™κ³ ... λ‹Ήμž₯이야 μ›Œλ‚™μ— 기반이 이 κΈ°μˆ μ΄λ‹€λ³΄λ‹ˆ μ–΄μ©” 수 μ—†κ² μ§€λ§Œ .net μ‚¬μš©μ΄ ꢀ도에 였λ₯΄λ©΄ μ•„λ§ˆλ„ COM 도 λ¨Έμ§€μ•Šμ•„ κ·Έλ ‡κ²Œ λ˜μ§€ μ•Šμ„κΉŒ μ‹Άλ‹€.

2. Migration from COM to .NET

{{|
The COM platform has largely been superseded by the Microsoft .NET initiative and Microsoft now focuses its marketing efforts on .NET. To some extent, COM is now deprecated in favour of .NET.
Despite this, COM remains a viable technology with an important software base – for example the popular DirectX 3D rendering SDK is based on COM. Microsoft has no plans for discontinuing COM or support for COM.
There exists a limited backward compatibility in that a COM object may be used in .NET by implementing a runtime callable wrapper (RCW), and .NET objects may be used in COM objects by calling a COM callable wrapper. Additionally, several of the services that COM+ provides, such as transactions and queued components, are still important for enterprise .NET applications.
|}}
COM ν”Œλž«νΌμ€ Microsoft .NETν”„λ ˆμž„μ›μ΄ λ‚˜μ˜€λ©΄μ„œ λ§Žμ€ λΆ€λΆ„ λŒ€μ²΄λ˜μ—ˆλ‹€. λ˜ν•œ Microsoft μ‚¬λŠ” 이제 .NET에 λŒ€ν•œ λ§ˆμΌ€νŒ…μ„ ν•˜λŠ”λ° λ…Έλ ₯ν•œλ‹€. μ•½κ°„ 더 λ‚˜μ•„κ°€ 생각해보면 .NET을 μ„ ν˜Έν•˜λŠ” ν™˜κ²½μ—μ„œ 이제 μ‚¬μ–‘μ˜ 길둜 μ ‘μ–΄λ“€μ—ˆλ‹€.
κ·Έλ ‡μ§€λ§Œ COM은 μ—¬μ „νžˆ μ†Œν”„νŠΈμ›¨μ–΄μ˜ μ€‘μš”ν•œ κΈ°λ°˜λ“€κ³Ό ν•¨κ»˜ μ‹€μš©μ μΈ κΈ°μˆ μ΄λ‹€. μ˜ˆλΌ λ“€μžλ©΄ DirectX 3D의 λ ˆλ”λ§ SDK λŠ” COM에 κΈ°λ°˜ν•˜κ³  μžˆλ‹€. Microsoft λŠ” COMλΌ κ³„μ† κ°œλ°œν•  κ³„νšλ„, 지원할 κ³„νšλ„ 가지고 μžˆμ§€ μ•Šλ‹€.
RCWλΌ κ΅¬ν˜„ν•˜κ³  μžˆλŠ” .Net ν•˜μ—μ„œλŠ” COM κ°μ²΄λŠ” μ•„λ§ˆλ„ μ œν•œμ μœΌλ‘œ ν˜Έν™˜μ„±μ˜ μΈ‘λ©΄μ—μ„œ μ‚¬μš©λ  것이닀. λ˜ν•œ .NET 객체듀은 μ•„λ§ˆλ„ COM callable wrapperλΌ ν˜ΈμΆœν•˜λŠ” 것 λ•Œλ¬Έμ— COM κ°μ²΄λ“€μ•ˆμ—μ„œ μ‚¬μš©λ  것이닀. λ§λΆ™μ—¬μ„œ COM+κ°€ μ œκ³΅ν•˜λŠ” μΌλΆ€λΆ„μ˜ μ„œλΉ„μŠ€λ“€(transaction, queued components)은 μ—¬μ „νžˆ .NET μ‘μš©ν”„λ‘œκ·Έλž¨μ—μ„œλ„ μ€‘μš”ν•œ 뢀뢄이닀.

Microsoft COM Page
Is COM still supported? Is it going away?
COM is a feature of Windows. Each version of Windows has a support policy described in the Windows Product Lifecycle. 
COM continues to be supported as part of Windows. 
COM is a planned feature of the coming version of Windows, code-named "Longhorn".

3. Related



4. Thread

COM 은 'μ–Έμ–΄'κ°€ μ•„λ‹Œ '기술'이닀. μ΄λŠ” ASP κ°€ VBScript μ–Έμ–΄λΌ μ˜λΈν•˜μ§€ μ•ŠλŠ” 것과 κ°™λ‹€.

μ˜ˆμ „μ— COM ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ‹€κ°€ Java μ—μ„œμ˜ 결과물듀을 λ³΄λ©΄μ„œ 'COM 은 OS ν”Œλž«νΌ/C & C++ ν•œκ³„ λ‚΄μ—μ„œμ˜ μ»΄ν¬λ„ŒνŠΈ λͺ¨λΈμ΄λΌλ©΄, Java μ—μ„œμ˜ Component (Beans) λŠ” VM μœ„μ—μ„œμ˜ 자유둜운 μ»΄ν¬λ„ŒνŠΈ λͺ¨λΈμ΄κ΅¬λ‚˜' λΌλŠ” 생각이 듀기도. .NET ν”Œλž«νΌ 이후에 COM 이 μ‚¬λΌμ§€κ²Œ λ˜λŠ”κ±΄ μ–΄μ©Œλ©΄ λ‹Ήμ—°ν•œ 수순일 것이닀.

COM 을 처음 κ³΅λΆ€ν•˜κ³  직접 κ΅¬ν˜„ν• λ•Œμ—λŠ” λͺ¨λ“  것듀이 신기해보인닀. νŒ©ν† λ¦¬λ„μŠ€λ§ˆνŠΈ 포인터λ„μŠ€ν…-μŠ€μΌˆλ ˆν†€μ΄λ„μΈν„°νŽ˜μ΄μŠ€λ„κ΅¬ν˜„μƒμ†κ³Ό μΈν„°νŽ˜μ΄μŠ€μƒμ†μ€ λ‹€λ₯΄λ„λ“±λ“±. ν•˜μ§€λ§Œ, 동급에 ν•΄λ‹Ήλ˜μ–΄λ³΄μ΄λŠ” Java ν”Œλž«νΌ λ‚΄μ—μ„œμ˜ μ†”λ£¨μ…˜λ“€μ„ 보면 λ„ˆλ¬΄λ‚˜ λ‹Ήμ—°ν•œκ±΄λ° λŒ€λ‹¨ν•˜κ²Œ ν‘œν˜„λ˜μ–΄μžˆλ‹€κ±°λ‚˜ (μ˜ˆλΌ λ“€λ©΄ 'μΈν„°νŽ˜μ΄μŠ€ 상속'. COM μ±…μ—μ„œλŠ” 이걸 μ™œ 무언가 μƒˆλ‘œμš΄ λŒ€λ‹¨ν•œ 기술인 μ–‘ μ„œμˆ ν–ˆμ„κΉŒ?) 아에 ν•„μš”κ°€ μ—†λŠ” 기술일 μˆ˜λ„ μžˆλ‹€. (슀마트 포인터 : VM 지원을 λ°›λŠ” ν”Œλž«νΌμ—μ„  μ „ν˜€ ν•„μš”κ°€ μ—†λ‹€.) (λ¬Όλ‘ , 이건 COM 을 μ„λͺ…ν•˜λ˜ 책듀쀑에 C++ 둜 COM 을 κ΅¬ν˜„μ„ μ„λͺ…ν•˜λŠ” 책듀에 ν•œν•¨)

COM 을 κ³΅λΆ€ν•˜λ˜ λ‹Ήμ‹œ λ“€λ˜ 생각 : 무언가 νŠΉμ • κΈ°μˆ μ— λŒ€ν•΄μ„œ κ³΅λΆ€λΌ ν• λ•Œ λ„ˆλ¬΄λ‚˜ μƒμ†Œν•œ μš©μ–΄λ“€μ΄ 많이 λ‚˜μ™€μ„œ 'λŒ€λ‹¨ν•΄λ³΄μ΄λŠ”' ν˜Ήμ€ '무언가 μžˆμ–΄λ³΄μ΄λŠ”' 녀석듀이 있곀 ν•˜λ‹€. κ·Έ 경우, λ™κΈ‰μ˜ 더 λ‚˜μ€ κΈ°μˆ λ“€μ΄ ν•΄λ‹Ή λ¬Έμ œλ“€μ„ μ–΄λ–»κ²Œ ν•΄κ²°ν•˜λŠ”μ§€μ— λŒ€ν•œ 관찰이 ν•„μš”ν•˜λ‹€.

--1002

----
COM MFC/ObjectLinkingEmbedding
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:58
Processing time 0.0290 sec