home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / SG244883.ZIP / 2.1 < prev    next >
Text File  |  2001-01-27  |  9KB  |  197 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.1">
  5. <title>
  6. 2.1 "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.1"><img src="/bookmgr/contents.gif" border=0 alt="[Contents]"></a>
  14. <img src="/bookmgr/drevs.gif" border=0 alt="[Revisions]">
  15. <a href="2.0"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  16. <a href="2.2"><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="HDR4610DAR"><H2> 2.1   Architectural Overview</H2></a>
  28. </banner>
  29. <pre width="80">
  30.    OpenDoc is a collection of related interfaces that enable the 
  31.    interoperability of components in a platform-independent way.  As it is 
  32.    shown in <a href="#FIG4610D01">Figure 5</a>, there are different kinds of interfaces OpenDoc must 
  33.    take care of. 
  34. <p>
  35.    Think about a business graph component that is dragged into a text part. 
  36. <p>
  37.    The following considerations must be covered by an architecture to enable 
  38.    that different components developed by different vendors, can 
  39.    interoperate: 
  40. <p>
  41. <a name="FIG4610D01"><hr>
  42.  </a>
  43. <p>
  44. <p>
  45.                                    <a href="picture-5?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P5.GIF" alt="PICTURE 5"></a>          
  46. <p>
  47. <p>
  48. <hr>
  49.  
  50.    Figure 5. What a Component Architecture Must Address 
  51. <p>
  52. <p>
  53.    1.  Compound Document Services dealing with document-wide services: 
  54. <p>
  55.        ░   Text and graphics are two different types of components with 
  56.            different types of data.  There is a common set of commands such 
  57.            as printing where all components involved in a document must 
  58.            cooperate and react in a homogenous way. 
  59. <p>
  60.        ░   Both the text and the graphic components, have to interoperate 
  61.            when the document is edited.  They must share common resources. 
  62.            Only one component, for example the text component, can be edited 
  63.            at a time. This component is active and has the focus; that means 
  64.            it is the addressee of all user interface actions.  All keyboard 
  65.            strokes or menu actions must be routed to the component that is 
  66.            edited. 
  67. <p>
  68.        ░   If the focus is changing because the graphics component is going 
  69.            to be edited, the text component that is already active has to 
  70.            clear its resources before it gives control to the other part. The 
  71.            graphic part which receives control in turn should modify any 
  72.            actions specific items, for example the menu items, to the graphic 
  73.            component. 
  74. <p>
  75.        ░   If a document is sent to other people, these people must be able 
  76.            to work or at least be able to view the document even if they do 
  77.            not have the same set of part handlers available on their machine. 
  78. <p>
  79.    2.  Component Services covering interfaces between components. 
  80. <p>
  81.        ░   A component may embed other components or not.  A text component 
  82.            should be able to embed other components. 
  83.        ░   The embedding component, also called a container, must be able to 
  84.            communicate somehow with the embedded component to get some 
  85.            information and to negotiate about a common layout. 
  86.        ░   A text component would usually want to react in different ways if 
  87.            the embedded component is from the same type as the embedding 
  88.            component. If a text component is dragged into a text container, 
  89.            the text should probably be included in the text of the containing 
  90.            part and not become a separate part. 
  91.        ░    The same decisions  must be made if a component is embedded by 
  92.            cut and paste.  If the graphic component is pasted into a text 
  93.            component, the text part should include the graphic as a separate 
  94.            component, which must be handled by an appropriate part handler. 
  95.        ░   The architecture has to define a common interface related to the 
  96.            document layout.  If the graphic component is dropped to the text 
  97.            component, both components have to agree upon the space requests 
  98.            the component dropped has. 
  99. <p>
  100.    3.  Storage System. 
  101. <p>
  102.        ░   The Storage System must be standardized. When the compound 
  103.            document is saved, different data types involved in a document 
  104.            must be stored in a file. 
  105. <p>
  106.        ░   A document stored in a file with different data types must 
  107.            associate the appropriate part handler to the data, when the file 
  108.            is opened. 
  109. <p>
  110.        ░   If different people work on one document at the same time in a 
  111.            network, there must be a mechanism to prevent changes made by one 
  112.            person being destroyed if the document is saved by another person 
  113.            at the same time. 
  114. <p>
  115.    4.  Data Transfer between components in OpenDoc. This is part of the 
  116.        storage system. 
  117. <p>
  118.        ░   Data transfer between components may be done with drag and drop, 
  119.            or clipboard actions such as cut/paste. 
  120. <p>
  121.        ░   The graphic component may be pasted as a link to the text 
  122.            component  with a data source even on another machine.  Linking 
  123.            must be standardized by an component architecture. 
  124. <p>
  125.    5.  Scripting. 
  126. <p>
  127.        ░   Components have to be customizable and usable directly from other 
  128.            components or applications. 
  129. <p>
  130.        ░   There must be a uniform way to customize components with a script 
  131.            language instead of the application-specific script dialects used 
  132.            today. 
  133. <p>
  134.    6.  Object Model. 
  135. <p>
  136.        ░   If a newer release of the graphic component becomes available, the 
  137.            part has to be updated without any dependencies to other 
  138.            components. 
  139. <p>
  140.        ░   They need to have a standardized binary interface to access the 
  141.            components and enable plug and play behavior. 
  142. <p>
  143. <p>
  144.    The technologies addressed by OpenDoc are structured in the following four 
  145.    areas as shown in <a href="#FIG4610D39">Figure 6</a>: 
  146. <p>
  147.    ░   How to visualize components defined by the compound document services 
  148.        and the component services of OpenDoc 
  149. <p>
  150.    ░   How to store and share components defined by the storage system 
  151. <p>
  152.    ░   How to use components defined by the scripting architecture 
  153. <p>
  154.    ░   How to access components defined by the underlying object model 
  155. <p>
  156. <p>
  157. <a name="FIG4610D39"><hr>
  158.  </a>
  159. <p>
  160. <p>
  161.                                    <a href="picture-6?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P6.GIF" alt="PICTURE 6"></a>          
  162. <p>
  163. <p>
  164. <hr>
  165.  
  166.    Figure 6. OpenDoc Technologies 
  167. <p>
  168. <p>
  169.    These areas are structured by the OpenDoc architecture as shown in 
  170.    <a href="#FIG4610D04">Figure 7</a>. 
  171. <p>
  172. <a name="FIG4610D04"><hr>
  173.  </a>
  174. <p>
  175. <p>
  176.                                    <a href="picture-7?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P7.GIF" alt="PICTURE 7"></a>          
  177. <p>
  178. <p>
  179. <hr>
  180.  
  181.    Figure 7. OpenDoc Architecture 
  182. <p>
  183.    The base of the architecture used by all other pieces is the object model 
  184.    defined by the OpenDoc Object Management Services.  On top of the Object 
  185.    Management Services there is the Opendoc Storage System, used by the 
  186.    components to store their content. The services needed by the components 
  187.    are defined in the OpenDoc Component Services.  Services needed by the 
  188.    hole document are defined in the OpenDoc Compound Document Services. 
  189. </pre>
  190. </pre>
  191. <hr>
  192. <br><a href="2.0"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  193. <a href="2.2"><img src="/bookmgr/next.gif" border=0 alt="[Next Topic]"></a>
  194. <cite>  ⌐ Copyright IBM Corp. 1996</cite>
  195. <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>
  196. </BODY></HTML>
  197.