Made with
ConceptDraw
DIAGRAM 18

COM and OLE Diagram

OLE is an acronym for Object Linking and Embedding which is known to be simply a proprietary technology that was developed by “Microsoft Corporation” allowing both linking and embedding to all documents as well as many other objects, which are known to be implemented on top of the so called “Component Object Model” as well as OLE containers.

The mentioned objects can always implement the interfaces to export their functionality. There’s only interface that is compulsory — the “OleObject” one, when all other interfaces may also need to be implemented in case the functionality exported by such interfaces is required at all.

Some of the terminology may have to be explained for the purpose of easing the understanding of what follows. The “view status” of any object means the status clarifying if this object is transparent or opaque. It also may help to represent if it supports any drawing with a definite aspect. The site of an object is a representing an object the location of the object in its container that supports a site object for every single object that is contained.

“DataObject” is known to be one of the main objects within the Object Linking and Embedding processes. After its implementation, it enables data’s transfer as well as notifies about any changes made in data. DataObject must be implemented by those objects that are there to support the “drag-and-drop”, that are pasted from or copied to the clipboard. The last mentioned objects are known to be embedded or linked in a containing document, while another object named the “ObjectWithSite” allows the caller to inform the “OLE object” of its site. The very same functionality can be also provided by another object — “OleObject”.

“OleCache” object allows different visual presentations from a so called “DataObject” to be cached, allowing an embedded object for store its representation, the visual one. It can be done by enabling it to be displayed without needing of starting the application which was previously used for creating the object. At the same time a later version of previously mentioned object — OleCache2 — provides more fine-grained control over the process of caching.

“OleCacheControl” is an interface not called by the container, but by the object for allowing it to receive the needed notifications of when its other object — a “DataObject” one is running, allowing it to subscribe to the different notifications of the data changes of that object. In the described way it allows to update the cached presentation in a proper way.

The “OleDocument” object allows the Object Linking and Embedding object to support many different views of its data and a few related functions, while an “OleDocumentView” is a document object implementing this interface for every view and so allowing the caller to set the site of the query, object as well as to set the size of that particular object, showing and activating it and some of the related functions. “OleInPlaceActiveObject” was called by the outermost container of an object for interacting with it while it's active. For example, there’s a need of processing the so called “accelerator keys” in the container's message queue which are meant for the contained object.

Another object used within the Object Linking and Embedding processes is a windowless one named as a “IOleInPlaceObjectWindowless” one. It is an object which does not have its own window. Instead, it is displayed in its own container's window, being used by the container for relaying all the messages received by the “container's window”. All the mentioned messages are known to be intended for the contained object. “OleLink” allows any object to support the linking and “OleObject” is arguably the most important interface for any other object within the Object Linking and Embedding activities.

At the same time, another сonstituent of the Object Linking and Embedding process is a “ViewObject”. It allows any object to draw itself directly. Thus, there’s no more need left to passs a “DataObject” to the container. For all the objects supporting both DataObject and DataObject interface, the underlying implementation is known to be usually shared. “ViewObject2” allows the caller to query the size of the object and “ViewObjectEx” adds the needed support for any flicker-free drawing of the transparent objects.

There are many other objects which are used within the processes of Object Linking and Embedding and those who know enough to be able to create their own Object Linking and Embedding diagram must know all of them, although to be able to make such diagram quick and so to spend your time more efficiently, you can always use simply a professional software that was developed especially for such purposes — to make it much simpler to create any needed diagram, including the OLE one. This software is a ConceptDraw DIAGRAM diagramming and drawing one available for being downloaded from this site as well as another application as an extension to the mentioned one — ConceptDraw STORE. Getting ConceptDraw STORE means ensuring yourself in making it possible to draw any OLE diagram within only a few hours or even minutes, depending how good (familiar) you are with the mentioned tools already.

You can also, apart from making any OLE diagram, create a COM one using the solution from ConceptDraw STORE named as a “Software Engineering” one. Having all fifteen design symbols of both the COM and the OLE objects from the mentioned solution will enable you to create any needed Object Linking and Embedding diagram as well as any needed COM diagram, including the conceptual diagram of COM aggregation presented on this page as an example of what it is possible to make in ConceptDraw DIAGRAM diagramming software.

COM and OLE Diagram *

Example 1. Command OLE Aggregation Diagram (COM OLE)

The example above shows a conceptual diagram of COM aggregation. "The outer object exports an interface of the inner object called IInner, and an interface of its own, called IOuter, but it doesn't export IPrivate. The little interfaces on the top right of the objects represent the IUnknown interfaces of the objects. Since calling IUnknown methods on any interface of the inner object returns either an interface of the outer object, or an interface whose IUnknown methods call the IUnknown methods of the outer object, the outer object is the only object that has access to the IUnknown interface of the inner object."
[Unified Modeling Language. Wikimedia.Commons]











TEN RELATED HOW TO's:
ConceptDraw DIAGRAM diagramming and vector drawing software offers the Entity-Relationship Diagram (ERD) Solution from the Software Development Area for ConceptDraw Solution Park. How many examples contains the Entity-Relationship Diagram (ERD) Solution! All Entity Relationship Diagram examples were designed and saved for ConceptDraw DIAGRAM users. Now they are available from ConceptDraw STORE.Entity Relationship Diagram Examples *
Picture: Entity Relationship Diagram Examples
Related Solution:
ConceptDraw DIAGRAM diagramming and vector drawing application is a powerful IDEF0 software thanks to the IDEF0 Diagrams solution from the Software Development area of ConceptDraw Solution Park.IDEF0 Software *
Picture: IDEF0 Software
Related Solution:
Structure of a software product might get very complex and complicated, if software engineers did not pay much attention to the architecture of the product. It will take a few minutes to create UML diagrams with ConceptDraw DIAGRAM , because this software is just perfect for diagramming. You can alter ready-to-use templates, or make your own, whatever you need. This illustration represent the example of UML diagram made by using ConceptDraw Rapid UML solution. This activity diagram displays the stages of the software development process similar to a flow chart. This diagram depicts the states of elements in the software system. It can be applied to represent software and coding logic. This UML diagram was drawn with the help of the ConceptDraw Rapid UML solution which supplies the kit of vector libraries, containing the symbols of the Unified Modeling Language notations.UML Diagrams with ConceptDraw DIAGRAM  *
Picture: UML Diagrams with ConceptDraw DIAGRAM
Related Solution:
UML Object Diagram shows the structure of a modeled system at a specific time. ConceptDraw Rapid UML solution delivers libraries contain pre-designed objects fit UML notation, and ready to draw professional UML Object Diagram.Diagramming Software for Design <br>UML Object Diagrams *
Picture: Diagramming Software for Design UML Object Diagrams
Related Solution:
UML Deployment diagram describes the hardware used in system implementations and the execution environments and artifacts deployed on the hardware. ConceptDraw has 393 vector stencils in the 13 libraries that helps you to start using software for designing your own UML Diagrams. You can use the appropriate stencils of UML notation from UML Deployment library.UML Deployment Diagram. Design Elements *
Picture: UML Deployment Diagram. Design Elements
Related Solution:
UML Class Diagrams is a type of static structure diagram that is used both for general conceptual modeling of the systematics of the application, and for detailed modeling translating the models into programming code. It describes the structure of a system by showing the: classes of a system, attributes, operations, and the relationships between them. The Rapid UML Solution for ConceptDraw DIAGRAM includes the UML Class Diagram library that helps you to design the UML Class Diagram quick and easy. You can simply and quickly drop the ready-to-use objects from the library into your document to create the UML Class Diagram.UML Class Diagram Constructor *
Picture: UML Class Diagram Constructor
Related Solution:
Website wireframe is a detailed view of design or its skeleton. It shows all the important elements of the final website, the main groups of contents, information structure, describes the user's interaction with interface and its estimated visualisation. ConceptDraw DIAGRAM extended with Website Wireframe solution from the Software Development area is the best wireframing software. Using the wireframe tools, libraries of vector objects, template and examples which offers a Website Wireframe solution, you will easily design the websites wireframes of any complexity.Wireframing *
Picture: Wireframing
Related Solution:
PDPC →
ConceptDraw DIAGRAM extended with Seven Management and Planning Tools Solution from the Management Area of ConceptDraw Solution Park is the best software for drawing all types of diagrams from the Seven Management and Planning Tools: Affinity Diagram, Relations Diagram, Prioritization Matrix, Root Cause Analysis Tree Diagram, Involvement Matrix, PERT Chart, and Risk Diagram (PDPC).PDPC *
Picture: PDPC
Related Solution:
This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the Computer and Networks solution from Computer and Networks area of ConceptDraw Solution Park. This sample shows the Point-to-point network topology. Network topology is the topological structure of the computer network. Point-to-point network topology is a simple topology that displays the network of exactly two hosts (computers, servers, switches or routers) connected with a cable. Point-to-point topology is widely used in the computer networking and computer architecture.Point to Point Network Topology
Picture: Point to Point Network Topology
Related Solution:
ConceptDraw
DIAGRAM 18