English 中文(简体)
WEB based application with desktop integration - technologies? [closed]
原标题:
Closed. This question is opinion-based. It is not currently accepting answers.

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 2 years ago.

This is a general question concerning technology decisions for a product development. My aim is to develop a web based remote support (desktop sharing application) with audio and video communication.

My ideal solution would be to develop it as web product meaning that the client side always run in the browser. Client technology would be JavaScript (using Google GWT) and for desktop capturing, desktop presenting, audio and video I want to use Java applets.

The server side runs using Java Servlet technology with a database back-end (Hibernate and a SQL based data source). For data streaming my plan is to use RTP/RTSP transport over UDP (for desktop data the internal protocol will be VNC (RFB) but the transport will be RTP itself). For audio and video RTP is used for the transfer.

My basic version (prototype) will work using a relay server meaning that the clients always connects to the server (logon, authentication, session control) and the server always relays the data between peers.

My question is - is my technology decision correct? I mean, I decided to go pure Java because of multi-platform support. Nowadays we have Silverlight which have more advanced desktop support, but it is limited to only one platform (Windows).

I also fear of Java support for audio/video technologies. I have seen JMF (Java Media Foundation) which seems to have support for RTP/RTSP, audio and video capture/display but this package look very outdated. What do you think about it?

For actual screen capture I d start with AWT Robot class. I know that for high performance desktop capture more low level techniques are necessary like API hooking or mirror driver, but my prototype aims to provide 1 FPS for screen capture so I believe Java Robot will make it.

最佳回答

Java applets can do it, but they re a bit legacy nowadays. In Java terms, you nowadays also have the choice of Java Web Start (the better Google keyword is JNLP) and JavaFX. If you don t shy away from learning a new language and wanted to have a real RIA, then go for JavaFX. Otherwise, Java Web Start A.K.A. JNLP is a fine choice. With Java you can just do everything as if it is a client application, as long as it s all within the borders of the security restrictions.

Here are some tutorials of use: JavaFX tutorial and Web Start tutorial.

问题回答

You might want to check Glue42 (desktop integration platform) and Glue42 Core (open source web app integration platform). Github project is available here. The two products work together to integrate desktop and web applications using the FDC3 standard.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签