fix: adding sas 9 deploy info

This commit is contained in:
vrh committed 2020-09-26 16:51:37 +02:00
1 parent 242956bed6
commit ca88c9e9b0
6 files changed
+287 -286

No files matched your search

+48 -2
View File
@@ -1,7 +1,14 @@
---
layout: article
title: DC SAS 9 Deployment
description: How to deploy Data Controller in a production SAS 9 environment
og_image: https://docs.datacontroller.io/img/dci_deploymentdiagram.png
---
# SAS 9 Deployment
## Overview
Data Controller consists of a frontend app, a set of Stored Processes and a database library. The library can be a SAS Base engine if desired, however this can cause contention (eg table locks) if end users are able to connect to the datasets directly, eg via Enterprise Guide or Base SAS.
Data Controller for SAS 9 consists of a frontend, a set of Stored Processes, a staging area, and a database library. The library can be a SAS Base engine if desired, however this can cause contention (eg table locks) if end users are able to connect to the datasets directly, eg via Enterprise Guide or Base SAS.
A database that supports concurrent access is recommended.
## Backend
@@ -26,8 +33,47 @@ Deploy as follows:
2 - Open the `index.html` file and update the `appLoc` value to the location where the Stored Processes were deployed earlier.
It should now be possible to use the application - simply navigate to `YOURSASWEBLOC.domain/yourRoot/datacontroller` and sign in!
It should now be possible to use the application - simply navigate to `YOURSASWEBLOC:port/yourRoot/datacontroller` and sign in!
The next step is to [configure](dcc-tables.md) the tables.
## Deployment Diagram
The below areas of the SAS platform are modified when deploying Data Controller:
<img src="/img/dci_deploymentdiagram.svg" height="350" style="border:3px solid black" >
### Client Device
Nothing needs to be deployed or modified on the client device. We support a wide range of browsers (the same as SAS). Browsers make requests to the SAS Web Server, and will cache assets such as JS, CSS and images. Some items (such as dropdowns) are kept in local storage to improve responsiveness.
### SAS Mid Tier
The front end is deployed to the SAS Web Server as described [above](/dci-deploysas9/#frontend). This requires making a dedicated public folder in the htdocs directory.
### SAS Application Server
Given the enhanced permissions needed of the system account, a dedicated / secured STP instance is recommended as described [here](/dci-stpinstance).
All deployments of Data Controller also make use of a staging directory. This is used to store CSV and Excel files as uploaded by end users. This directory should NOT be accessible by end users - only the SAS system account (eg sassrv) requires access to this directory.
A typical small deployment will grow by a 10-20 mb each month. A very large enterprise customer, with 100 or more editors, might generate up to 1 GB or so per month, depending on the size and frequency of the Excel EUCs and CSVs being uploaded. Web modifications are restricted only to modified rows, so are typically just a few kb in size.
### SAS Metadata Server
The items deployed to metadata include:
* Folder tree
* Stored Processes
* Library Object & tables
After the installation process (which updates `settings` and removes the `makedata` STP), there are no write actions performed against metadata.
### Databases
We strongly recommend that the Data Controller configuration tables are stored in a database for concurrency reasons, however it is also possible to use a BASE engine library.
We provide the DDL for creating the tables, we have customers in production using Oracle, Postgres, Netezza, SQL Server to name a few.
Data Controller does NOT modify schemas! It will not create or drop tables, or add/modify columns or attributes. Only rows can be modified using the tool.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 87 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:lucid="lucid" width="1420" height="960"><g transform="translate(-220 -220)" lucid:page-tab-id="0_0"><path d="M0 0h1870.4v1323.2H0z" fill="#fff"/><path d="M1109 266h511v894H240V240h828zm-869 0h869" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#a" transform="matrix(1,0,0,1,248,240) translate(0 16.6)"/><use xlink:href="#b" transform="matrix(1,0,0,1,248,240) translate(42.95 16.6)"/><use xlink:href="#c" transform="matrix(1,0,0,1,248,240) translate(125.70000000000002 16.6)"/><use xlink:href="#d" transform="matrix(1,0,0,1,248,240) translate(226.55 16.6)"/><path d="M770 808l33.6-28H1070v246.4l-28 33.6H770z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M770 808l33.6-28H1070l-28 28z" stroke="#000" stroke-width="2" fill="#e6e6e6"/><path d="M1042 808l28-28v246.4l-28 33.6z" stroke="#000" stroke-width="2" fill="#ccc"/><use xlink:href="#e" transform="matrix(1,0,0,1,778,816) translate(0 16.6)"/><use xlink:href="#f" transform="matrix(1,0,0,1,778,816) translate(41.95 16.6)"/><use xlink:href="#g" transform="matrix(1,0,0,1,778,816) translate(144.65 16.6)"/><path d="M810 960h200v70H810z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><path d="M790 967.5h40v20h-40zM790 1002.5h40v20h-40z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><use xlink:href="#h" transform="matrix(1,0,0,1,834,967) translate(21.625 14.4)"/><use xlink:href="#i" transform="matrix(1,0,0,1,834,967) translate(92.425 14.4)"/><path d="M810 860h200v70H810z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><path d="M790 867.5h40v20h-40zM790 902.5h40v20h-40z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><use xlink:href="#j" transform="matrix(1,0,0,1,834,867) translate(11.099999999999994 14.4)"/><use xlink:href="#k" transform="matrix(1,0,0,1,834,867) translate(72.94999999999999 14.4)"/><use xlink:href="#l" transform="matrix(1,0,0,1,834,867) translate(49 36)"/><path d="M1240 808l33.6-28H1540v246.4l-28 33.6h-272z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M1240 808l33.6-28H1540l-28 28z" stroke="#000" stroke-width="2" fill="#e6e6e6"/><path d="M1512 808l28-28v246.4l-28 33.6z" stroke="#000" stroke-width="2" fill="#ccc"/><use xlink:href="#m" transform="matrix(1,0,0,1,1248,816) translate(0 16.6)"/><path d="M1281.43 860h215.7v70h-215.7z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><path d="M1261.43 867.5h40v20h-40zM1261.43 902.5h40v20h-40z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><use xlink:href="#n" transform="matrix(1,0,0,1,1308.5714285714284,867) translate(17.674999999999997 14.4)"/><use xlink:href="#o" transform="matrix(1,0,0,1,1308.5714285714284,867) translate(61.575 14.4)"/><use xlink:href="#p" transform="matrix(1,0,0,1,1308.5714285714284,867) translate(12.75 36)"/><use xlink:href="#q" transform="matrix(1,0,0,1,1308.5714285714284,867) translate(86.7 36)"/><use xlink:href="#r" transform="matrix(1,0,0,1,1308.5714285714284,867) translate(96.7 36)"/><path d="M1281.43 960h215.7v70h-215.7z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M1261.43 967.5h40v20h-40zM1261.43 1002.5h40v20h-40z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#s" transform="matrix(1,0,0,1,1308.5714285714284,967) translate(15.299999999999997 14.4)"/><use xlink:href="#t" transform="matrix(1,0,0,1,1308.5714285714284,967) translate(73.80000000000001 14.4)"/><path d="M770 370l36-30h264v324l-30 36H770z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M770 370l36-30h264l-30 30z" stroke="#000" stroke-width="2" fill="#e6e6e6"/><path d="M1040 370l30-30v324l-30 36z" stroke="#000" stroke-width="2" fill="#ccc"/><use xlink:href="#e" transform="matrix(1,0,0,1,778,378) translate(0 16.6)"/><use xlink:href="#u" transform="matrix(1,0,0,1,778,378) translate(41.95 16.6)"/><use xlink:href="#v" transform="matrix(1,0,0,1,778,378) translate(77.85000000000001 16.6)"/><path d="M815 421h200v100H815z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M795 436h40v20h-40zM795 486h40v20h-40z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#w" transform="matrix(1,0,0,1,839,431) translate(27.725 14.4)"/><use xlink:href="#x" transform="matrix(1,0,0,1,839,431) translate(70.275 14.4)"/><path d="M845 461h130v40H845z" stroke="#000" stroke-width="2" fill="#c7e8ac"/><use xlink:href="#y" transform="matrix(1,0,0,1,845,461) translate(38.505 24.4)"/><path d="M810 540h200v140H810z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M790 565h40v20h-40zM790 635h40v20h-40z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#w" transform="matrix(1,0,0,1,834,554) translate(7.799999999999997 14.4)"/><use xlink:href="#z" transform="matrix(1,0,0,1,834,554) translate(50.349999999999994 14.4)"/><use xlink:href="#g" transform="matrix(1,0,0,1,834,554) translate(90.2 14.4)"/><path d="M840 580h130v40H840z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#A" transform="matrix(1,0,0,1,840,580) translate(19.505000000000003 24.4)"/><use xlink:href="#B" transformLine truncated

After

Width:  |  Height:  |  Size: 48 KiB

+231 -282
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,4 +1,4 @@
site_name: Data Controller for SAS® Product Documentation
site_name: Data Controller for SAS® Documentation
site_url: https://docs.datacontroller.io
nav:
- Home: index.md
+6 -1
View File
@@ -15,7 +15,12 @@
<meta property="og:type" content="website" />
<meta property="og:title" content="{{ title }}" />
<meta property="og:url" content="{{ page.canonical_url }}" />
<meta property='og:image' content='https://www.rawsas.com/wp-content/uploads/2018/07/dc_social.png'/>
{% if page and page.meta and page.meta.og_image %}
{% set og_image = page.meta.og_image %}
{% elif page %}
{% set og_image = 'https://www.rawsas.com/wp-content/uploads/2018/07/dc_social.png' %}
{% endif %}
<meta property='og:image' content="{{og_image}}"/>
<meta property="og:image:type" content="image/png" />