Преобразование десктопного приложения в серверное + браузерное приложение

Я относительно новичок в веб-разработке, но у меня есть некоторый опыт работы с C++/Java. У меня есть следующее преобразование:

Текущее: настольное приложение (программное обеспечение для автоматизации), разработанное на C#, которое взаимодействует с удаленным ПЛК (контроллером, который наблюдает за различными датчиками в режиме реального времени) с использованием сокетов TCP через Интернет.

Моя идея: преобразовать приложение в программное обеспечение на стороне сервера, которое по-прежнему будет взаимодействовать с ПЛК через TCP/Socket. И используйте браузер для работы с ним, чтобы удаленный сайт можно было контролировать и контролировать с любого компьютера в нашей внутренней сети (возможно, с планшетов в будущем).

Мотив для этого: у нас произошел сбой компьютера, из-за которого операторы остались без контроля.

Новое приложение:

Я планирую написать серверное приложение с использованием Java и ООП (пока без проблем). И используйте HTML/CSS/Javascript для WebApp и AJAX для обновления страницы. Но я все еще не понимаю, как я могу правильно и прилично передавать все эти данные между ними. Я прочитал о SOAP и JSON в этом сообщении. Хотя я не уверен, что мне вообще нужно их использовать, является ли хорошим решением использование JSON или SOAP? Или есть какое-то другое решение, которое вы можете порекомендовать?

Привет, Лео


person LeoArouca    schedule 27.02.2013    source источник


Ответы (2)


SOAP предназначен для определения общедоступных API-интерфейсов, которые публикуются в Интернете для использования другими людьми, что не похоже на ваш вариант использования. Не особенно приятно иметь дело с этим и из браузера, хотя существуют библиотеки javascript SOAP-клиента. Также будет немного больше накладных расходов на синтаксический анализ и проверку XML на стороне сервера, чем на де/сериализацию между JSON и POJO.

С JSON гораздо проще работать в браузере, поскольку он изначально понятен и все такое. Все, что вам нужно, встроено в ядро ​​jQuery, и вы не зависите от плагинов, которые могут иметь неизвестные уровни поддержки в будущем.

person Affe    schedule 27.02.2013
comment
Спасибо за быстрый ответ. Хотя это вызывает новый вопрос (о котором я раньше не думал). Знаете ли вы, что, используя JSON и AJAX, я могу иметь частоту обновления не менее 100 мс в веб-приложении? - person LeoArouca; 27.02.2013
comment
Возможно, вы захотите изучить технологию под названием WebSockets или Comet. Это альтернатива ajax-опросу, встроенная в HTML5 и поддерживаемая плагинами jQuery в старых браузерах. - person Affe; 27.02.2013

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

«…предлагает решение для удаленного взаимодействия с графическим интерфейсом для собственных разработок настольных систем Windows, позволяющее доставлять их в виде двухплатформенных приложений Windows/HTML5, просто добавляя одну строку кода. Эти приложения Windows могут сохранять стандартное поведение среды рабочего стола и, в качестве альтернативы можно получить удаленный доступ из любого современного веб-браузера в многопользовательском режиме с несколькими экземплярами при размещении в среде сервера Thinfinity VirtualUI».

https://www.cybelesoft.com/docs/thinfinity_virtualui_whitepaper.pdf

person Mariana    schedule 11.02.2019