1 Особенности интеграции в «БЫСТРЫХ» проектах ХIII Форум разработчиков ИБС,17-18 сентября 2007 Феофилактов Дмитрий Директор по технологиям ФОРС – Банковские Системы
2 Особенности проекта Тинькофф Сжатые сроки Объявлена дата запуска – 15 мая 2007 (½ года до старта) Банк – монолайнер (кредитные карты) НО: Наличие обслуживаемых клиентов (ЮЛ) Высокие требования к гибкости ПО, производительности и масштабируемости Старт – практически с нуля Нет Программного Обеспечения Нет Аппаратного Обеспечения Нет специалистов
3 Проблема выбора ПО Карточный модуль АБС CRMАналитика Функциональность Базовая Возможность доработки Производительность Экспресс-анализ рынка ПО показал: НЕТ такой ОДНОЙ системы на Российском рынке
4 Выбор ПО Карточный модуль АБС CRMАналитика Унификация платформ Отсутствие специалистов Простота обслуживания Проще интегрировать Наличие ресурсов для внедрения доработок The best of breed в условиях проекта PRIME (TSYS) Siebel (ORACLE) SAS Ва-Банк XL (ФОРС-БС)
5 «Правильная» интеграция Карточный модуль АБС CRMАналитика PRIME (TSYS) Siebel (ORACLE) SAS Ва-Банк XL (ФОРС-БС) ORACLE Enterprise Service BUS ORACLE Customer Data HUB Адаптер Нет подтверждений о возможности запуска Oracle ESB и CD HUB за ½ года для такого количества систем Ноябрь 2006
6 Обмен информацией Прямые вызовы API (через DB-Link) Через буферные таблицы в БД Web-services XML файлы Обычные файлы ПО промежуточного слоя
7 «Реальная» интеграция Карточный модуль АБС CRMАналитика PRIME (TSYS) Siebel (ORACLE) SAS Ва-Банк XL (ФОРС-БС) Function API Web Services XML файлы ORACLE DB Customer HUB
8 Обмен XML файлами Siebel PRIME Файл- сервер XML Сервера приложений Протоколы Верификация, Разбор XML PL/SQL API БД Oracle Prime XML Bridge
9 Подход разработчиков ПО Интерфейс выгрузки Интерфейс Загрузки Модуль Базовые Интерфейсы «старого» типа Function API Новые Интерфейсы XML файлы Web services Модуль Разработка 5 ÷ 10 -ти летней давности Ядро системы Модуль
10 Стандартный интерфейс Siebel OCR Задержки по ВРЕМЕНИ XML XSD
11 Знание собственной системы 1 Согласован и подписан PDP PRIMEВа-Банк XL Что оказалось в реальности 9 9 ?
12 Производительность SQL SELECT … FROM T1, T2, T3,... T45 WHERE … Siebel Встроенный Генератор SQL И как этот SQL можно оптимизировать? 270 колонок 45 таблиц 47 условий
13 Производительность - II Siebel Интерпретатор Кода Найти персону по последним 8-ми цифрам кредитной карты и контрольному слову Код (а-ля QBE) Person.Card.NO = % Person.SecurityWord = att1 … Person.Find() Максимальная детализация для ускорения поиска ~ 30 секунд на поиск (из 400 персон) Реконструированный (по журналу) порядок исполнения Цикл по всем персонам { Person.Card.NO ? % Person.SecurityWord ? att1... } AVAYA
14 Рекомендации Необходимы доработки систем силами поставщиков («Стандартных» интерфейсов не достаточно) Унификация платформ – всегда полезна для проекта (на момент запуска в банке был ОДИН DBA) Сотрудники не всегда знают в деталях свои системы. Документация всегда опаздывает Производительный интерфейс можно сделать только вручную. Чем меньше в нём слоёв – тем лучше Для старых систем лучше использовать Function API а не XML К «Правильной» интеграции нужно стремиться, но стартовать лучше на опробованных технологиях
15 Вопросы и ответы С П А С И Б О !