<!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>Components of the DataONE Infrastructure — 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="Implementation Priority" href="prioritization.html" /> <link rel="prev" title="Implementation Roadmap" href="roadmap.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="prioritization.html" title="Implementation Priority" accesskey="N">next</a> |</li> <li class="right" > <a href="roadmap.html" title="Implementation Roadmap" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html"></a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Implementation Notes</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="components-of-the-dataone-infrastructure"> <h1>Components of the DataONE Infrastructure<a class="headerlink" href="#components-of-the-dataone-infrastructure" title="Permalink to this headline">¶</a></h1> <p>The following diagrams indicate code dependencies between various components that make up the DataONE infrastructure. Functional dependencies are not depicted.</p> <div class="section" id="common-components"> <h2>Common Components<a class="headerlink" href="#common-components" title="Permalink to this headline">¶</a></h2> <p><strong>Figure 1.</strong> Core shared components.</p> <img src="../_images/graphviz-d18ba77fc939ff0e414b4451ddeb09cb52ff1df0.png" alt="digraph core_components { fontname = "Bitstream Vera Sans"; fontsize = 8; edge [ fontname = "Bitstream Vera Sans" fontsize = 8 color = "#888888" arrowhead = "open" arrowsize = 0.5 style="solid" ]; node [ fontname = "Courier" fontsize = 8 fontcolor = "black"]; color="#888888"; schema [label="dataonetypes.xsd" URL="#dataonetypes"]; d1_common_java; d1_common_python; d1_libclient_java; d1_libclient_python; d1_architecture; d1_jibx_extensions; d1_test_resources; foresite_java [style="filled" bgcolor="grey80"]; foresite_python [style="filled" bgcolor="grey80"]; d1_architecture -> schema; d1_common_java -> schema; d1_common_java -> d1_jibx_extensions; d1_common_java -> d1_test_resources [style="dashed"]; d1_common_java -> d1_architecture [style="dotted"]; d1_common_python -> schema; d1_common_python -> d1_architecture [style="dotted"]; d1_libclient_java -> d1_common_java; d1_libclient_java -> d1_test_resources [style="dashed"]; d1_libclient_java -> d1_architecture [style="dotted"]; d1_libclient_java -> foresite_java; d1_libclient_python -> d1_common_python; d1_libclient_python -> d1_architecture [style="dotted"]; d1_libclient_python -> foresite_python; }" usemap="#core_components" /> <map id="core_components" name="core_components"> <area shape="poly" id="node1" href="#dataonetypes" title="dataonetypes.xsd" alt="" coords="278,317 274,310 263,303 246,298 224,295 200,293 176,295 154,298 137,303 126,310 122,317 126,325 137,331 154,337 176,340 200,341 224,340 246,337 263,331 274,325"/> </map> <p>NEEDS VERIFYING</p> </div> <div class="section" id="integration-test-tools"> <h2>Integration Test Tools<a class="headerlink" href="#integration-test-tools" title="Permalink to this headline">¶</a></h2> <p><strong>Figure 2.</strong> Test services.</p> <img src="../_images/graphviz-1ff3764c75ed41d5156a4f6a0c0a8d2c2b71f516.png" alt="digraph core_components { color="#888888"; fontname = "Bitstream Vera Sans"; fontsize = 8; edge [ fontname = "Bitstream Vera Sans" fontsize = 8 color = "#888888" arrowhead = "open" arrowsize = 0.5 style="solid" ]; node [ fontname = "Courier" fontsize = 8 fontcolor = "black"]; subgraph cluster_CORE { label="Shared Components"; color="#888888"; schema [label="dataonetypes.xsd"]; d1_common_java; d1_common_python; d1_libclient_java; d1_libclient_python; d1_architecture; d1_jibx_extensions; d1_test_resources; foresite_java [style="filled" bgcolor="grey80"]; foresite_python [style="filled" bgcolor="grey80"]; d1_architecture -> schema; d1_common_java -> schema; d1_common_java -> d1_jibx_extensions; d1_common_java -> d1_test_resources [style="dashed"]; d1_common_java -> d1_architecture [style="dotted"]; d1_common_python -> schema; d1_common_python -> d1_architecture [style="dotted"]; d1_libclient_java -> d1_common_java; d1_libclient_java -> d1_test_resources [style="dashed"]; d1_libclient_java -> d1_architecture [style="dotted"]; d1_libclient_java -> foresite_java; d1_libclient_python -> d1_common_python; d1_libclient_python -> d1_architecture [style="dotted"]; d1_libclient_python -> foresite_python; } d1_integration; d1_web_test_site; d1_instance_generator; d1_echo_service; d1_integration -> d1_common_java; d1_integration -> d1_libclient_java; d1_integration -> Certificates; d1_web_test_site -> d1_integration; d1_instance_generator -> d1_common_python; d1_instance_generator -> d1_libclient_python; }" /> </div> <div class="section" id="coordinating-node-components"> <h2>Coordinating Node Components<a class="headerlink" href="#coordinating-node-components" title="Permalink to this headline">¶</a></h2> <p><strong>Figure 3.</strong> Coordinating node components.</p> <img src="../_images/graphviz-2f0e7e7fc7061652b704fe779217f7d99c1bfbbb.png" alt="digraph core_components { color="#888888"; fontname = "Bitstream Vera Sans"; fontsize = 10; edge [ fontname = "Bitstream Vera Sans" fontsize = 8 color = "#888888" arrowhead = "open" arrowsize = 0.5 style="solid" ]; node [ fontname = "Courier" fontsize = 10 fontcolor = "black"]; subgraph cluster_CORE { label="Shared Components"; color="#888888"; schema [label="dataonetypes.xsd"]; d1_common_java; d1_common_python; d1_libclient_java; d1_libclient_python; d1_architecture; d1_jibx_extensions; d1_test_resources; foresite_java [style="filled" bgcolor="grey80"]; foresite_python [style="filled" bgcolor="grey80"]; d1_architecture -> schema; d1_common_java -> schema; d1_common_java -> d1_jibx_extensions; d1_common_java -> d1_test_resources [style="dashed"]; d1_common_java -> d1_architecture [style="dotted"]; d1_common_python -> schema; d1_common_python -> d1_architecture [style="dotted"]; d1_libclient_java -> d1_common_java; d1_libclient_java -> d1_test_resources [style="dashed"]; d1_libclient_java -> d1_architecture [style="dotted"]; d1_libclient_java -> foresite_java; d1_libclient_python -> d1_common_python; d1_libclient_python -> d1_architecture [style="dotted"]; d1_libclient_python -> foresite_python; } postgres [style="filled" fillcolor="grey80"]; hazelcast [style="filled" bgcolor="grey80"]; LDAP [style="filled" bgcolor="grey80"]; SOLR [style="filled" bgcolor="grey80"]; cilogon_portal_servlet [style="filled" bgcolor="grey80" label="cilogon-portal-servlet"]; d1_cn_version_tool; d1_cn_common; d1_cn_index_common; d1_cn_index_generator; d1_cn_noderegistry; d1_mercury_common; d1_portal; d1_cn_approve_node; d1_identity_manager; d1_log_aggregation; d1_mercury_ui; d1_portal_servlet; d1_cn_rest; d1_cn_rest_proxy; d1_cn_service; d1_solr_extensions; d1_synchronization; d1_cn_index_processor; d1_replication; d1_cn_index_tool; d1_process_daemon; cn_metacat; d1_cn_common -> d1_common_java; d1_cn_common -> hazelcast; d1_cn_index_common -> d1_common_java; d1_cn_index_common -> postgres; d1_cn_index_generator -> d1_cn_index_common; d1_cn_index_generator -> d1_common_java; d1_cn_index_generator -> d1_cn_common; d1_cn_index_generator -> postgres; d1_cn_index_generator -> hazelcast; d1_cn_noderegistry -> d1_cn_common; d1_cn_noderegistry -> LDAP; d1_cn_noderegistry -> hazelcast; d1_mercury_common -> d1_common_java; d1_mercury_common -> d1_libclient_java; d1_mercury_common -> d1_portal; d1_portal -> d1_common_java; d1_portal -> d1_libclient_java; d1_cn_approve_node -> d1_cn_noderegistry; d1_cn_approve_node -> d1_libclient_java; d1_identity_manager -> d1_libclient_java; d1_identity_manager -> d1_cn_noderegistry; d1_log_aggregation -> d1_libclient_java; d1_log_aggregation -> d1_cn_noderegistry; d1_mercury_ui -> d1_common_java; d1_mercury_ui -> d1_libclient_java; d1_mercury_ui -> d1_portal; d1_portal_servlet -> cilogon_portal_servlet; d1_portal_servlet -> d1_portal; d1_portal_servlet -> hazelcast; d1_cn_rest_proxy -> d1_cn_common; d1_cn_rest -> d1_libclient_java; d1_cn_rest -> d1_identity_manager; d1_cn_rest -> d1_portal; d1_cn_rest -> d1_cn_rest_proxy; d1_cn_rest -> d1_cn_noderegistry; d1_cn_rest -> d1_cn_common; d1_cn_service -> d1_cn_rest; d1_cn_service -> d1_cn_rest_proxy; d1_solr_extensions -> d1_libclient_java; d1_solr_extensions -> d1_cn_common; d1_solr_extensions -> d1_identity_manager; d1_solr_extensions -> d1_cn_noderegistry; d1_solr_extensions -> d1_portal; d1_synchronization -> d1_libclient_java; d1_synchronization -> d1_cn_noderegistry; d1_synchronization -> d1_identity_manager; d1_synchronization -> hazelcast; d1_cn_index_processor -> d1_cn_common; d1_cn_index_processor -> d1_libclient_java; d1_cn_index_processor -> d1_cn_index_common; d1_cn_index_processor -> d1_cn_index_generator; d1_cn_index_processor -> postgres; d1_cn_index_processor -> SOLR; d1_replication -> d1_cn_noderegistry; d1_replication -> d1_cn_common; d1_replication -> d1_libclient_java; d1_replication -> hazelcast; d1_cn_index_tool -> d1_common_java; d1_cn_index_tool -> d1_libclient_java; d1_cn_index_tool -> d1_cn_common; d1_cn_index_tool -> d1_cn_index_common; d1_cn_index_tool -> d1_cn_index_generator; d1_cn_index_tool -> d1_cn_index_processor; d1_process_daemon -> d1_synchronization; d1_process_daemon -> d1_log_aggregation; d1_process_daemon -> d1_replication; d1_process_daemon -> hazelcast; cn_metacat -> d1_common_java; cn_metacat -> d1_libclient_java; cn_metacat -> postgres; cn_metacat -> hazelcast; cn_metacat -> foresite_java; }" /> </div> <div class="section" id="member-node-components-and-instances"> <h2>Member Node Components and Instances<a class="headerlink" href="#member-node-components-and-instances" title="Permalink to this headline">¶</a></h2> <p><strong>Figure 4.</strong> Member node implementations (ovals) and instances (rectangles).</p> <p>NEEDS UPDATING</p> <img src="../_images/graphviz-38cad3e3243b76a41ed824c38e2a54a1077d6e59.png" alt="digraph core_components { color="#888888"; fontname = "Bitstream Vera Sans"; fontsize = 8; edge [ fontname = "Bitstream Vera Sans" fontsize = 8 color = "#888888" arrowhead = "open" arrowsize = 0.5 style="solid" ]; node [ fontname = "Courier" fontsize = 8 fontcolor = "black"]; subgraph cluster_CORE { label="Shared Components"; color="#888888"; schema [label="dataonetypes.xsd"]; d1_common_java; d1_common_python; d1_libclient_java; d1_libclient_python; d1_architecture; foresite_java [style="filled" bgcolor="grey80"]; foresite_python [style="filled" bgcolor="grey80"]; d1_architecture -> schema; d1_common_java -> schema; d1_common_java -> d1_jibx_extensions; d1_common_java -> d1_test_resources [style="dashed"]; d1_common_java -> d1_architecture [style="dotted"]; d1_common_python -> schema; d1_common_python -> d1_architecture [style="dotted"]; d1_libclient_java -> d1_common_java; d1_libclient_java -> d1_test_resources [style="dashed"]; d1_libclient_java -> d1_architecture [style="dotted"]; d1_libclient_java -> foresite_java; d1_libclient_python -> d1_common_python; d1_libclient_python -> d1_architecture [style="dotted"]; d1_libclient_python -> foresite_python; } Metacat; Mercury_MN; KNB [shape="record"]; ORNL_DAAC [shape="record"]; USGS [shape="record"]; Dryad [shape="record"]; Merritt [shape="record"]; SAN_Parks [shape="record"]; MN_Replication_UNM_1 [shape="record"]; MN_Replication_UNM_2 [shape="record"]; MN_Replication_UCSB_1 [shape="record"]; MN_Replication_UCSB_2 [shape="record"]; MN_Replication_ORC_1 [shape="record"]; MN_Replication_ORC_2 [shape="record"]; Metacat -> d1_common_java; Metacat -> d1_libclient_java; KNB -> Metacat; SAN_Parks -> Metacat; Merritt -> Metacat; Mercury_MN -> d1_common_java; ORNL_DAAC -> Mercury_MN; USGS -> Mercury_MN; GMN -> d1_common_python; GMN -> d1_libclient_python; MN_Replication_UNM_1 -> GMN; MN_Replication_UCSB_1 -> GMN; MN_Replication_ORC_1 -> GMN; MN_Replication_UNM_2 -> Metacat; MN_Replication_UCSB_2 -> Metacat; MN_Replication_ORC_2 -> Metacat; Dryad -> d1_common_java; Dryad -> d1_libclient_java; }" /> </div> <div class="section" id="investigator-toolkit-components"> <h2>Investigator Toolkit Components<a class="headerlink" href="#investigator-toolkit-components" title="Permalink to this headline">¶</a></h2> <p><strong>Figure 5.</strong> Investigator toolkit.</p> <p>NEEDS UPDATING</p> <img src="../_images/graphviz-af4cc2442fd1b10c24c0ae5e407cbca970650daf.png" alt="digraph core_components { color="#888888"; fontname = "Bitstream Vera Sans"; fontsize = 8; edge [ fontname = "Bitstream Vera Sans" fontsize = 8 color = "#888888" arrowhead = "open" arrowsize = 0.5 style="solid" ]; node [ fontname = "Courier" fontsize = 8 fontcolor = "black"]; subgraph cluster_CORE { label="Shared Components"; color="#888888"; schema [label="dataonetypes.xsd"]; d1_common_java; d1_common_python; d1_libclient_java; d1_libclient_python; d1_architecture; foresite_java [style="filled" bgcolor="grey80"]; foresite_python [style="filled" bgcolor="grey80"]; d1_architecture -> schema; d1_common_java -> schema; d1_common_java -> d1_jibx_extensions; d1_common_java -> d1_test_resources [style="dashed"]; d1_common_java -> d1_architecture [style="dotted"]; d1_common_python -> schema; d1_common_python -> d1_architecture [style="dotted"]; d1_libclient_java -> d1_common_java; d1_libclient_java -> d1_test_resources [style="dashed"]; d1_libclient_java -> d1_architecture [style="dotted"]; d1_libclient_java -> foresite_java; d1_libclient_python -> d1_common_python; d1_libclient_python -> d1_architecture [style="dotted"]; d1_libclient_python -> foresite_python; } d1_client_cli; d1_client_r; d1_client_fuse; d1_client_dokan; d1_client_cli -> d1_common_python; d1_client_cli -> d1_libclient_python; d1_client_r -> d1_common_java; d1_client_r -> d1_libclient_java; d1_client_fuse -> d1_common_python; d1_client_fuse -> d1_libclient_python; d1_client_dokan -> d1_client_fuse; }" /> </div> <div class="section" id="table-of-components"> <h2>Table of Components<a class="headerlink" href="#table-of-components" title="Permalink to this headline">¶</a></h2> <table border="1" class="docutils" id="id1"> <caption><span class="caption-text">Components</span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption> <colgroup> <col width="18%" /> <col width="12%" /> <col width="12%" /> <col width="59%" /> </colgroup> <thead valign="bottom"> <tr class="row-odd"><th class="head">Component</th> <th class="head">Category</th> <th class="head">Responsible</th> <th class="head">Description</th> </tr> </thead> <tbody valign="top"> <tr class="row-even"><td>dataonetypes</td> <td>Common</td> <td>MJ</td> <td>Schema used for defining serialization of core data types</td> </tr> <tr class="row-odd"><td>d1_architecture</td> <td>Common</td> <td>DV</td> <td>The system architecture documentation</td> </tr> <tr class="row-even"><td>operations</td> <td>Operations</td> <td>DV</td> <td>Operations documentation - servers etc</td> </tr> <tr class="row-odd"><td>d1_common_java</td> <td>Common</td> <td>RW</td> <td>Base DataONE library in Java</td> </tr> <tr class="row-even"><td>d1_common_python</td> <td>Common</td> <td>RD</td> <td>Base DataONE library in Python</td> </tr> <tr class="row-odd"><td>d1_libclient_java</td> <td>Common</td> <td>RN</td> <td>Client library implemented in Java</td> </tr> <tr class="row-even"><td>d1_libclient_python</td> <td>Common</td> <td>RD</td> <td>Client library implemented in Python</td> </tr> <tr class="row-odd"><td>d1_web_test_site</td> <td>Testing</td> <td>RN</td> <td>Member node integration testing service</td> </tr> <tr class="row-even"><td>d1_echo_service</td> <td>Testing</td> <td>DV</td> <td>A HTTP echo service used for testing</td> </tr> <tr class="row-odd"><td>d1_integration</td> <td>Testing</td> <td>RN</td> <td>Integration testing for components and combinations thereof</td> </tr> <tr class="row-even"><td>Certificates</td> <td>Testing</td> <td>RW</td> <td>Generation and management of certificates for use by server components</td> </tr> <tr class="row-odd"><td>d1_instance_generator</td> <td>Testing</td> <td>RD</td> <td>Generates example instances of objects defined in dataoneTypes.xsd</td> </tr> <tr class="row-even"><td>one_mercury</td> <td>CN</td> <td>GP</td> <td>The search interface that is implemented by the Mercury search index</td> </tr> <tr class="row-odd"><td>cn_metacat</td> <td>CN</td> <td>CJ</td> <td>The <a class="reference external" href="http://knb.ecoinformatics.org/software/">Metacat application</a>. Currently employed as the replicated object store on Coordinating Nodes.</td> </tr> <tr class="row-even"><td>d1_cn_index_processor</td> <td>CN</td> <td>SR/DV</td> <td>Populates the SOLR index by extracting informaton from system metadata, science metadata and resource maps.</td> </tr> <tr class="row-odd"><td>d1_cn_index_generator</td> <td>CN</td> <td>SR/DV</td> <td>Generates indexing tasks when new objects appear or system metadata changes</td> </tr> <tr class="row-even"><td>d1_cn_index_common</td> <td>CN</td> <td>SR/DV</td> <td>Code shared between the indexing components</td> </tr> <tr class="row-odd"><td>indexerapi</td> <td>CN</td> <td>SR/DV</td> <td>A library used by the index_processor for extracting content from various types of XML structures such as system metadata, science metadata and resource maps.</td> </tr> <tr class="row-even"><td>d1_portal_servlet</td> <td>CN</td> <td>BL</td> <td>Provides a UI for interacting with the CILogon service, an authentication proxy service</td> </tr> <tr class="row-odd"><td>d1_portal</td> <td>CN</td> <td>BL</td> <td>Implements the certificate manager used by the portal servlets</td> </tr> <tr class="row-even"><td>d1_identity_manager</td> <td>CN</td> <td>BL</td> <td>Provides mechanisms for managing subjects in dataone</td> </tr> <tr class="row-odd"><td>d1_process_daemon</td> <td>CN</td> <td>RW</td> <td>Monitors content on member nodes, creating tasks for synchronization and replication</td> </tr> <tr class="row-even"><td>d1_synchronization</td> <td>CN</td> <td>RW</td> <td>Manages the synchronization of content between Member Nodes and the Coordinating Nodes.</td> </tr> <tr class="row-odd"><td>d1_replication</td> <td>CN</td> <td>CJ</td> <td>Manages replication of content between Member Nodes</td> </tr> <tr class="row-even"><td>d1_cn_noderegistry</td> <td>CN</td> <td>RW</td> <td>A register of coordinating and member nodes participating in a DataONE environment</td> </tr> <tr class="row-odd"><td>d1_cn_common</td> <td>CN</td> <td>RW</td> <td>A library of code shared between coordintating node components</td> </tr> <tr class="row-even"><td>d1_cn_rest</td> <td>CN</td> <td>RW</td> <td>The coordinating node HTTP REST service interface</td> </tr> <tr class="row-odd"><td>d1_cn_rest_proxy</td> <td>CN</td> <td>RW</td> <td>Proxies requests coming in to a CN to underlying service implementations such as the object store (i.e. Metacat)</td> </tr> <tr class="row-even"><td>d1_cn_service</td> <td>CN</td> <td>RW</td> <td>Coordinating node service, implementing the service APIs, data storage, and CN replication.</td> </tr> <tr class="row-odd"><td>d1_simple_search</td> <td>CN</td> <td>DV</td> <td>A simple search interface using Javascript and the SOLR interface.</td> </tr> <tr class="row-even"><td>Metacat</td> <td>MN</td> <td>CJ</td> <td>The <a class="reference external" href="http://knb.ecoinformatics.org/software/">Metacat application</a>. Implements the DataONE MN service interfaces.</td> </tr> <tr class="row-odd"><td>Dryad</td> <td>MN</td> <td>RS</td> <td>A member node implementation and instance for the Dryad repository</td> </tr> <tr class="row-even"><td>GMN</td> <td>MN</td> <td>RD</td> <td>A generic, standalone Member Node implementation written in Python using the <a class="reference external" href="http://www.djangoproject.com/">Django</a> framework.</td> </tr> <tr class="row-odd"><td>Mercury_MN</td> <td>MN</td> <td>JG</td> <td>Mercury implementation of the Member Node services</td> </tr> <tr class="row-even"><td>d1_client_cli</td> <td>ITK</td> <td>RD</td> <td>A command line client for interacting with the DataONE infrastructure. Currently implemented using d1_libclient_python.</td> </tr> <tr class="row-odd"><td>d1_client_fuse</td> <td>ITK</td> <td>DV</td> <td>A <a class="reference external" href="http://fuse.sourceforge.net/">FUSE</a> driver for mounting the DataONE infrastructure as a file system.</td> </tr> <tr class="row-even"><td>d1_client_dokan</td> <td>ITK</td> <td>DV</td> <td>An extention of the FUSE driver that is based on <a class="reference external" href="http://dokan-dev.net/en/">Dokan</a> for use on Microsoft Windows systems.</td> </tr> <tr class="row-odd"><td>d1_client_r</td> <td>ITK</td> <td>MJ</td> <td>A plugin for R that enables access to DataONE content from the <a class="reference external" href="http://www.r-project.org/">R</a> application. Implemented using d1_libclient_java.</td> </tr> <tr class="row-even"><td>hzpeek</td> <td>Testing</td> <td>DV</td> <td>A tool for examining the Hazelcast queues on the CNs</td> </tr> <tr class="row-odd"><td>debian_packaging</td> <td>CN</td> <td>RW</td> <td>Debian packages for the CN components</td> </tr> </tbody> </table> </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="#">Components of the DataONE Infrastructure</a><ul> <li><a class="reference internal" href="#common-components">Common Components</a></li> <li><a class="reference internal" href="#integration-test-tools">Integration Test Tools</a></li> <li><a class="reference internal" href="#coordinating-node-components">Coordinating Node Components</a></li> <li><a class="reference internal" href="#member-node-components-and-instances">Member Node Components and Instances</a></li> <li><a class="reference internal" href="#investigator-toolkit-components">Investigator Toolkit Components</a></li> <li><a class="reference internal" href="#table-of-components">Table of Components</a></li> </ul> </li> </ul> <h3>Related Topics</h3> <ul> <li><a href="../index.html">Documentation Overview</a><ul> <li><a href="index.html">Implementation Notes</a><ul> <li>Previous: <a href="roadmap.html" title="previous chapter">Implementation Roadmap</a></li> <li>Next: <a href="prioritization.html" title="next chapter">Implementation Priority</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"> © Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>. [ <a href="../_sources/implementation/components.txt" rel="nofollow">Page Source</a> | <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/implementation/components.txt' rel="nofollow">Revision History</a> ] </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>