Веб-приложение с настольной интеграцией - технологии? - PullRequest
0 голосов
/ 09 ноября 2009

Это общий вопрос, касающийся технологических решений для разработки продукта. Моя цель - разработать удаленную поддержку через Интернет (приложение для обмена рабочими столами) с аудио и видео связью.

Моим идеальным решением было бы разработать его как веб-продукт, означающий, что клиентская сторона всегда работает в браузере. Клиентской технологией будет JavaScript (с использованием Google GWT ), а для захвата рабочего стола, представления рабочего стола, аудио и видео я хочу использовать Java-апплеты .

На стороне сервера используется технология Java Servlet с базой данных ( Hibernate и источник данных на основе SQL). Для потоковой передачи данных я планирую использовать RTP / RTSP транспорт по UDP (для настольных данных внутренний протокол будет VNC ( RFB ), но транспорт будет Сам RTP). Для аудио и видео RTP используется для передачи.

Моя базовая версия (прототип) будет работать с использованием сервера ретрансляции, это означает, что клиенты всегда подключаются к серверу (вход в систему, аутентификация, управление сеансом), а сервер всегда передает данные между узлами.

Мой вопрос - правильное ли мое технологическое решение? Я имею в виду, что я решил использовать чистую Java из-за многоплатформенной поддержки. В настоящее время у нас есть Silverlight , которые имеют более продвинутую поддержку десктопов, но ограничены только одной платформой (Windows).

Я также боюсь поддержки Java для аудио / видео технологий. Я видел JMF (Java Media Foundation), который, похоже, поддерживает RTP / RTSP, захват и отображение аудио и видео, но этот пакет выглядит очень устаревшим. Что вы думаете об этом?

Для реального захвата экрана я бы начал с AWT Класс робота. Я знаю, что для высокопроизводительного захвата рабочего стола необходимы более низкоуровневые методы, такие как перехват API или зеркальный драйвер, но мой прототип нацелен на обеспечение 1 FPS для захвата экрана, поэтому я верю, что Java Robot сделает это.

Ответы [ 2 ]

1 голос
/ 09 ноября 2009

Java-апплеты могут сделать это, но они немного устаревшие в настоящее время. В терминах Java у вас также есть выбор Java Web Start (лучше ключевое слово Google - JNLP) и JavaFX . Если вы не уклоняетесь от изучения нового языка и хотите иметь реальную RIA , тогда переходите на JavaFX. В противном случае Java Web Start A.K.A. JNLP - прекрасный выбор. С Java вы можете просто делать все, как будто это клиентское приложение, при условии, что все это находится в пределах ограничений безопасности.

Вот несколько учебных пособий: Учебное пособие по JavaFX и Учебное пособие по веб-запуску .

1 голос
/ 09 ноября 2009

Проверьте Adobe AIR и JavaFX.

...