<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Use Cases &#8212; v2.1.0-beta</title>
    
    <link rel="stylesheet" href="../_static/dataone.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.1.0-beta',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../_static/mathjax_pre.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Use Case 01 - Get Object Identified by PID" href="UseCases/01_uc.html" />
    <link rel="prev" title="Java Library" href="itk-java-lib.html" />
   
  
  <link media="only screen and (max-device-width: 480px)" href="../_static/small_dataone.css" type= "text/css" rel="stylesheet" />

  </head>
  <body role="document">
  
    <div class="version_notice">
      <p>
      <span class='bold'>Warning:</span> These documents are under active 
      development and subject to change (version 2.1.0-beta).<br />
      The latest release documents are at:
      <a href="https://purl.dataone.org/architecture">https://purl.dataone.org/architecture</a>
      </p>
    </div>

    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="UseCases/01_uc.html" title="Use Case 01 - Get Object Identified by PID"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="itk-java-lib.html" title="Java Library"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html"></a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">&lt;no title&gt;</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="use-cases">
<h1>Use Cases<a class="headerlink" href="#use-cases" title="Permalink to this headline">¶</a></h1>
<p>The following technical use cases describe the component and system
interactions in the DataONE infrastructure. The use cases describe
functionality to address the broader scope user scenarios and overall project
requirements.</p>
<div class="section" id="object-discovery-access-creation-modification">
<h2>Object Discovery, Access, Creation, Modification<a class="headerlink" href="#object-discovery-access-creation-modification" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/01_uc.html">Use Case 01 - Get Object Identified by PID</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/02_uc.html">Use Case 02 - List PIDs By Search</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/04_uc.html">Use Case 04 - Create New Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/05_uc.html">Use Case 05 - Update Science Metadata</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/11_uc.html">Use Case 11 - CRUD Workflow Objects</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/24_uc.html">Use Case 24 - MNs and CNs Support Transactions</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/29_uc.html">Use Case 29 - CN Load Balancing</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/33_uc.html">Use Case 33 - Search for Data</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/34_uc.html">Use Case 34 - CNs Support Other Discovery Mechanisms (e.g. Google)</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/35_uc.html">Use Case 35 - Query Coordinating Node for Metadata Describing a Member Node</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/36_uc.html">Use Case 36 - Resolve an Object Location</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/37_uc.html">Use Case 37 - Get System Metadata for Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/38_uc.html">Use Case 38 - Reserve an Identifier</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/41_uc.html">Use Case 41 - Archive an Object</a></li>
</ul>
</div>
</div>
<div class="section" id="synchronization-and-replication">
<h2>Synchronization and Replication<a class="headerlink" href="#synchronization-and-replication" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/06_uc.html">Use Case 06 - MN Synchronize</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/08_uc.html">Use Case 08 - Replication Policy Communication</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/09_uc.html">Use Case 09 - Replicate MN to MN</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/35_uc.html">Use Case 35 - Query Coordinating Node for Metadata Describing a Member Node</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/37_uc.html">Use Case 37 - Get System Metadata for Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/40_uc.html">Use Case 40 - Member Node Requests Synchronization</a></li>
</ul>
</div>
</div>
<div class="section" id="user-and-system-authentication-and-access-control">
<h2>User and System Authentication and Access Control<a class="headerlink" href="#user-and-system-authentication-and-access-control" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/12_uc.html">Use Case 12 - User Authentication</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/13_uc.html">Use Case 13 - User Authorization</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/14_uc.html">Use Case 14 - System Authentication and Authorization</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/15_uc.html">Use Case 15 - Account Management</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/31_uc.html">Use Case 31 - Manage Access Policies</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/32_uc.html">Use Case 32 - Transfer Object Ownership</a></li>
</ul>
</div>
</div>
<div class="section" id="system-and-content-integrity">
<h2>System and Content Integrity<a class="headerlink" href="#system-and-content-integrity" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/03_uc.html">Use Case 03 - Register MN</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/10_uc.html">Use Case 10 - MN Status Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/23_uc.html">Use Case 23 - Owner Expunge Content</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/24_uc.html">Use Case 24 - MNs and CNs Support Transactions</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/25_uc.html">Use Case 25 - Detect Damaged Content</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/26_uc.html">Use Case 26 - Data Quality Checks</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/27_uc.html">Use Case 27 - Metadata Version Migration</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/29_uc.html">Use Case 29 - CN Load Balancing</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/30_uc.html">Use Case 30 - MN Outage Notification</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/35_uc.html">Use Case 35 - Query Coordinating Node for Metadata Describing a Member Node</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/37_uc.html">Use Case 37 - Get System Metadata for Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/39_uc.html">Use Case 39 - Test Node APIs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/42_uc.html">Use Case 42 - Update System Metadata Properties</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/43_uc.html">Use Case 43 - Index Content for Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/44_uc.html">Use Case 44 - Deprecate a Member Node</a></li>
</ul>
</div>
</div>
<div class="section" id="logging-reporting-and-notification">
<h2>Logging, Reporting, and Notification<a class="headerlink" href="#logging-reporting-and-notification" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/16_uc.html">Use Case 16 - Log CRUD Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/17_uc.html">Use Case 17 - CRUD Logs Aggregated at CNs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/18_uc.html">Use Case 18 - MN Retrieve Aggregated Logs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/19_uc.html">Use Case 19 - Retrieve Object Download Summary</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/20_uc.html">Use Case 20 - Owner Retrieve Aggregate Logs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/21_uc.html">Use Case 21 - Owner Subscribe to CRUD Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/28_uc.html">Use Case 28 - Derived Product Original Change Notification</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/30_uc.html">Use Case 30 - MN Outage Notification</a></li>
</ul>
</div>
</div>
<hr class="docutils" />
<div class="section" id="sequential-list-of-functional-use-cases">
<h2>Sequential List of Functional Use Cases<a class="headerlink" href="#sequential-list-of-functional-use-cases" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="UseCases/01_uc.html">Use Case 01 - Get Object Identified by PID</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/02_uc.html">Use Case 02 - List PIDs By Search</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/03_uc.html">Use Case 03 - Register MN</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/04_uc.html">Use Case 04 - Create New Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/05_uc.html">Use Case 05 - Update Science Metadata</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/06_uc.html">Use Case 06 - MN Synchronize</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/07_uc.html">Use Case 07 - CN Batch Upload (Dupe of <code class="docutils literal"><span class="pre">UC06</span></code>)</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/08_uc.html">Use Case 08 - Replication Policy Communication</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/09_uc.html">Use Case 09 - Replicate MN to MN</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/10_uc.html">Use Case 10 - MN Status Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/11_uc.html">Use Case 11 - CRUD Workflow Objects</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/12_uc.html">Use Case 12 - User Authentication</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/13_uc.html">Use Case 13 - User Authorization</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/14_uc.html">Use Case 14 - System Authentication and Authorization</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/15_uc.html">Use Case 15 - Account Management</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/16_uc.html">Use Case 16 - Log CRUD Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/17_uc.html">Use Case 17 - CRUD Logs Aggregated at CNs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/18_uc.html">Use Case 18 - MN Retrieve Aggregated Logs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/19_uc.html">Use Case 19 - Retrieve Object Download Summary</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/20_uc.html">Use Case 20 - Owner Retrieve Aggregate Logs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/21_uc.html">Use Case 21 - Owner Subscribe to CRUD Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/22_uc.html">Use Case 22 - Link/Citation Report for Owner</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/23_uc.html">Use Case 23 - Owner Expunge Content</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/24_uc.html">Use Case 24 - MNs and CNs Support Transactions</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/25_uc.html">Use Case 25 - Detect Damaged Content</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/26_uc.html">Use Case 26 - Data Quality Checks</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/27_uc.html">Use Case 27 - Metadata Version Migration</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/28_uc.html">Use Case 28 - Derived Product Original Change Notification</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/29_uc.html">Use Case 29 - CN Load Balancing</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/30_uc.html">Use Case 30 - MN Outage Notification</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/31_uc.html">Use Case 31 - Manage Access Policies</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/32_uc.html">Use Case 32 - Transfer Object Ownership</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/33_uc.html">Use Case 33 - Search for Data</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/34_uc.html">Use Case 34 - CNs Support Other Discovery Mechanisms (e.g. Google)</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/35_uc.html">Use Case 35 - Query Coordinating Node for Metadata Describing a Member Node</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/36_uc.html">Use Case 36 - Resolve an Object Location</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/37_uc.html">Use Case 37 - Get System Metadata for Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/38_uc.html">Use Case 38 - Reserve an Identifier</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/39_uc.html">Use Case 39 - Test Node APIs</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/40_uc.html">Use Case 40 - Member Node Requests Synchronization</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/41_uc.html">Use Case 41 - Archive an Object</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/42_uc.html">Use Case 42 - Update System Metadata Properties</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/43_uc.html">Use Case 43 - Index Content for Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="UseCases/44_uc.html">Use Case 44 - Deprecate a Member Node</a></li>
</ul>
</div>
</div>
<hr class="docutils" />
<div class="section" id="about-use-cases">
<h2>About Use Cases<a class="headerlink" href="#about-use-cases" title="Permalink to this headline">¶</a></h2>
<p>An important early part in the process of system architecture is identifying the
functional requirements that the resulting system should be able to address. Use
cases are helpful for this as they describe how actors (typically entities
external to the system) interact with system components. Interaction diagrams
help define the interfaces and messages transmitted between components.</p>
<p><strong>Use Case Layout</strong></p>
<p>Each use case document is structured following a common template which
includes the following elements.</p>
<blockquote>
<div><dl class="docutils">
<dt>Revisions</dt>
<dd>A link to the revision history of the document as recorded by subversion.</dd>
<dt>Goal</dt>
<dd>Brief description of what is intended with the use case.</dd>
<dt>Summary</dt>
<dd>An overview of the use case which includes the goal and major actors.</dd>
<dt>Use case diagram</dt>
<dd>A diagram representation of the use case, somewhat following the UML.</dd>
<dt>Sequence diagram</dt>
<dd>A sequence diagram that shows the operations involved in addressing the use
case.</dd>
<dt>Actors</dt>
<dd>The participants in the use case - includes people and systems.</dd>
<dt>Preconditions</dt>
<dd>The conditions that must exist for the use case. For example, a particular
use case may only be valid if the use has been authenticated.</dd>
<dt>Triggers</dt>
<dd>Describes the even that causes the use case to be initiated.</dd>
<dt>Postconditions</dt>
<dd>The state of the system after the use case - what conditions are true after
the use case is completed.</dd>
<dt>Notes</dt>
<dd>Miscellaneous notes and discussion items that can&#8217;t be placed in the
various categories. Comments should be annotated with time and author.</dd>
</dl>
</div></blockquote>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
    <p class="logo"><a href="http://dataone.org">
      <img class="logo" src="../_static/dataone_logo.png" alt="Logo"/>
    </a></p>
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Use Cases</a><ul>
<li><a class="reference internal" href="#object-discovery-access-creation-modification">Object Discovery, Access, Creation, Modification</a></li>
<li><a class="reference internal" href="#synchronization-and-replication">Synchronization and Replication</a></li>
<li><a class="reference internal" href="#user-and-system-authentication-and-access-control">User and System Authentication and Access Control</a></li>
<li><a class="reference internal" href="#system-and-content-integrity">System and Content Integrity</a></li>
<li><a class="reference internal" href="#logging-reporting-and-notification">Logging, Reporting, and Notification</a></li>
<li><a class="reference internal" href="#sequential-list-of-functional-use-cases">Sequential List of Functional Use Cases</a></li>
<li><a class="reference internal" href="#about-use-cases">About Use Cases</a></li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
  <li><a href="../index.html">Documentation Overview</a><ul>
  <li><a href="index.html">&lt;no title&gt;</a><ul>
      <li>Previous: <a href="itk-java-lib.html" title="previous chapter">Java Library</a></li>
      <li>Next: <a href="UseCases/01_uc.html" title="next chapter">Use Case 01 - Get Object Identified by PID</a></li>
  </ul></li>
  </ul></li>
</ul>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>

    <div class="footer">
      <div id="copyright">
      &copy; Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>.
        [ <a href="../_sources/design/usecases.txt"
               rel="nofollow">Page Source</a> |
          <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/usecases.txt'
            rel="nofollow">Revision History</a> ]&nbsp;&nbsp;
      </div>
      <div id="acknowledgement">
        <p>This material is based upon work supported by the National Science Foundation
          under Grant Numbers <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=0830944">083094</a> and <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1430508">1430508</a>.</p>
        <p>Any opinions, findings, and conclusions or recommendations expressed in this
           material are those of the author(s) and do not necessarily reflect the views
           of the National Science Foundation.</p>
      </div>
    </div>
    <!--
    <hr />
     <div id="HCB_comment_box"><a href="http://www.htmlcommentbox.com">HTML Comment Box</a> is loading comments...</div>
     <link rel="stylesheet" type="text/css" href="_static/skin.css" />
     <script type="text/javascript" language="javascript" id="hcb">
     /*<! -*/
     (function()
     {s=document.createElement("script");
     s.setAttribute("type","text/javascript");
     s.setAttribute("src", "http://www.htmlcommentbox.com/jread?page="+escape((typeof hcb_user !== "undefined" && hcb_user.PAGE)||(""+window.location)).replace("+","%2B")+"&mod=%241%24wq1rdBcg%24Gg8J5iYSHJWwAJtlYu/yU."+"&opts=21407&num=10");
     if (typeof s!="undefined") document.getElementsByTagName("head")[0].appendChild(s);})();
      /* ->*/
     </script>
   -->
  </body>
</html>