SlideShare une entreprise Scribd logo
1  sur  17
Одесская Java UserGroup




Enterprise or not to enterprise
Роман Сафронов
Руководит ель проект а Clie nt Data




July 17, 2012
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Мифы об enterprise-разработке
Enterprise or not to enterprise

• Все медленно

• Скучно и однообразно

• Используются устаревшие технологии

• Никто не следит за качеством кода

• В основе всегда лежат проприетарные компоненты

• На кодирование уходит меньше времени, чем на
  “бюрократию”
• Это сплошной багфиксинг!


                                                                                                                                                     2
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Пример проекта класса enterprise
Enterprise or not to enterprise

• > 1 миллиона строк кода

• > 1 террабайта данных

• 20+ компонентов

• 50+ разработчиков Java

• 10+ разработчиков баз данных

• 30+ QA-инженеров

• География: Лондон, Бангалор, Москва, Киев, Одесса

• Пользователи во всех крупных странах мира

• Набор “тяжелых” коммерческих компонентов: IBM Websphere, IBM ILOG JRules,
  Oracle Database, Oracle GoldenGate, Informatica PowerCenter, Informatica Master
  Data Management, Tibco EMS, CA SiteMinder, Business Objects reporting



                                                                                                                                                                3
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Особенности разработки в enterprise
Enterprise or not to enterprise

• Большое количество внешних зависимостей
  – Необходимость интеграции с существующими системами (в том числе и legacy)
  – Зависимость на внешние сервисы (виртуальные машины, сетевая инфраструктура,
    сервера приложений)
  – Зависимости на внешние команды (поддержка, аналитика)


• Приоритет клиента – стабильность
  – Ограничение на выбор технологий при построении новых компонентов
  – Длительные фазы SIT и UAT


• Специфика бизнес-домена
  – Ограничение доступа к данным
  – Фиксированные даты выпуска нового функционала



                                                                                                                                                               4
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Типы приложений
Enterprise or not to enterprise

• Хранилище мастер-данных

• Система распространения данных

• Интеграция с внешними поставщиками данных

• Автоматизация длительных бизнес-процессов




                                                                                                                                                             5
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Хранилище мастер-данных: enterprise
Enterprise or not to enterprise

                                  • Развертывание только на WebSphere

                                  • Раздельное версионирование и сборка
                                    модулей (EJB, WebApp, WS)
                                  • Установка и конфигурирование
                                    приложения в dev-среде занимает 2 часа
                                  • Потребление памяти при запуске 2 Гб

                                  • Время старта приложения 3-4 минуты

                                  • Жесткое требование Oracle Database EE
                                    (VPD)
                                  • Необходимость использования
                                    распределенных транзакций




                                                                                                                                                          6
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Хранилище мастер-данных: not enterprise
Enterprise or not to enterprise

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

• WSANT + Jenkins = 100% автоматизация сборки и развертывания

• DEV profile
  – Переход на Jetty + WS EJB client позволило сократить потребление памяти до 500 Мб
  – Создание Spring LazуBeanPostProcessor позволило динамически менять “ленивость”
    бинов. Это позволило сократить время старта приложения до 15 секунд

• Переход на Tomcat позволит значительно сократить расходы на инфраструктуру

• Альтернатива Oracle VPD – Hibernate filter

• Альтернатива XA-транзакции между Oracle и Sybase - ChainedTransactionManager




                                                                                                                                                                7
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Система распространения данных
Enterprise or not to enterprise

Функциональность
• публикация в JMS очередь

• Передача сообщения по
  запросу
• Передача срезов
  – Обновления за последние
    сутки
  – Полная выгрузка
  – Выгрузка по условию




                                                                                                                                                 8
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Система распространения данных
Enterprise or not to enterprise

                                  V1                                                                             V2
Протоколы
• Фиксирют формат
  сообщений
• Могут меняться со
  временем
• Папаллельно публикуем
  несколько версий одного
  протокола




                                                                                                                                                      9
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Система распространения данных
Enterprise or not to enterprise

Потребители данных
• Нормальные – никаких
  проблем
• Неповоротливые –
  ограничивают скорость
  публикации
• Ленивые – не хотят
  обновляться на свежие
  версии протоколов




                                                                                                                                               10
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Система распространения данных: enterprise
Enterprise or not to enterprise

• Развертывание сервера приложений

• Приложение распространяется в виде ear

• Используем распределенные транзакции

• Меппинг с помощью Apache Dozer (xml)

• OpenAdaptor в качестве интеграционного фреймворка

• HyperJAXB для генерации объектной модели и схемы БД




                                                                                                                                                          11
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Система распространения данных: not enterprise
Enterprise or not to enterprise

• Нет необходимости в сервере приложений

• Полная автоматизация конфигурпирования и установки

• Автоматический f2b-тест системы после установки

• Локальная транзакция

• Маппинг на Groovy

• Plain java workflow

• Xml + аттрибуты, по которым идет выборка

• Версионирование схемы БД




                                                                                                                                                           12
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Интеграция с внешними поставщиками данных: enterprise
Enterprise or not to enterprise

• Необходимость использования распределенных транзакций

• Необходимость консолидирования данных от нескольких поставщиков с учетом
  уровня доверия по каждому из аттрибутов
• Необходимость осуществления слияния нескольких объектов в случае, если они
  являются дупликатами




                                                                                                                                                          13
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Автоматизация длительных бизнес-процессов: enterprise
Enterprise or not to enterprise
• Если бизнес-процесс включает выполнение активностей в нескольких
  приложениях, то необходимо использовать BPM-системы
• BPM-система выполняет вызовы систем-участников и хранит состояние
  процесса




                                                                                                                                                          14
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Автоматизация длительных бизнес-процессов: enterprise
Enterprise or not to enterprise

• Бизнес-процесс описывается в
  нотации BPMN
• Для осуществления вызовов
  внешних систем могут
  использоваться EJB или веб-
  сервисы




                                                                                                                                               15
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Enterprise or not to enterprise
Enterprise or not to enterprise

• Ускорить приложение возможно за счет введения dev-profile

• Большинство рутинных задач возможно автоматизировать

• Даже устаревшие открытые технологии возможно постепенно
  мигрировать на новые
• Установите жесткую планку по качеству кода и
  автоматизируйте сбор метрик
• Есть случаи, когда использование проприетарных
  компонентов оправдано, важно обеспечить как можно более
  тонкий интерфейс с остальной системой
• Автоматизированы рутинные задачи –> FUN!

                                                                                                                                                16
safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt



Контакты

• Email: roman.safronov@ubs.com

• Skype: roman_safronov




                                                                                                                                               17

Contenu connexe

Tendances

Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationSQALab
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25MoscowJS
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаYandex
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsNikita Lipsky
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Fwdays
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsSQALab
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложенияJohn Wezel
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"IT Event
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Fwdays
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsValentin Fedoskin
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Provectus
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 

Tendances (20)

Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java Applications
 
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложения
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + Jenkins
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 

En vedette

Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experienceAlex Tumanoff
 
Mike ponomarenko java17-fork-v1.2
Mike ponomarenko java17-fork-v1.2Mike ponomarenko java17-fork-v1.2
Mike ponomarenko java17-fork-v1.2Alex Tumanoff
 
Dependency injection with unity 2.0 Dmytro Mindra Lohika
Dependency injection with unity 2.0 Dmytro Mindra LohikaDependency injection with unity 2.0 Dmytro Mindra Lohika
Dependency injection with unity 2.0 Dmytro Mindra LohikaAlex Tumanoff
 
New features of Windows Phone 7.5
New features of Windows Phone 7.5New features of Windows Phone 7.5
New features of Windows Phone 7.5Alex Tumanoff
 
Разработка расширений Firefox
Разработка расширений FirefoxРазработка расширений Firefox
Разработка расширений FirefoxAlex Tumanoff
 

En vedette (6)

Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 
Mike ponomarenko java17-fork-v1.2
Mike ponomarenko java17-fork-v1.2Mike ponomarenko java17-fork-v1.2
Mike ponomarenko java17-fork-v1.2
 
Dependency injection with unity 2.0 Dmytro Mindra Lohika
Dependency injection with unity 2.0 Dmytro Mindra LohikaDependency injection with unity 2.0 Dmytro Mindra Lohika
Dependency injection with unity 2.0 Dmytro Mindra Lohika
 
New features of Windows Phone 7.5
New features of Windows Phone 7.5New features of Windows Phone 7.5
New features of Windows Phone 7.5
 
Разработка расширений Firefox
Разработка расширений FirefoxРазработка расширений Firefox
Разработка расширений Firefox
 
JSF2
JSF2JSF2
JSF2
 

Similaire à Enterprise or not to enterprise

стек сетевых сервисов на базе спо
стек сетевых сервисов на базе спостек сетевых сервисов на базе спо
стек сетевых сервисов на базе споEkaterina Morozova
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийMedia Gorod
 
1 big data oracle digi oct
1 big data oracle digi oct1 big data oracle digi oct
1 big data oracle digi octantishmanti
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...IT-Portfolio
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareMarina Gryshko
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareBAKOTECH
 
Легкий обмен данными с пользователем
Легкий обмен данными с пользователем  Легкий обмен данными с пользователем
Легкий обмен данными с пользователем Медведев Маркетинг
 
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор БогатырёвMinsk PHP User Group
 
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Yandex
 
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...mpk-club
 
Евгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12cЕвгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12cExpolink
 
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализСценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализpcweek_ua
 
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыPavel Veinik
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...BDA
 
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...GeeksLab Odessa
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 

Similaire à Enterprise or not to enterprise (20)

Sky-Dep
Sky-DepSky-Dep
Sky-Dep
 
стек сетевых сервисов на базе спо
стек сетевых сервисов на базе спостек сетевых сервисов на базе спо
стек сетевых сервисов на базе спо
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
 
JD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS serverJD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS server
 
1 big data oracle digi oct
1 big data oracle digi oct1 big data oracle digi oct
1 big data oracle digi oct
 
Sivko
SivkoSivko
Sivko
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
Легкий обмен данными с пользователем
Легкий обмен данными с пользователем  Легкий обмен данными с пользователем
Легкий обмен данными с пользователем
 
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
 
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
 
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...
MПК3 - SDL - Опыт внедрения решений SDL Trados в российских переводческих ком...
 
Евгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12cЕвгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12c
 
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализСценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализ
 
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисы
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
 
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
 

Plus de Alex Tumanoff

Sql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiSql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiAlex Tumanoff
 
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis Reznik
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis ReznikOdessa .net-user-group-sql-server-2019-hidden-gems by Denis Reznik
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis ReznikAlex Tumanoff
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAlex Tumanoff
 
Sdlc by Anatoliy Anthony Cox
Sdlc by  Anatoliy Anthony CoxSdlc by  Anatoliy Anthony Cox
Sdlc by Anatoliy Anthony CoxAlex Tumanoff
 
Kostenko ux november-2014_1
Kostenko ux november-2014_1Kostenko ux november-2014_1
Kostenko ux november-2014_1Alex Tumanoff
 
Java 8 in action.jinq.v.1.3
Java 8 in action.jinq.v.1.3Java 8 in action.jinq.v.1.3
Java 8 in action.jinq.v.1.3Alex Tumanoff
 
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас..."Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...Alex Tumanoff
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevAlex Tumanoff
 
Navigation map factory by Alexey Klimenko
Navigation map factory by Alexey KlimenkoNavigation map factory by Alexey Klimenko
Navigation map factory by Alexey KlimenkoAlex Tumanoff
 
Serialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsSerialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsAlex Tumanoff
 
Игры для мобильных платформ by Алексей Рыбаков
Игры для мобильных платформ by Алексей РыбаковИгры для мобильных платформ by Алексей Рыбаков
Игры для мобильных платформ by Алексей РыбаковAlex Tumanoff
 
Android sync adapter
Android sync adapterAndroid sync adapter
Android sync adapterAlex Tumanoff
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAlex Tumanoff
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey TeplyakovAlex Tumanoff
 
Bdd by Dmitri Aizenberg
Bdd by Dmitri AizenbergBdd by Dmitri Aizenberg
Bdd by Dmitri AizenbergAlex Tumanoff
 
Неформальные размышления о сертификации в IT
Неформальные размышления о сертификации в ITНеформальные размышления о сертификации в IT
Неформальные размышления о сертификации в ITAlex Tumanoff
 
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...Alex Tumanoff
 
Patterns of parallel programming
Patterns of parallel programmingPatterns of parallel programming
Patterns of parallel programmingAlex Tumanoff
 
Lambda выражения и Java 8
Lambda выражения и Java 8Lambda выражения и Java 8
Lambda выражения и Java 8Alex Tumanoff
 

Plus de Alex Tumanoff (20)

Sql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiSql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen Nedaskivskyi
 
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis Reznik
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis ReznikOdessa .net-user-group-sql-server-2019-hidden-gems by Denis Reznik
Odessa .net-user-group-sql-server-2019-hidden-gems by Denis Reznik
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene Polonichko
 
Sdlc by Anatoliy Anthony Cox
Sdlc by  Anatoliy Anthony CoxSdlc by  Anatoliy Anthony Cox
Sdlc by Anatoliy Anthony Cox
 
Kostenko ux november-2014_1
Kostenko ux november-2014_1Kostenko ux november-2014_1
Kostenko ux november-2014_1
 
Java 8 in action.jinq.v.1.3
Java 8 in action.jinq.v.1.3Java 8 in action.jinq.v.1.3
Java 8 in action.jinq.v.1.3
 
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас..."Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...
"Drools: декларативная бизнес-логика в Java-приложениях" by Дмитрий Контрерас...
 
Spring.new hope.1.3
Spring.new hope.1.3Spring.new hope.1.3
Spring.new hope.1.3
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton Vidishchev
 
Navigation map factory by Alexey Klimenko
Navigation map factory by Alexey KlimenkoNavigation map factory by Alexey Klimenko
Navigation map factory by Alexey Klimenko
 
Serialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsSerialization and performance by Sergey Morenets
Serialization and performance by Sergey Morenets
 
Игры для мобильных платформ by Алексей Рыбаков
Игры для мобильных платформ by Алексей РыбаковИгры для мобильных платформ by Алексей Рыбаков
Игры для мобильных платформ by Алексей Рыбаков
 
Android sync adapter
Android sync adapterAndroid sync adapter
Android sync adapter
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey Teplyakov
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
 
Bdd by Dmitri Aizenberg
Bdd by Dmitri AizenbergBdd by Dmitri Aizenberg
Bdd by Dmitri Aizenberg
 
Неформальные размышления о сертификации в IT
Неформальные размышления о сертификации в ITНеформальные размышления о сертификации в IT
Неформальные размышления о сертификации в IT
 
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
 
Patterns of parallel programming
Patterns of parallel programmingPatterns of parallel programming
Patterns of parallel programming
 
Lambda выражения и Java 8
Lambda выражения и Java 8Lambda выражения и Java 8
Lambda выражения и Java 8
 

Enterprise or not to enterprise

  • 1. Одесская Java UserGroup Enterprise or not to enterprise Роман Сафронов Руководит ель проект а Clie nt Data July 17, 2012
  • 2. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Мифы об enterprise-разработке Enterprise or not to enterprise • Все медленно • Скучно и однообразно • Используются устаревшие технологии • Никто не следит за качеством кода • В основе всегда лежат проприетарные компоненты • На кодирование уходит меньше времени, чем на “бюрократию” • Это сплошной багфиксинг! 2
  • 3. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Пример проекта класса enterprise Enterprise or not to enterprise • > 1 миллиона строк кода • > 1 террабайта данных • 20+ компонентов • 50+ разработчиков Java • 10+ разработчиков баз данных • 30+ QA-инженеров • География: Лондон, Бангалор, Москва, Киев, Одесса • Пользователи во всех крупных странах мира • Набор “тяжелых” коммерческих компонентов: IBM Websphere, IBM ILOG JRules, Oracle Database, Oracle GoldenGate, Informatica PowerCenter, Informatica Master Data Management, Tibco EMS, CA SiteMinder, Business Objects reporting 3
  • 4. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Особенности разработки в enterprise Enterprise or not to enterprise • Большое количество внешних зависимостей – Необходимость интеграции с существующими системами (в том числе и legacy) – Зависимость на внешние сервисы (виртуальные машины, сетевая инфраструктура, сервера приложений) – Зависимости на внешние команды (поддержка, аналитика) • Приоритет клиента – стабильность – Ограничение на выбор технологий при построении новых компонентов – Длительные фазы SIT и UAT • Специфика бизнес-домена – Ограничение доступа к данным – Фиксированные даты выпуска нового функционала 4
  • 5. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Типы приложений Enterprise or not to enterprise • Хранилище мастер-данных • Система распространения данных • Интеграция с внешними поставщиками данных • Автоматизация длительных бизнес-процессов 5
  • 6. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Хранилище мастер-данных: enterprise Enterprise or not to enterprise • Развертывание только на WebSphere • Раздельное версионирование и сборка модулей (EJB, WebApp, WS) • Установка и конфигурирование приложения в dev-среде занимает 2 часа • Потребление памяти при запуске 2 Гб • Время старта приложения 3-4 минуты • Жесткое требование Oracle Database EE (VPD) • Необходимость использования распределенных транзакций 6
  • 7. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Хранилище мастер-данных: not enterprise Enterprise or not to enterprise • Нет необходимости использовать раздельное версионирование модулей • WSANT + Jenkins = 100% автоматизация сборки и развертывания • DEV profile – Переход на Jetty + WS EJB client позволило сократить потребление памяти до 500 Мб – Создание Spring LazуBeanPostProcessor позволило динамически менять “ленивость” бинов. Это позволило сократить время старта приложения до 15 секунд • Переход на Tomcat позволит значительно сократить расходы на инфраструктуру • Альтернатива Oracle VPD – Hibernate filter • Альтернатива XA-транзакции между Oracle и Sybase - ChainedTransactionManager 7
  • 8. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Система распространения данных Enterprise or not to enterprise Функциональность • публикация в JMS очередь • Передача сообщения по запросу • Передача срезов – Обновления за последние сутки – Полная выгрузка – Выгрузка по условию 8
  • 9. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Система распространения данных Enterprise or not to enterprise V1 V2 Протоколы • Фиксирют формат сообщений • Могут меняться со временем • Папаллельно публикуем несколько версий одного протокола 9
  • 10. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Система распространения данных Enterprise or not to enterprise Потребители данных • Нормальные – никаких проблем • Неповоротливые – ограничивают скорость публикации • Ленивые – не хотят обновляться на свежие версии протоколов 10
  • 11. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Система распространения данных: enterprise Enterprise or not to enterprise • Развертывание сервера приложений • Приложение распространяется в виде ear • Используем распределенные транзакции • Меппинг с помощью Apache Dozer (xml) • OpenAdaptor в качестве интеграционного фреймворка • HyperJAXB для генерации объектной модели и схемы БД 11
  • 12. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Система распространения данных: not enterprise Enterprise or not to enterprise • Нет необходимости в сервере приложений • Полная автоматизация конфигурпирования и установки • Автоматический f2b-тест системы после установки • Локальная транзакция • Маппинг на Groovy • Plain java workflow • Xml + аттрибуты, по которым идет выборка • Версионирование схемы БД 12
  • 13. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Интеграция с внешними поставщиками данных: enterprise Enterprise or not to enterprise • Необходимость использования распределенных транзакций • Необходимость консолидирования данных от нескольких поставщиков с учетом уровня доверия по каждому из аттрибутов • Необходимость осуществления слияния нескольких объектов в случае, если они являются дупликатами 13
  • 14. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Автоматизация длительных бизнес-процессов: enterprise Enterprise or not to enterprise • Если бизнес-процесс включает выполнение активностей в нескольких приложениях, то необходимо использовать BPM-системы • BPM-система выполняет вызовы систем-участников и хранит состояние процесса 14
  • 15. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Автоматизация длительных бизнес-процессов: enterprise Enterprise or not to enterprise • Бизнес-процесс описывается в нотации BPMN • Для осуществления вызовов внешних систем могут использоваться EJB или веб- сервисы 15
  • 16. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Enterprise or not to enterprise Enterprise or not to enterprise • Ускорить приложение возможно за счет введения dev-profile • Большинство рутинных задач возможно автоматизировать • Даже устаревшие открытые технологии возможно постепенно мигрировать на новые • Установите жесткую планку по качеству кода и автоматизируйте сбор метрик • Есть случаи, когда использование проприетарных компонентов оправдано, важно обеспечить как можно более тонкий интерфейс с остальной системой • Автоматизированы рутинные задачи –> FUN! 16
  • 17. safronro [printed: ____] [saved: July 17, 2012 8:48 PM] P:My DocumentsEnterprise or not to enterprise v0.4.ppt Контакты • Email: roman.safronov@ubs.com • Skype: roman_safronov 17

Notes de l'éditeur

  1. Получает информацию из мастер-систем и распространяет ее пользователям Можно использовать publish-subscribe механизм (например, jms ). Пользователи получают свежие обновления как только они становятся доступны Или request-response. Запрашивать информацию о нужных сущностях. Или выгружать необходимы срезы на периодической основе
  2. Протокол задает формат и содержимое сообщений, которые приходят пользователям Упрощает работу и позволяет планировать изменения Минорные версии протокола обратно-совместимы, мажорные – нет Публикация нескольких версий одного протокола
  3. Пользователи системы накладывают на нее различные ограничения. Например, некоторые потребители не могут обрабатывать слишком много сообщений за единицу времени. Другие не хотят обновляться до новейшей версии протокола (а зачем? У нас все работает). Выход – SLA (поддержка протокола – N лет после релиза, пользователи должны уметь обрабатывать min 100000 сообщений в сутки и т.п.)
  4. Систему можно (и нужно) упрощать Было: ER модель в БД, генерация сообщений по запросу. Стало: Blob + генерация сообщения один раз Стало проще отдавать сообщения Стало сложней делать bulk-update на содержимое БД (например, при нахождении ошибки в upstream) – возникает необходимость перегенерации xml Было: OpenAdaptor, Spring integration как workflow engine. Стало: plain java Compile-time message type checking Меньше xml в проекте Было: XA и распределенные транзакции. Стало: Одна тразакция и очереди. (Взяли с одной, обработали, положили в другую) + SLA – клиенты согласны получать дубликаты Поддержка версионирования схемы БД: flyway + обертка, обновление всех схем одной кнопкой. Поддержка data-fix -ов в БД: scriptella
  5. Систему можно (и нужно) упрощать Было: ER модель в БД, генерация сообщений по запросу. Стало: Blob + генерация сообщения один раз Стало проще отдавать сообщения Стало сложней делать bulk-update на содержимое БД (например, при нахождении ошибки в upstream) – возникает необходимость перегенерации xml Было: OpenAdaptor, Spring integration как workflow engine. Стало: plain java Compile-time message type checking Меньше xml в проекте Было: XA и распределенные транзакции. Стало: Одна тразакция и очереди. (Взяли с одной, обработали, положили в другую) + SLA – клиенты согласны получать дубликаты Поддержка версионирования схемы БД: flyway + обертка, обновление всех схем одной кнопкой. Поддержка data-fix -ов в БД: scriptella