SlideShare a Scribd company logo
2
Most read
6
Most read
9
Most read
COMPONENT OBJECT
MODEL
PRESENTATION BY-
CHARMY PANIGRAHI (2k11/SE/022)
CHARVI SINGLA (2k11/SE/025)
JASMIN JOY (2k11/SE/035)
RIKKI MEENA (2k11/SE/059)
COM(COMPONENT OBJECT
MODEL)
 COM is a platform-independent,
distributed, object-oriented system for
creating binary software components that
can interact.
 Object-oriented languages, such as C++,
provide programming mechanisms that
simplify the implementation of COM
objects.
COM(COMPONENT OBJECT
MODEL)
 COM is not an object-oriented language but a
binary standard.
 COM specifies an object model and
programming requirements that enable COM
objects (also called COM components) to
interact with other objects.
DESIGN PRINCIPLES
 Binary Components
a. Any programming language.
b. Any location (in- process, cross- process,
cross machine).
 Zero sacrifice in performance.
 Enable extensibility and adaptability.
Design Principles
 Encapsulation
a. Black box - no leakage of implementation
details.
b. Object manipulation through strict interfaces.
 Polymorphism
a. Multiple interfaces per class.
Interfaces of COM
 IUnknown
 AddRef
 Release
 QueryInterface
 IDispatch
 GetIDsOfNames
 GetTypeInfo
 GetTypeInfoCount
 Invoke
 Custom Interfaces
Interfaces of COM
Your application may have as much as classes as you need. It
should implement at least the IUnknown interface. AddRef
increments the objects usage count, and Release decrements it.
Object may unload itself when the reference count reaches to zero.
QueryInterface helps you to query any interface using another one.
If you create and object and get the IUnknown interface you can
easily access other interfaces. Applications usually query objects
whether they have a certain interface. For example the COM
runtime queries and object of IMarshall to decide whether custom
marshalling or universal marshaller. Internet Explorer searches
some certain registry keys, and loads the objects under those keys.
It then queries the object of IObjectWithSite interface to decide the
object will be run as a plugin. The object queries the IUnknown
interface of the loader module for IWebBrowser2. When a page is
loaded the plugin asks the browser the IUnknown of the document.
The IHTMLDocument2 and IHTMLElement interfaces are queried
using the IUnknown interface that we have.
Interfaces of COM
IDispatch interface has to be implemented if the
object is to be used from scripting languages
through automation. The script languages
accessed the methods in vtable by name using
the methods of IDispatch interface. COM
objects also implement their custom interfaces
for direct access.
COM Architecture
Communication details handled by the COM run-time
COM Protocol
 A client that needs to communicate with a
component in another process has to use
some form of inter-process communication
provided by the operating system. COM
provides this communication in a completely
transparent fashion: it intercepts calls from the
client and forwards them to the component in
another process.
COM Protocol
 LPC (Local Procedure Call) is used for interprocess
communcation. LPC is a system service in the Win32
subsystem. For example all the Win32 API calls are
done using LPC. An application that calls the
CreateWindow actually packs all of the parameters and
send them to the Win32 subsystem.
 COM uses DCE’s (Distributed Computing Environment
specified by Open Software Foundation) RPC (Remote
Procedure Call) protocol. DCE was implemented for
Windows platform by Digital Equipment Corporation.
Advantages of COM
 Location Transparency - The component’s clients don’t
have to know the location of the components.
 Wire Level Standard - The component users don’t have
to know anything about the underlying network
mechanisms, TCP/IP or NETBIOS, to use the
components.
 Binary Standard - The users don’t have to know about
the programming languages – C, B, VB, Java, Tea –
used to build the components.
 Runtime Polymorphism - At runtime the client detects
the right component it wants and uses its services.
Disadvantages Of COM
 Security - Only a local server has its address space isolated
from that of the client. An in-process server shares the
address space and process context of the client and can
therefore be less robust in the face of faults or malicious
programming.
 Granularity. A local server can host multiple instances of its
object across many different clients, sharing server state
between objects in multiple clients in ways that would be
difficult or impossible if implemented as an in-process server,
which is simply a DLL loaded into each client.
 Compatibility. If you choose to implement an in-process
server, you relinquish compatibility with OLE 1, which does
not support such servers.
 Inability to support links. An in-process server cannot serve
as a link source.

More Related Content

PPTX
Fragment
nationalmobileapps
 
DOCX
Behavioural modelling
Benazir Fathima
 
PPT
Analysis modeling
Inocentshuja Ahmad
 
PDF
Classes and Objects
yndaravind
 
PPTX
Requirements modeling
AnanthiP8
 
PDF
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
PPTX
Functional modeling
Preeti Mishra
 
PPTX
Estimating Software Maintenance Costs
lalithambiga kamaraj
 
Behavioural modelling
Benazir Fathima
 
Analysis modeling
Inocentshuja Ahmad
 
Classes and Objects
yndaravind
 
Requirements modeling
AnanthiP8
 
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
Functional modeling
Preeti Mishra
 
Estimating Software Maintenance Costs
lalithambiga kamaraj
 

What's hot (20)

PDF
Database Management System [DBMS]
Shalabh Chaudhary
 
ODP
Anatomy of android application
Nikunj Dhameliya
 
PPTX
Introduction to system programming
sonalikharade3
 
PPT
Organization and team structures
Nur Islam
 
PPT
Ch 3 event driven programming
Chaffey College
 
PPT
Object Oriented Analysis and Design
Dr. C.V. Suresh Babu
 
PPTX
Language and Processors for Requirements Specification
kirupasuchi1996
 
PPTX
Model Based Software Architectures
Munazza-Mah-Jabeen
 
PPTX
Software Project Management - Staffing
TanishqRongta1
 
PPT
Object Oriented Design in Software Engineering SE12
koolkampus
 
PPTX
Software requirements specification
lavanya marichamy
 
PPTX
Fundamental design concepts
srijavel
 
PPTX
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
Santhia RK
 
PDF
Fragments In Android
DivyaKS12
 
PPT
Use Case Diagram
Ashesh R
 
PPTX
Overview of UML Diagrams
Manish Kumar
 
PPT
Class diagrams
Nadia_Nazeer
 
PPTX
compiler ppt on symbol table
nadarmispapaulraj
 
PDF
Elaboration and domain model
Vignesh Saravanan
 
PPT
Architecture design in software engineering
Preeti Mishra
 
Database Management System [DBMS]
Shalabh Chaudhary
 
Anatomy of android application
Nikunj Dhameliya
 
Introduction to system programming
sonalikharade3
 
Organization and team structures
Nur Islam
 
Ch 3 event driven programming
Chaffey College
 
Object Oriented Analysis and Design
Dr. C.V. Suresh Babu
 
Language and Processors for Requirements Specification
kirupasuchi1996
 
Model Based Software Architectures
Munazza-Mah-Jabeen
 
Software Project Management - Staffing
TanishqRongta1
 
Object Oriented Design in Software Engineering SE12
koolkampus
 
Software requirements specification
lavanya marichamy
 
Fundamental design concepts
srijavel
 
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
Santhia RK
 
Fragments In Android
DivyaKS12
 
Use Case Diagram
Ashesh R
 
Overview of UML Diagrams
Manish Kumar
 
Class diagrams
Nadia_Nazeer
 
compiler ppt on symbol table
nadarmispapaulraj
 
Elaboration and domain model
Vignesh Saravanan
 
Architecture design in software engineering
Preeti Mishra
 
Ad

Viewers also liked (20)

PPT
Presentation On Com Dcom
Bharat Kumar Katur
 
PDF
Component Object Model (COM, DCOM, COM+)
Peter R. Egli
 
PPT
COM and DCOM
Sisimon Soman
 
PPT
Dcom vs. corba
Mohd Arif
 
PPT
Distributed objects & components of corba
Mayuresh Wadekar
 
PPTX
Corba concepts & corba architecture
nupurmakhija1211
 
PPTX
Javabeans
vamsitricks
 
PDF
Common Object Request Broker Architecture - CORBA
Peter R. Egli
 
PPT
Java beans
sptatslide
 
PPTX
Corba
Vishal Singh
 
PPT
Asp.net.
Naveen Sihag
 
PPTX
Corba model ppt
Saransh Garg
 
PDF
DCOM
Saqib Shah
 
PPT
Interoperability
sudhakar mandal
 
PPT
CORBA Basic and Deployment of CORBA
Priyanka Patil
 
PPT
Deployment
Roy Antony Arnold G
 
PPT
introduction of Java beans
shravan kumar upadhayay
 
PPTX
EJB3 Advance Features
Emprovise
 
PPT
DCOM Comparison
Roy Antony Arnold G
 
PPT
Jsp slides
Kumaran K
 
Presentation On Com Dcom
Bharat Kumar Katur
 
Component Object Model (COM, DCOM, COM+)
Peter R. Egli
 
COM and DCOM
Sisimon Soman
 
Dcom vs. corba
Mohd Arif
 
Distributed objects & components of corba
Mayuresh Wadekar
 
Corba concepts & corba architecture
nupurmakhija1211
 
Javabeans
vamsitricks
 
Common Object Request Broker Architecture - CORBA
Peter R. Egli
 
Java beans
sptatslide
 
Asp.net.
Naveen Sihag
 
Corba model ppt
Saransh Garg
 
Interoperability
sudhakar mandal
 
CORBA Basic and Deployment of CORBA
Priyanka Patil
 
introduction of Java beans
shravan kumar upadhayay
 
EJB3 Advance Features
Emprovise
 
DCOM Comparison
Roy Antony Arnold G
 
Jsp slides
Kumaran K
 
Ad

Similar to Component object model and (20)

PDF
Chapter 6-Remoting
Hoàng Hải Nguyễn
 
PDF
6. The grid-COMPUTING OGSA and WSRF
Dr Sandeep Kumar Poonia
 
PPT
MIDELWARE TECH
muthahar.sk
 
PDF
1 get started with c#
Tuan Ngo
 
PPT
Csharp dot net
Ekam Baram
 
PPT
Session 1
LiquidHub
 
PPTX
Type of Technologies for Distributed Computing
Devikashanker1
 
PPTX
Distributing computing.pptx
Kaviya452563
 
ODP
CORBA & RMI in java
S mahesh acharya
 
DOCX
Learning activity 3
Aileen Banaguas
 
DOCX
Online lg prodect
Yesu Raj
 
PPTX
Deep Dive into WinRT
Sasha Goldshtein
 
PPT
CFInterop
webuploader
 
DOCX
Remote Web Desk
Satish Chandra
 
PPT
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
PPT
Asp dot net
husnara mohammad
 
PPTX
Eco system apps
Sergey Seletsky
 
DOC
Dotnet ch1
007laksh
 
PPSX
Introduction to .net framework
Arun Prasad
 
Chapter 6-Remoting
Hoàng Hải Nguyễn
 
6. The grid-COMPUTING OGSA and WSRF
Dr Sandeep Kumar Poonia
 
MIDELWARE TECH
muthahar.sk
 
1 get started with c#
Tuan Ngo
 
Csharp dot net
Ekam Baram
 
Session 1
LiquidHub
 
Type of Technologies for Distributed Computing
Devikashanker1
 
Distributing computing.pptx
Kaviya452563
 
CORBA & RMI in java
S mahesh acharya
 
Learning activity 3
Aileen Banaguas
 
Online lg prodect
Yesu Raj
 
Deep Dive into WinRT
Sasha Goldshtein
 
CFInterop
webuploader
 
Remote Web Desk
Satish Chandra
 
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
Asp dot net
husnara mohammad
 
Eco system apps
Sergey Seletsky
 
Dotnet ch1
007laksh
 
Introduction to .net framework
Arun Prasad
 

More from Saransh Garg (17)

PPTX
Technical non-technical-requirement-of-cots-selection
Saransh Garg
 
PPTX
Selecting with multiple interfaces
Saransh Garg
 
PPTX
Selecting cots vendor in cbse process
Saransh Garg
 
PPTX
Scs.pptx repaired
Saransh Garg
 
PPTX
Repo for cbt
Saransh Garg
 
PPT
Rbce
Saransh Garg
 
PPTX
Predicting system trustworthyness
Saransh Garg
 
PPTX
Koala component model (1)
Saransh Garg
 
PPT
Javabean1
Saransh Garg
 
PPTX
Integration in component based technology
Saransh Garg
 
PPTX
Embedded system.pptx
Saransh Garg
 
PPT
Cots integration
Saransh Garg
 
PPTX
Composition of cots
Saransh Garg
 
PPTX
Components in real time systems
Saransh Garg
 
PPT
Component based models and technology
Saransh Garg
 
PPT
Cbt component based technology architectures
Saransh Garg
 
PPTX
Architecture support for component
Saransh Garg
 
Technical non-technical-requirement-of-cots-selection
Saransh Garg
 
Selecting with multiple interfaces
Saransh Garg
 
Selecting cots vendor in cbse process
Saransh Garg
 
Scs.pptx repaired
Saransh Garg
 
Repo for cbt
Saransh Garg
 
Predicting system trustworthyness
Saransh Garg
 
Koala component model (1)
Saransh Garg
 
Javabean1
Saransh Garg
 
Integration in component based technology
Saransh Garg
 
Embedded system.pptx
Saransh Garg
 
Cots integration
Saransh Garg
 
Composition of cots
Saransh Garg
 
Components in real time systems
Saransh Garg
 
Component based models and technology
Saransh Garg
 
Cbt component based technology architectures
Saransh Garg
 
Architecture support for component
Saransh Garg
 

Recently uploaded (20)

PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
CDH. pptx
AneetaSharma15
 
PPTX
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
Trends in pediatric nursing .pptx
AneetaSharma15
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
PDF
Sunset Boulevard Student Revision Booklet
jpinnuck
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PDF
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
CDH. pptx
AneetaSharma15
 
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
Trends in pediatric nursing .pptx
AneetaSharma15
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Sunset Boulevard Student Revision Booklet
jpinnuck
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 

Component object model and

  • 1. COMPONENT OBJECT MODEL PRESENTATION BY- CHARMY PANIGRAHI (2k11/SE/022) CHARVI SINGLA (2k11/SE/025) JASMIN JOY (2k11/SE/035) RIKKI MEENA (2k11/SE/059)
  • 2. COM(COMPONENT OBJECT MODEL)  COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact.  Object-oriented languages, such as C++, provide programming mechanisms that simplify the implementation of COM objects.
  • 3. COM(COMPONENT OBJECT MODEL)  COM is not an object-oriented language but a binary standard.  COM specifies an object model and programming requirements that enable COM objects (also called COM components) to interact with other objects.
  • 4. DESIGN PRINCIPLES  Binary Components a. Any programming language. b. Any location (in- process, cross- process, cross machine).  Zero sacrifice in performance.  Enable extensibility and adaptability.
  • 5. Design Principles  Encapsulation a. Black box - no leakage of implementation details. b. Object manipulation through strict interfaces.  Polymorphism a. Multiple interfaces per class.
  • 6. Interfaces of COM  IUnknown  AddRef  Release  QueryInterface  IDispatch  GetIDsOfNames  GetTypeInfo  GetTypeInfoCount  Invoke  Custom Interfaces
  • 7. Interfaces of COM Your application may have as much as classes as you need. It should implement at least the IUnknown interface. AddRef increments the objects usage count, and Release decrements it. Object may unload itself when the reference count reaches to zero. QueryInterface helps you to query any interface using another one. If you create and object and get the IUnknown interface you can easily access other interfaces. Applications usually query objects whether they have a certain interface. For example the COM runtime queries and object of IMarshall to decide whether custom marshalling or universal marshaller. Internet Explorer searches some certain registry keys, and loads the objects under those keys. It then queries the object of IObjectWithSite interface to decide the object will be run as a plugin. The object queries the IUnknown interface of the loader module for IWebBrowser2. When a page is loaded the plugin asks the browser the IUnknown of the document. The IHTMLDocument2 and IHTMLElement interfaces are queried using the IUnknown interface that we have.
  • 8. Interfaces of COM IDispatch interface has to be implemented if the object is to be used from scripting languages through automation. The script languages accessed the methods in vtable by name using the methods of IDispatch interface. COM objects also implement their custom interfaces for direct access.
  • 9. COM Architecture Communication details handled by the COM run-time
  • 10. COM Protocol  A client that needs to communicate with a component in another process has to use some form of inter-process communication provided by the operating system. COM provides this communication in a completely transparent fashion: it intercepts calls from the client and forwards them to the component in another process.
  • 11. COM Protocol  LPC (Local Procedure Call) is used for interprocess communcation. LPC is a system service in the Win32 subsystem. For example all the Win32 API calls are done using LPC. An application that calls the CreateWindow actually packs all of the parameters and send them to the Win32 subsystem.  COM uses DCE’s (Distributed Computing Environment specified by Open Software Foundation) RPC (Remote Procedure Call) protocol. DCE was implemented for Windows platform by Digital Equipment Corporation.
  • 12. Advantages of COM  Location Transparency - The component’s clients don’t have to know the location of the components.  Wire Level Standard - The component users don’t have to know anything about the underlying network mechanisms, TCP/IP or NETBIOS, to use the components.  Binary Standard - The users don’t have to know about the programming languages – C, B, VB, Java, Tea – used to build the components.  Runtime Polymorphism - At runtime the client detects the right component it wants and uses its services.
  • 13. Disadvantages Of COM  Security - Only a local server has its address space isolated from that of the client. An in-process server shares the address space and process context of the client and can therefore be less robust in the face of faults or malicious programming.  Granularity. A local server can host multiple instances of its object across many different clients, sharing server state between objects in multiple clients in ways that would be difficult or impossible if implemented as an in-process server, which is simply a DLL loaded into each client.  Compatibility. If you choose to implement an in-process server, you relinquish compatibility with OLE 1, which does not support such servers.  Inability to support links. An in-process server cannot serve as a link source.