Performance
FOEX Live Editing has been designed with performance in mind. There is no additional overhead on the database by enabling this functionality. All data relayed over the websocket is done securely by the browsers after the data has returned from the server. For example: when an update is performed on a Grid, the changes are made in the database, the rows are re-queried and sent back to the browser, and then the browser sends this data to the websocket server to be broadcast to all other users listening on the region's private channel. There are no AJAX calls back to the database to grab any data, even for checksums etc. as this is all provided in the response from the grid update. This applies to all CRUD operations on all region types, forms, grids, tree grids, and editable list views.
For the PLSQL API we use a REST call that allows the database to directly broadcast from one record up to thousands of records in a single call using a SYS_REFCURSOR type.
For the visualization of the changes within the regions, we only apply highlighting to the records the user is currently viewing. We do not apply any highlighting to records that are not in view and must be scrolled to. This maintains optimal browser performance since there's no point showing any highlighting or animation of changes the user can't see.
Security
You can use SSL mode for both the Websocket and REST endpoint or HTTP during development. We use token based encryption to secure connection to the web sockets and regions register what columns users are allowed to see to ensure that data or parts of data are not broadcast to users who should not see it.
The encrypted data uses the AES 256-bit algorithm with Cipher Block Chaining and PKCS #5 padding.