Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПКС / ПКС. Материалы лекций

.pdf
Скачиваний:
2
Добавлен:
19.09.2023
Размер:
3.23 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Кафедра информационных управляющих систем

Б1.В.24 «Программирование критических сервисов» для специальностей по направлению 09.03.02 «Информационные системы и технологии»

1.Cервисы программного обеспечения в международных стандартах.

2.Cервисы программного обеспечения в российских стандартах.

3.Критические объекты и процессы программных средств в международных стандартах.

4.Шаблоны проектирования критических сервисов.

5.Программные компоненты для создания критического сервиса на языке Python.

6.Программные решения на основе критических сервисов в задаче развертывания микросервисной архитектуры.

Преподаватель: Параничев Андрей Викторович

Санкт-Петербург 2023

1. Cервисы программного обеспечения в международных стандартах

 

2

1.1) Определения сервиса (service) :

«средства доставки пользовательского контента» («means of delivering value for the customer»: ISO/IEC/IEEE 24765:2017);

«выполнение рабочих процессов» («performance of activities»: ISO/IEC/IEEE 15939:2017, ISO/IEC/IEEE 15288:2015);

«интерактивно переключаемый режим управления информацией» («behavior, triggered by an interaction», ISO/IEC 10746-2:2009): service offer;

1.2) Специализация определений сервиса (ISO/IEC/IEEE 24765:2017):

service component (ISO/IEC 19500-3:2012): availability, continual improvement, errata (ISO/IEC/IEEE 24765:2017), dependability (IEEE 982.1-2005);

service primitives: association management facility, basic interworking facility, location facility (ISO/IEC 14752:2000); data processing center;

functional service (ISO/IEC 29881:2010): functional service type / base functional component type (BFC type), layer, Functional size measurement (FSM) (ISO/IEC 19761:2011), deliverable product (ISO/IEC 25041:2012);

continuity service: reliability, down time, up time, busy time, idle time, mean time to repair, set-up time, interrupt, event, service alternative, incident (ISO/IEC TS 24748-1:2016, ISO/IEC/IEEE 15288);

1.3) Концепции требований к сервису:

Service Level Agreement (SLA): compliant (ISO/IEC/IEEE 24765:2017, ISO/IEC/IEEE 15289:2015), security attribute service (SAS) (ISO/IEC 19500-2:2012), Interrupt service routine (ISR) (ISO/IEC/IEEE 24765:2017);

Application Service Object: service import, service export (ISO/IEC 10746-1:1998), object implementation (ISO/IEC 19500- 1:2012), agent (ISO/IEC 15414:2015);

Common Management Information Service (CMIS): quality of service, environment contract (ISO/IEC 10746-1:1998).

2. Cервисы программного обеспечения в международных стандартах

 

3

Установление предметной области «критический сервис» в действующих нормативно-правовых документах (2021 г.)

Термин

 

Определение

 

 

 

 

1

service

1)

«Средства предоставления пользовательского контента»

 

 

("means of delivering value for the customer").

 

 

2)

«Выполнение рабочих процессов» ("performance of

 

 

activities").

 

 

3)

«Интерактивно переключаемый режим управления

 

 

информацией» ("behavior, triggered by an interaction").

2

critical information

«Информация, описывающая безопасное использование

 

 

программного обеспечения в контексте секретности

 

 

создаваемого информационного контента, либо в контексте

 

 

защиты персональной информации, создаваемой или

 

 

хранимой в приложении» ("information describing the safe use

 

 

of the software, the security of the protection of the sensitive

 

 

personal information created by or stored with the software")

1. Cервисы программного обеспечения в российских стандартах

 

4

Установление предметной области «критический сервис» в действующих нормативно-правовых документах (2021 г.)

Термин

Определение

 

 

 

3

услуга (service)

«Возможность определенного уровня и нижерасположенных

 

 

уровней, предоставляемая объектам следующего верхнего

 

 

уровня».

4

критическая секция (critical

«Часть асинхронной процедуры, которая не может выполняться

 

section)

параллельно с определенной частью той же или другой

 

 

асинхронной процедуры».

Понятие «критический сервис» (critical service) в контексте задач программирования: «обособленный набор программных модулей, содержащий информацию, доступ к которой должен быть строго ограничен».

Актуальные задачи в контексте программирования критических сервисов:

разработка компонентов программного обеспечения, обеспечивающих безопасный доступ к данным пользователя в мессенджере;

построение / сопровождение Full-stack веб-приложений, основанных на микросервисной архитектуре (Microservice Architecture, MSA) доступа к данным.

Список литературы

 

5

1.ISO/IEC/IEEE 24765:2017. Systems and Software Engineering – Vocabulary [Text]. – Jeneva: ISO, 2017. – 522 p.

2.ISO/IEC/IEEE 15939:2017. Systems and Software Engineering – Measurement Process [Text]. – Jeneva: ISO, 2017. – 39p.

3.ISO/IEC 10746-1:1998. Information Technology – Open Distributed Processing – Reference Model: Overview [Text]. – Jeneva: ISO, 1998. – 76 p.

4.ISO/IEC 10746-2:2009. Information Technology – Open Distributed Processing – Reference Model: Foundations [Text]. – Jeneva: ISO, 2009. – 22 p.

5.Fowler, M. Microservices [Electronic Resource]. – 2014. – URL: https://martinfowler.com/articles/microservices.html

6.Northwood, C. The Full Stack Developer: Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer [Text] / C. Northwood. 1st ed. UK, Manchester: APress, 2018. – 365 p.

7.Pattern: Microservice Architecture [Electronic Resource]. – 2018. – URL: https://microservices.io/patterns/microservices.html

8.Eventuate example microservices applications : [Electronic Resource]. – 2021. – URL: https://eventuate.io/exampleapps.html

9.About the Unified Modeling Language Specification Version 2.5.1: [Electronic Resource]. – 2017. – 754 p. – URL: https://www.omg.org/spec/UML/2.5.1

10.Fowler, M. UML Distilled: A Brief Guide to the Standard Object Modeling Language: [Text] / M. Fowler. – 3rd Ed. Boston: Addison-Wesley, 2003. – 178 p.

11.Driver requirements: Documentation for Selenium [Electronic Resource]. – URL: https://www.selenium.dev/documentation/en/webdriver/driver_requirements/

12.Spyne: PRC that doesn't break your back [Electronic Resource]. – 2021. – URL: http://spyne.io/

13.SOAP и REST сервисы с помощью Python-библиотеки Spyne [Electronic Resource]. – 2017. – URL: https://habr.com/ru/post/334290/

Список литературы

 

6

11.Walderhaug, S. Experiences from Model-Driven Development of Homecare Services: UML Profiles and Domain Models [Text] / S. Walderhaug, , E. Stav, M. Mikalsen // Chaudron M.R.V. (eds) Models in Software Engineering. MODELS 2008. Lecture Notes in Computer Science, vol. 5421. Berlin: Springer. – URL: https://www.researchgate.net/publication/221223886_Experiences_from_ModelDriven_Development_of_Homecare_Services_UML_Profiles_and_Domain_Models

12.Параничев, А. В. Программирование критических сервисов: практикум [Текст] / А. В. Параничев ; СПбГУТ. – СанктПетербург, 2021. – 44 с.

13.Barkmeyer, E. SIMA Reference Architecture Part I: Activity Models [Text] / E. Barkmeyer, N. Christopher, S. Feng [etc.] // NIST Interagency / Internal Report (NISTIR). – US, Gaithersburg: National Institute for Standards and Technology, 1996. – 76 p. – URL: https://doi.org/10.6028/NIST.IR.5939

14.Jung, K. Mapping Strategic Goals and Operational Performance Metrics for Smart Manufacturing Systems [Text] / K. Jung,

K. Lyons, S. Leong [etc.] // Procedia Computer Science. – 2015. – Vol. 44. – P. 184–193. URL: https://doi.org/10.1016/j.procs.2015.03.051

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Кафедра информационных управляющих систем

Б1.В.24 «Программирование критических сервисов» для специальностей по направлению 09.03.02 «Информационные системы и технологии»

1.Cервисы программного обеспечения в международных стандартах.

2.Cервисы программного обеспечения в российских стандартах.

3.Критические объекты и процессы программных средств в международных стандартах.

4.Шаблоны проектирования критических сервисов.

5.Программные компоненты для создания критического сервиса на языке Python.

6.Программные решения на основе критических сервисов в задаче развертывания микросервисной архитектуры.

Преподаватель: Параничев Андрей Викторович

Санкт-Петербург 2023

2. Cервисы программного обеспечения в российских стандартах

 

8

2.1) Сервисные элементы:

прикладного уровня (ГОСТ Р ИСО/МЭК 9804-96);

управления ассоциацией (ГОСТ Р 34.981-91).

2.2) Архитектурные решения:

концепция сервис-ориентированной архитектуры (ГОСТ Р ИСО/МЭК 18384-1-2017);

системы доступа к сервисам на распределенных платформах (ГОСТ Р ИСО/МЭК 20933-2017);

модель завершенности интеграции сервисов (ГОСТ Р ИСО/МЭК 16680-2015).

2.3) Сервисы интеллектуальных систем:

структура соглашения об уровне сервиса для облачных вычислений (ПНСТ 367-2019);

сервисные домены, сервисные группы и сервисы в области интеллектуальных транспортных систем

(ГОСТ Р ИСО 14813-1-2001).

Проектирование сервисных элементов (систем) соответствует методологии SADT (Structural Analysis and Design Technique), в основе которой – процессный подход, реализуемый в стандартах EPC (Event-Driven Process Chain: событийная цепочка процессов), BPMN (Business Process Model and Notation: модель и нотация бизнес-процессов) и IDEF (Integrated DEFinition:

IDEF0, IDEF1X,..).

SADT состоит в определении требований и функций для последующей разработки системы, а также для анализа функций, осуществляемых системой, и отображения механизмов, посредством которых эти функции выполняются.

Основные элементы и скрипт их создания в PlantUML
nControl2 -down-> bProcess
@enduml

2. Cервисы программного обеспечения в российских стандартах.

9

Описание сервиса как процесса в нотации IDEF0

@startuml

 

 

skinparam node {

 

node nOutputs as " "{

BackgroundColor none

 

node nOutput1 as "Выходные данные 1\n(Output 1)\n\nВыходные данные 2\n(Output 2)"

BorderColor none

 

}

Shadowing false

 

nInput1 -right--> bProcess

}

 

nInput1 -right--> bProcess

node nMech1 as "Ресурс /\n механизм 1\n(Mechanism 1)"

bProcess -right--> nOutput1

node nMech2 as "Ресурс /\n механизм 2\n(Mechanism 2)"

bProcess -right--> nOutput1

node nCall as "Вызов\nпроцедуры\n(Call)"

nMech1 -up-> bProcess

node nControl1 as "Элемент управления 1\n(Control 1)"

nMech2 -up-> bProcess

node nControl2 as "Элемент управления 2\n(Control 2)"

nCall <.up. bProcess

node nProcesses as "

"{

nControl1 -down-> bProcess

rectangle bProcess as "\n\n Имя процесса \n (Function name) \n\n"

}

node nInputs as " "{

node nInput1 as "Входные данные 1\n(Input 1)\n\nВходные данные 2\n(Input 2)"

}

2. Cервисы программного обеспечения в российских стандартах.

10

Описание сервиса как процесса в нотации IDEF0

Основные элементы: входные данные (inputs), выходные данные (outputs), элементы управления (controls), механизмы (mechanisms)