Пасьянсы и установка 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, то пользователи в другом конце страны не могут что-то настроить, то вдруг кому-то кажется, что низкий уровень безопасности в браузере решает проблему…
Если следить за хронологией, то можно заметить:
- Chrome – никогда не поддерживал Java-апплеты, и не собирается
- Edge – не поддерживал Java-апплеты, и не будет поддерживать
- Firefox – прекратит поддерживать Java-апплеты с начала 2017 года
Скоро останется только старый и не очень добрый IE. Евошний разработчик хоть и обещал поддерживать IE11 в Windows 10, но мы-то с вами знаем …
И вот Джавапокалипсис прилижается.
Рассмотрим варианты.
Диапазоны номеров. Черновик одной заметки
Введение
Информационные системы так устроены, что практически любой ценный объект в системе требует адресации, для того чтобы можно было на него сослаться.
Значит объекту надо присвоить некоторый код или адрес. Этот адрес-код должен быть уникальным и быть жестко закреплён за объектом. Причем, как бы этот объект не менялся сам, адрес его должен оставаться неизменным.
Например: Вы хотите мальчика Васю отправить передать сообщение Петровым, которые живут на вашей улице в доме, покрашенном в зелёный цвет. Хорошо, если мальчик знает Петровых лично, и это именно те Петровы, которых вы имеете в виду. Хорошо, если дом не перекрасили, всякое в жизни бывает. Хорошо, если если зелёный дом на улице один. И так далее. Чтоб избежать таких проблем надо выполнить три простых операции: пронумеровать все дома, занести все номера в тетрадь, передать тетрадь специально обученному человеку.
Есть 4 основных подхода к формированию кодов-идентификаторов в базах данных:
- Счетчик
- UID
- Хэш
- Натуральный ключ
Про дилетантов
Не так давно на Хабре пробежала статья, в которой некий дилетант кидал камни в огород SAP.
Один из камней:
Почему люди переводившие продукт не понимали русский язык? Потому что даже при перепечатывании русскоговорящий человек должен был усомниться, увидев фразу «Пушномолочная свинья-несушка» — так до определенного времени называлась программа RAIMEWMS (сейчас название уже исправили). В оригинале она называется «Eierlegende Wollmilchsau», что переводится как «Мастер на все руки», но умный Magic Gooddy посчитал, что Wollmilchsau – это 3 отдельных слова (Woll, milch, sau) и перевел фразу «Eierlegende Woll milch sau» как «Яйцо укладки шерсти молока свиноматки». Остается только гадать, как это потом превратилось в «Пушномолочная свинья-несушка».
Вот вопрос: кто больший дилетант? Тот, кто сделал такой перевод, или тот, кто кинул камень?
По пунктам:
Если ошибок нет, то это ошибка
Чего эти немцы имели в виду?
Новый логотип:
В любой непонятной ситуации
Две внезапно встретившиеся мысли
«Расскажи теперь о двух надзирателях, которых нашли спящими».
«Какие они надзиратели, — фыркнул старик, — ключари просто. Корона выплачивает жалованье двадцати ключарям, милорд, но при мне здесь никогда не было больше дюжины. Надзирателей полагается иметь шестерых, по два на каждый ярус, а у нас только трое».
«Считая тебя?»
«Я главный надзиратель, милорд, — снова фыркнул Лонгуотерс. — Начальник над ними. Моя обязанность — вести счета. Если милорд пожелает заглянуть в мои книги, то увидит, что цифры все правильные. — Лонгуотерс сверился с раскрытым перед ним пухлым томом. — Сейчас у нас четверо заключенных наверху да один на втором ярусе, да еще брат вашей милости. Он, правда, сбежал, — нахмурился старый тюремщик. — Надо его вычеркнуть». И стал оттачивать перо, чтобы исполнить свое намерение.
Шестеро узников, кисло подумал Джейме, а платим мы двадцати ключарям, шести надзирателям, главному надзирателю, смотрителю и Королевскому Правосудию.
* * *