Skip to content

Commit

Permalink
Adds diagrams jlu-ilr-hydro#16
Browse files Browse the repository at this point in the history
  • Loading branch information
cpwnd committed Dec 29, 2018
1 parent 775589d commit 5e57091
Show file tree
Hide file tree
Showing 16 changed files with 43 additions and 17 deletions.
Binary file added docs/build/html/_images/fmc-cuahsi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/build/html/_images/fmc-highlevel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/build/html/_images/fmc-odmf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/build/html/_images/fmc-wof-views-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 7 additions & 5 deletions docs/build/html/_sources/odmf/about.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ the CUAHSI organization. For example to inspect or download data via the [Data.C

## Development

Further explanation is in [development chapter](development.html).
Further explanation on the code structure and software components in [development chapter](development.html).
(Architecture/ Components) Link to Development
Mentales Gerüst (optional)

Expand All @@ -30,7 +30,11 @@ Mentales Gerüst (optional)

### How does it work

Elements are HydroServerLite (a) which implements the WaterOneFlow interface, the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. And the ODMF (c) server is mainly used to write data into the database.
The important elements are HydroServerLite (a) which implements the WaterOneFlow interface,
the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. Additionally there
is the ODMF (c) server, which is mainly used to write data into the database.

![FMC diagram of whole system]( ../../images/fmc-cuahsi.png "Different components (FMC diagram)")

1. A request is send to the HydroServer.

Expand All @@ -41,9 +45,7 @@ Elements are HydroServerLite (a) which implements the WaterOneFlow interface, th
Data writes from the import mechanism from the ODMF server are an ongoing process and can result in an hourly changing
data base.

<!-- TODO fmc diagram (a) - (b) - (c) -->

<!-- TODO fmc transaction diagram -->
![UML transaction diagram]( ../../images/fmc-wof-views-2.png "UML transactions from request (FMC Diagram)")

### Implementation

Expand Down
8 changes: 7 additions & 1 deletion docs/build/html/_sources/odmf/development.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,17 @@ connects the [postgres](https://postgres.org) database and renders with the help
Speaking of the server code, the database is accessed consistently via the ORM-mapping framework [sqlalchemy](https://www.sqlalchemy.org).
The Cherrypy server also exposes some methods as JSON exports for a rest-like use of data retrieval.

![Picture of the ODMF database schema]( ../../images/umls/server-stack.jpg "ODMF server stack")
<!-- TODO very high level fmc -->

![High level server stack]( ../../images/fmc-highlevel.png "ODMF high level server stack (FMC diagram)")

The development was done between 2013-today partially by a team of one or two developers. There are some acceptance
and ui tests, but no unit tests.

## Structure

![ODMF software components](../../images/fmc-odmf.png "ODMF software components (FMC diagram)")

The code base is divided in three main parts. **Server**, **automated import** and
**database communication**.

Expand Down
1 change: 1 addition & 0 deletions docs/build/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ <h1>ODMF Docs<a class="headerlink" href="#odmf-docs" title="Permalink to this he
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="odmf/development.html">Development</a><ul>
<li class="toctree-l2"><a class="reference internal" href="odmf/development.html#structure">Structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="odmf/development.html#core-thoughts-behind-design-decisions">Core thoughts behind design decisions</a></li>
<li class="toctree-l2"><a class="reference internal" href="odmf/development.html#database-orm-mapping">Database (ORM mapping)</a></li>
<li class="toctree-l2"><a class="reference internal" href="odmf/development.html#database-sql">Database (SQL)</a></li>
Expand Down
10 changes: 7 additions & 3 deletions docs/build/html/odmf/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
</div>
<div class="section" id="development">
<span id="development"></span><h2>Development<a class="headerlink" href="#development" title="Permalink to this headline"></a></h2>
<p>Further explanation is in <a class="reference external" href="development.html">development chapter</a>.
<p>Further explanation on the code structure and software components in <a class="reference external" href="development.html">development chapter</a>.
(Architecture/ Components) Link to Development
Mentales Gerüst (optional)</p>
<ul class="simple">
Expand All @@ -194,15 +194,19 @@
<span id="cuahsi-wateroneflow-interface"></span><h2>CUAHSI WaterOneFlow Interface<a class="headerlink" href="#cuahsi-wateroneflow-interface" title="Permalink to this headline"></a></h2>
<div class="section" id="how-does-it-work">
<span id="how-does-it-work"></span><h3>How does it work<a class="headerlink" href="#how-does-it-work" title="Permalink to this headline"></a></h3>
<p>Elements are HydroServerLite (a) which implements the WaterOneFlow interface, the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. And the ODMF (c) server is mainly used to write data into the database.</p>
<p>The important elements are HydroServerLite (a) which implements the WaterOneFlow interface,
the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. Additionally there
is the ODMF (c) server, which is mainly used to write data into the database.</p>
<p><img alt="FMC diagram of whole system" src="../_images/fmc-cuahsi.png" /></p>
<ol class="simple">
<li>A request is send to the HydroServer.</li>
<li>The responses are build of information from one ore more views, which the server middleware will compose.</li>
<li>The middleware calls request the database for the respective views.</li>
</ol>
<p>Data writes from the import mechanism from the ODMF server are an ongoing process and can result in an hourly changing
data base.</p>
<!-- TODO fmc diagram (a) - (b) - (c) --><!-- TODO fmc transaction diagram --></div>
<p><img alt="UML transaction diagram" src="../_images/fmc-wof-views-2.png" /></p>
</div>
<div class="section" id="implementation">
<span id="implementation"></span><h3>Implementation<a class="headerlink" href="#implementation" title="Permalink to this headline"></a></h3>
<p>Details on this topic are written down in <a class="reference external" href="development.html#wateroneflow">development chapter</a></p>
Expand Down
7 changes: 6 additions & 1 deletion docs/build/html/odmf/development.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage/ Tutorial/ Wiki</a></li>
<li class="toctree-l1"><a class="reference internal" href="views.html">Views</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Development</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#structure">Structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="#core-thoughts-behind-design-decisions">Core thoughts behind design decisions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#database-erm">Database (ERM)</a></li>
</ul>
Expand Down Expand Up @@ -195,9 +196,12 @@
<a class="reference external" href="https://genshi.edgewall.org/">genshi</a> the HTML content and a bit of <a class="reference external" href="https://jquery.org">jquery</a>.
Speaking of the server code, the database is accessed consistently via the ORM-mapping framework <a class="reference external" href="https://www.sqlalchemy.org">sqlalchemy</a>.
The Cherrypy server also exposes some methods as JSON exports for a rest-like use of data retrieval.</p>
<p><img alt="Picture of the ODMF database schema" src="../_images/server-stack.jpg" /></p>
<!-- TODO very high level fmc --><p><img alt="High level server stack" src="../_images/fmc-highlevel.png" /></p>
<p>The development was done between 2013-today partially by a team of one or two developers. There are some acceptance
and ui tests, but no unit tests.</p>
<div class="section" id="structure">
<span id="structure"></span><h2>Structure<a class="headerlink" href="#structure" title="Permalink to this headline"></a></h2>
<p><img alt="ODMF software components" src="../_images/fmc-odmf.png" /></p>
<p>The code base is divided in three main parts. <strong>Server</strong>, <strong>automated import</strong> and
<strong>database communication</strong>.</p>
<ul class="simple">
Expand All @@ -212,6 +216,7 @@
<li><strong>database</strong> and ORM code is in <code class="docutils literal notranslate"><span class="pre">db</span></code> the module.</li>
</ul>
<p>Utility code for calibration, conf and markdown parsing are saved in the <code class="docutils literal notranslate"><span class="pre">tools</span></code> module.</p>
</div>
<div class="section" id="core-thoughts-behind-design-decisions">
<span id="core-thoughts-behind-design-decisions"></span><h2>Core thoughts behind design decisions<a class="headerlink" href="#core-thoughts-behind-design-decisions" title="Permalink to this headline"></a></h2>
<p>To connect more of the ideas under the hood of the server there are diagrams describing the user interaction for the most important functions of the platform.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/build/html/searchindex.js

Large diffs are not rendered by default.

Binary file added docs/docs/images/fmc-cuahsi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/fmc-highlevel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/fmc-odmf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs/images/fmc-wof-views-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 7 additions & 5 deletions docs/docs/source/odmf/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ the CUAHSI organization. For example to inspect or download data via the [Data.C

## Development

Further explanation is in [development chapter](development.html).
Further explanation on the code structure and software components in [development chapter](development.html).
(Architecture/ Components) Link to Development
Mentales Gerüst (optional)

Expand All @@ -30,7 +30,11 @@ Mentales Gerüst (optional)

### How does it work

Elements are HydroServerLite (a) which implements the WaterOneFlow interface, the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. And the ODMF (c) server is mainly used to write data into the database.
The important elements are HydroServerLite (a) which implements the WaterOneFlow interface,
the PostgreSQL database (b) which fullfills the ODM schema, via SQL views. Additionally there
is the ODMF (c) server, which is mainly used to write data into the database.

![FMC diagram of whole system]( ../../images/fmc-cuahsi.png "Different components (FMC diagram)")

1. A request is send to the HydroServer.

Expand All @@ -41,9 +45,7 @@ Elements are HydroServerLite (a) which implements the WaterOneFlow interface, th
Data writes from the import mechanism from the ODMF server are an ongoing process and can result in an hourly changing
data base.

<!-- TODO fmc diagram (a) - (b) - (c) -->

<!-- TODO fmc transaction diagram -->
![UML transaction diagram]( ../../images/fmc-wof-views-2.png "UML transactions from request (FMC Diagram)")

### Implementation

Expand Down
8 changes: 7 additions & 1 deletion docs/docs/source/odmf/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,17 @@ connects the [postgres](https://postgres.org) database and renders with the help
Speaking of the server code, the database is accessed consistently via the ORM-mapping framework [sqlalchemy](https://www.sqlalchemy.org).
The Cherrypy server also exposes some methods as JSON exports for a rest-like use of data retrieval.

![Picture of the ODMF database schema]( ../../images/umls/server-stack.jpg "ODMF server stack")
<!-- TODO very high level fmc -->

![High level server stack]( ../../images/fmc-highlevel.png "ODMF high level server stack (FMC diagram)")

The development was done between 2013-today partially by a team of one or two developers. There are some acceptance
and ui tests, but no unit tests.

## Structure

![ODMF software components](../../images/fmc-odmf.png "ODMF software components (FMC diagram)")

The code base is divided in three main parts. **Server**, **automated import** and
**database communication**.

Expand Down

0 comments on commit 5e57091

Please sign in to comment.