AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение Губин Игорь »

finsoftrz писал(а): 17 Февраль 2024, 19:36 Wmf автоматически преобразуется в pdf и открывается на стороне клиента на отдельной закладке браузера, если про report речь. Там вообще делать вручную ничего не надо.
Вставлю свои 10 копеек: в библиотеке AnyScreen генерятся PDF с русскими буквами в нормальном режиме.
kreator писал(а): 18 Февраль 2024, 20:52 Почему не изменить интерфейс? Ведь идея в том, что пользоваться этим клиенты будут в том числе и при отсутствии компа с Виндой.
Потому, что клиентам ПРИВЫЧНО. Они, работая на компьютере, автоматически ищут привычную кнопку на привычном месте.
gopstop2007 писал(а): 19 Февраль 2024, 14:09 Интересно, после того как попользовались Anyscreen, хотелось бы услышать выводы какие плюсы и минусы по сравнению с тем же терминальным сервером?
Минусы
Надо разрабатывать форк приложения с заменой некоторых привычных функций от Windows API и некоторыми модификациями дизайна.

Плюсы
Минимальные по сравнению с терминальным сервером требования к системе (покажите мне тот терминальный сервер под Windows, который с 4Гб оперативки не ляжет при одновременной работе 80 пользователей, я проверял).

Простой процесс авторизации, который позволяет пользователю работать с приложением с любого компьютера имеющего браузер и интернет без настроек, разрешений и т.п. сисадминов с двух сторон сети.

Минимально необходимые навыки при администрировании, можно поручить секретарше и она, если не совсем уж безмозглая, справится.

Можно заменить экзешник приложения в процессе работы пользователя. Т.е. пользователь работает и не замечает, что у него уже новая версия. Это не самое правильное действие, но, тем не менее, если у вас постоянно сидят пользователи, а ошибку хочется исправить прямо сейчас...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение Губин Игорь »

Вдогонку: при 150 пользователях сервер начинает подтормаживать :lol:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Я бы сразу сказал, что anyscreen надо рассматривать не как полную альтернативу терминальному серверу, а как дополнение для решения определенных задач. Терминальный сервер это MS и миллионы подключений ежедневно, anyscreen на этом фоне кружек "умелые ручки". :-)

Главная фишка, почему многим нравится anyscreen, это возможность вывода в онлайн с сохранением обратной совместимости приложений. От каких-то вещей придется отказаться (они известны), но бизнес логика полностью совместима (возможно, только некоторые долгие расчеты придется немного адаптировать), печатные формы полностью совместимы, оконные диалоги могут потребовать косметической адаптации (зависит от приложения). Если сравнивать с NetTalk Web Server, там вообще трудно понять, на какой козе подъехать - надо полностью заново разрабатывать диалоги, серьезно адаптировать бизнес логику и далее по длинному списку.

Сравнивая с терминальным сервером, можно выделить 3 момента.
1. Безопасность подключения. Я бы это на первое место поставил. В случае с терминальным сервером надо принимать специальные меры при работе через интернет - поднимать vpn, ограничения по ip адресам, прокси сервер и т.п. Все это требует определенной настройки и присмотра, а занимаются обычно другие люди. В случае с anyscreen нужно занть только ip адрес сервера. Если сервер за роутером, то пробросить порт. Дальше подключение происходит к приложению и все контролируется на его уровне. Ломануть такую конструкцию затруднительно.
2. Меньший тарфик. В терминалах передается битмап с определенной дискретностью. В anyscreen текстовые xml пакеты, которые содержат проперти окон и контролов. Конкретно разницу не слышал, чтобы кто-то замерял, но, думаю, и так должно быть понятно, графика против текста.
3. Меньше нагрузка на сервер. На сервере не создается терминальный сеанс на каждое подключение, а запускается в скрытом режиме экземпляр приложения. Если убирать функционал в dll и делать маленький exe, то dll загружаются один раз и расшариваются между экземплярами приложения. Это справедливо для терминальных серверов, скорее всего, сейчас и обычная винда работает аналогично (раньше требовался явный rebase для оптимизации загрузки приложений, был специальный шаблон, но потом сказали, что уже больше не нужен, и вопрос не всплывал, это где-то после появления windows7). Конечно, каждый экземпляр приложения в случае anyscreen тоже будет откусывать свою долю оперативной памяти. Если есть требование запустить как можно больше пользователей на сервер, то можно ограничивать количество открываемых потоков или даже сделать SDI приложение - это заметно снизит потребление оперативной памяти на сервере.
Кто-то писал, что при anyscreen потребляется в 3-4 раза меньше ресурсов на сервере. Если вспомнить tsplus, то там одно подключение сразу резервирует за собой 300 мб оперативки, и есть рекомендация не более 50 пользователей на сервер. При anyscreen рекомендация не более 150 пользователей на сервер. Писали несколько лет назад, зависит от сервера, но, в целом, разница понятна и объяснима.

Первые версии anyscreen висли, сбоили. Но в течении следующих 3 лет было много сделано и сейчас приложения под anyscreen работают достаточно стабильно. Во всяком случае, явных стопперов для использования не замечено. Наверно, узкое место это закрытие окна браузера без выхода из приложения и повторное подключение. Anyscreen предлагает в этом случае переподключиться или сбросить сеанс, но у меня как-то не получилось это комфортно делать, только через определенные танцы с бубном.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4984
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение kreator »

finsoftrz писал(а): 19 Февраль 2024, 8:45 В общем, каждый решает для себя сам. Я в первую очередь попробовал вариант с кнопками сверху, покрутил, мне не понравилось. На привычку уже вряд ли можно отнести, так как в вебе мы торчим каждый день. Пока так.
Вы же не для себя делаете! Всё равно придёте к переносу кнопок и их увеличению. Если у человека есть Винда, зачем ему веб-версия? По-большому счёту.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

kreator писал(а): 19 Февраль 2024, 16:47
finsoftrz писал(а): 19 Февраль 2024, 8:45 В общем, каждый решает для себя сам. Я в первую очередь попробовал вариант с кнопками сверху, покрутил, мне не понравилось. На привычку уже вряд ли можно отнести, так как в вебе мы торчим каждый день. Пока так.
Вы же не для себя делаете! Всё равно придёте к переносу кнопок и их увеличению. Если у человека есть Винда, зачем ему веб-версия? По-большому счёту.
Я же написал, что бывают разные потребности - специальные удаленные рабочие места, чужие сотрудники, некоторым saas может потребоваться. Это очень круто, иметь при прочих равных возможность быстро развернуть такой функционал в вебе, при этом сохраняя совместимость с основным настольным приложением.
PS. Вообще-то я для себя продукт делаю. Я тоже на нем работаю как пользователь. А Вы для кого? :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

По поводу повторного коннекта. Выяснилось, что не работает на localhost, а на удаленном сервере работает. Это когда мы не выходим из приложения, а закрываем закладку в браузере или браузер целикам. При повторном выборе адреса/пользователя выводится список активных приложений, запущенных этим пользователем на сервере и рядом с каждым кнопки повторного подключения и сброса.
Пара дефектов все же есть, но не смертельных. Основной, если на сервере в одном потоке открыты 2 окна, например, таблица и форма, окно формы меньше окна таблицы и видны оба, то при повторном коннекте воспроизводится только верхнее окно. Когда его закрываем, появляется второе (нижнее). Второй - это когда после отображении в веб браузере списка активных приложений несколько раз нажать кнопку браузера обновить, список активных приложений выводится дважды. Вряд ли кто туда будет ходить, тем не менее, такой эффект присутствует.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Еще по поводу портов. Anyscreen на сервере слушает 3 порта - 80, 81, 443. Соответственно, на сервере запущены 3 экземпляра службы netPort. Как я понял, предполагается 80 для http, 81 для win api клиента, 443 для https. Но это предназначение условно. Можно в одной локальной сети задействовать 3 независимых сервера, пробросив на роутере эти порты на разные компьютеры.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Такой момент. Как известно, работая в дизайнере окон в среде С11, мы получаем погрешность при преобразовании систем координат. То есть, в дизайнере выглядит не совсем так, как в скомпилированном приложении. В html5 клиенте anyscreen получаем еще третий вариант. Если планируется одно и тоже приложение использовать в режиме anyscreen и обычном, то придется проверять в обоих случаях и приспосабливаться.

Немного еще посмотрел win32 клиент, окончательный вердикт, что не пригоден для полноценной работы, разве только для sdi приложений. За прошедшее время накопились изменения в серверной части, а win32 клиент уже не тестируют с ними, как я понял. Поэтому в настоящий момент работоспособный только html5 клиент.

Запустил тестовый сервер (полноценный компьютер с i3 и 8гб озу). Светить в интернете его не хочу, если кому надо поглядеть приложение под anyscreen вживую, пишите в личку, могу дать на некоторое время подключение.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение Губин Игорь »

finsoftrz писал(а): 25 Февраль 2024, 18:00 Немного еще посмотрел win32 клиент, окончательный вердикт, что не пригоден для полноценной работы, разве только для sdi приложений. За прошедшее время накопились изменения в серверной части, а win32 клиент уже не тестируют с ними, как я понял. Поэтому в настоящий момент работоспособный только html5 клиент.
В самом начале Win32-клиент работал очень устойчиво и был, фактически, равноценен десктопному приложению по качеству работы и возможностям. Мы чуть было не сделали на него ставку в продвижении online-версии. Но, с предпоследнего обновления он "посыпался" - начал вылетать, не запускаться... и был отвергнут.

Java-клиент как был, так и остался не совсем удобным по дизайну и возможностям.

Согласен с тем, что очень похоже на то, что все силы, и вполне оправданно, были брошены на HTML5-клиент, именно который и нужен пользователям.
finsoftrz писал(а): 21 Февраль 2024, 10:13 Можно в одной локальной сети задействовать 3 независимых сервера, пробросив на роутере эти порты на разные компьютеры.
Нескромный вопрос, голосом директоров швейцарских банков из известного анекдота: "а нафига"?! :dizzy:
finsoftrz писал(а): 25 Февраль 2024, 18:00 Как известно, работая в дизайнере окон в среде С11, мы получаем погрешность при преобразовании систем координат. То есть, в дизайнере выглядит не совсем так, как в скомпилированном приложении. В html5 клиенте anyscreen получаем еще третий вариант. Если планируется одно и тоже приложение использовать в режиме anyscreen и обычном, то придется проверять в обоих случаях и приспосабливаться.
У меня всё это решается выравниванием элементов окна "по ниточке" сразу после открытия. Изначально так делалось из-за необходимости смены количества и позиций контролов в окне в зависимости от параметров настройки, но, в результате, оказалось востребованным и для чёткого позиционирования.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Губин Игорь писал(а): 25 Февраль 2024, 18:22
finsoftrz писал(а): 21 Февраль 2024, 10:13 Можно в одной локальной сети задействовать 3 независимых сервера, пробросив на роутере эти порты на разные компьютеры.
Нескромный вопрос, голосом директоров швейцарских банков из известного анекдота: "а нафига"?! :dizzy:
Например, когда на одном сервере реальные пользователи с какими-то приложениями работают, а второй для тестирования и демонстрации.
Губин Игорь писал(а): 25 Февраль 2024, 18:22
finsoftrz писал(а): 25 Февраль 2024, 18:00 Как известно, работая в дизайнере окон в среде С11, мы получаем погрешность при преобразовании систем координат. То есть, в дизайнере выглядит не совсем так, как в скомпилированном приложении. В html5 клиенте anyscreen получаем еще третий вариант. Если планируется одно и тоже приложение использовать в режиме anyscreen и обычном, то придется проверять в обоих случаях и приспосабливаться.
У меня всё это решается выравниванием элементов окна "по ниточке" сразу после открытия. Изначально так делалось из-за необходимости смены количества и позиций контролов в окне в зависимости от параметров настройки, но, в результате, оказалось востребованным и для чёткого позиционирования.
У меня тоже используется автоматическое выравнивание, я это и для anyscreen задействовал. Не все можно им эффективно накрыть, но помогает хорошо.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Вообще, конечно, хотелось бы, чтобы win32 и java клиенты пришли в работоспособное состояние. В некоторых ситуациях они предпочтительнее, чем навороченные универсальные веб браузеры. Вопрос, конечно, упирается в финансирование, а с этим все хуже из-за неадекватности руководства sv.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение Губин Игорь »

finsoftrz писал(а): 25 Февраль 2024, 18:53 Например, когда на одном сервере реальные пользователи с какими-то приложениями работают, а второй для тестирования и демонстрации.
Не множьте сущности сверх необходимого... Учитывая возможность объединять серверы в кластер...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

А можно сделать так, чтобы на одном сервере фермы работали с одним приложением, а на другом с другим? Я не пробовал, не уверен, что так можно.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение Губин Игорь »

finsoftrz писал(а): 25 Февраль 2024, 19:35 А можно сделать так, чтобы на одном сервере фермы работали с одним приложением, а на другом с другим? Я не пробовал, не уверен, что так можно.
Надо посмотреть в настройках. Поскольку у меня один сервер, я не влазил в это.

А нафига? Все же работают спокойно и никому не мешают. Я писал, что на моей памяти только один клиент подвисал сервер постоянным реконнектом.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Сообщение finsoftrz »

Мне так надо было. Сервера в локальной сети клиента. На одном его сотрудники в боевом режиме со своими задачами. Второй мой тестовый с основным онлайн приложением, на котором сотрудники этого клиента не работают, но могут подключаться другие люди. Сейчас так проще всего было организовать.
C6/C11, ШВС, tps/btrieve.
Ответить