Skip to content

Commit

Permalink
updated integration docs (#1296)
Browse files Browse the repository at this point in the history
Co-authored-by: James Gunn <[email protected]>
  • Loading branch information
aje54 and gunndabad authored Apr 24, 2024
1 parent cdb8acb commit af5d63b
Show file tree
Hide file tree
Showing 8 changed files with 208 additions and 5 deletions.
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
# teaching-record-system
Note: Any diagrams in .jpg files can be rendered using the [.dsl files and https://structurizr.com/dsl](docs/c4-diagrams-as-code/)

Provides an API over the Database of Qualified Teachers (DQT). Provides the core Teaching record and will eventually replace the Database of Qualified Teachers (DQT).

# High level architecture (showing one of the citizen facing services that make use of the TRS API)
* [Teaching Record System High Level Architecture (just showing core components)](docs/c4-diagrams-as-code/trs-core-containers.jpg)
* [Teaching Record System (to be) External Data Integration Architecture](docs/c4-diagrams-as-code/trs-to-be-external-integrations.jpg)
* [Teaching Record System (to be) Teaching Pensions Data Integration Architecture](docs/c4-diagrams-as-code/trs-to-be-tps-data-integrations.jpg)
* [Teaching Record System (to be) EWC Data Integration Architecture](docs/c4-diagrams-as-code/trs-to-be-ewc-integrations.jpg)

# Data Integrations
TRS provides the the core teaching record data to a number of internal and external facing digital services:

* [Teaching Record System : Data Integrations](docs/c4-diagrams-as-code/trs-integrations.jpg)
* [Teaching Record System : Teacher Pensions Integrations](docs/c4-diagrams-as-code/trs-tps-as-is-and-to-be.jpg)

## What does it do?

Expand Down
4 changes: 2 additions & 2 deletions docs/c4-diagrams-as-code/trs-c4.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ workspace {
citizen = person "User (Citizen)"
emp-prov-la = person "Employer, Provider, LA"

softwareSystem = softwareSystem "Teaching Record System Core Containers"{
softwareSystem = softwareSystem "Teaching Record System Core Containers and AYTQ"{

teaching-record-system = group "Teaching Record System" {
trsApi = container "TRS API (formerly known as Qualified Teachers API)" {
Expand Down Expand Up @@ -131,4 +131,4 @@ workspace {

}

}
}
Binary file added docs/c4-diagrams-as-code/trs-integrations.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
198 changes: 198 additions & 0 deletions docs/trs-integration.dsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
workspace {

!identifiers hierarchical


model {

support-user = person "Support User"
citizen = person "User (Citizen)"

softwareSystem = softwareSystem "TRS/DQT Data-Integrations"{

teaching-record-system = group "Teaching Record System / DQT" {
trsApi = container "TRS API" {
tags "Teaching Record System" "TRS API" "New"
}
dqtApi = container "DQT SFTP/SSIS API" {
tags "Legacy-To-Be-Decom."
}
dqt-legacy-http-Api = container "DQT HTTP API" {
tags "Legacy-To-Be-Decom."
}

tq-secure-email = container "TQ unit secure email" {

}
}

ssis-random = group "Adhoc SSIS based data jobs" {
contact-data-retention = container "Contact Data Retention" {
tags "Legacy-To-Be-Decom."
}

ftp-file-retention = container "FTP file retention" {
tags "Legacy-To-Be-Decom."
}

gias-recon = container "GIAS reconciliation" {
tags "Legacy-To-Be-Decom."
}

failed-qts-retention = container "Failed QTS retention" {
tags "Legacy-To-Be-Decom."
}
}

tps = group "External Data Share - DfE is data controller" {
tps-bancs-api = container "TPS Bancs Pension Administration System API" {
tags "Teacher Pensions TCS" "TPS TCS" "New"
}
}

tpsCapita = group "Capita decomission: Various" {
tps-capita-api = container "TPS Capita Pension Administration System API" "legacy" {
tags "Teacher Pensions capita" "TPS Capita" "Legacy-To-Be-Decom."
}
}

qualsequiv = group "External Data Share - DfE not data controller" {
set-api = container "Society For Education Training" {
tags "Society For Education Training" "SET" "New"
}

scotland-api = container "Education Scotland" {
tags "Scotland"
}

ni-api = container "Education N.I" {
tags "Northern Ireland"
}

ewcnew-api = container "EWC Welsh Teaching Council HTTP API/email" {
tags "EWC" "New"
}
ewclegacy-api = container "EWC Welsh Teaching Council SFTP API" {
tags "Legacy-To-Be-Decom."
}
}

quals = group "Qualifications & Induction England" {
register-api = container "Register For ITT" {
tags "Register"
}
npq-legacy-api = container "CPD: Register for an NPQ" {
tags "National Professional Qualification" "Legacy-To-Be-Decom."
}
ecf-legacy-api = container "CPD: ECF Legacy" {
tags "ECF Legacy" "Legacy-To-Be-Decom."
}
ecf-new-api = container "CPD: Early Careers Framework" {
tags "ECF New" "New"
}
dqt-ab-portal-legacy = container "DQT AB Portal" {
tags "Appropriate Body Portal" "Legacy-To-Be-Decom."
}
}

set-api -> trsAPI "http: SET members"
trsAPI -> set-api "http: Prohibition outcomes"
scotland-api -> dqtApi "sftp: Award QTS"

ewcnew-api -> trsApi "http: Get a TRN "
ewcnew-api -> trsApi "http: ITT"
ewcnew-api -> trsApi "http: Prohibition outcomes"

ewclegacy-api -> tps-capita-api "sftp: Award QTS, New TRNs"
tps-capita-api -> dqtApi "sftp: Award QTS, prohibitions, New TRNs)"
ewclegacy-api -> tq-secure-email "email: Teaching alerts / prohibitions

trsApi -> tps-bancs-api "http: Return a TRN"
trsApi -> tps-bancs-api "http: Prohibition outcomes"

tps-bancs-api -> trsApi "http: Request a TRN"
tps-bancs-api -> trsApi "http: Deceased active and inactive service"
tps-bancs-api -> trsApi "sftp: Workforce data"

tps-capita-api -> dqtApi "sftp: Claim Paymnets Check Return"
dqtApi -> tps-capita-api "sftp: Claim Paymnets Check Request"
tps-capita-api -> dqtApi "sftp: EWC New Teachers'
tps-capita-api -> dqtApi "sftp: Deceased Teachers file"

dqtApi -> tps-capita-api "sftp: New records in DQT"
dqtApi -> tps-capita-api "sftp: Amend records in DQT"

dqtApi -> tps-capita-api "sftp: TRN monthly reconciliation"
dqtApi -> tps-capita-api "sftp: Prohib monthly recon"
dqtApi -> tps-capita-api "sftp: TRN dupe monthly recon"
tps-capita-api -> dqtApi "sftp: TRN dupe monthly recon"

register-api -> trsApi "http: Create teaching start of ITT"
register-api -> trsApi "http: Award QTS instruction post ITT"
register-api -> trsApi "http: IQTS, EYTS, Undergrad Quals"

npq-legacy-api -> ecf-legacy-api "http: synch"
ecf-legacy-api -> dqt-legacy-http-Api "http: Award NPQ"

ecf-legacy-api -> dqt-legacy-http-Api "http: Read Induction (poling)"
dqt-ab-portal-legacy -> dqtApi "sftp: File upload from ABs to DQT"

npq-legacy-api -> trsApi "http: Read TR post One-Login"
ecf-new-api -> trsApi "http: Complete mandatory induction"

scotland-api -> tq-secure-email "email: Teaching alerts / prohibs"
ni-api -> tq-secure-email "email: Teaching alerts / prohibs"
tq-secure-email -> scotland-api "email: Teaching alerts / prohibs"
//N.I not currently receiving prohibs
//tq-secure-email -> ni-api "email: Teaching alerts / prohibs"

contact-data-retention -> dqtApi "ssis:data recon job"
ftp-file-retention -> dqtApi "ssis:data recon job"
gias-recon -> dqtApi "ssis:data recon job"
failed-qts-retention -> dqtApi "ssis:data recon job"

trsApi -> ewcnew-api "http: prohibition outcomes"

}

}

views {
container softwareSystem "containers-all-integrations-trs-dqt" {
include *
autolayout
}

container softwareSystem "containers-teacher-pensions-as-is-and-to-be" {
include ->softwareSystem.ewcnew-api-> ->softwareSystem.ewclegacy-api-> ->softwareSystem.tps-capita-api-> ->softwareSystem.contact-data-retention-> ->softwareSystem.ftp-file-retention-> ->softwareSystem.gias-recon-> ->softwareSystem.tps-bancs-api->

autolayout
}
container softwareSystem "containers-teacher-pensions-as-is" {
include ->softwareSystem.ewclegacy-api-> ->softwareSystem.tps-capita-api-> ->softwareSystem.contact-data-retention-> ->softwareSystem.ftp-file-retention-> ->softwareSystem.gias-recon->

autolayout
}

container softwareSystem "containers-teacher-pensions-to-be" {
include ->softwareSystem.ewcnew-api-> ->softwareSystem.tps-bancs-api->

autolayout
}

styles {


element "Legacy-To-Be-Decom." {
background #ec8212
}
element "New" {
background #22D017
}


}

}

}

0 comments on commit af5d63b

Please sign in to comment.