Введение 3
Глоссарий 5
1. Анализ предметной области 7
1.1 Предпосылки к использованию Open API в финансовой сфере 7
1.2 Open Banking 8
1.3 Open API 11
1.4 Разрешения и права доступа 13
1.5 Выводы 14
2. Проектирование системы 15
2.1 Компоненты системы 15
2.2 Схема аутентификации пользователя 16
2.1 Интеграционное взаимодействие 20
3. Разработка системы 24
3.1 База данных 24
3.2 Клиентская часть 25
3.3 Серверная часть 26
3.4 Сервер аутентификации 26
Заключение 29
Список литературы 30
Приложение
Современный этап развития банковской системы характеризуется высоким уровнем насыщенности рынка финансовыми продуктами и услугами, что приводит к постоянно увеличивающейся конкуренции между коммерческими банками и, с другой стороны, вызывает у потенциального клиента трудности в анализе преимуществ и недостатков того или иного продукта, предоставляемым банком.
Как показывает практика, на сегодняшний день коммерческие банки во многом исчерпали существующие способы продвижения продуктов, в связи с чем возникла необходимость поиска новых каналов сбыта и способов привлечения клиентов.
В таких условиях существенное конкурентное преимущество получают те финансовые организации, которые способны разрабатывать и внедрять новые сервисы, модернизировать продуктовый ряд и создавать альтернативные каналы обслуживания клиентов.
Актуальность темы исследования определяется тем, что банки, интегрируясь с сервисами дистанционного банковского обслуживания, улучшают эффективность своей деятельности, повышают продажи финансовых продуктов и услуг, привлекают новых клиентов. За счет снятия географических ограничений обеспечивается равный доступ к финансовому рынку, и клиенты получают возможность совершать операции по получению банковской услуги в любое время суток и в любом месте.
Портал агрегации информации различных услуг финансовых институтов представляет собой единый продуктовый каталог, позволяющий клиентам быстро подобрать оптимальный продукт с учетом всех предложений, которые предоставляет банк.
Целью данной работы является построение портала, интегрируемого с любыми финансовыми институтами через разработанный Open API протокол, для агрегации на нем информации о различных продуктах с возможностью их открытия в соответствующих финансовых институтах пользователями, не являющимися клиентами банка.
Для достижения поставленной цели необходимо решить следующие задачи:
• Провести исследование предметной области;
• Изучить на данный момент реализации аутентификации и авторизации, проанализировать их и выбрать наиболее подходящую;
• Разработать прототип системы банка, интегрируемой с платформой через Open API;
• Разработать веб-портал для отображения финансовых продуктов.
Глоссарий
1. API - описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.
2. Open API протокол - формализованная спецификация и экосистема множества инструментов, предоставляющая интерфейс между информационными системами, кодом библиотек низкого уровня и коммерческими решениями в виде API.
3. Веб-портал - сайт в компьютерной сети, который предоставляет пользователю различные интерактивные интернет-сервисы, которые работают в рамках этого сайта.
4. KYC (Know Your Customer) - это процесс проверки подлинности своих клиентов и оценки потенциальных рисков незаконных намерений в деловых отношениях.
5. AML (Anti-Money Laundering) - это термин, который используется в финансовой и юридической отраслях для описания правовых механизмов контроля, которые требуют от финансовых учреждений и других регулируемых организаций предотвращать, выявлять и сообщать о деятельности по отмыванию денег.
6. SPA (Single Page Application) - это веб-приложение, которое взаимодействует с пользователем путем динамического обновления данных текущей страницы, а не загрузки целых новых страниц с сервера.
7. Авторизация — предоставление определённому лицу или группе лиц прав на выполнение определённых действий, а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий.
8. Аутентификация - это проверка соответствия субъекта и того, за кого он пытается себя выдать, с помощью некой уникальной информации.
9. ЕСИА (Единая система идентификации и аутентификации) - информационная система, обеспечивающая санкционированный доступ участников информационного взаимодействия (граждан-заявителей и должностных лиц органов исполнительной власти) к информации, содержащейся в государственных информационных системах.
10. ЕБС (Единая биометрическая система) - это российская цифровая платформа для дистанционной биометрической идентификации граждан РФ.
11. СУБД (Система управления базами данных) - специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.
В рамках дипломной работы был разработан прототип портала агрегации финансовых услуг, интегрируемый с финансовыми институтами через Open API.
В процессе выполнения дипломной работы были решены следующие задачи:
• Исследована предметная область: изучены существующие концепции, определены факторы и требования реализации;
• Разработана схема аутентификации в соответствии с требованиями предметной области;
• Спроектирована архитектура системы в соответствии с требованиями предметной области;
• Разработан веб-портал для отображения финансовых продуктов;
• Разработать прототип системы банка, интегрируемый с платформой через Open API;
• Разработана концепция подтверждения пользователем выполняемых операций.
1. Paolo Malinverno, Joanne Pollitt, Mark O'Neill. Исследование «Hype Cycle for Open Banking», 2018 [Электронный ресурс]. - Режим доступа: https://www.gartner.com/en/documents/3884672
2. Центробанк РФ. Описание системы «Market Place», [Электронный ресурс]. - Режим доступа: https://www.cbr.ru/finmarket/market place/
3. Центробанк РФ. «Основные направления развития финансовых технологий на период 2018-2020 годов», [Электронный ресурс]. - Режим доступа: http://regulation.nprts.ru/ru/upload/on 2018 2020.pdf
4. Open Banking Standard», [Электронный ресурс]. - Режим доступа: https://www.openbanking.org.uk/providers/standards/
5. Rahul Narain, Alex Merrill, Eric Lesser.Исследование «Evolution of the API economy», 2019 [Электронный ресурс]. - Режим доступа: https://www.ibm.com/downloads/cas/XG8RYO63
6. Payments Strategy Forum. Доклад «Unlocking the potential of open banking to
improve competition, efficiency and stimulate innovation», 2017 [Электронный ресурс]. - Режим доступа:
https://www.paymentsforum.uk/sites/default/files/documents/Background%20 Document%20No.%202%20-
%20The%20Open%20Banking%20Standard%20-%20Full%20Report.pdf
7. Roy Thomas Fielding. Диссертация, «Architectural Styles and the Design of
Network-based Software Architectures», 2000 [Электронный ресурс]. - Режим доступа:
https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding dissertation.pdf
8. OpenID Connect, Документация, 2019 [Электронный ресурс]. Режим доступа: https://openid.net/connect/
9. IdentityServer4, Документация, 2016 [Электронный ресурс]. Режим доступа: http://docs.identityserver.io/en/latest/index.html
10. React JS, Документация, 2019 [Электронный ресурс]. Режим доступа: http://docs.identityserver.io/en/latest/index.html ll.Swagger, Докумнтация, 2019 [Электронный ресурс].Режим доступа: https://swagger.io/docs/
12. ASP .NET Core 2.1 Web API 2019, Документация [Электронный ресурс]. Режим доступа: https://docs.microsoft.com/ru-ru/aspnet/?view=aspnetcore- 2.1#pivot=core
13. AutoMapper, 2017, Документация [Электронный ресурс]. Режим доступа: http://docs.automapper.org/en/stable/index.html