ݺߣ

ݺߣShare a Scribd company logo
АБС
20 лет внутренней разработки
Обо мне
● Опыт работы 10+ лет
● Участвовал в создании enterprise софта
(BPEL, J2EE, все дела)
● Ощутил прелести легковесной разработки
на фрилансе и в маленькой компании
(Python, Django)
● 3 года работал в Банке и вернулся туда
(я могу сравнивать :)
Автоматизация бэк-офиса
Уходящая эпоха
Банк 1.0
АБС
Работает с 1993 года
Клиент - Сервер
Oracle + MFC/Winforms
~ 25 mb PL/SQL
~ NNN mb C++ и C#
~ сотни тысяч операций в день
~ 3 миллиарда строк (в самой большой таблице)
Disclaimer
Я не автор этой системы
Все услышанное вами только вы можете
использовать против вас
Что такое банковская система?
План счетов
● комиссии
● вклады
● кредиты
● обмен с внешними системами
● отчетность
● Управление активами
● Залоги
● и т.д.
Первый шаг
Перевод денег
credit_acc.amount -= amount
debit_acc.amount += amount
Главные проблемы
● Блокировки
● Найти счет по кредиту
● Найти счет по дебиту
● Посчитать сумму
Блокировки?
очередь задач
● Отказ от online обработки
● Один worker
● Управление приоритетами (эмн)
+ Простое решение
+ Доступность актуальных остатков
+ Не привязаны к опердню
– Отказ от online обработки
Данные
Государство,
подкинуло проблем,
….
Многоуровневая архитектура?
???
На самом деле
Прочитать
Сохранить
И где-то в коде сделать
if … then
CRUD
Но у нас: С++ и PL/SQL с логикой на PL/SQL
Entity-Attribute-Value
Теперь можно признаться
Бизнес-Логика
Для всех платежных документов
● Проверить
● Возможно зачислить на другой счет
● Создать на их основе другие
документы
~ 200 правил, ~ 2000 условий
Бизнес-Логика и EAV
Корректность контролируется триггером
Компилируется в PL/SQL
На практике
Пишите код так, как будто
сопровождать его будет склонный к
насилию психопат, который знает,
где вы живете.
На практике
● Не хватает аккуратности
● Не хватает качественного кода
○ Стиль
○ Обработка ошибок
● Не хватает хорошего современного UI
○ DRY
● Не хватает ряда высокоуровневых
решений
■ Зависимость между задачами
Спасибо
Вопросы?

More Related Content

абс 20 лет внутренней разработки