Building communicating web applications leveraging endpoints and cloud
Building communicating web applications leveraging endpoints and cloud resource service Kundan Singh Venkatesh Krishnaswamy @IEEE Cloud, Jun 30, 2013
People forget… 4 Systems: files vs. application software 4 Software engineering: data model vs view 4 Social web: who owns your friends? 1 Data App App User Data App User 1 http: //www. technologyreview. com/featuredstory/410311/who-owns-your-friends/ K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 2
What is the problem? 4 User leaves obsolete data everywhere. 4 Big web companies dictate which app is used. 4 Useful data is lost when a website goes under. Redundancy Application lock-in Rigid data boundary Tied lifetime of data The problem is aggravated in communicating apps K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 3
In this talk… 1. What is the problem? 2. What is resource-based application model? 3. What are web communication widgets? 4. How do they apply in real scenarios? 5. What are the challenges? K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 4
Background: web applications DB DB wiki (PHP), CMS (Python), Comm (Java) Web server /data access HTML 5 Web server /container Browser Thin client K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 Editor, Games, Interactive Browser Video chat, Contacts list, Shoutcast HTML/CSS/Java. Script Rich Internet Apps 5
What is a resource service? / (root) 1 /room/1234 or /users/bob/presence Transient vs. persistent apps users alice 1. Hierarchical resources bob contacts comm social 2. Client-server connection Web. Socket; reconnection presence 3. Message format 4 Service Resource Data: GET, PUT, POST, DELETE Events: SUBSCRIBE, NOTIFY Representation: JSON Server 2 3 Web. Socket/ HTTP Browser Alice JSON messages 5 Browser 4. Web server With Web. Socket server and real database 5. Client Java. Script library Bob K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 And developer SDK, widgets, tutorials, … 6
How does an application work? Frasier Resource Server Daphne get my contacts on login GET /users/frasier/contacts [“daphne”, “niles”, …] for each contact SUBSCRIBE /users/daphne/presence update status on login NOTIFY /users/daphne/presence {“notify”: “PUT”, “entity”: …} PUT /users/daphne/presence {“status”: “available”} update daphne’s status icon K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 7
What is a. Rtisy (R-T-C)? Developer platform, SDK, web widgets K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 8
K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 Demo 9
K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 Demo 10
K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 Demo 11
What really happened? 3. Listen to members list resource when set, and add local member resource on join. 4. Listen to text message resources when set, and allow posting on join. 5. Use attached conference members list to add video-io, and add local member’s video on join. 2. Trigger attached conference to join or leave when clicked. 1. Set the attached property when entered K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 12
K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 Demo 13
What have we built? 4 Public chat service C) 4 Instant messenger and communicator T R b e. , W g. e ( 5 4 Video presence and contact list HTML el d o m e rc u o s e R 4 Personal wall for social sharing size e d o c ce r u o s l l Sma 4 Enterprise video call K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 14
What are the challenges? 4 Security and access control 4 Cross domain access 4 Robustness against failures 4 Interoperability with existing Vo. IP (and video) systems 4… Many more questions are answered in the detailed paper Contact: singh 173@avaya. com K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 15
What is the take-home message? 1. Socially aware cloud storage separate from websites solves several problems found in existing social apps 2. Resource server may be deployed on premise (within an enterprise) or on cloud (for public or private access) Realtime Social Web, Mobile 3. Complex communicating application logic can run entirely in web browsers, while mashing up at the data level K. Singh, V. Krishnaswamy, “Building communicating web applications ”, IEEE Cloud 2013 16
- Slides: 16