HTML5Apps: Cloud and web standard Roadmap
Position Paper for Cloudscape Brazil 2015 - HTML5Apps: Cloud and web standard Roadmap
Presentation of a roadmap focusing on Web standards that are of particular relevance to Cloud Computing research and development.
Who benefits and how
This roadmap allows Cloud-related R&D projects to more easily keep track of and participate in on-going W3C work.
Cloud And Web Standard Roadmap: As part of our HTML5Apps project, we have identified a subset of R&D EC projects with an interest in the development and adoption of HTML5 standards. We put a particular focus on platform as a service (PaaS) projects that defined APIs. Analysis of and outreach to the projects revealed that a significant number of HTML5 standards have the potential to play an important role in Cloud technology, but this is not widely known due to a “communication gap” between the Web and the Cloud communities.
There was also a lack of understanding of how the projects could use them (or use them better), depending on their degree of maturity, implementation, or other deployment criteria. To address this, we developed a specialised version of the general HTML5 roadmap focusing on on-going work of particular relevance to Cloud Computing research and development. This roadmap allows Cloud-related projects to more easily keep track of and participate in ongoing W3C work.
Web and Cloud roadmap: The “Standards for Web Applications on mobile roadmap” is a resource that informs all Web programmers, on a quarterly basis, of the evolution of Web standards particularly relevant to mobile. This document aims at facilitating the adoption of the Open Web Platform as a target developer platform for ICT research projects among others. It gives information about status, deployment, etc. of different HTML5-application standards in development at W3C. Here we look at the foundations described in the roadmap of HTML5 standards and describe their relevance with respect to Cloud computing.
Core Web Design and Development
The Graphics and Layout layers are not very relevant for the Cloud programmers, they are part of the UI considerations. That being said, the Web provides a valuable portable layer for Cloud application UIs, allowing Cloud researchers to concentrate on the PaaS/IaaS level. W3C work on IndexedDB and background synchronisation create a good combination needed for Cloud storage so it is something Cloud designers should track.
Media and Real-Time Communications: Increasingly, sharing/streaming media is a big use case for cloud technologies, as the cloud makes everything faster and appear closer on the net, large binary objects in particular. The natural distribution of media on a given Web page, coming from different servers, in different authenticated streams, should lead to a Cloud friendly architecture but Cloud designers are not always at the table in HTML5 standardisation to raise their requirements.
Usability and Accessibility: Although focused on UI as well, Cloud programmers should pay attention to MMI, the multimodal interface activities of W3C, since in addition to integrating multiple UI modalities, e.g., GUI, speech, touch and gesture, the scope of the latest charter of the multimodal interaction Working Group includes combination of cloud services and multiple input/output modalities provided by more than one devices. For more details, please see the MMI Ecosystem report.
Device Interaction: A primary use case for Cloud technologies in the near future will be to handle data gathered from the myriad of sensors that get build and distributed in devices all over the planet. Web technologies can increasingly be used to interact with these sensors.
Network Integration: All work in this area is relevant: synchronisation, push, socket, XMLHttpRequest, are all used in cloud agents and need to be tracked by c:loud R+D projects for new features.
Application Lifecycle: While Cloud services are potentially always in operation, their usage by end-users depend on their proper integration in the clients that they interact with, whose lifecycles depend on many parameters: battery, network connectivity, visibility on the device, etc. These notions are part of the overall application lifecycle: how applications get installed, shown to the user in applications list, started, stopped, woken up from remote notifications, synced up when the device goes on-line. These various capabilities have brought the Web platform through different mechanisms such as Packaging on the Web or the JSON-based manifest format and the HTML5’s ApplicationCache work.
Payment and Services: HTML5App’s new W3C activity on payment is already looking at Cloud integration, e.g. differences between eWallets that reside in your phone or in the cloud, or more generally any payment card details managed either on a secure element or on the cloud. Of course, the things people buy online, the actual data or resource may be outsourced to a cloud service provider and so communication and protocols must be developed in this context.
Performance & Tuning: Concerns mostly the Web itself, but the cloud being a performance driver as well, there may be connections to make.
Security & Privacy: Clearly a big intersection with the Cloud, and all Cloud programmers should follow this work if they want to write secure cloud web apps, concerned with identity, encryption, etc.
Web of Things: The Web of Things, a new W3C activity, is also very relevant, as it focuses on servers ranging from micro-controllers to cloud based server farms where large numbers of sensors, high message through put and big data are very much to the fore. W3C’s contribution in this area focuses on metadata as an enabler to implementing an abstraction layer that sits above the platforms and protocols, a bit like the Web itself sits on top of lower level Internet protocols. Also worth mentioning, most of the Cloud Computing API work is based on URIs and REST, concepts developed by the W3C and IETF, so these needs to be tracked as well. And so does our recent work on Efficient XML, EXI, which is used by a lot of frameworks for exchanging structured data.
Summary: In developing this new roadmap resource, we aim at lowering the risk that PaaS-based Web applications restrict overall Web application portability. There is an opportunity for the W3C to use its experience in standardising Web technology to aid PaaS web application portability and define how Web applications can be structured to utilise cloud resources. There are a number of existing development efforts within the W3C which could be leveraged and we hope that researchers will take these opportunities to strengthen their platform.
Overall, we see two core issues which currently limit PaaS application portability and that we hope using the Web platform can help solve. First, the variety of model abstractions for traditional cloud resources makes it hard for developers to create applications which can port easily between PaaS providers.
Second, even though using Web technologies in a pervasive way, e.g. URI and REST, or HTML5, looks like a guarantee of compatibility between platforms, the approach taken by Cloud environments does not provide application portability for PaaS and developers still have to re-implement their application code in a different development language to move between PaaS providers supporting different languages.
Conclusion: For the Cloud technology to be open and interoperable across Europe, but also across the entire Internet, it has to rest on other open standards. Cloud applications that use native APIs, proprietary to a particular vendor, will fail to deliver true portability. We have focused our attention on R&D projects defining APIs for the cloud (PAAS layer usually), and on ways to help them consider the HTML5 and Open Web Platform as a natural complementary to making PAAS software and standards as open as the Web. As a result, we have produced a version of our HTML5/Web standard roadmap with a specific view on Cloud relevance, to raise awareness within the Cloud R&D community on the importance of the Web platform for their projects.
Author: Daniel Dardailler