home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / SG244883.ZIP / 2_7.6 < prev    next >
Text File  |  2001-01-27  |  6KB  |  101 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  2. <HTML>
  3. <HEAD>
  4. <base href="http://publib.boulder.ibm.com:80/cgi-bin/bookmgr/BOOKS/EZ30OZ00/2.7.6">
  5. <title>
  6. 2.7.6 "OS/2 WARP and OpenDoc" 
  7.   via IBM BookManager BookServer
  8. </title>
  9. </head>
  10. <body background="/bookmgr/backdrop.gif">
  11. <banner><br>
  12. <a href="../../library"><img src="/bookmgr/libicon2.gif" border=0 alt="[Library]"></a>
  13. <a  href="CONTENTS#2.7.6"><img src="/bookmgr/contents.gif" border=0 alt="[Contents]"></a>
  14. <img src="/bookmgr/drevs.gif" border=0 alt="[Revisions]">
  15. <a href="2.7.5"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  16. <a href="2.7.7"><img src="/bookmgr/next.gif" border=0 alt="[Next Topic]"></a>
  17. <a href="../../search?book=EZ30OZ00"><img src="/bookmgr/search.gif" border=0 alt="[Search]" ></a>
  18. <img src="/bookmgr/dslist.gif" border=0 alt="[Search Results]">
  19. <img src="/bookmgr/dsprev.gif" border=0 alt="[Prev Topic Match]">
  20. <img src="/bookmgr/dsnext.gif" border=0 alt="[Next Topic Match]">
  21. <img src="/bookmgr/dnotes.gif" border=0 alt="[Notes]">
  22. <img src="/bookmgr/dlnotes.gif" border=0 alt="[List Notes]">
  23. <a  href="../../print?book=EZ30OZ00"><img src="/bookmgr/print.gif" border=0 alt="[Print]"></a>
  24. <a href="../../download/EZ30OZ00.boo"><img src="/bookmgr/download.gif" border=0 alt="[Download]" ></a>
  25. <a  href="../../help/book"><img src="/bookmgr/help.gif" border=0 alt="[Help]"></a>
  26. <hr>
  27. <a name="HDR4610DMC"><H3> 2.7.6   Differences between SOM and COM</H3></a>
  28. </banner>
  29. <pre width="80">
  30.    Beside the CORBA standard, which is an an open standard adopted by more 
  31.    than 590 members of the OMG there was another <I>de</I> <I>facto</I> standard in the 
  32.    market OLE, object linking and embedding.  OLE is based on Microsoft's 
  33.    Common Object Model (COM) which is proprietary to Microsoft.  OLE is not 
  34.    CORBA-compliant.  The name OLE may seem misleading, because OLE is much 
  35.    more than linking and embedding technology.  Microsoft has announced OLE 
  36.    as an all embracing base technology strategy, covering transactions, 
  37.    databases and networking.  What makes this technology important is the 
  38.    fact that Windows is moving very fast to this technology.  It is part of 
  39.    the operating system.  Microsoft has announced that Cairo (code name for 
  40.    the next generation of Windows) will be totally based on OLE. 
  41. <p>
  42.    The line of what is part of COM and what is part of OLE is not clearly 
  43.    drawn, but the base services are usually referenced as being COM. 
  44. <p>
  45.    The similarity between SOM and COM is both are facing similar problems to 
  46.    solve.  Both technologies have to provide an RRBC kind of interface to 
  47.    components to ensure plug and play of components.  Both have some kind of 
  48.    repositories with metadata about the methods and parameters available to 
  49.    enable the components to discover their interfaces at run time. They are 
  50.    called <I>type</I> <I>libraries</I> and are the equivalent to the CORBA interface 
  51.    repositories.  Both have some life cycle management facilities using 
  52.    factories.  COM, like CORBA, separates the interface definition from the 
  53.    implementation.  Microsoft has introduced OCX (OLE custom control 
  54.    extensions) that have a predefined set of interfaces similar to OpenDoc. 
  55. <p>
  56.    Whereas CORBA uses one IDL to generate language specific skeletons and 
  57.    headers(bindings) for different programming languages such as C++ or 
  58.    COBOL, COM uses the following two proprietary interface languages to 
  59.    describe objects: 
  60. <p>
  61.    ░   A COM object definition language (ODL) 
  62.    ░   A COM interface definition language IDL. 
  63. <p>
  64.    The COM IDL can be thought of as a superset of DCEs. The IDLs for Remote 
  65.    Procedure Calls are used by a preprocessor called the Microsoft Interface 
  66.    Definition Language (MIDL) compiler which generates C code for proxies and 
  67.    stubs. 
  68. <p>
  69.    COM is not language neutral in a sense that there is no concept of how to 
  70.    generate multiple language bindings from one IDL file. 
  71. <p>
  72.    Unlike SOM/CORBA, which generates and stores all metadata about components 
  73.    in the Interface Repository from the IDL files, Microsoft uses a different 
  74.    language, ODL, to describe this kind of metadata.  This ODL used to 
  75.    describe the COM interfaces and parameters has to run through a tool 
  76.    called MKTYPLIB to produce a type library which is the equivalent of 
  77.    CORBA's interface repository and a header file with the function 
  78.    prototypes needed to access the interfaces. 
  79. <p>
  80.    On closer examination, Microsoft actually proposes two programming models; 
  81.    class libraries such as Microsoft Foundation Classes for smaller objects 
  82.    and the COM/Aggregation model for larger components, not supporting 
  83.    inheritance at all.  The two models are very different and require 
  84.    flexibility limiting design decisions.  COM is a collection of related 
  85.    interfaces that can be traversed through and allowed other components, 
  86.    similar to CORBA, to discover their interface during run time.  These 
  87.    interfaces are not bound to an object state. COM has solved the RRBC 
  88.    problem by not supporting inheritance at all.  Updates are made by adding 
  89.    new interfaces.  It is supporting an aggregation model that works for most 
  90.    of the applications, but there is a trade-off to be paid by a greater 
  91.    complexity of programming. The complexities that can be hidden by multiple 
  92.    inheritances must be aggregated by multiple interfaces. 
  93. </pre>
  94. </pre>
  95. <hr>
  96. <br><a href="2.7.5"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  97. <a href="2.7.7"><img src="/bookmgr/next.gif" border=0 alt="[Next Topic]"></a>
  98. <cite>  ⌐ Copyright IBM Corp. 1996</cite>
  99. <HR><p><h6><a href="/cgi-bin/bookmgr/library">IBM BookManager« BookServer</a> Copyright 1989, 1999<a href="http://www.ibm.com/"> IBM</a> Corporation.  All rights reserved.</h6><p>
  100. </BODY></HTML>
  101.