Use web socket for server push

Description

Use web socket instead long polling for the current server push implementation. Note that this is not the equivalent of web socket serverpush in Zk EE as there's no web socket base rendering engine implementation.

Environment

None

Activity

Show:
Carlos Ruiz
September 24, 2019, 9:29 AM

Added commits 540a84d and 5d60f2a to set back websocket as the default on the development branch, so, there’s no need for special configuration in zk.xml or start script.

Still it is important to configure properly the nginx proxy to make this work, the recommended for nginx proxy is still the same:

About apache proxy there was a recent thread in forums:
https://groups.google.com/d/msg/idempiere/0s0ATEh8ywE/mUw-fnNZBgAJ
But we didn't arrive to a conclusion about recommendation to setup apache proxy.

Heng Sin Low
March 28, 2019, 1:28 AM

Hi ,

Some metrics test would be nice.

I don't expect there's significant performance difference with the atmosphere based implementation. The primary benefit is the reduce dependency, simpler implementation and it avoid the max concurrent AJAX (XmlHttpRequest) requests limitation (usually 6 per domain).

Regards,
Low

Carlos Ruiz
March 27, 2019, 8:05 PM

Hi , I configured https://test.idempiere.org/webui as your guide here.

Anything you would like community to test?
Metrics?

Regards,

Carlos Ruiz

Heng Sin Low
March 27, 2019, 1:09 PM

For now, this is optional. To turn it on, copy zk-websocket-serverpush.xml (at org.adempiere.ui.zk/WEB-INF folder) to a folder accessible to your server instance and add -Dorg.zkoss.zk.config.path=file:///<path>/zk-websocket-serverpush.xml to the VMOPTS part of your server startup script. When running from Eclipse, add the contents of zk-websocket-serverpush.xml to your <workspace>/zk.xml file.

Heng Sin Low
March 27, 2019, 1:02 PM

With latest changes, tested working fine with nginx using the following configuration:

Fixed

Assignee

Heng Sin Low

Reporter

Heng Sin Low

Labels

None

Tested By

None

Components

Fix versions

Priority

Major