EventWeb allows a user to interact with a web application in the same way as a desktop application.
The key enabler for this is the creation of a bi-directional TCP/IP connection between the browser and the web server. This allows an event on the web server, such as a change in data, to cause new data to be pushed to the web page in the browser. It also allows the browser to send new data to the server in response to user actions, (which in turn can trigger a response from the server).
The primary goal of EventWeb is to allow a web application to provide the same user interaction as a desktop application. Additional goals are:
Basically, Because you want to update the web client when server side events occur. If you don't need to do this, you probably don't want EventWeb.
There are a number of approaches to pushing data from the server to a web page. All of them have disadvantages. Some use proprietary software; Some use polling across the network, and some use standard protocols in a quirky way.
EventWeb solves this problem in a clean and stable way, with very low network bandwidth consumption, low data latencies, open source software, and stable, reliable communications.
But, like everything else, it has it's drawbacks. EventWeb has two main drawbacks: 1) It uses a Java applet. This difficulty is mitigated because all EventWeb pages use the same applet class, and once the browser has the applet cached, it doesn't need to download it again. 2) It uses dynamic TCP ports, which may cause problems with some firewalls. (We plan to address the firewall problem in a future release.)
If you can live with these two drawbacks, EventWeb provides a clean way to host desktop style applications in a web browser.