home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / SG244883.ZIP / 2.5 < prev    next >
Text File  |  2001-01-27  |  7KB  |  137 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.5">
  5. <title>
  6. 2.5 "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.5"><img src="/bookmgr/contents.gif" border=0 alt="[Contents]"></a>
  14. <img src="/bookmgr/drevs.gif" border=0 alt="[Revisions]">
  15. <a href="2.4.1"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  16. <a href="2.5.1"><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="HDR4610DBT"><H2> 2.5   OpenDoc Storage</H2></a>
  28. </banner>
  29. <pre width="80">
  30. <p>
  31. <a name="FIG4610D51"><hr>
  32.  </a>
  33. <p>
  34. <p>
  35.                                    <a href="picture-25?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P25.GIF" alt="PICTURE 25"></a>           
  36. <p>
  37. <p>
  38. <hr>
  39.  
  40.    Figure 25. OpenDoc Storage Services Bento 
  41. <p>
  42.    The OpenDoc storage system is a high-level mechanism for persistent or 
  43.    transient storage that enables multiple part editors to effectively share 
  44.    a single document.  This storage model is based on Apple's Bento standard. 
  45.    This Bento file system was developed to provide an effective file-based 
  46.    storage for multimedia documents dealing with different types of data. 
  47.    Bento is a Japanese word that means lunch box.  That is, a basket with 
  48.    multiple small departments for different food.  It is proven and used by 
  49.    more than 100 applications, for example, Lotus 1-2-3 and Lotus WordPro. 
  50.    It has been offered as a standard multimedia container to the Interactive 
  51.    Multimedia Association. 
  52. <p>
  53.    The storage system is implemented on top of the native storage system of 
  54.    each platform that supports OpenDoc. 
  55. <p>
  56.    Bento is able to store three different kinds of data, described in the 
  57.    following list: 
  58. <p>
  59.    1.  It gives each component its own data stream to store its data in its 
  60.        own format even storing the same data in different formats. 
  61.    2.  It stores reliable references to other data streams either within the 
  62.        same file or other storage systems.  OpenDoc uses chains of such 
  63.        references to store the embedding relationships of the parts within a 
  64.        document. 
  65.    3.  It stores metadata, information about the stored data, in a very 
  66.        effective flat directory structure that enables very quick 
  67.        localization and access to the object data, without disturbing its 
  68.        format. 
  69. <p>
  70.    The storage system supports the native data streams of each part. If the 
  71.    data is also stored in alternative formats, the DocShell can bind 
  72.    different part handlers to the data.  All storage units are objects having 
  73.    persistent IDs, which allows stable references to be made from one stream 
  74.    to another. 
  75. <p>
  76.    The storage interface is based on a system of hierarchical structured 
  77.    elements of properties and values, as shown in <a href="#FIG4610D26">Figure 26</a>.  The properties 
  78.    describe the attributes of the values.  The values store the content data 
  79.    in a specific format. If the content is stored in different formats, then 
  80.    several values are associated with one property.  The standard properties 
  81.    are, for example, the preferred part handler, the author, time and format. 
  82.    They can be extended by the components with additional properties. 
  83. <p>
  84. <a name="FIG4610D26"><hr>
  85.  </a>
  86. <p>
  87. <p>
  88.                                    <a href="picture-26?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P26.GIF" alt="PICTURE 26"></a>           
  89. <p>
  90. <p>
  91. <hr>
  92.  
  93.    Figure 26. OpenDoc Storage Unit Properties and Values 
  94. <p>
  95.    The storage unit is the base of that storage system.  It provides the 
  96.    stream interface for the data to be stored in a Bento-based file.  The 
  97.    storage unit is also used by other data transfer mechanisms such as drag 
  98.    and drop, clipboard and linking.  All of these functions are provided by 
  99.    OpenDoc in a consistent way by using the same storage unit class to 
  100.    transfer the data, as shown in<a href="#FIG4610D48"> Figure 27</a>. 
  101. <p>
  102. <a name="FIG4610D48"><hr>
  103.  </a>
  104. <p>
  105. <p>
  106.                                    <a href="picture-27?mode=zoom"><img src="/bookmgr/pictures/EZ30OZ00.P27.GIF" alt="PICTURE 27"></a>           
  107. <p>
  108. <p>
  109. <hr>
  110.  
  111.    Figure 27. OpenDoc Storage Unit Class 
  112. <p>
  113.    The OpenDoc storage subsystem is a high-level interface independent to the 
  114.    underlying implementation.  It hides not only the platform-dependent file 
  115.    I/O APIs but also the platform dependent drag and drop and clipboard APIs. 
  116.    The current implementation is based on Bento but other implementations are 
  117.    possible.  Developers should have a look at <a href="2.9.1#FIG4610D56">Figure 54 in topic 2.9.1</a> to 
  118.    see how the storage unit is used to initialize a part (look for the 
  119.    InitPart method ), to read data into memory (InitFromStorage method) or to 
  120.    write data back to the storage unit (Externalize). 
  121. <p>
  122.    Platform-independent source code for Bento is currently available for 
  123.    members of CI Labs (see <a href="1.5.1#HDR4610WCI">"Openness and Standards Support" in topic 1.5.1</a>). 
  124. <p>
  125. <p>Subtopics:
  126. <ul>
  127. <li>  <a href="2.5.1"> 2.5.1 Draft</a>
  128. <li>  <a href="2.5.2"> 2.5.2 Data Transfer</a>
  129. </pre>
  130. </ul>
  131. <hr>
  132. <br><a href="2.4.1"><img src="/bookmgr/prev.gif" border=0 alt="[Prev Topic]"></a>
  133. <a href="2.5.1"><img src="/bookmgr/next.gif" border=0 alt="[Next Topic]"></a>
  134. <cite>  ⌐ Copyright IBM Corp. 1996</cite>
  135. <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>
  136. </BODY></HTML>
  137.