Building Real-Time Collaborative Applications with a Federated Architecture

Authors

DOI:

https://doi.org/10.9781/ijimai.2015.356

Keywords:

Collaboration, Real-Time Locating Systems, API, Federation, Apache
Supporting Agencies
This work was partially supported by the Framework programme FP7-ICT-2013- 10 of the European Commission through project P2Pvalue (grant no.: 610961).

Abstract

Real-time collaboration is being offered by multiple libraries and APIs (Google Drive Real-time API, Microsoft Real-Time Communications API, TogetherJS, ShareJS), rapidly becoming a mainstream option for webservices developers. However, they are offered as centralised services running in a single server, regardless if they are free/open source or proprietary software. After re-engineering Apache Wave (former Google Wave), we can now provide the first decentralised and federated free/open source alternative. The new API allows to develop new real-time collaborative web applications in both JavaScript and Java environments.

Downloads

Download data is not yet available.

References

[1] B. Leuf and W. Cunningham, The Wiki Way: Collaboration and Sharing on the Internet. {Addison-Wesley Professional}, 2001.

[2] “Collaborative communities for everyone! - Wikia.” [Online]. Available: http://www.wikia.com/Wikia

[3] B. Berliner, “CVS II: Parallelizing software development,” USENIX Association., pp. 341–352, 1990.

[4] Google Inc. “Google Docs.” [Online]. Available: https://docs.google.com

[5] The Etherpad Foundation, “Etherpad.” [Online]. Available: http://etherpad.org/

[6] Sun, S. Xia, C. Sun, and D. Chen, “Operational Transformation for Collaborative Word Processing,” in Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, New York, NY, USA, 2004, pp. 437–446.

[7] C. A. Yeung, I. Liccardi, K. Lu, O. Seneviratne, and T. Berners-lee, “Decentralization: The future of online social networking,” presented at the In W3C Workshop on the Future of Social Networking Position Papers, 2009.

[8] C. A. Ellis and S. J. Gibbs, “Concurrency Control in Groupware Systems,” in Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 1989, pp. 399–407.

[9] “ACE - a collaborative editor.” [Online]. Available: http://sourceforge.net/projects/ace/

[10] A. Ferrate, Google Wave: Up and Running. O’Reilly Media, Inc., 2010.

[11] D. A. Nichols, P. Curtis, M. Dixon, and J. Lamping, “High-latency, Low-bandwidth Windowing in the Jupiter Collaboration System,” in Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology, New York, NY, USA, 1995, pp. 111–120.

[12] Baxter, A. and Bekmann, J. and Berlin, D. and Gregorio, J. and Lassen, S. and Thorogood, S., “Google Wave Federation Protocol Over XMPP.” Google Inc., 2009.

[13] G. Trapani and A. Pash, The Complete Guide to Google Wave. 3ones Inc, 2010.

[14] “Apache Wave Incubating.” [Online]. Available: http://incubator.apache.org/wave/

[15] Mozilla Labs, “TogetherJS.” [Online]. Available: https://togetherjs.com/

[16] J. Gentle, “ShareJS,” Nov-2011. [Online]. Available: http://sharejs.org/

[17] T. Chuanwu “Goodow - Google Docs–style collaboration via the use of operational transforms,” GitHub. [Online]. Available: https://github.com/goodow

[18] “Google Wave Protocol.” [Online]. Available: http://www.waveprotocol.org/

[19] R. Dewsbury, Google Web Toolkit Applications. Pearson Education, 2007.

[20] K. Chodorow, MongoDB: The Definitive Guide. O’Reilly Media, Inc., 2013.

[21] “Jasmine: Behavior-Driven JavaScript.” [Online]. Available: http://jasmine.github.io/

[22] P. Ojanguren, “SwellRT, a real-time federated collaboration framework.” [Online]. Available: https://github.com/P2Pvalue/swellrt

[23] A. North, “Wave model deep dive,” 2010. [Online]. Available: https://cwiki.apache.org/confluence/display/WAVE/Wave+Summit+Talks

[24] G. North, A. J., “Google Wave Conversation Model,” Oct-2009. [Online]. Available:

[25] http://wave-protocol.googlecode.com/hg/spec/conversation/convspec.html

[26] P. Saint-Andre, “Extensible Messaging and Presence Protocol (XMPP): Core,” RFC Editor, RFC6120, Mar. 2011.

[27] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software Pearson Education, 1994.

[28] “The Apache Wave (Incubating) Open Source Project on Open Hub.” [Online]. Available: https://www.openhub.net/p/apache_wave

[29] T. Burnham, CoffeeScript: Accelerated JavaScript Development. Pragmatic Bookshelf, 2011.

[30] I. Fette and A. Melnikov, “The WebSocket Protocol,” RFC Editor, RFC6455, Dec. 2011.

[31] Gregor Roth, “Architecture of a Highly Scalable NIO-Based Server” 2007. [Online]. Available: https://today.java.net/pub/a/today/2007/02/13/architecture-of-highly-scalable-nio-server.html

[32] T. Berners-Lee, J. Ora, L. Ora and others, “The semantic web,” Scientific american, vol. 284, no. 5, pp. 28–37, 2001.

[33] C. Bizer, T. Heath and T. Berners-Lee, “Linked data-the story so far,” Semantic Services, Interoperability and Web Applications: Emerging Concepts, pp. 205–227, 2009.

Downloads

Published

2015-12-01
Metrics
Views/Downloads
  • Abstract
    21
  • PDF
    11

How to Cite

Ojanguren Menendez, P., Tenorio Fornés, A., and Hassan, S. (2015). Building Real-Time Collaborative Applications with a Federated Architecture. International Journal of Interactive Multimedia and Artificial Intelligence, 3(5), 47–52. https://doi.org/10.9781/ijimai.2015.356