chore: automated commit

This commit is contained in:
munja 2022-01-17 22:58:32 +01:00
parent b56cf28a46
commit f261a716be
2 changed files with 12 additions and 27 deletions

View File

@ -15,21 +15,21 @@ Where a project has a requirement to load Excel Files automatically into SAS, fr
* Flexibility. Well documented, stable APIs allow consumers to build and extend additional products and solutions. * Flexibility. Well documented, stable APIs allow consumers to build and extend additional products and solutions.
* Cost. API solutions are typically self-contained, quick to implement, and easy to learn. * Cost. API solutions are typically self-contained, quick to implement, and easy to learn.
A Data Controller API enables teams from across an enterprise to easily and securely send data to SAS in a transparent and fully automated fashion. A Data Controller API would enable teams across an entire enterprise to easily and securely send data to SAS in a transparent and fully automated fashion.
The API will benefit from all of Data Controllers existing [data validation](https://docs.datacontroller.io/dcc-validations/) logic (both frontend and backend), data auditing, [alerts](https://docs.datacontroller.io/emails/), and [security control](https://docs.datacontroller.io/dcc-security/) features. The API would also benefit from all of Data Controllers existing [data validation](https://docs.datacontroller.io/dcc-validations/) logic (both frontend and backend), data auditing, [alerts](https://docs.datacontroller.io/emails/), and [security control](https://docs.datacontroller.io/dcc-security/) features.
It is also a significant departure from the existing "SAS Content" based deployment, in the following ways: It is however, a significant departure from the existing "SAS Content" based deployment, in the following ways:
1. Server Driven. A machine is required on which to launch, and run, the API application itself. 1. Server Driven. A machine is required on which to launch, and run, the API application itself.
2. Fully Automated. There is no browser, or interface, or - human, involved. 2. Fully Automated. There is no browser, or interface, or - human, involved.
3. Extends outside of SAS. There are firewalls, and authentication methods, to consider. 3. Extends outside of SAS. There are firewalls, and authentication methods, to consider.
Data Controller does not have an API right now - but we do have plans, just waiting for the right project. The technical solution will differ, depending on the type of SAS Platform being used. There are three types of SAS Platform: The Data Controller technical solution will differ, depending on the type of SAS Platform being used. There are three types of SAS Platform:
1. Foundation SAS. Regular, Base SAS. 1. Foundation SAS - regular, Base SAS.
2. SAS EBI. SAS 9, with Metadata. 2. SAS EBI - with Metadata.
3. SAS Viya. SAS, cloud enabled. 3. SAS Viya - cloud enabled.
And there are three main options when it comes to building APIs on SAS: And there are three main options when it comes to building APIs on SAS:
@ -84,9 +84,9 @@ On top of this, the DC API part would cover:
* Swagger API * Swagger API
* Public Documentation * Public Documentation
Cost to complete - £10,000 Cost to complete - £10,000 (fixed)
Given that all three SAS platforms have Foundation SAS available, this option will work everywhere. The only restriction is that the sasjs/server instance **must** be located on the same server as SAS. Given that all three SAS platforms have Foundation SAS available, this option will work everywhere. The only restriction is that the sasjs/server instance **must** be located on the same server as SAS. `
## SAS 9 API (SAS EBI) ## SAS 9 API (SAS EBI)
@ -94,8 +94,9 @@ Given that all three SAS platforms have Foundation SAS available, this option wi
This product has one major benefit - there is nothing to install on the SAS Platform itself. It connects to SAS in much the same way as Enterprise Guide (using the SAS IOM). This product has one major benefit - there is nothing to install on the SAS Platform itself. It connects to SAS in much the same way as Enterprise Guide (using the SAS IOM).
Website: [https://sas9api.io](https://sas9api.io) Website: [https://sas9api.io](https://sas9api.io)
Github: [https://github.com/analytium/sas9api](https://github.com/analytium/sas9api) Github: [https://github.com/analytium/sas9api](https://github.com/analytium/sas9api)
The downside is that the features needed by Data Controller are not present in the API. Furthermore, the tool is not under active development. To build out the necessary functionality, it will require us to source a senior Java developer on a short term contract to first, understand the tool, and secondly, to update it in a sustainable way. The downside is that the features needed by Data Controller are not present in the API. Furthermore, the tool is not under active development. To build out the necessary functionality, it will require us to source a senior Java developer on a short term contract to first, understand the tool, and secondly, to update it in a sustainable way.
We estimate the cost to build Data Controller API on this mechanism at £25,000. We estimate the cost to build Data Controller API on this mechanism at £20,000 - but it could be higher.

View File

@ -91,23 +91,7 @@ Total: **10.5 days**
### API Submissions ### API Submissions
Data Controller was designed to capture manual user inputs. However, the validation routines, as well as the power and consistency of the extraction logic, are well suited to automated extraction also. Described [here](https://docs.datacontroller.io/api/).
To cater for "machine provided" inputs, it will be necessary to surface an API interface. In the first instance, this will cater for Excel Maps.
The API will be delivered in a container, and will leverage existing data controller services (eg SAS 9 Stored Processes / SAS Viya jobs / SASjs Stored Programs) at the backend.
#### Estimates
|Component|Estimate (days)|Description|
|---|---|---|
|Setup|1|Architecture / design|
|Authorisation|1|Enable REST access from client, and further onwards to Viya|
|Service|2|Enable full excel maps API service using standalone framework utility, returning approval link|
|Tests|1.5|Create tests and automated deployments|
|Docs|1|Developer docs,Swagger API docs,Public documentation site along with install instructions|
Total: **6 days**
### Change Tracking ### Change Tracking
Currently, transactional changes made to tables in Data Controller are tracked by means of individual CSV files. A user can navigate to the HISTORY tab, find their change, and download a zip file containing all relevant information such as the original excel that was uploaded, SAS logs, the change records (CSV) and the staging dataset. Currently, transactional changes made to tables in Data Controller are tracked by means of individual CSV files. A user can navigate to the HISTORY tab, find their change, and download a zip file containing all relevant information such as the original excel that was uploaded, SAS logs, the change records (CSV) and the staging dataset.