1 / 37

Трансформация интерфейса ABL приложения без его переписывания

BANKING INFORMATION SYSTEMS. Трансформация интерфейса ABL приложения без его переписывания. Сергей Климов Системный архитектор Банковские информационные системы. О компании. Банковские Информационные Системы (БИС) Основана в 1991

rudolf
Télécharger la présentation

Трансформация интерфейса ABL приложения без его переписывания

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BANKING INFORMATION SYSTEMS Трансформация интерфейса ABL приложения без его переписывания Сергей Климов Системный архитектор Банковские информационные системы Interface transformation without rewriting code

  2. О компании Банковские Информационные Системы (БИС) • Основана в 1991 • Предлагает полный спектр прикладных информационных решений для банков • Является партнером ведущих поставщиков ПО ― ProgressSoftware, Oracle, IBM, Microsoft, SerenaSoftware, Intalioи другие • Клиентами компании являются ведущие российские и международные банки ВТБ-24, Уралсиб, Bank SocieteGeneraleVostok, Bank Intezaи другие Interface transformation without rewriting code

  3. О компании Казначейство Базовый (РКО) Денежный рынок Валютный рынок Фондовый рынок Хозяйственные договоры Пластиковые карты Налоговый учет Кредиты и депозиты Обмен с бюро кредитных историй Учет депозитарных операций Администрирование Корреспондентские отношения Векселя Материальные запасы Частные вклады Основные средства Бюджетирование Предкредитная обработка Операционная касса Дистанционное банковское обслуживание Аккредитивы Рефинансирование ипотеки Факторинг Нематериальные активы Склад Interface transformation without rewriting code

  4. Обо мне Сергей Климов • Разрабатываю на PROGRESS с 1995 (V7) • Автор • KSV Editor – улучшенный ABL редакторhttp://herohog.com/ksveditor • KsvPlugin for OpenEdge Architect – http://www.oehive.org/project/KsvPlugin Interface transformation without rewriting code

  5. План Почему нам нужно трансформировать интерфейс приложений Традиционные способы трансформации Что такое БИС трансформер? Interface transformation without rewriting code

  6. Почему нам нужно трансформировать интерфейс приложений Старая бизнес-система Interface transformation without rewriting code

  7. Почему нам нужно трансформировать интерфейс приложений Мы хотим, чтобы все выглядело круто! Interface transformation without rewriting code

  8. Почему нам нужно трансформировать интерфейс приложений Наши клиенты имеют проблемы, работая с устаревшим TTY интерфейсом Interface transformation without rewriting code

  9. Почему нам нужно трансформировать интерфейс приложений Мы хотим, чтобы наши клиенты были счастливее и более продуктивны с нашим современным графическим интерфейсом Interface transformation without rewriting code

  10. План Почему нам нужно трансформировать интерфейс приложений Традиционные способы трансформации Что такое БИС трансформер? Interface transformation without rewriting code

  11. Традиционные способы трансформации • Разработка новой системы • Рефакторинг старой системы Interface transformation without rewriting code

  12. Традиционные способы трансформации Переход к 3-хзвенной архитектуре Старая система Слой данных UI Бизнес логика Interface transformation without rewriting code

  13. Традиционные способы трансформации Добавление GUI UI GUI Слой данных TTY Бизнес логика Interface transformation without rewriting code

  14. Традиционные способы трансформации Добавление других UI Mobile WEB UI Слой данных GUI TTY Бизнес логика Interface transformation without rewriting code

  15. Традиционные способы трансформации Какие опции есть для ABL приложений • КлассическийGUI + OCX • Новый GUI • Open Client • WebSpeed Interface transformation without rewriting code

  16. Традиционные способы трансформации Какие опции есть для ABL приложений RPC вызов GUI приложение OE AppServer Interface transformation without rewriting code

  17. Традиционные способы трансформации Плюсы иминусы рефакторинга Плюсы • Улучшенная архитектура • Улучшенный интерфейс Минусы • Требует массу ресурсов – времени, людей, денег • Высокий риск неудачи • Многие ограничения старой архитектуры будут сохранены в новой архитектуре Interface transformation without rewriting code

  18. План Почему нам нужно трансформировать интерфейс приложений Традиционные способы трансформации Что такое БИС трансформер? Interface transformation without rewriting code

  19. Что такое БИС трансформер? Наша начальная позиция • Монолитное TTY приложение • Более 2-х миллионов строк отменного «спагетти» • кода • Почти никакой документации и никаких юнит тестов • Никакой поддержки других языков • Никаких ресурсов для рефакторинга Interface transformation without rewriting code

  20. Что такое БИС трансформер? Организация UI Frame A FILL-IN 1 FILL-IN 3 Widg = FRAME a:HANDLE:FIRST-CHILD:FIRST-CHILD. DO WHILE VALID-HANDLE(Widg): … Widg = Widg:NEXT-SIBLING. END. FILL-IN 2 FILL-IN 4 FrameB FILL-IN 5 FILL-IN 6 Interface transformation without rewriting code

  21. Что такое БИС трансформер? Организация 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> Frame A FILL-IN 1 Frame B FILL-IN 2 FILL-IN 3 FILL-IN 5 FILL-IN 4 FILL-IN 6 Interface transformation without rewriting code

  22. Что такое БИС трансформер? Организация UI Инициализация формы Нет Ожидание события от пользователя Нет «Последнее» событие? Есть ли событие? WAIT-FOR Да Запуск триггера Да Конец Interface transformation without rewriting code

  23. Что такое БИС трансформер? Модификация UI Инициализация формы Получение и отправка данных формы Получение и отправка данных формы Нет Ожидание данных от формы Ожидание данных от формы «Последнее» событие? Нет Есть ли данные? Усовершенствованный WAIT-FOR Да Применение данных Применение данных Да Запуск триггера Конец Interface transformation without rewriting code

  24. Что такое БИС трансформер? Как сделать усовершенствованныйWAIT-FOR • Процедураполучения данных формы • SOCKET объект • WAIT-FOR READ-RESPONSE • Процедураустановки атрибутов виджетов • APPLY Получение данных формы Отправка данных Ожидание данных Применение данных Запуск триггеров Interface transformation without rewriting code

  25. Что такое БИС трансформер? Усовершенствованная архитектура RPC вызов Данные формы в XML Данные формы и события GUI приложение OE AppServer Interface transformation without rewriting code

  26. Что такое БИС трансформер? Недостатки сервера приложений OE AppServer агент _proapsv • ENABLE / DISABLE не работают • Некоторые атрибуты виджетов не доступны, например SENSITIVE&CHECKED • BROWSEне поддерживается совсем • Много других мелких недостатков _progres -b Interface transformation without rewriting code

  27. Что такое БИС трансформер? Как преодолеть недостатки сервера приложений но PROGRESS Software уже сделала это для нас Поприветствуем WebSpeed! • Можно поменять логику вашего приложения, чтобы избавиться от «неподдерживаемого» кода • Можно разработать свой собственный сервер приложений Interface transformation without rewriting code

  28. Что такое БИС трансформер? Усовершенствованная архитектура v.2.00 OE AppServer RPC вызов IPC вызов OE WebSpeed Server GUI приложение Данные формы в XML Данные формыи события Interface transformation without rewriting code

  29. Что такое БИС трансформер? Усовершенствованная архитектура v.3.00 Web запрос Данные формы в XML Данные формы и события GUI приложение OE WebSpeed Server Interface transformation without rewriting code

  30. Что такое БИС трансформер? Как выглядит усовершенствованный WAIT-FOR? /* Обычный код, который выглядит так */ WAIT-FOR GO OF FRAME fMain. /* ...превращается в такой */ {wait_for.i &THIS_FRAME = “fMain” &EXTEXT = “GO OF FRAME fMain”} {wait_for.i &THIS_FRAME = "<frame name>" &EXTEXT = “<options for WAIT-FOR>" } Interface transformation without rewriting code

  31. Что такое БИС трансформер? Как заменить обычный WAIT-FOR на усовершенствованный? - Нет. Расслабьтесь! Мы можем это сконвертировать! https://teamtrack.bis.ru/wshtm/conv.htm - Что?! Мы должны делать это вручную?! Interface transformation without rewriting code

  32. Что такое БИС трансформер? бизнес логика на разных десктопах blodd – Business Logic On Different Desktops • bloddABLделает всю работу на стороне WebSpeed сервера • bloddConverterпревращает обычный код в усовершенствованный • bloddAdapterобщается с WebSpeed на стороне клиента • bloddPainterрисует и управляет UI на стороне клиента Interface transformation without rewriting code

  33. Что такое БИС трансформер? То, что выглядело так… Interface transformation without rewriting code

  34. Что такое БИС трансформер? … сейчас выглядит вот так! Interface transformation without rewriting code

  35. Что такое БИС трансформер? Дополнительные преимущества • Вы можете использовать любую GUI/web/mobile платформу • Поддержка разных языков • XSLT • Если все еще хотите рефакторинг, вы можете начать с bloddтрансформации Interface transformation without rewriting code

  36. Что такое БИС трансформер? А в чем проблемы? • Архитектура остается той же самой • Ограниченный UI • Проблемы с производительностью • Проблемы с конфигурацией сети • Ошибки в работе SOCKET Interface transformation without rewriting code

  37. ВОПРОСЫ? СПАСИБО! Skype: bulklodd E-mail: ksv@bis.ru Тел.: +7 495 780 3773 Interface transformation without rewriting code

More Related