Upload
rudolf
View
92
Download
4
Tags:
Embed Size (px)
DESCRIPTION
BANKING INFORMATION SYSTEMS. Трансформация интерфейса ABL приложения без его переписывания. Сергей Климов Системный архитектор Банковские информационные системы. О компании. Банковские Информационные Системы (БИС) Основана в 1991 - PowerPoint PPT Presentation
Citation preview
BANKINGINFORMATIONSYSTEMS
Трансформация интерфейса ABL приложения без его переписывания
Interface transformation without rewriting code
Сергей Климов Системный архитектор
Банковские информационные системы
BANKINGINFORMATIONSYSTEMS
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
Банковские Информационные Системы (БИС) Основана в 1991 Предлагает полный спектр прикладных
информационных решений для банков Является партнером ведущих поставщиков ПО ―
Progress Software, Oracle, IBM, Microsoft, Serena Software, Intalio и другие
Клиентами компании являются ведущие российские и международные банки ВТБ -24, Уралсиб, Bank Societe Generale Vostok, Bank Inteza и другие
О компании
BANKINGINFORMATIONSYSTEMS
Рефинансирование ипотеки
Материальные запасы
Склад
Аккредитивы
Базовый (РКО)
Администрирование
Операционная касса
Частные вклады
Пластиковые карты
Кредиты и депозиты
Бюджетирование
Хозяйственные
договоры
Предкредитная
обработка
Векселя
Корреспондентские
отношения
Денежный
рынок
Фондовый рынок
Налоговый учетУчет
депозита
рных
операций
Факторинг
Основные средства
Валютный рынок
Нематери
альные
активы
Обмен с бюро
кредитных историй
О компании
Дистанционное
банковское
обслуживание
Казначейство
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
Сергей Климов Разрабатываю на PROGRESS с 1995 (V7)
Автор
• KSV Editor – улучшенный ABL редактор http://herohog.com/ksveditor
• KsvPlugin for OpenEdge Architect – http://www.oehive.org/project/KsvPlugin
Обо мне
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
План
Почему нам нужно трансформировать интерфейс приложенийТрадиционные способы трансформации
Что такое БИС трансформер?
BANKINGINFORMATIONSYSTEMS
Почему нам нужно трансформировать интерфейс приложений
Старая бизнес-система
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Почему нам нужно трансформировать интерфейс приложений
Мы хотим, чтобы все выглядело круто!
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Почему нам нужно трансформировать интерфейс приложений
Наши клиенты имеют проблемы, работая с устаревшим TTY интерфейсом
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Мы хотим, чтобы наши клиенты были счастливее и более
продуктивны с нашим современным графическим интерфейсом
Почему нам нужно трансформировать интерфейс приложений
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
План
Почему нам нужно трансформировать интерфейс приложений
Традиционные способы трансформацииЧто такое БИС трансформер?
BANKINGINFORMATIONSYSTEMS
Традиционные способы трансформации
Разработка новой системы Рефакторинг старой системы
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Слой данных
Бизнес логика
UI
Старая система
Традиционные способы трансформацииПереход к 3-х звенной архитектуре
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
GUI
TTY
UIСлой данных
Бизнес логика
Традиционные способы трансформацииДобавление GUI
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
WEB
Mobile
TTY
Слой данных
Бизнес логика
GUI
UI
Традиционные способы трансформацииДобавление других UI
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Классический GUI + OCX Новый GUI Open Client WebSpeed
Традиционные способы трансформации Какие опции есть для ABL приложений
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
RPC вызов
GUI приложение OE AppServer
Традиционные способы трансформации Какие опции есть для ABL приложений
Interface transformation without rewriting code
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
Плюсы Улучшенная архитектура Улучшенный интерфейс
Минусы Требует массу ресурсов – времени, людей, денег Высокий риск неудачи Многие ограничения старой архитектуры будут
сохранены в новой архитектуре
Традиционные способы трансформацииПлюсы и минусы рефакторинга
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
План
Почему нам нужно трансформировать интерфейс приложений
Традиционные способы трансформации
Что такое БИС трансформер?
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
Монолитное TTY приложение Более 2-х миллионов строк отменного «спагетти»
кода Почти никакой документации и никаких юнит тестов Никакой поддержки других языков Никаких ресурсов для рефакторинга
Что такое БИС трансформер?Наша начальная позиция
BANKINGINFORMATIONSYSTEMS
FILL-IN 1
FILL-IN 5
FILL-IN 6
Frame A
FILL-IN 3
Frame B
FILL-IN 2
Что такое БИС трансформер?Организация UI
FILL-IN 4
Interface transformation without rewriting code
Widg = FRAME a:HANDLE:FIRST-CHILD:FIRST-CHILD.
DO WHILE VALID-HANDLE(Widg):…Widg = Widg:NEXT-SIBLING.
END.
BANKINGINFORMATIONSYSTEMS
Interface transformation without rewriting code
Frame AFrame A
FILL-IN 2
FILL-IN 1
FILL-IN 3
FILL-IN 4
Frame BFrame B
FILL-IN 5
FILL-IN 6
Что такое БИС трансформер?Организация UI<?xml version="1.0">
<WIDGET HANDLE="306975" NAME="FRAME-A" TYPE="FRAME"> <SIDE-LABELS>yes</SIDE-LABELS> <WIDGET HANDLE="306990" NAME="FILL-IN-1" TYPE="FILL-IN"> <ROW>1</ROW> <SENSITIVE>yes</SENSITIVE> </WIDGET> <WIDGET HANDLE="306992" NAME="FILL-IN-2" TYPE="FILL-IN"> </WIDGET> <WIDGET HANDLE="306975" NAME="FRAME-B" TYPE="FRAME"> <SIDE-LABELS>yes</SIDE-LABELS> <WIDGET HANDLE="406990" NAME="FILL-IN-5" TYPE="FILL-IN"> <ROW>1</ROW> <SENSITIVE>yes</SENSITIVE> </WIDGET> <WIDGET HANDLE="406992" NAME="FILL-IN-6" TYPE="FILL-IN"> </WIDGET> </WIDGET></WIDGET>
BANKINGINFORMATIONSYSTEMS
Инициализация формы
Ожидание события от пользователя
Есть ли событие?
Запуск триггера
«Последнее» событие?
Конец
Нет
WAIT-FOR
Interface transformation without rewriting code
Нет
Да
Да
Что такое БИС трансформер?Организация UI
BANKINGINFORMATIONSYSTEMS
Инициализация формы
Получение и отправка данных формы
Есть ли данные?
Запуск триггера
«Последнее»событие?
Да
Нет
Да
Нет
Усовершенствованный
WAIT-FOR
Ожидание данных от формы
Применение данныхПрименение данных
Получение и отправка данных формы
Interface transformation without rewriting code
Конец
Ожидание данных от формы
Что такое БИС трансформер?Модификация UI
BANKINGINFORMATIONSYSTEMS
Получение данных формы
Отправка данных
Ожидание данных
Применение данных
Запуск триггеров
Interface transformation without rewriting code
Процедура получения данных формы
SOCKET объект
WAIT-FOR READ-RESPONSE
Процедура установки атрибутов виджетов
APPLY
Что такое БИС трансформер?Как сделать усовершенствованный WAIT-FOR
BANKINGINFORMATIONSYSTEMS
Данные формы и события
RPC вызов
GUI приложение OE AppServer
Данные формы в XML
Interface transformation without rewriting code
Что такое БИС трансформер?Усовершенствованная архитектура
BANKINGINFORMATIONSYSTEMS
_proapsv
_progres -b
OE AppServerагент
• ENABLE / DISABLE не работают
• Некоторые атрибуты виджетов не доступны, например SENSITIVE & CHECKED
• BROWSE не поддерживается совсем
• Много других мелких недостатков
Interface transformation without rewriting code
Что такое БИС трансформер?Недостатки сервера приложений
BANKINGINFORMATIONSYSTEMS
Можно поменять логику вашего приложения, чтобы избавиться от «неподдерживаемого» кода
Можно разработать свой собственный сервер приложений
Interface transformation without rewriting code
Что такое БИС трансформер?Как преодолеть недостатки сервера приложений
но PROGRESS Software уже сделала это для нас
Поприветствуем WebSpeed!
BANKINGINFORMATIONSYSTEMS
Данные формы и события
RPC вызов
GUI приложение OE WebSpeed Server
Данные формы в XML
OE AppServer
IPC вызов
Interface transformation without rewriting code
Что такое БИС трансформер?Усовершенствованная архитектура v.2.00
BANKINGINFORMATIONSYSTEMS
Данные формы и события
Web запрос
Данные формы в XML
Interface transformation without rewriting code
GUI приложение
OE WebSpeed Server
Что такое БИС трансформер?Усовершенствованная архитектура v.3.00
BANKINGINFORMATIONSYSTEMS
{wait_for.i &THIS_FRAME = "<frame name>"&EXTEXT = “<options for WAIT-FOR>"
}
Interface transformation without rewriting code
/* Обычный код, который выглядит так */WAIT-FOR GO OF FRAME fMain.
/* ...превращается в такой */{wait_for.i
&THIS_FRAME = “fMain” &EXTEXT = “GO OF FRAME fMain”}
Что такое БИС трансформер?Как выглядит усовершенствованный WAIT-FOR?
BANKINGINFORMATIONSYSTEMS
- Что?! Мы должны делать это вручную?!
Interface transformation without rewriting code
- Нет. Расслабьтесь!Мы можем это
сконвертировать!
Что такое БИС трансформер?Как заменить обычный WAIT-FOR на усовершенствованный?
https://teamtrack.bis.ru/wshtm/conv.htm
BANKINGINFORMATIONSYSTEMS
bloddABL делает всю работу на стороне WebSpeed сервера
bloddConverter превращает обычный код в усовершенствованный
bloddAdapter общается с WebSpeed на стороне клиента
bloddPainter рисует и управляет UI на стороне клиента
Interface transformation without rewriting code
Что такое БИС трансформер?
бизнес логика на разных десктопахblodd – Business Logic On Different Desktops
BANKINGINFORMATIONSYSTEMS
То, что выглядело так…
Interface transformation without rewriting code
Что такое БИС трансформер?
BANKINGINFORMATIONSYSTEMS
… сейчас выглядит вот так!
Interface transformation without rewriting code
Что такое БИС трансформер?
BANKINGINFORMATIONSYSTEMS
Вы можете использовать любую GUI/web/mobile платформу
Поддержка разных языков XSLT Если все еще хотите рефакторинг, вы можете начать с
blodd трансформации
Interface transformation without rewriting code
Что такое БИС трансформер?Дополнительные преимущества
BANKINGINFORMATIONSYSTEMS
Архитектура остается той же самой Ограниченный UI Проблемы с производительностью Проблемы с конфигурацией сети Ошибки в работе SOCKET
Interface transformation without rewriting code
Что такое БИС трансформер?А в чем проблемы?
BANKINGINFORMATIONSYSTEMS
СПАСИБО!
Skype: bulkloddE-mail: [email protected]Тел.: +7 495 780 3773
ВОПРОСЫ?
Interface transformation without rewriting code