Про перекладывание плитки

Раннее утро. Птички чирикают.

Сижу, никого не трогаю, читаю утреннюю газету.

SAP вещает:

сморите как всё было плохо, какое всё разное, инконсистенси, то да сё,  фу-фу-фу

вот мы вам сделаем Fiori 3, там будет всё такое консистентное, прям ух-ты-красота

современные технологии, двадцать первый век, а о цене давайте не будем говорить

И неожиданно нахлынуло чувство какой-то органичной целостности этого мира.
(далее…)

Достигая невозможного, пьеса

Все события и герои вымышлены. Любые совпадения с реальными личностями случайны.

Акт первый

Консультант: Нам нужно массово списать материалы, но так чтобы в оборотах это было отражено в особом периоде.

Старый фрилансер: Ну дело житейское, разработчика своего попросите.

Консультант: Мы спрашивали, но он сказал, что это невозможно.

Старый фрилансер: Поверь мне, милая, если разработчик говорит, что нечто невозможно, то это значит, что он ленивая жопа.

Консультант: Посмотри, пожалуйста!

Старый фрилансер: Не вопрос, но задачку-то поставь. (далее…)

Пасьянсы и установка SAP ERP

Установка SAP ERP — процесс местами странный и трудоёмкий.

Первое.

Установка требует отдельной и жирной машины. Даже если это будет тестовая машина с минимумом данных для пары пользователей.

Для текущей стандартной версии мне понадобилась VM 12GB RAM/300GB HDD/вменяемый CPU.  И очень желательно, чтобы там ничего кроме сабжа не стояло и не планировалось.  Платформа SAP HANA имеет более высокие требования, непомерные для меня, хотя посмотреть бы хотелось. (далее…)

Джавапокалипсис в отдельно взятой системе

Есть такой эвфемизм: “исторически сложилось”.

Так вот, в моей основной системе исторически так сложилось, что:

  • много пользователей работают через 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, то пользователи в другом конце страны не могут что-то настроить, то вдруг кому-то кажется, что низкий уровень безопасности в браузере решает проблему…

Если следить за хронологией, то можно заметить:

 

Скоро останется только старый и не очень добрый IE. Евошний разработчик хоть и обещал поддерживать IE11 в Windows 10, но мы-то с вами знаем …

И вот Джавапокалипсис прилижается.

Рассмотрим варианты.

(далее…)

Диапазоны номеров. Черновик одной заметки

Введение

Информационные системы так устроены, что практически любой ценный объект в системе требует адресации, для того чтобы можно было на него сослаться.

Значит объекту надо присвоить некоторый код или адрес. Этот адрес-код должен быть уникальным и быть жестко закреплён за объектом. Причем, как бы этот объект не менялся сам, адрес его должен оставаться неизменным.

Например: Вы хотите мальчика Васю отправить передать сообщение Петровым, которые живут на вашей улице в доме, покрашенном в зелёный цвет. Хорошо, если мальчик знает Петровых лично, и это именно те Петровы, которых вы имеете в виду. Хорошо, если дом не перекрасили, всякое в жизни бывает. Хорошо, если если зелёный дом на улице один. И так далее. Чтоб избежать таких проблем надо выполнить три простых операции: пронумеровать все дома, занести все номера в тетрадь, передать тетрадь специально обученному человеку.

Есть 4 основных подхода к формированию кодов-идентификаторов в базах данных:

  • Счетчик
  • UID
  • Хэш
  • Натуральный ключ

(далее…)

Про дилетантов

Не так давно на Хабре пробежала статья, в которой некий дилетант кидал камни в огород SAP.

Один из камней:

Почему люди переводившие продукт не понимали русский язык? Потому что даже при перепечатывании русскоговорящий человек должен был усомниться, увидев фразу «Пушномолочная свинья-несушка» — так до определенного времени называлась программа RAIMEWMS (сейчас название уже исправили). В оригинале она называется «Eierlegende Wollmilchsau», что переводится как «Мастер на все руки», но умный Magic Gooddy посчитал, что Wollmilchsau – это 3 отдельных слова (Woll, milch, sau) и перевел фразу «Eierlegende Woll milch sau» как «Яйцо укладки шерсти молока свиноматки». Остается только гадать, как это потом превратилось в «Пушномолочная свинья-несушка».

Вот вопрос: кто больший дилетант? Тот, кто сделал такой перевод, или тот, кто кинул камень?

По пунктам:

(далее…)