WEB-ификация SAP
Недавно ко мне подошел один из моих сотрудников и задал вопрос: «А что такое аякс?». Вот прямо молодец, ни разу не про САП, не поленился, погуглил, сформировал мнение, пришел удостовериться. Андрюха, молодец! Хвалю. Аякс, это AJAX — технология, которая позволила ускорить интернет в разы. Если раньше информация о каждой страничке, всех ее составляющих формировалась на стороне сервера, заставляла выделить отдельный поток (через старый fork, а не thread), следом по старому протоколу HTTP 1.0 создавалась куча запросов вида клиент-сервер. Все это вываливалось на клиента = браузер, который оголтело начинал разбирать синтаксис полукривого HTML приправленного CSS соусом в неупакованном виде. Каналы перегружены, сервера перегружены, клиенты перегружены. Тотальный перегруз на планете.
И тут один умник придумывает передавать информацию кусочками, только то, что нужно конкретно сейчас, а не вообще. Простой пример — загрузка картинок в гугле в поиске. Вы пишите слово, картинки начинают подгружаться по мере пролистывания страницы вниз. Представьте тоже самое на старой технологии, когда весь интернет загружался бы к вам на компьютер. В те времена трафик еще был по-мегабайтный. Так вот аякс умеет загружать в фоновом режиме только то, что нужно или его намеренно попросили. Переключили вкладку на страничке — быстро сформировался запрос только той информации, которая нужна для этой вкладки. Оформление все отрисуется на клиенте в браузере. Результат — свободный сервер (он отдал минимум информации за короткое время), свободные каналы связи, довольный клиент. Современные компьютеры, смартфоны, *фоны умеют быстро анализировать документы и отрисовывать их на экранах, поэтому эту часть работы переложили с серверов на клиентов.
Вы, наверное, догадались, что я опять гадости писать буду про фиори. Покопаемся в кишках. Сервер приложений САП написан на базе бесплатного сервера J2EE Tomcat (если я не ошибаюсь). Это бесплатный опенсорсный продукт. Соблюдена правильная MVC архитектура с логикой на клиенте на базе JavaScript. Созданы хорошие курсы по разработке приложений на коленке. Сейчас все индусы и консультанты ринуться изучать, разрабатывать, наполнять рынок продуктами. Все как бы клево. У меня только появляется вопрос, а кто же учит тем вещам, которые скрыты за курсами и High Load системами? Представьте себе компанию с десятками тысяч сотрудников. Бывшие консы сели за фиори, наколбасили прожект. Например, табель рабочего времени. Простая вроде бы вещь. Однако в период закрытия месяца все пользователи начинают ломиться в систему, вешают все что можно и расстраиваются. Почему?