Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение

Архитектура софта: веб-сервис, тонкий или толстый клиент, что лучше? : Операционные системы и программное обеспечение

09.05.2024 7:53


16.03.2023 10:49
FinSoft
 
В догонку. При использовании ip сервера нагрузка на сервер ниже, чем при использовании веб сервера и, тем более, терминального сервера. Я использую его параллельно с терминальный сервером, это позволяет снизить нагрузку при большом числе пользователей.
16.03.2023 17:42
twix
 
Цитата:
FinSoft Мы ещё забыли, что для работы через интернет есть и другие варианты, кроме терминала и веба. Это приложения, взаимодействующие через сокеты.
Про умение браузеров в websocket'ы мы уже забыли, хотя я только-только их упоминал.

Цитата:
FinSoft В реальной работе для сетей магазинов я использую ip server для клариона. Он лицензируется на разработчика, прикупил со скидкой в составе пакета дополнений.
Смысл был в том, чтобы обеспечить распределению работу в условиях возможной недоступности сервера в центральном офисе. Для основной системы разработана отдельная небольшая dll. В ней собраны функции для работы с базой данных, которые могут вызываться с удалённой станции. Ip server обеспечивает сервис, который прослушивает определённый порт.
Ну, т.е., клиент-серверная архитектура, использующая соединение по TCP. Растём. Следующим шагом, наверное, будет реальная распределённая система

Цитата:
FinSoft Регистрируем в нем нашу dll (таких dll может быть несколько). Когда извне приходит запрос на соединение, сервис подгружает в память копию dll, дальше взаимодействие происходит с её функциями.
А разве не в этом смысл DLL? O_o А если в нём, то что здесь уникального-то?
Вообще, как-то это сильно попахивает RPC. Если с безопаснотью там проблем нет, то откуда страхи про вэб? Кто сказал, что он отличается?

Цитата:
FinSoft В магазинах отдельное приложение, заточенное под специфику их работы. Полкачивают с сервера необходимую информацию, потом работают оффлайн, оформляя свои документы. По мере готовности, коннектится к серверу и пишут эти документы в центральную базу данных. Можно также запрашивать отчёты из центральной базы данных, которые приходят в xls формате и автоматически открываются на удалённой станции.
Есть еще один работающий вариант с удалённой точкой продаж. Прайс загружается из центральной базы на сервере, пробиваемые чеки сразу пишутся в серверную базу. Если интернет недоступен, то приложение в точке продаж переходит в оффлайн режим, пробитые чеки отправляются в центральную базу при восстановлении связи с сервером.
Ура! Мы изобрели FTN!

Цитата:
FinSoft Коллеги делали свою реализацию ip server, и развернули на нем свои системы. Смысл в том, что сохранили наработанный код, а базы данных клиентов перенесли на свои сервера. В результате клиенты имеют win32 приложение, которое работает с базой данных через интернет напрямую, без постороннего по.
Чот я тут не понял... Какое посторонее ПО имеется в виду?

Цитата:
FinSoft Вчера один англоязычный разработчик написал. Он в США, разрабатывает приложения на кларионе для некоммерческих организаций, арендует сервер в дата центре и хостит на нем, используя tsplus.
Вэб-серверу 16 Гб (и четырёх ядер/потоков) хватит для сотен одновременных пользователей (и тысяч запросов в секунду) без ущерба для производительности. (;

Цитата:
FinSoft В догонку. При использовании ip сервера нагрузка на сервер ниже, чем при использовании веб сервера и, тем более, терминального сервера. Я использую его параллельно с терминальный сервером, это позволяет снизить нагрузку при большом числе пользователей.
А, например, тот же Apache/nginx - не "ip server"? А скульный сервер?
Просто представим, что пользователям не требуется терминальный сервер. Что они работают исключительно с этим "ip server". Представили? Вот и здорово. Потому что, по сути, это и есть вэб сервер. Получил запрос по сетевому протоколу - обработал его - вернул результат.
Вот от требований вашей софтины к серверу отрежьте терминал - это и будет экономия от использования вэб сервера вместо полноценного десктопного приложения. А потом легко перелезаем с Windows на линукс, и экономим здесь тоже - и на железе, и на лицензиях. Маржа разработчика/интегратора увеличивается без увеличения стоимости продукта для конечного пользователя (или даже при её снижении с целью увеличения конкурентноспособности). А ещё можно в контейнер завернуть, и сунуть в какой-нибудь кубернетис, и, вообще не парясь, масштабировать его в зависимости от нагрузки, не переплачивая за неиспользованные аппаратные ресурсы.

Но это всё имеет значение для серьёзных и массовых приложений/сервисов. Калькулятор для местного ларька можно и на коленке на Delphi накрапать.

А ещё на тему нагрузки процитирую Олега: "Не верю (с)". У меня есть пример B2B вэб приложения, которое крутится на линуксе на коробке с двумя ядрами и 2Гб оперативной памяти. При 20-30 одновеременных пользователей система даже не начинает свапиться, несмотря на использование Apache и локальный MySQL сервер. А она, на минуточку, постоянно занимается обработкой изображений и генерацией PDF.
16.03.2023 19:41
FinSoft
 
Сравнивать надо реальные приложения, а не "если бы, тогда бы". Чтобы сделать сравнимое по функционалу, ты сколько запросишь денег? Зарплату "команды" таких как ты за несколько лет? Никто тебе таких денег не даст, чтобы проверить эти умозаключения. И мне почему-то кажется, что работать это будет несколько иначе, чем рисует твоя фантазия. Если вообще до конца проекта дотянете и запустите. А потрындеть на форуме оно же ничего не стоит.

Есть еще одна забавная тема, сегодня народ в англоязычных группах возбудился. Называется эта байда AnyScreen. Смысл там такой. На сервере запускается некая служба, которая принимает по ip информацию через интернет, в частности, от веб броузеров. При запросе на подключение стартует обычное win32 прикладное приложение, но в специальном режиме. Вывод на экран отключается, а проперти и наполнение окон транслируются вместо этого в веб броузер. Со стороны веб броузера используется один из js фреймворков, зеркаля окна настольного приложения в html5. То есть это такой встроенный в приложение терминальный доступ. Декларируется типа берем обычное настольное решение, вешаем к нему экстеншин шаблон, компилим и у нас работает из браузера. Как в tsplus, только своими средствами. Стоит это с техподдержкой 1000 баксов в год по подписке, количество твоих серверов - сколько хочешь. Многие хотят, хотя на мой взгляд, сама по себе технология стремная. Сама технология известна с 90-х, сейчас ее словаки подхватили. Марко, руководитель проекта, пишет, что на их серверах крутится более 1000 пользователей по многу дней без перезапуска серверов. Система катается на каких-то крупных словацких предприятиях. Но обычные люди что-то никак не добьются стабильной работы. Вот так еще можно.
16.03.2023 19:56
OlegON
 
Цитата:
FinSoft Когда извне приходит запрос на соединение, сервис подгружает в память копию dll, дальше взаимодействие происходит с её функциями.
Это древняя архитектура, сейчас уже давно поняли, что DDoSить такое слишком просто, чтобы оно было именно так. Работает пул менеджеров, который обслуживает все подключения. Иначе открываешь 10000 соединений и сервак сдыхает в свопе. Сделать может школьник начальных классов. Да и в принципе такая подгрузка слишком тупая, чтобы тратить время на подключение.
Цитата:
FinSoft Если интернет недоступен, то приложение в точке продаж переходит в оффлайн режим, пробитые чеки отправляются в центральную базу при восстановлении связи с сервером.
Это ты сейчас PWA описал.
Цитата:
FinSoft В результате клиенты имеют win32 приложение
Многие клиенты хотят работать на Mac или на Linux, не хотят они иметь это.
Цитата:
FinSoft работает с базой данных через интернет напрямую, без постороннего по
Во-первых, с базой данных напрямую, какая бы она бросовая не была, напрямую работать нельзя. Во-вторых, что значит "без постороннего"? Приложение-то ставить придется.
Цитата:
FinSoft При использовании ip сервера нагрузка на сервер ниже, чем при использовании веб сервера и, тем более, терминального сервера.
Странное заявление, откуда оно взялось, если я описал, что архитектура приема соединения кривая и так уже стараются не делать? Можешь как-то обосновать свои слова?
Цитата:
FinSoft Чтобы сделать сравнимое по функционалу, ты сколько запросишь денег?
Сравнимое с чем? Я же говорил, что скорость написания софта сейчас сильно выше, чем раньше. Особенно, если писать будут не такие динозавры, как мы с тобой. Так что если взять твою систему и переписать с нуля на вебе, получится меньше и дешевле, чем если писать ее с нуля в win32. И со всеми описанными выше плюшками.
Цитата:
FinSoft Есть еще одна забавная тема, сегодня народ в англоязычных группах возбудился. Называется эта байда AnyScreen.
Они изобрели X11 forwarding! :) :) Сколько ждет открытий чудных для людей, кто не признает ничего, кроме винды... Тема забавнее некуда, если учесть, что ее стабильная работа в Linux где-то с 1989 года :)
16.03.2023 20:11
twix
 
Цитата:
FinSoft Сравнивать надо реальные приложения, а не "если бы, тогда бы". Чтобы сделать сравнимое по функционалу, ты сколько запросишь денег? Зарплату "команды" таких как ты за несколько лет? Никто тебе таких денег не даст, чтобы проверить эти умозаключения. И мне почему-то кажется, что работать это будет несколько иначе, чем рисует твоя фантазия. Если вообще до конца проекта дотянете и запустите.
Столько же, сколько вы запросили. И зарплата "команды" будет та же. И работать будет несколько иначе, да - на любом устройстве и на любом сервере. Т.е., так, как большинству пользователей нужно в это время.

Цитата:
FinSoft А потрындеть на форуме оно же ничего не стоит.
Потрындеть на форуме точно ничего не стоит. Особенно, когда не знаешь, о чём говоришь. Я же рассказываю про вэб приложения, с которыми приходилось сталкиваться, или с которыми работаю сейчас. Описал личный опыт, уделив внимание ПО моего текущего работодателя. Десятки инстансов, сотни клиентов, тысячи одновременных пользователей... Но, наверное, это всё фантазии, а AutoCAD просто win32 приложение в браузер транслирует. *где тут смайлики рука-лицо и уставший дед?*

Цитата:
FinSoft Есть еще одна забавная тема, сегодня народ в англоязычных группах возбудился. Называется эта байда AnyScreen. Смысл там такой. На сервере запускается некая служба, которая принимает по ip информацию через интернет, в частности, от веб броузеров. При запросе на подключение стартует обычное win32 прикладное приложение, но в специальном режиме. Вывод на экран отключается, а проперти и наполнение окон транслируются вместо этого в веб броузер. Со стороны веб броузера используется один из js фреймворков, зеркаля окна настольного приложения в html5. То есть это такой встроенный в приложение терминальный доступ. Декларируется типа берем обычное настольное решение, вешаем к нему экстеншин шаблон, компилим и у нас работает из браузера. Как в tsplus, только своими средствами. Стоит это с техподдержкой 1000 баксов в год по подписке, количество твоих серверов - сколько хочешь. Многие хотят, хотя на мой взгляд, сама по себе технология стремная. Сама технология известна с 90-х, сейчас ее словаки подхватили. Марко, руководитель проекта, пишет, что на их серверах крутится более 1000 пользователей по многу дней без перезапуска серверов. Система катается на каких-то крупных словацких предприятиях. Но обычные люди что-то никак не добьются стабильной работы. Вот так еще можно.
Выше Олег уже улыбнулся на эту тему. Улыбаюсь вместе с ним. Разработчики Win32 приложений подбираются в развитии к концу 20-го века, и почти готовы вступить в век 21-й.
16.03.2023 21:05
FinSoft
 
Цитата:
twix Столько же, сколько вы запросили. И зарплата "команды" будет та же. И работать будет несколько иначе, да - на любом устройстве и на любом сервере. Т.е., так, как большинству пользователей нужно в это время.
Ребята, утомили вы меня. Разговор не о чем пошел. Разработайте систему, откройте бизнес, внедрите у клиентов. Докажите, что вы можете что-то сами сделать. Потом приходите, будет вам и уважуха, и к вашему мнению такие, как я, будут прислушиваться. Без обид, селяви.
16.03.2023 21:09
baggio
 
Цитата:
FinSoft Ребята, утомили вы меня. Разговор не о чем пошел. Разработайте систему, откройте бизнес, внедрите у клиентов. Докажите, что вы можете что-то сами сделать. Потом приходите, будет вам и уважуха, и к вашему мнению такие, как я, будут прислушиваться. Без обид, селяви.
дак они.. так и сдалали...
вопрос не в этом...
я знаю людей которые в кмд делают лучше чем чуваки на питоне или джаве....
какая разница какой инструмент при достижении результата???
16.03.2023 21:20
twix
 
Цитата:
baggio дак они.. так и сдалали...
вопрос не в этом...
я знаю людей которые в кмд делают лучше чем чуваки на питоне или джаве....
какая разница какой инструмент при достижении результата???
Да, под каждую задачу - свой инструмент.
И (видимо я плохо пытаюсь донести мысль) для больших клиентов терминальные сессии с вынь 32 приложениями - инструмент, хоть и рабочий, но крайне неэффективный в плане затрат на поддержание его работоспособности.
Для маленькой шарашки на 10-20 щей такой вариант подходит. Для масс маркета - нет.
16.03.2023 21:24
twix
 
Цитата:
FinSoft Ребята, утомили вы меня. Разговор не о чем пошел. Разработайте систему, откройте бизнес, внедрите у клиентов. Докажите, что вы можете что-то сами сделать. Потом приходите, будет вам и уважуха, и к вашему мнению такие, как я, будут прислушиваться. Без обид, селяви.
Приму это как признание превосходства вэб приложения над десктопом при прочих равных.

ЗЫЖ Программист - не продавец. Может создать товар, но не впарить. Если же вам удалось это сделать, то... поговорочка: Jack of all trades, master of none.
16.03.2023 21:33
OlegON
 
Цитата:
baggio какая разница какой инструмент при достижении результата???
В том и дело, что твой cmd у меня не заработает и результат не достигнут :) а я бы хотел, чтобы кто-то там из мастеров делал то, что пригодится и мне.
Чтобы опять не уходить в какие-то дебри софистики, давайте сравнивать хороших спецов на win32 и хороших спецов, которые пишут для веба. Одна уже формулировка только сравнения выпячивает, что спецы на win32 ограничены платформой куда сильнее... А платформа для сервера - говно, это я ответственно заявляю.
Часовой пояс GMT +3, время: 07:53.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.