请输入您要查询的百科知识:

 

词条 SwellRT
释义

  1. History

      Origins    Impact on Apache Wave project    Recent recognition  

  2. Technical approach

      Collaborative objects    Main features  

  3. Applications using SwellRT

  4. See also

  5. References

  6. External links

{{Infobox software
| name = SwellRT
| logo = SwellRT logo.jpg
| logo size = 100px
| screenshot =
| caption = SwellRT project
| collapsible =
| author = Pablo Ojanguren & others, from the GRASIA research group, at Universidad Complutense de Madrid
| developer = Pablo Ojanguren & others
| released = {{Start date and age|2015|07|01}}
| latest release version = 0.2.0-beta
| latest release date = {{Start date and age|2017|09|30}}
| latest preview version =
| latest preview date =
| repo = {{URL|https://github.com/P2Pvalue/swellrt}}
| status = Beta
| programming language = Java, JavaScript
| operating system = Cross-platform
| platform =
| size =
| language =
| genre = Web framework Backend as a service
| license = Apache License
| website = {{URL|swellrt.org}}
| frequently updated =
}}

SwellRT is a free and open-source backend-as-a-service and API focused to ease development of apps featuring real-time collaboration. It supports the building of mobile and web apps, and aims to facilitate interoperability and federation.

History

Origins

SwellRT has its origins in the work done within the GRASIA research team at the Universidad Complutense de Madrid, as part of the EU-funded project P2Pvalue (2013-2016).[1] In 2014, the developer Pablo Ojanguren took the lead in forking Apache Wave, dropping several components, re-engineering it, and building a "Wave API" to build applications on top.[2] In 2015, such Wave API became a standalone product named SwellRT.[3][4]

Impact on Apache Wave project

In 2016, several discussions took place within the Apache Wave community, aiming to tackle the stagnation and crisis state of the project. The Apache Software Foundation mentor of Apache Wave, Upayavira,[5] was concerned on the project stagnation, but framed SwellRT as Wave's potential savior:

Once more Wave is on the brink of retirement. However, this time, an offer has been made of code from SwellRT, which is a fork of Wave itself, and a concall has been scheduled for interested parties to discuss whether it is a go-er. It is my (limited) understanding that many of the complexity issues in the Wave code that have prevented community development have been resolved in SwellRT.[6]
Eventually, Wave was approved to continue within Apache incubator program, and a copy of SwellRT codebase was placed in the Apache Wave repository in order to grant the Wave community access to it.[7] In this regard, Intellectual Property of SwellRT was transferred to the Apache Foundation in 2017.[8]

Recent recognition

In both 2016[9][10] and 2017,[11][12] SwellRT participated in the Google Summer of Code as part of the set of projects from the Berkman Klein Center for Internet and Society at Harvard University. In both years, the contributions were highly relevant. In 2016, SwellRT replaced its XMPP-based federation protocol (inherited from Apache Wave) for the Matrix.org federation protocol.[13] In 2017, end-to-end encryption was implemented,[14][15] following an innovative approach to encrypt communication in Operational Transformation collaborative documents.[16]

SwellRT received international recognition within the fields of decentralized technologies[17][18][19][20][21][22][23] and real-time collaboration.[24][25][26][27][28][29][30] In the Decentralized Web Summit, organized by the Internet Archive in San Francisco, it was selected as one of the current innovative decentralization technologies.[31] It was also selected by the Redecentralize advocacy group, as one of the redecentralization projects whose founders were interviewed,[32][33] It launched an international contest to develop apps using SwellRT,[34] which was awarded to free/open source developers in India.[35] And the project was presented as invited talk in the Center for Research in Computation and Society at Harvard's School of Engineering and Applied Sciences,[36][37] and in several international conferences.[38][39][40][41][42] SwellRT was one of the first adopters of the Contributor Covenant code of conduct.[43]

Technical approach

SwellRT is a fork from Apache Wave, inherits some of its architecture and technology stack. However, it grew beyond the limits of Wave, first presenting itself as a web framework and nowadays growing to a backend-as-a-service platform.[44][45] Its current technical approach covers the following:

  • It is fully free/open source software.
  • It is developed in Java. GWT with JSInterop is used to generate JavaScript API reusing the same source code. Android client is also built from the same Java sources.
  • It provides an extensible and pluggable rich-text editor component for Web (only) supporting custom annotations and widgets.
  • Real-time data storage is based on Wave's Operational Transformations model, thus it is eventually consistent.
  • It is designed to maximize interoperability, and follows a federation approach similar to Apache Wave, using XMPP or Matrix.org communication protocol. It aims to support the creation of apps that are federated, i.e. rely on multiple interoperable servers, and objects shared across servers. This allows organizations to control their own data.

Collaborative objects

SwellRT provides a programming model based on collaborative objects. A collaborative object is a JSON-like object that can be shared by some users (or groups) that can make changes in real-time. Changes are propagated (and notified) in real-time to any user connected to the object.

A collaborative object can store properties of simple data types (string, integers, etc.) as well as rich-text and references to files or attachments. This approach is suitable to implement any document based collaborative application like text editors or spreadsheets.

Objects and participants are uniquely identified on the Internet enabling decentralized access from different federated servers.

Main features

  • Real-time storage (NoSQL)
  • User management
  • Event based integration
  • Federation (XMPP or Matrix.org)

Applications using SwellRT

SwellRT facilitates the development of mobile/web apps, and thus several apps have been built using this technology. Apart from the demos provided by SwellRT,[46] third-parties developed other demo apps such as a Q&A site,[47] an extension to extract keywords,[48] a collaborative scrollbar,[49] a political participation Android app,[50] a Trello-SwellRT connector.[51] Besides, two fully-fledged apps are currently using SwellRT technology:

  • JetPad, a GoogleDoc-like collaborative editor, free/open source and federated [52][53][54]
  • Teem, a free/open source web/mobile app for the management of communities and collectives[55][56][57]

See also

{{Portal|Free and open-source software}}
  • Apache Wave
  • Real-time text
  • Collaborative real-time editor
  • Operational transformation
  • Federated social network

References

1. ^{{Cite web|url=http://cordis.europa.eu/news/rcn/128080_en.html|title=European Commission : CORDIS : News and Events : A substantial boost for easily and safely producing new online apps|website=cordis.europa.eu|access-date=2017-10-28}}
2. ^{{Cite book|title=Distributed Computing and Artificial Intelligence, 12th International Conference|last=Ojanguren-Menendez|first=Pablo|last2=Tenorio-Fornés|first2=Antonio|last3=Hassan|first3=Samer|date=2015|publisher=Springer, Cham|isbn=9783319196374|series=Advances in Intelligent Systems and Computing|pages=269–276|language=en|doi=10.1007/978-3-319-19638-1_31}}
3. ^{{Cite web|url=http://softlibre.barrapunto.com/article.pl?sid=15/11/16/2248253|title=Barrapunto {{!}} SwellRT: el primer framework libre para apps colaborativas y descentralizadas|website=softlibre.barrapunto.com|access-date=2017-10-28}}
4. ^{{Citation|title=swellrt: SwellRT, open source framework for real-time collaboration|date=2017-10-20|url=https://github.com/P2Pvalue/swellrt|publisher=P2Pvalue|accessdate=2017-10-28}}
5. ^{{Cite web|url=https://incubator.apache.org/projects/wave.html|title=Wave Incubation Status - Apache Incubator|website=incubator.apache.org|access-date=2017-10-28}}
6. ^{{Cite web|url=https://wiki.apache.org/incubator/September2016|title=September2016 - Incubator Wiki|website=wiki.apache.org|access-date=2017-10-28}}
7. ^{{Cite web|url=https://wiki.apache.org/incubator/December2016|title=December2016 - Incubator Wiki|website=wiki.apache.org|access-date=2017-10-28}}
8. ^{{Cite web|url=https://wiki.apache.org/incubator/March2017|title=March2017 - Incubator Wiki|website=wiki.apache.org|access-date=2017-10-28}}
9. ^{{Cite news|url=https://www.p2pvalue.eu/special-announcement-p2pvalue-and-google-summer-of-code-2016/|title=Special Announcement: P2Pvalue and Google Summer of Code 2016|date=2016-04-17|work=P2Pvalue blog|access-date=2017-10-28|language=en-US}}
10. ^{{Cite web|url=https://cyber.harvard.edu/gsoc/?title=Main_Page&oldid=473#SwellRT|title=Berkman Klein Google Summer of Code Wiki|website=cyber.harvard.edu|language=en|access-date=2017-10-28}}
11. ^{{Cite web|url=https://networkofcenters.net/news/international-students-team-berkman-klein-mentors-learn-open-source-development|title=International students team up with Berkman Klein mentors to learn open source development {{!}} Network of Centers|website=networkofcenters.net|language=en|access-date=2017-10-28}}
12. ^{{Cite web|url=https://cyber.harvard.edu/gsoc/?title=Main_Page&oldid=535|title=Berkman Klein Google Summer of Code Wiki|website=cyber.harvard.edu|language=en|access-date=2017-10-28}}
13. ^{{Cite web|url=https://summerofcode.withgoogle.com/archive/2016/projects/5749069813121024/|title=Wave Federation protocol over the Matrix Protocol - 2016 - Google Summer of Code Archive|website=summerofcode.withgoogle.com|language=en|access-date=2017-10-28}}
14. ^{{Cite web|url=https://blogs.harvard.edu/geeks/2017/08/29/swellrtwave-e2e-encryption-overview/|title=SwellRT/Wave E2E Encryption: Overview – Geeks|website=blogs.harvard.edu|language=en-US|access-date=2017-10-28}}
15. ^{{Cite web|url=https://summerofcode.withgoogle.com/archive/2017/projects/5480697707888640/|title=End-to-end encryption in SwellRT - 2017 - Google Summer of Code Archive|website=summerofcode.withgoogle.com|language=en|access-date=2017-10-28}}
16. ^{{Cite book|last=Clear|first=Michael|last2=Reid|first2=Karl|last3=Ennis|first3=Desmond|last4=Hughes|first4=Arthur|last5=Tewari|first5=Hitesh|date=2012-09-19|title=Collaboration-Preserving Authenticated Encryption for Operational Transformation Systems|journal=Information Security|series=Lecture Notes in Computer Science|language=en|publisher=Springer, Berlin, Heidelberg|pages=204–223|doi=10.1007/978-3-642-33383-5_13|isbn=9783642333828|hdl=2262/68179}}
17. ^{{Cite book|last=Ermoshina|first=Ksenia|last2=Musiani|first2=Francesca|last3=Halpin|first3=Harry|date=2016-09-12|title=End-to-End Encrypted Messaging Protocols: An Overview|journal=Internet Science|series=Lecture Notes in Computer Science|language=en|publisher=Springer, Cham|pages=244–254|doi=10.1007/978-3-319-45982-0_22|isbn=9783319459813}}
18. ^{{Cite web|url=https://www.programmez.com/actualites/swellrt-un-cadre-open-source-de-developpement-dapplications-web-collaboratives-decentralisees-25932|title=SwellRT : un cadre open source de développement d'applications Web collaboratives décentralisées|website=Programmez!|language=fr|access-date=2017-10-28}}
19. ^{{Cite web|url=http://www.opensourceschool.fr/2017/05/12/swellrt-application-open-source/|title=SwellRT : une technologie open source pour applications {{!}} OSS|website=www.opensourceschool.fr|access-date=2017-10-28}}
20. ^{{Cite web|url=http://softlibre.barrapunto.com/article.pl?sid=15/11/16/2248253|title=Barrapunto {{!}} SwellRT: el primer framework libre para apps colaborativas y descentralizadas|website=softlibre.barrapunto.com|access-date=2017-10-28}}
21. ^{{Cite web|url=http://www.catalunyavanguardista.com/catvan/crear-en-tiempo-real-aplicaciones-descentralizadas/|title=Crear en tiempo real aplicaciones descentralizadas {{!}} Catalunya Vanguardista|website=www.catalunyavanguardista.com|language=es-ES|access-date=2017-10-28}}
22. ^{{Cite web|url=https://stealthisshow.com/s02e13/|title='How P2P Will Save The World', with Samer Hassan – STEAL THIS SHOW|website=stealthisshow.com|language=en-US|access-date=2017-10-28}}
23. ^{{Cite web|url=https://www.reddit.com/r/ethereum/comments/4njm08/an_exciting_list_of_the_nextgeneration/|title=An exciting list of the next-generation Decentralized world's projects/orgs that're abuzz :) • r/ethereum|website=reddit|language=en|access-date=2017-10-28}}
24. ^{{Cite journal|last=Bianchi|first=Lucia|last2=Liò|first2=Pietro|title=Opportunities for community awareness platforms in personal genomics and bioinformatics education|journal=Briefings in Bioinformatics|volume=18|issue=6|pages=1082–1090|doi=10.1093/bib/bbw078|pmid=27580620|year=2016}}
25. ^{{Cite journal|last=Ojanguren-Menendez|first=Pablo|last2=Tenorio-Fornés|first2=Antonio|last3=Hassan|first3=Samer|date=2015|title=Building Real-Time Collaborative Applications with a Federated Architecture|url=http://www.ijimai.org/journal/node/861|journal=International Journal of Interactive Multimedia and Artificial Intelligence|language=en|volume=3|issue=Regular Issue|issn=1989-1660}}
26. ^{{Cite web|url=https://www.quora.com/What-are-good-frameworks-for-real-time-collaboration-in-a-web-application|title=What are good frameworks for real-time collaboration in a web application? - Quora|website=www.quora.com|language=en|access-date=2017-10-28}}
27. ^{{Cite web|url=https://stackoverflow.com/questions/29236421/real-time-collaborative-rich-text-editing|title=Real-time collaborative rich text editing|website=stackoverflow.com|access-date=2017-10-28}}
28. ^{{Cite web|url=https://softwarerecs.stackexchange.com/questions/39858/what-is-a-good-framework-for-a-realtime-collaboration-web-app-with-several-realt|title=What is a good Framework for a realtime collaboration web app with several realtime documents per App Instance|website=softwarerecs.stackexchange.com|access-date=2017-10-28}}
29. ^{{Cite web|url=https://blogory.org/javascript-collaborative-rich-text-editors|title=Blogory.org Javascript Collaborative Rich Text Editors|website=blogory.org|language=en|access-date=2017-10-28}}
30. ^{{Cite web|url=https://www.teixidora.net/wiki/Economies_col%C2%B7laboratives_procomuns_03/11/2016/apunts|title=Economies col·laboratives procomuns 03/11/2016/apunts - teixidora|website=www.teixidora.net|language=ca|access-date=2017-10-28}}
31. ^{{Cite web|url=https://decentralizedweb.net/learn-more/|title=Decentralized Web Summit: Locking the Web Open|website=decentralizedweb.net|access-date=2017-10-28}}
32. ^{{Cite web|url=http://redecentralize.org/interviews/|title=Interviews — Redecentralize.org|last=Irving|first=Francis|website=redecentralize.org|language=en|access-date=2017-10-28}}
33. ^{{Cite web|url=http://redecentralize.org/interviews/2017/02/18/23-pablo-ojanguren-swellrt.html|title=#23: Pablo Ojanguren - SwellRT — Redecentralize.org|last=Irving|first=Francis|website=redecentralize.org|language=en|access-date=2017-10-28}}
34. ^{{Cite news|url=https://blog.p2pfoundation.net/worldwide-free-software-contest-enter-sept-18/2016/08/30|title=SwellRT Free Software Contest - Enter by Sept. 18 {{!}} P2P Foundation|date=2016-08-30|work=P2P Foundation|access-date=2017-10-28|language=en-US}}
35. ^{{Cite web|url=http://chennai.vit.ac.in/academics/schools/scse/btechcseachieve|title=VIT University|website=VIT University|access-date=2017-10-28}}
36. ^{{Cite web|url=https://crcs.seas.harvard.edu/event/crcs-seminar-5|title=SwellRT: Facilitating decentralized real-time collaboration|website=crcs.seas.harvard.edu|language=en|access-date=2017-10-28}}
37. ^{{Citation|last=Harvard's CRCS|title=CRCS Seminar 09/26, Samer Hassan: SwellRT: Facilitating Decentralized Real-Time Collaboration|date=2016-10-06|url=https://www.youtube.com/watch?v=gQ5DWKKO03U|accessdate=2017-10-28}}
38. ^{{Cite news|url=http://commonstransition.org/commons-collaborative-economy-explodes-barcelona/|title=The Commons Collaborative Economy explodes in Barcelona - Commons Transition|date=2016-04-18|work=Commons Transition|access-date=2017-10-28|language=en-US}}
39. ^{{Cite web|url=https://www.eventbrite.co.uk/e/decentralised-apps-redecentralize-london-april-meetup-tickets-32951400526#|title=Decentralised Apps - Redecentralize London April Meetup|website=Eventbrite|language=en-GB|access-date=2017-10-28}}
40. ^{{Cite news|url=http://www.p2pvalue.eu/2nd-floss4p2p-workshop/|title=2nd FLOSS4P2P Workshop|date=2016-04-17|work=P2Pvalue blog|access-date=2017-10-28|language=en-US}}
41. ^{{Cite web|url=http://ciudades-democraticas.cc/proyectos-y-herramientas-para-abrir-la-democracia/|title=Proyectos y herramientas para abrir la democracia « Ciudades Democráticas|website=ciudades-democraticas.cc|language=es-ES|access-date=2017-10-28}}
42. ^{{Cite web|url=https://en.ogpsummit.org/osem/users/7210|title=#OGP16 Summit|website=en.ogpsummit.org|access-date=2017-10-28}}
43. ^{{Cite web|url=https://www.contributor-covenant.org/adopters|title=Contributor Covenant: Adopters|website=www.contributor-covenant.org|language=en|access-date=2018-05-26}}
44. ^{{Citation|title=swellrt: SwellRT, open source framework for real-time collaboration|date=2017-10-20|url=https://github.com/P2Pvalue/swellrt|publisher=P2Pvalue|accessdate=2017-10-28}}
45. ^{{Citation|title=SwellRT wiki|date=2017-10-20|url=https://github.com/P2Pvalue/swellrt/wiki/Get-Started|publisher=P2Pvalue|accessdate=2017-10-28}}
46. ^{{Cite web|url=http://demo.swellrt.org/|title=SwellRT Server|website=demo.swellrt.org|language=en|access-date=2017-10-28}}
47. ^{{Citation|last=Juste|first=Abel Serrano|title=upvote: Real-Time Collaborative Q&A. Find the best idea|date=2016-09-22|url=https://github.com/Akronix/upvote|accessdate=2017-10-28}}
48. ^{{Citation|title=teem-tag: A Python module for extracting relevant tags from text content in Teem, a P2PValue project.|date=2017-02-13|url=https://github.com/P2Pvalue/teem-tag|publisher=P2Pvalue|accessdate=2017-10-28}}
49. ^{{Citation|last=ThomasWrobel|title=SwellRT_Example_CollaborativeScrollbar: A very simple example of a SwellRT client|date=2016-10-28|url=https://github.com/ThomasWrobel/SwellRT_Example_CollaborativeScrollbar|accessdate=2017-10-28}}
50. ^{{Cite book|url=http://eprints.ucm.es/32982/|title=DemoCritics: aplicación Android de participación política con edición colaborativa en tiempo real|last=Ramos Romero|first=Jaime|last2=Bastarrica Lacalle|first2=Javier|work=|publisher=Universidad Complutense de Madrid|year=2015|isbn=|location=Madrid (Spain)|pages=|trans-title=DemoCritics: Android app for political participation with real-time collaborative edition|type=Final project (Computer Science)}}
51. ^{{Citation|last=Shubham|first=Kumar|title=teem-trello-webhook-server: The server which listens for changes in the Trello board model and simultaneously uodates them in the SwellRT object model|date=2017-08-18|url=https://github.com/krshubham/teem-trello-webhook-server|accessdate=2017-10-28}}
52. ^{{Cite web|url=http://cordis.europa.eu/news/rcn/128080_en.html|title=European Commission : CORDIS : News and Events : A substantial boost for easily and safely producing new online apps|website=cordis.europa.eu|access-date=2017-10-28}}
53. ^{{Cite web|url=http://jetpad.net/|title=JetPad|website=jetpad.net|access-date=2017-10-28}}
54. ^{{Cite web|url=https://medium.com/roughhaste/notes-on-how-p2p-will-save-the-world-a12db16d1b47|title=Notes on "How P2P Will Save the World"|last=Haste|first=Rough|date=2017-04-23|website=RoughHaste|access-date=2017-10-28}}
55. ^{{Cite news|url=https://horizon-magazine.eu/article/collaboration-doesn-t-give-others-license-distribute-your-stuff_en.html|title=Collaboration that doesn’t give others a license to distribute your stuff|work=Horizon: the EU Research & Innovation magazine|access-date=2017-10-28|language=en}}
56. ^{{Cite web|url=http://www.elsalmoncontracorriente.es/?Una-app-para-involucrar-a-mas|title=Una app para involucrar a más gente en proyectos colaborativos - El salmón contracorriente|website=www.elsalmoncontracorriente.es|language=es|access-date=2017-10-28}}
57. ^{{Cite web|url=http://teem.works/|title=Teem|website=Teem|language=en-US|access-date=2017-10-28}}

External links

  • Official website
  • {{GitHub|P2Pvalue/swellrt}}

15 : 2015 software|Software using the Apache license|Rich Internet application frameworks|Collaborative real-time editors|Real-time technology|Real-time web|Collaborative software|Federated identity|Cross-platform free software|Free software programmed in Java (programming language)|Web development software|Android (operating system) development software|Application programming interfaces|Distributed computing projects|Open-source cloud applications

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/15 19:02:33