Избавление зависимости от Java на Notes-клиенте

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
У нас такой проект, который уже почти завершён. Остались некоторые шероховатости... Ниже, в сообщениях, буду давать ссылки на выложенный код, когда он будет полностью доработан..
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
А чем Java не угодила?
Прошу заметить, что только на Notes-клиенте.
На серверах можно Java, особенно если агенты/сервисы на Java. А если на LS, то также пропадает необходимость в LS2J либо дополнительном запуске агента с помощью runWithDocumentContext.

1. Дополнительные зависимости, которые усложняют поддержку и ведут к инцидентам от пользователей и неоправданным затратам времени. И которых, если поднапрячься, можно избежать.
Конкретно - меня утомили инциденты с постоянными ошибками "Threw java.lang.ClassNotFoundException" и "Java constructor failed to execute" после переустановки клиентов или каких-то других манипуляций на клиентах нашим ServiceDesk'ом.
2. Сильно замедляет выполнение кода.
3. Как верно сказал alexas1, - перспектива видна невооружённым глазом.

Ещё к п.1.
При переходах с Java 1.5 до 1.6-1.8 приходилось менять jar'ники, а сделать это на всех (почти 10k) клиентах - нетривиальная задача, т.к. окружение очень разношёрстное, - пользователи работают и в локалке, и на виртуалках, и через Any Connect, и через Check Point... и даже учитывая все админские штуки, как политики, SCOM и др. проблем реально много.
И вот при последнем переходе оценил всю функциональность, и оказалось, что большую её часть можно переписать на чистом LS, что и было сделано.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
466
2. Сильно замедляет выполнение кода.
да - если запуск агента + своеобразный ГЦ
Но вот менеджер библиотек на ЛС - это реальный трэш, каждый раз тянет все сервака, никакого кэширования. Беда с зависимостями (повторное использование либы, в взаимозависимых либах), никакая управляемость объектами....
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
Ещё один из вопросов по переходу остался. И как раз основание есть, а конкретно - проверка времени запуска клиента.

Кто-то что-нибудь знает о переменной $NotesStartTime в notes.ini Клиента? В инете ничего не нашёл.

У меня для разработки используется Notes 9.0.1 FP9 SHF55, так в нём эта переменная есть, а у коллег более старые версии стоят - от 8.5.3 FP6 и до 9.0.1 FP4, и ни у кого этой переменной нет.
Если эта переменная есть точно во всех версиях > 9.0.1 FP9, то можно было бы и из кода по ссылке вырубить Java.
Можете проверить, у кого версии больше?
Или может оно зависит от того, установка была с Domino Designer или нет?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
524
11.0.1 FP1 (notes + designer + admin) переменная есть, ставится как в standart, так и в basic.
Если найду пользователя с простым клиентом, то отпишусь. Могу попробовать еще на citrix глянуть, если получится.
 
  • Нравится
Реакции: VladSh

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
8
Release 9.0.1FP6. Переменной $NotesStartTime в notes.ini нет.
 
  • Нравится
Реакции: VladSh

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
Ну правильно, она же с долларом, не глобальная. Её скрипт впишет.
Её можно закинуть с помощью Panagenda MarvelClient. Мне просто интересно, нужно ли это делать, если мы всё-таки переедем полностью на FP8.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
466
Если бы Nomad взлетел, и можно было бы работать с базами (код на @ и LS) в браузерах и на мобилах, то, возможно, мнение в последствии бы и поменялось
ну отказываться от джава нет смысла - замены нет (по функциям)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!