HTTP-HTTPS / TCP-UDP gateway application ideas needed
I have a project in my mind and I'd like to get your comments on that.
There will be lots of little devices which will be able to communicate via TCP or UDP. Think them as sensors. Those devices will be connected to a software via TCP or UDP, which will be the master of this sensor network.
As usual there will be multiple users. They'll interact with this sensor network via web interface trough browsers. So, that server will be a gateway between users and the devices.
There will be database interaction for both devices and users. I don't want to use database as a connection between sensor network and users (like user sets a flag with PHP script in database, and device network software polls the db and processes the command, writes back to db while php script polls the db for response (even writing this is time and resource consuming :) )
In my mind, Qt is a good choice for that purpose. I've read couple of threads about this concept but they were just covering the web interface side.
Let me summurize the options that I know:
- Full Qt application (based on a library like tufao?)
- Apache Tomcat / Java
The only requirement is, it should be cross platform.
P.S: I'm not into Java, because it's bytecode could be easily decompiled. It would ruin my efforts to make the communication secure, via exposing the encryiption class implementation. The software will run on hostile environment, not on a server under control. I know, everything could be reverse engineered, but at least it should be a bit harder than opening in notepad :)
Thanks in advance.
Nearly every good encryption software is open source (GPG, ssh, ...). Maybe you should think about the encryption again. Executables are also easy to "decompile". It is just more effort to read the results then from obfuscated byte code (which is nearly unreadable as well).
I know, it's not a good idea to try to use my own encryption algorithm. Therefore using an open one, like AES with a cipher mode would be much better.
I'd read some articles that obfuscating Java bytecode causes serious performance loss. But I'm not expert on Java and never tried that on my own.
The main idea is to keep symmetric key secret. Maybe it's possible with byte code. Got an idea?