Применение трехуровневой (трехзвенной) архитектуры при построении платежных систем

Автор: Богомазов М.М.

Журнал: Теория и практика современной науки @modern-j

Статья в выпуске: 12-1 (18), 2016 года.

Бесплатный доступ

Статья посвящена описанию и особенностям применения трехуровневой архитектуры в построении платежных систем. Достоинства и недостатки архитектуры в целом. Рассмотрены основные проблемы и требования к конечной системе.

Трехуровневая архитектура, базы данных, сервер приложений, платежная система

Короткий адрес: https://sciup.org/140267685

IDR: 140267685

Текст научной статьи Применение трехуровневой (трехзвенной) архитектуры при построении платежных систем

В настоящее время разрабатывается и успешно внедряется все большое количество систем с трехуровневой архитектурой. Вся система в совокупности состоит из 3х компонентов: клиентского приложения, сервера приложений и сервера баз данных (далее БД). Самыми главными преимуществами такого похода являются: масштабирование системы на уровне сервера приложений и увеличении пула соединений, отличная конфигурируемость за счет возможности изолирования уровней друг от друга, повышенная производительность сервера баз данных и независимость в выборе производителя системы управления базами данных, повышенная безопасность по сравнения с двухуровневой архитектурой за счет размещения аутентификации на сервере приложений, централизованная настройка и управление.

Несмотря на свои достоинства, данный подход имеет и свои недостатки. Первый – выигрыш в производительности будет получен лишь в «больших» системах, рассчитанных на большое количество операций. Второй недостаток – это высокие требования к производительности сервера приложений и сервера БД. А, как известно, такое оборудование отличается высокой стоимостью. Так же при увеличении масштаба системы будет возрастать сложность ее администрирования.

Построение платежной системы на трехуровневой архитектуре является не простой задачей, необходимо:

  •    Разработать OLTP-приложение для клиентской и серверной части (транзакционная система)

  •    Разработать транспорт взаимодействия сервера приложений и терминалов для передачи информации в интегрированные системы

  •    Правильно настроить соединение между сервером приложений и сервером баз данных

  •    Обеспечить бесперебойную работу БД с возможностью перехода на резервную схему взаимодействия

Клиентское приложение должно работать на любом устройстве с возможностью выхода в интернет. Таким образом, используя одинаковый подход в написании клиентской части для разных платформ, повысится количество пользователей. Трехуровневая система обладает низким требованием к скорости передачи данных между клиентом и сервером приложений, а OLTP удовлетворяет данное требование небольшими по размерам транзакциями.

Текущая ситуация на рынке позволяет выбрать сервер приложений под конкретные задачи. Для сравнительно небольших предприятий целесообразно использование Apache Tomcat, SUN GlassFish и д.р. Для крупных – IBM Websphere, Oracle WebLogic.

Взаимодействие БД и сервера приложений может осуществляться с помощью драйвера JDBC или аналогичных способов взаимодействия. При этом необходимо создать пул свободных соединений между БД и сервером приложений, а также предусмотреть повторное использование освободившихся соединений. Данное решение поможет снизить среднее время отклика системы в целом.

Необходимо применение механизма обработки распределенных транзакций – монитора транзакций, взаимодействующего с СУБД по протоколу XA. Это связано с тем, что клиентское приложение, использующее в рамках одной транзакции несколько служб нулевого уровня, фактически работает с базой данных по нескольким независимым соединениям. Без применения специальных программных средств, все операции, выполняемые различными службами нулевого уровня, окажутся в различных транзакциях СУБД, а значит, будут невидимы друг другу.

Для аналитической выборки предлагается использовать резервную схему БД с репликацией раз в 2 дня. Это снизит нагрузку на «промышленную» базу, а так же позволит пользователям выгружать данные в несколько потоков, что уменьшит время на получение необходимой информации.

Практическая ценность применения данного решения заключается в том, что выпуск системы состоится в относительно короткие сроки, т.е. уменьшится ее время выхода на рынок (time-to-market). В простейших конфигурациях все компоненты или часть из них могут быть совмещены на одном вычислительном узле. Впоследствии систему можно перенести на более мощные вычислительные узлы для сервера баз данных или кластер серверов баз данных, для серверов приложений — выделенные группы вычислительных узлов и горизонтально масштабировать программный комплекс без внесения изменений в программный код приложений.

Список литературы Применение трехуровневой (трехзвенной) архитектуры при построении платежных систем

  • Зыков С.В., Основы проектирования корпоративных систем, 2012.
  • Oracle XA. Oracle8i Application Developer's Guide - Fundamentals Release 8.1.5.
  • Муссин К.М., Платежные технологии. Системы и инструменты, 2015.
Статья научная