From 6b4daf64a853085f0158429f21cd08f55d22b6de Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 10 Oct 2025 19:36:51 +0300 Subject: [PATCH] complete lab5 --- labs/lab5/.~lock.ЛР5_К3221_Дощенников.docx# | 1 + labs/lab5/assets/1.svg | 102 ++++++++++++++++++++ labs/lab5/assets/2.svg | 102 ++++++++++++++++++++ labs/lab5/ЛР5_К3221_Дощенников.docx | Bin 14102 -> 14273 bytes 4 files changed, 205 insertions(+) create mode 100644 labs/lab5/.~lock.ЛР5_К3221_Дощенников.docx# create mode 100644 labs/lab5/assets/1.svg create mode 100644 labs/lab5/assets/2.svg diff --git a/labs/lab5/.~lock.ЛР5_К3221_Дощенников.docx# b/labs/lab5/.~lock.ЛР5_К3221_Дощенников.docx# new file mode 100644 index 00000000..72910f9f --- /dev/null +++ b/labs/lab5/.~lock.ЛР5_К3221_Дощенников.docx# @@ -0,0 +1 @@ +,nik,archlinux,10.10.2025 19:06,file:///home/nik/.config/libreoffice/4; \ No newline at end of file diff --git a/labs/lab5/assets/1.svg b/labs/lab5/assets/1.svg new file mode 100644 index 00000000..9e5e7e68 --- /dev/null +++ b/labs/lab5/assets/1.svg @@ -0,0 +1,102 @@ +

Integrations

DataLayer

ApplicationLayer

ApiGateway

ClientLayer

HTTPS_REST

reads/writes

reads/writes

reads/writes

reads/writes

uses

backup/restore

sync

ClientApp_Web_Mobile

API_Gateway_REST

AuthService_IAuthAPI

PatientService_IPatientAPI

AppointmentService_IAppointmentAPI

BillingService_IBillingAPI

NotificationService_INotificationAPI

PostgreSQL_Database

Backup_Server

Mail_SMS_Gateway

External_EHR

\ No newline at end of file diff --git a/labs/lab5/assets/2.svg b/labs/lab5/assets/2.svg new file mode 100644 index 00000000..66fcd8db --- /dev/null +++ b/labs/lab5/assets/2.svg @@ -0,0 +1,102 @@ +

Cloud

OnPrem

HTTPS

forward

JDBC/SSL

ssh/scp

HTTPS

HTTPS

Client Device
(Browser/Mobile)

Application Server
(Docker/K8s)

Database Server
(PostgreSQL)

Backup Server

Load Balancer / API Gateway

Mail/SMS Gateway - SaaS

External EHR System

\ No newline at end of file diff --git a/labs/lab5/ЛР5_К3221_Дощенников.docx b/labs/lab5/ЛР5_К3221_Дощенников.docx index 2a1392914e0d1e6a03f6fbce0cdefd4ba43b8522..5059dc503755be3bca861c0a0229d90922567e88 100644 GIT binary patch literal 14273 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 literal 14102 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