Есть такой эвфемизм: “исторически сложилось”.
Так вот, в моей основной системе исторически так сложилось, что:
- много пользователей работают через SAP GUI for HTML;
- практически вся отчетность выгружается в Excel через ZWWW.
А это значит что без правильно настроенной связки Браузер+Java жить непросто.
Java нужна для работы с файлами (выгрузить, загрузить). Принципиально веб-приложение должно работать только внутри своего окна и его нельзя подпускать к файловой системе пользователя даже на пушечный выстрел. С файлами должен работать лично браузер удобным ему способом, но это противоречит подходу SAP GUI, который хочет контролировать всё: показ диалога открытия, заголовок окна диалога, список доступных расширений файлов, разрешение множественного выбора, выбор каталога, чтение каталога, считывание содержимого файла или запись. Так как SAP GUI for HTML должен повторять функциональность большого брата, поэтому они там решили не менять подход, а ввести дополнительную прослойку в виде Java-апплета, который бы выполнял эти действия на стороне клиента. ABAP-часть при таком подходе остаётся практически без изменений.
Кроме этого, ZWWW работает через технологию OLE, без вариантов. А веб-приложение нельзя подпускать к OLE-интерфейсам клиентской машины даже в радиусе поражения ракет класса “земля-воздух”. Следовательно, нужна ещё одна прослойка в виде Java-апплета, которая будет проксировать OLE-вызовы и выполнять сопутствующие махинации.
Так как SAP GUI for HTML и сам является прослойкой между ABAP-инстанцией и ITS-сервером, то это всё это сооружение начинает походить на игру Дженга.
И такая игра идёт постоянно. То браузеры начинают отключать старую джаву и требуют обновлений, то джава-апплеты теряют полномочия, то что-то происходит с проверкой подписи апплета, то появляются какие-то черные/белые списки исключений, то вдруг апплет начинает жутко тормозить на какой-то версии JRE, то выходит новая версия офиса, то обновляют ITS/ABAP, то пользователи в другом конце страны не могут что-то настроить, то вдруг кому-то кажется, что низкий уровень безопасности в браузере решает проблему…
Если следить за хронологией, то можно заметить:
- Chrome – никогда не поддерживал Java-апплеты, и не собирается
- Edge – не поддерживал Java-апплеты, и не будет поддерживать
- Firefox – прекратит поддерживать Java-апплеты с начала 2017 года
Скоро останется только старый и не очень добрый IE. Евошний разработчик хоть и обещал поддерживать IE11 в Windows 10, но мы-то с вами знаем …
И вот Джавапокалипсис прилижается.
Рассмотрим варианты.