Qt and Cloud Services. Sami Makkonen Qt R&D Digia



Similar documents
ITP 342 Mobile App Development. APIs

ITP 140 Mobile Technologies. Mobile Topics

Microsoft Azure for IT Professionals 55065A; 3 days

NCTA Cloud Architecture

Cloud Computing. Adam Barker

ASTROBOA - DRUPAL Integrated PLATFORM

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

PRIVACY AWARE ACCESS CONTROL FOR CLOUD-BASED DATA PLATFORMS

SaaS, PaaS & TaaS. By: Raza Usmani

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

Customizing and Integrating

Exploring the options to deploy Microsoft SharePoint in the Cloud.

CLOUD ARCHITECTURE DIAGRAMS AND DEFINITIONS

CLOUD COMPUTING & WINDOWS AZURE

Cloud Training Portal. Trainings. Process Guide. October 2012 ECPG-3. Version 1.2

Cloud computing - Architecting in the cloud

Enterprise Mobility Space

CLOUD CLOUT WITH OPEN APIS WHAT YOU SHOULD ASK OF YOUR CLOUD PROVIDER

[Who Cares?] as a Service

Amazon AWS in.net. Presented by: Scott Reed

Course Summary. Prerequisites

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

... Introduction Acknowledgments... 19

Invitation to OASIS CAMP A Cirrus View (high level)

Supporting Cloud Services

Practical Development with a Platform as a Service (PaaS) Beyond the Basics

PaaS - Platform as a Service Google App Engine

Harnessing the Power of the Microsoft Cloud for Deep Data Analytics

2) Xen Hypervisor 3) UEC

MS 10978A Introduction to Azure for Developers

MEMORY IN THE CLOUD THE CLOUD STORAGE SERVICE

Donky Technical Overview

FileDrawer An Enterprise File Sharing and Synchronization (EFSS) solution.

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

IDEAL INSTITITE OF MANAGEMENT AND TECHNOLOGY In association with IIT MADRAS Presents SAARANG 2015 National Level CLOUD COMPUTING Championship

Real-time Billing as a Service. SOCNE-Workshop, Barcelona, Spain, September 16th, Stephan Flake, Jürgen Tacken, Carsten Zoth

Extending the Survey123 for ArcGIS Mobile App

Networks and Services

Corporate Bill Analyzer

Cloud Ready Data: Speeding Your Journey to the Cloud

Ø Teaching Evaluations. q Open March 3 through 16. Ø Final Exam. q Thursday, March 19, 4-7PM. Ø 2 flavors: q Public Cloud, available to public

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Course 10978A Introduction to Azure for Developers

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

Last time. Today. IaaS Providers. Amazon Web Services, overview

Cloud Computing. Chapter 1 Introducing Cloud Computing

APPLICABILITY OF CLOUD COMPUTING IN ACADEMIA

Assignment # 1 (Cloud Computing Security)

Goals. Provide an overview of SharePoint for Windows Azure. developers. Discuss how SharePoint & Windows Azure integrate from a development and IT Pro

Cloud Computing. Technologies and Types

Cloud Computing: Making the right choices

Cloud Computing. Chapter 1 Introducing Cloud Computing

White Paper. Using Universal Platform TM to Facilitate Disaster Recovery Projects

TASSQ Dinner Meeting Performance & Automation Testing of Cloud Solutions. March 31 st 2015

Google Cloud Platform The basics

day 1 2 Windows Azure Platform Overview... 2 Windows Azure Compute... 3 Windows Azure Storage... 3 day 2 5

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

Cloud Services for DevOps: Next-gen PaaS Through MBaaS

Vincent Gabriel. Summary. Experience. Senior Software Developer at Landmark Network

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

Platform Architecture & Integration with OpenShift

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

How To Understand Cloud Computing

Develop and Scale Mobile Services in Cloud Computing Scenarios

Microsoft Azure Cloud for Solution Architects

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Cloud Development Strategies

CARRIOTS TECHNICAL PRESENTATION

and Deployment Roadmap for Satellite Ground Systems

Practical Android Projects Lucas Jordan Pieter Greyling

Pro<DOC/> e-commerce Technology An Introduction

Customizing and Integrating

Business Intelligence as a Service for the G-Cloud

XML Processing and Web Services. Chapter 17

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

Subash Krishnaswamy Applications Software Technology Corporation

Mobile Identity and Edge Security Forum Sentry Security Gateway. Jason Macy CTO, Forum Systems

Microsoft Power BI. Nov 21, 2015

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Nýjungar í webmethods 9.x. Ingólfur Þorsteinsson

AppDev OnDemand Cloud Computing Learning Library

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Collaborative Open Market to Place Objects at your Service

Cloud Computing. Chapter 1 Introducing Cloud Computing

OVERVIEW OF MICROSOFT AZURE

Blog:

Interoperability and Portability for Cloud Computing: A Guide

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

ISSN: (Online) Volume 2, Issue 5, May 2014 International Journal of Advance Research in Computer Science and Management Studies

Platform as a Service (PaaS) Demystified

Cloud Web-Based Operating System (Cloud Web Os)

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

PAAS: Demystified. General Terms

CLOUD COMPUTING INTRODUCTION HISTORY

Transcription:

Qt and Cloud Services Sami Makkonen Qt R&D Digia

Content Different types of Cloud services Qt and Cloud Services Cloud API for Qt Using PaaS Services from Qt application engin.io Using BaaS from Qt application

Different Type of Cloud Services Qt and Cloud Services

Comments about Cloud from Qt Users Please describe what services (e.g. file or table storage) and what service providers are you using/planning on using in your Qt cloud based solutions? Not sure yet, but we definitely need it. Not sure at the moment but we are getting signs from our industry that it is important. We haven't decided yet, but I can see it coming. It would be great to create Cloud based services, or even web services with Qt itself. We have our own servers set up for users to share files and store them online Network storage and sync is important for us Very large files on amazon servers, probably. all that are performant enough to support numerical analysis of big data / simulation tasks. Table storage is important for us. We want to synchronize all information about users activity between his devices. Blob storage, File access and database tables would all be useful. We would like to see an API that hides the details of the system from the programmer. It is critical that there be an option to allow for a local storage target. We are looking at how we would share files and databases in an internal (private) cloud. User profile storage so user can access user settings from anywhere. We are considering providing it ourself to ensure our security needs are met. We currently use AWS a lot - storage, computation, management, etc. Unfortunately due to the lack of a C++ API for AWS, all associated applications are relegated to Java. Having Qt support here would be fantastic. If Qt took on creating and supporting a C++ API for AWS, I'm sure they would draw in a large number of customers in my situation who would love to use C++ (for both GUI and non-gui purposes) but just can't.

Cloud Service Models & Examples of Service Providers SaaS Software as a Service End User Applications CRM, accounting, email, games... BaaS Backend as a Service Cloud Storage Functionality (e.g. user management, push notifications, social media integration) SDK/API PaaS Platform as a Service Computing Platform Solution stack - Databases, Application Servers, API IaaS Infrastructure as a Service Computing resources Virtual Machines, Storage, Network, Load Balancing

How to Utilize Cloud with Qt Using cloud computing for intensive computations, dynamic load scaling and geographical distribution Hosting databases in the cloud servers and accessing them through Qt API's Hosting file services in the cloud and implementing a synchronization mechanism / API RESTful interfaces well supported Good network base layer XML and JSON parsing available SOAP based Web Service interfaces Commercial implementations available e.g. from KDAB Some open source implementations are also available

Qt Cloud API Using PaaS from Qt

Background A Research project with the University of Jyväskylä The idea was to investigate if we could create a harmonized Qt API for accessing different services, However the requirement of having one common API is not mandatory Amazon and Azure web services were selected as the first ones for implementation

Example Sequence Diagram

Current status Research prototype Basic use cases for both Azure and Amazon File Storage are now working One example application and several test cases File storage implementation also needs work on more complicated use cases such as file/folder syncronization Some preliminary implementation Table Storage exists but needs a lot of work Requires Qt5 because of the SHA256 needed in authentication Proposed to be a Qt Project Playground project Developers, reviewers, testers needed any volunteers?

engin.io Using BaaS from Qt

What is engin.io? BaaS service developed in Digia Special focus to Qt application development Essentially a schema-less data storage No need to define data structures in advantage Just store and consume JSON based data through REST APIs However, engin.io can derive a schema from stored data Generated schema is then used to enable various data related tasks engin.io provides also Web based dashboard for development and management tasks Manipulate & configure data when there is a need for that API libraries to ease the service usage from various software platforms Workflow flow support for handling application development phases Development and production applications are separated versions

Concepts

Technical Architecture

Demo

Status & next steps with engin.io Server side implementation is in good shape and we are moving towards public beta phase. Of course the beta does not contain all the planned functionality Timeframe for the beta is not set yet but can express your interest by registering your email at www.engin.io ios API implementation is nearly complete and example applications exist, couple of HTML/JavaScript Examples using backbone.js and JQuery Qt Creator plugin is an integrated WebView launcing the Dashboard and most likely this the most feasible way also in the future Development of the Qt but needs work in development and testing. We also need more example applications

Wrap-up

Summary Qt is ready for the cloud in many ways Use the existing applications and utilize cloud computing resources Use databases and/or file storage in the cloud Interface cloud servers through Web Service Interfaces However there are areas of improvement Easy to use Qt like API's for using the Cloud services Some basic standards are missing (such as oauth) Tooling support, examples Buzz in the BaaS Services QML and BaaS services play together nicely and provide a convinient way to store data to the cloud

Signup for engin.io beta