Real-time Concurrent Applications

Hi,
I’m new in the Vaadin way and I’m trying to develop a real time concurrent application.

My first approach was to look for an add-on in the vaadin database, but I couldn’t find any,
I also tried the existing threads in the forums, but it seems no one had any problem with this.
My next step is to try to use vaadin 7 with an already existing OT framework, like cometd, sharejs or opencoweb.

Does Vaadin 7 have any support to Operational Transformation? Is it possible to integrate it with the mentioned OT frameworks?

Thanks in advance!

There are push technologies that can be used to create applications where many can interact with each others in pretty much real time, but I haven’t heard of anything like OT. The term in itself is unknown to me.

If you give a bit of more info on what you need then maybe I can give more concrete suggestions.

My objective is to build an application that allows all changes from any user to be seen in real time by all other users. Some examples: http://sharejs.org/demos.html and http://opencoweb.org/index.php?option=com_weblinks&view=category&id=4&Itemid=3

Operational Transformation is one kind of algorithms to support live concurrent editing. It works by resolving the multiple-user changes in the same object, assuring consistency of the final viewed data for all connected users. More information can be seen here: http://www.waveprotocol.org/whitepapers/operational-transform

Observation: OT is not a requirement of my project; I’m just mentioning it because it seemed the most used one.

I’m no expert in OT, but the two main solutions that I know - sharejs and opencoweb - heavily rely on javascript in the client side; which requires certain level of effort to integrate it with vaadin.

You mentioned the use of push technologies; do you have any link that explains them within vaadin 7?

Thank you for your attention!

I see what you mean now. There is most likely some implementation in Java (= outside Vaadin) of OT, which you can use directly behind the UI layer. For pushing changes to the UI check one of the sticky posts here on the forum about
Updating UI from another thread
.

You can choose from a set of add-ons to use as the push mechanism. There are:

ICEPush


DontPush


DontPush OzoneLayer

There will be a built in implementation of this, maintained by the Vaadin team, in the close future. I think it has been scheduled for Vaadin 7.1. Before that, you could look into those alternatives. I’ve seen many applications using those. for example real time games or a calendar application (using Vaadin Calendar) where many users can modify the same calendar at the same time.

I’ll try the ICEPush add-on.
It is very good to know that “server push” will be a built int feature in Vaadin 7.1!

Thanks for your answer!