SlideShare a Scribd company logo
José Manuel Ortega Candel
Mobile Backend as a Service(MBaaS)
Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/
Leganés
12-13 Febrero 2015
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
2
https://speakerdeck.com/jmortega
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
3
Persistence in Mobile
iNDEX
Cloud Computing / BaaS
MBaaS features /architecture/ Startups
Push Notifications / GCM / API REST / Storage
Kinvey / Backendless / BackBeam / Parse
Demos on Android
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
4
SQLite / Core Data
Persistence in Mobile
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
5
Persistence in Mobile
Android iOS
SQLite
android.database.sqlite
 Tables and relations
Core Data
 Objects
 DataModel
Content Providers
/data/data/<Application-Package>
/databases/<database-name> Only
acces with root
DataModel editor in Xcode for
register objects and their
relationships
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
6
Persistence in Mobile
Objects vs Tables
Object Relational Mapping
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
7
Persistence in Mobile
public class Event extends Entity {
public int id;
public String name;
}
Event e =
Entity.query(Event.class).where("id=1")
.execute();
p.name = “Techfest";
p.save();
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
8
Cloud Computing
PaaS(Platform as a Service)
IaaS(Infraestructure as a Service)
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
9
Cloud Computing
BaaS(Backend as a Service) /MBaaS
SaaS(Software as a Service)
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
10
BaaS
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
11
BaaS
MBaaS= Cloud-Mobile Services + Mobile SDKs + Management Console
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
12
MBaaS APIs
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
13
MBaaS APIs
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
14
MBaaS architecture
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
15
MBaaS features
 API REST for CRUD operations(GET,POST,UPDATE,DELETE,PATCH)
 Multi platform SDK
 Cloud Storage
 Push notifications
 User management
 Data Browser
 Query language
 Import/Export data
 Analytics / Monetization
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
16
MBaaS features
Reduce server side coding
developers can focus on front-end development
often providers offer SDKs that wrap REST API calls
and handle in/out parameters:
both HTML/JS and native (iOS, Android,Windows
Phone)
No server setup, ready to use (HOSTED SERVICE)
Deployed on the cloud, with built-in scalability
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
17
Startups
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
18
Others
 Appcelerator(Titanium)
 http://appery.io
 http://www.applicasa.com
 http://www.apiomat.com
 http://www.kumulos.com
 Open Source
 http://www.baasbox.com
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
19
Startups
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
20
MBaaS
OBJECT-BASED DATA STORAGE
DATA SYNCHRONIZED
USER ACCOUNTS & AUTHENTICATION
REAL-TIME ANALYTICS
PUSH NOTIFICATIONS
API REST
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
21
Storage support
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
22
{ "results": [
{
"createdAt": "2015-01-05T14:54:00.650Z",
"eventImage": {
"__type": "File",
"name": "tfss-b84799aa-4366-488d-afe7-1afdb5646dee-t3chfest_slider.jpg",
"url": "http://files.parsetfss.com/5ffebb1f-a86a-4d00-8dcb-6b9e349f4838/tfss-b84799aa-4366-
488d-afe7-1afdb5646dee-t3chfest_slider.jpg" },
"eventName": "techFest",
"eventURL": "https://techfest.uc3m.es/",
"objectId": "HxmPtSWnqa", "updatedAt": "2015-02-12T14:56:00.866Z" }] }
JSON Object
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
23
Push Notifications
Var channel= _application.pubSub.Subscribe(“channel
name”);
channel.Send({message});
Push Notification
Service
MBaaS
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
24
Push Notifications
 Multiplatforms messages
 Enable server applications to send information to mobile
apps even when the app isn’t in use
 The device displays the information using a “badge,” alert, or pop
up message. A push notification uses the service provided by the
device’s operating system:
 iOS - Apple Push Notification service (APNS)
 Android - Google Cloud Messaging (GCM)
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
25
Google Cloud Messaging(GCM)
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
26
Google Cloud Messaging(GCM)
https://console.developers.google.com
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
27
Push Notifications
iOS
Apple Push Notification service (APNs) Certificate
Private Key
Android
Google Cloud Messaging API KEY
Sender ID
Google API Console > Authentication && Project
Number
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
28
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
29
Kinvey Data collection
Kinvey stores data as collections and entities. Entities are JSON documents. Collections belong to
applications. Internally, data is stored in a MongoDB cluster.
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
30
Kinvey Data management
NO SQL DataBases
REST API
CLOUD CODE
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
31
Kinvey Data Link
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
32
Kinvey API REST
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
33
Kinvey API REST OPERATIONS
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
34
Kinvey API REST OPERATIONS
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
35
Kinvey CLOUD CODE
 JavaScript / Custom endpoints
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
36
Kinvey Users management
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
37
Kinvey Import/Export data
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
38
Kinvey Push notifications
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
39
Kinvey
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
40
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
41
BackBeam
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
42
BackBeam
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
43
BackBeam
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
44
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
45
Backendless Data Browser
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
46
Backendless data type & relations
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
47
Backendless Export data
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
48
Backendless generate code
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
49
Backendless Project
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
50
Backendless Project
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
51
Backendless security
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
52
Backendless security
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
53
Backendless User managment
BackendlessUser user = new BackendlessUser();
user.setEmail( “user@backendless.com" );
user.setPassword( "my_super_password" );
Backendless.UserService.register( user, new BackendlessCallback<BackendlessUser>()
{
@Override
public void handleResponse( BackendlessUser backendlessUser )
{
Log.i( "Registration", backendlessUser.getEmail() + " successfully registered" );
}
} );
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
54
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
55
Security
Authentication && Authorization
Basic Authentication userName and password encoded in
Base 64
authorization
header: Authorization: Basic
bXlVc2VybmFtZTpteVBhc3N3b3Jk
Session Authentication Auth token / Social Networks
Permissions Shared / Private / Read Only / Full
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
56
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
57
Parse ARCHITECTURE
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
58
Parse SERVICES
User Authentication
Push Notification
Data Storage
Rest API
JavaScript SDK
iOS SDK
Android SDK
JavaScript SDK
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
59
Parse CROSS-PLATFORM SUPPORT
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
60
Connect your app with services
APPLICATION ID
CLIENT KEY
+ Parse.initialize(“APP_ID”,”C_KEY”);
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
61
Parse Application Keys + Installations
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
62
Parse Objects
Parse stores data internally as flat JSON Documents, called ParseObject, with have the restriction that
keys must be alphanumeric strings. Parse automatically creates ‘classes’ for ParseObjects, grouping objects
with similar properties. Classes and all objects associated to them belong to applications, which can be
defined on the Parse web interface.
ParseObject event = new ParseObject(“Event");
event.put(“eventName", “techfest”);
event.put(“eventURL", “http://techfest.uc3m.es");
event.put(“eventDate", new Date());
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
63
Parse Data browser + filter
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
64
Parse Data browser
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
65
Parse Cloud Code
 Write our owns API functions with javascript
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
66
Parse with ANDROID
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
Parse.initialize(this, “APPLICATION_ID", “CLIENT_KEY");
ParseObject event = new ParseObject(“Event");
event.put(“eventName", “techfest”);
event.put(“eventURL", “http://techfest.uc3m.es");
event.put(“eventDate", new Date());
event.saveEventually(); //Object saved when user has network connection
event.saveInBackground();
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
67
Parse Object
import com.parse.ParseClassName;
import com.parse.ParseObject;
@ParseClassName(“Event")
public class Event extends ParseObject{
public Event(){}
public String getName(){
return getString(“eventName");
}
public void setName(String name){
put(“eventName", name); }
}}
ParseObject.registerSubclass(Event.class);
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
68
Parse Object with files
byte[] data = myPhotoObject.toByteArray();
ParseFile eventPhoto = new ParseFile("t3chfest.jpg", data);
eventPhoto.saveInBackground();
ParseObject event = new ParseObject("Event");
event.put("name", "t3chFest");
event.put(”photo”, eventPhoto);
event.saveInBackground();
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
69
Parse Object with files
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
70
Parse Data Entity type
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
71
Query Language
ParseQuery<ParseObject> query = ParseQuery.getQuery(“Event");
query.whereEqualTo(“eventName", “techfest");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> eventList, ParseException e) {
if (e == null) {
Log.d(“events", "Retrieved " + eventList.size() + " events");
} else {
Log.d(“events", "Error: " + e.getMessage());
}
}
});
query.setCachePolicy(CachePolicy.CACHE_THEN_NETWORK);
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
72
CACHE
 query.cachePolicy property
 CachePolicy.CACHE_ELSE_NETWORK
The query first tries to load from the cache, but if that fails, it loads results from
the network.If neither cache nor network succeed, there is a PFError.
 CachePolicy.CACHE_THEN_NETWORK
The query first loads from the cache, then loads from the network. In this case,
the callback will actually be called twice - first with the cached results, then with
the network results.
Since it returns two results at different times, this cache policy cannot be used
synchronously with findObjects.
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
73
JavaScript
var event= Parse.Object.extend ("Event");
var query = new Parse.Query (event);
query.find ({ success: function (results) {
$scope.data.events = results;
},
error: function (error) {
alert ("Error:" + error.code + "" + error.message);
}
});
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
74
Parse Push Notifications
Enabling Push Notifications
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
75
Parse SDK
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
76
Parse Push Notifications
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
77
Parse Push Notifications
//Enable to receive push
PushService.setDefaultPushCallback(this,
RespondToPushActivity.class);
ParseInstallation pi = ParseInstallation.getCurrentInstallation();
//Register a channel to test push channels
Context ctx = this.getApplicationContext();
PushService.subscribe(ctx, "ch1", RespondToPushActivity.class);
pi.saveEventually();
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
78
API REST
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
79
API REST AJAX CALL
var headers = {"X-Parse-Application-Id":"YOUR-APP-ID-HERE", "X-Parse-REST-API-Key":"YOUR-
REST-API-KEY-HERE"};
function getData() {
$.ajax({ "type":"GET", "url":"https://api.parse.com/1/classes/Event",
"dataType":"json", "contentType":"application/json", "headers":headers,
success:function(data, status, xhr) {
var result = "";
for(var i = 0; i < data.results.length; i++) {
result = result +""+ data.results[i].eventName+" / "+ data.results[i].eventURL+"";
}}
});
}
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
80
PERMISSIONS / ACL
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
81
PARSE ANALYTICS
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
82
PARSE IMPORT DATA JSON/CSV
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
83
PARSE USER MANAGMENT
//login
ParseUser.logInInBackground(username, password, new LogInCallback() {
public void done(ParseUser user, com.parse.ParseException e) {
}});
//signUp
ParseUser user = new ParseUser();
user.setUsername(username);
user.setPassword(password);
user.setEmail(email); //optional
user.signUpInBackground(new SignUpCallback() {
public void done(com.parse.ParseException e) {
}});
//Check if user is logged
ParseUser currentUser = ParseUser.getCurrentUser();
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
84
PARSE USER MANAGMENT
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
85
https://github.com/jmortega/parseProjects
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
86
Parse T3chfest
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
87
Parse T3chfest
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
88
Parse Login
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
89
PARSE EXAMPLES https://parse.com/tutorials
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
90
REFERENCES http://www.androidbook.com/expertandroid/projects
Mobile Backend as a Service(MBaaS)
Leganés
12-13 Febrero 2015
91

More Related Content

What's hot

Cloud Computing Security
Cloud Computing SecurityCloud Computing Security
Cloud Computing Security
Ninh Nguyen
 
VMware Site Recovery Manager
VMware Site Recovery ManagerVMware Site Recovery Manager
VMware Site Recovery Manager
Jürgen Ambrosi
 
VMware Horizon - news
VMware Horizon - newsVMware Horizon - news
VMware Horizon - news
Jürgen Ambrosi
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
Amazon Web Services
 
Vdi how-it-works618
Vdi how-it-works618Vdi how-it-works618
Vdi how-it-works618
shiva2shetty
 
Cloud Services: Types of Cloud
Cloud Services: Types of CloudCloud Services: Types of Cloud
Cloud Services: Types of Cloud
Dr. Sunil Kr. Pandey
 
What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?
Insight
 
cloud-migrations.pptx
cloud-migrations.pptxcloud-migrations.pptx
cloud-migrations.pptx
John Mulhall
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
Kavaskar Ganesan
 
High Level Solution Document for VDI Project
High Level Solution Document for VDI ProjectHigh Level Solution Document for VDI Project
High Level Solution Document for VDI Project
Shahab Al Yamin Chawdhury
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server VirtualisationAlan McSweeney
 
Nutanix
NutanixNutanix
Nutanix
rosslili
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch Deck
Nicholas Vossburg
 
MULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTUREMULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTURE
Maganathin Veeraragaloo
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
Amazon Web Services
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
TinarivosoaAbaniaina
 
Virtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareVirtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMware
Datapath Consulting
 
Virtual Desktop Infrastructure Overview
Virtual Desktop Infrastructure OverviewVirtual Desktop Infrastructure Overview
Virtual Desktop Infrastructure Overview
koesteruk22
 

What's hot (20)

Cloud Computing Security
Cloud Computing SecurityCloud Computing Security
Cloud Computing Security
 
VMware Site Recovery Manager
VMware Site Recovery ManagerVMware Site Recovery Manager
VMware Site Recovery Manager
 
VMware Horizon - news
VMware Horizon - newsVMware Horizon - news
VMware Horizon - news
 
What is Virtualization
What is VirtualizationWhat is Virtualization
What is Virtualization
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
 
Vdi how-it-works618
Vdi how-it-works618Vdi how-it-works618
Vdi how-it-works618
 
Cloud Services: Types of Cloud
Cloud Services: Types of CloudCloud Services: Types of Cloud
Cloud Services: Types of Cloud
 
What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?
 
cloud-migrations.pptx
cloud-migrations.pptxcloud-migrations.pptx
cloud-migrations.pptx
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
 
High Level Solution Document for VDI Project
High Level Solution Document for VDI ProjectHigh Level Solution Document for VDI Project
High Level Solution Document for VDI Project
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server Virtualisation
 
Nutanix
NutanixNutanix
Nutanix
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch Deck
 
MULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTUREMULTI-CLOUD ARCHITECTURE
MULTI-CLOUD ARCHITECTURE
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
 
VMware vSphere
VMware vSphereVMware vSphere
VMware vSphere
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
 
Virtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareVirtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMware
 
Virtual Desktop Infrastructure Overview
Virtual Desktop Infrastructure OverviewVirtual Desktop Infrastructure Overview
Virtual Desktop Infrastructure Overview
 

Viewers also liked

Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
Serhiy Snizhny
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
Rahul Krishnan P
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
Imam Raza
 
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایلMbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
Sadegh Alavizadeh
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographic
Hyker Security
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
pyro2927
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry
天青 王
 
Backendless 3.0 Overview
Backendless 3.0 OverviewBackendless 3.0 Overview
Backendless 3.0 Overview
Mark Piller
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Taras Filatov
 
VI Komet - Backend as a Service - 2015
VI Komet - Backend as a Service - 2015VI Komet - Backend as a Service - 2015
VI Komet - Backend as a Service - 2015
Joao Valle
 
The Rise of BaaS
The Rise of BaaSThe Rise of BaaS
The Rise of BaaS
Ian Livingstone
 
Parse - Backend As A Service
Parse - Backend As A ServiceParse - Backend As A Service
Parse - Backend As A Service
Henrique Morbin
 
Backend para dispositivos moveis
Backend para dispositivos moveisBackend para dispositivos moveis
Backend para dispositivos moveis
Thales Lima
 
Construindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile HubConstruindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile Hub
Amazon Web Services LATAM
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
Amazon Web Services LATAM
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on Cassandra
Ed Anuff
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
Apigee | Google Cloud
 
2016 F8 Facebook Developer Conference Overview_Innobirds Media
2016 F8 Facebook Developer Conference Overview_Innobirds Media2016 F8 Facebook Developer Conference Overview_Innobirds Media
2016 F8 Facebook Developer Conference Overview_Innobirds Media
Innobirds Media
 
(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub
Amazon Web Services
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application Security
Christian Heilmann
 

Viewers also liked (20)

Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایلMbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
Mbaas Mobile Back end as a Service خدمات رایانش ابری برای موبایل
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographic
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry
 
Backendless 3.0 Overview
Backendless 3.0 OverviewBackendless 3.0 Overview
Backendless 3.0 Overview
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
 
VI Komet - Backend as a Service - 2015
VI Komet - Backend as a Service - 2015VI Komet - Backend as a Service - 2015
VI Komet - Backend as a Service - 2015
 
The Rise of BaaS
The Rise of BaaSThe Rise of BaaS
The Rise of BaaS
 
Parse - Backend As A Service
Parse - Backend As A ServiceParse - Backend As A Service
Parse - Backend As A Service
 
Backend para dispositivos moveis
Backend para dispositivos moveisBackend para dispositivos moveis
Backend para dispositivos moveis
 
Construindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile HubConstruindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile Hub
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on Cassandra
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
 
2016 F8 Facebook Developer Conference Overview_Innobirds Media
2016 F8 Facebook Developer Conference Overview_Innobirds Media2016 F8 Facebook Developer Conference Overview_Innobirds Media
2016 F8 Facebook Developer Conference Overview_Innobirds Media
 
(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application Security
 

Similar to Mobile Backend as a Service(MBaaS)

Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
Davide Mauri
 
Real-Time PowerBI
Real-Time PowerBIReal-Time PowerBI
Real-Time PowerBI
SolidQIT
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
CA Technologies
 
Baas to-saab
Baas to-saabBaas to-saab
Baas to-saab
ritc
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
Olivier DASINI
 
Leverage of MBAAS
Leverage of MBAAS Leverage of MBAAS
Leverage of MBAAS
SAMBATH KUMAR LOGAKRISHNAN
 
A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013
Jeff Schneider
 
Webinar on MongoDB BI Connectors
Webinar on MongoDB BI ConnectorsWebinar on MongoDB BI Connectors
Webinar on MongoDB BI Connectors
Sumit Sarkar
 
Transforming ISV's to Azure
Transforming ISV's to AzureTransforming ISV's to Azure
Transforming ISV's to Azure
Trivadis
 
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
Akshay Shah
 
354836_(General_Format)Mahaboob Basha Shaik
354836_(General_Format)Mahaboob Basha Shaik354836_(General_Format)Mahaboob Basha Shaik
354836_(General_Format)Mahaboob Basha ShaikMahaboob Basha Shaik
 
Distilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMGDistilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMG
Buchi Reddy Busi Reddy
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box
CA Technologies
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayGaurav Ahluwalia
 
10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations
Cognizant
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
Wojciech Barczyński
 
Power bi overview
Power bi overview Power bi overview
Power bi overview
Kiki Noviandi
 
What is BaaS - Backend-as-a-Service.pdf
What is BaaS - Backend-as-a-Service.pdfWhat is BaaS - Backend-as-a-Service.pdf
What is BaaS - Backend-as-a-Service.pdf
NeelHope
 
Cloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsCloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsNick Landry
 
Open Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application SystemOpen Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application System
hearme limited company
 

Similar to Mobile Backend as a Service(MBaaS) (20)

Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
 
Real-Time PowerBI
Real-Time PowerBIReal-Time PowerBI
Real-Time PowerBI
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
 
Baas to-saab
Baas to-saabBaas to-saab
Baas to-saab
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
Leverage of MBAAS
Leverage of MBAAS Leverage of MBAAS
Leverage of MBAAS
 
A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013
 
Webinar on MongoDB BI Connectors
Webinar on MongoDB BI ConnectorsWebinar on MongoDB BI Connectors
Webinar on MongoDB BI Connectors
 
Transforming ISV's to Azure
Transforming ISV's to AzureTransforming ISV's to Azure
Transforming ISV's to Azure
 
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
Agilewiz PaaS, SaaS, Web 2.5, Platform Technology, BPO Platform Technology,Di...
 
354836_(General_Format)Mahaboob Basha Shaik
354836_(General_Format)Mahaboob Basha Shaik354836_(General_Format)Mahaboob Basha Shaik
354836_(General_Format)Mahaboob Basha Shaik
 
Distilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMGDistilling the monolith to microservices journey at CMG
Distilling the monolith to microservices journey at CMG
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gateway
 
10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
Power bi overview
Power bi overview Power bi overview
Power bi overview
 
What is BaaS - Backend-as-a-Service.pdf
What is BaaS - Backend-as-a-Service.pdfWhat is BaaS - Backend-as-a-Service.pdf
What is BaaS - Backend-as-a-Service.pdf
 
Cloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsCloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile Apps
 
Open Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application SystemOpen Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application System
 

More from Jose Manuel Ortega Candel

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Jose Manuel Ortega Candel
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Jose Manuel Ortega Candel
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
Jose Manuel Ortega Candel
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops
Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdf
Jose Manuel Ortega Candel
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
Jose Manuel Ortega Candel
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
Jose Manuel Ortega Candel
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
Jose Manuel Ortega Candel
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
Jose Manuel Ortega Candel
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python
Jose Manuel Ortega Candel
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8s
Jose Manuel Ortega Candel
 
Implementing cert-manager in K8s
Implementing cert-manager in K8sImplementing cert-manager in K8s
Implementing cert-manager in K8s
Jose Manuel Ortega Candel
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)
Jose Manuel Ortega Candel
 
Python para equipos de ciberseguridad
Python para equipos de ciberseguridad Python para equipos de ciberseguridad
Python para equipos de ciberseguridad
Jose Manuel Ortega Candel
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Jose Manuel Ortega Candel
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue Team
Jose Manuel Ortega Candel
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source tools
Jose Manuel Ortega Candel
 
Python Memory Management 101(Europython)
Python Memory Management 101(Europython)Python Memory Management 101(Europython)
Python Memory Management 101(Europython)
Jose Manuel Ortega Candel
 
SecDevOps containers
SecDevOps containersSecDevOps containers
SecDevOps containers
Jose Manuel Ortega Candel
 

More from Jose Manuel Ortega Candel (20)

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdf
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8s
 
Implementing cert-manager in K8s
Implementing cert-manager in K8sImplementing cert-manager in K8s
Implementing cert-manager in K8s
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)
 
Python para equipos de ciberseguridad
Python para equipos de ciberseguridad Python para equipos de ciberseguridad
Python para equipos de ciberseguridad
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue Team
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source tools
 
Python Memory Management 101(Europython)
Python Memory Management 101(Europython)Python Memory Management 101(Europython)
Python Memory Management 101(Europython)
 
SecDevOps containers
SecDevOps containersSecDevOps containers
SecDevOps containers
 

Mobile Backend as a Service(MBaaS)

  • 1. José Manuel Ortega Candel Mobile Backend as a Service(MBaaS) Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ Leganés 12-13 Febrero 2015
  • 2. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 2 https://speakerdeck.com/jmortega
  • 3. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 3 Persistence in Mobile iNDEX Cloud Computing / BaaS MBaaS features /architecture/ Startups Push Notifications / GCM / API REST / Storage Kinvey / Backendless / BackBeam / Parse Demos on Android
  • 4. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 4 SQLite / Core Data Persistence in Mobile
  • 5. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 5 Persistence in Mobile Android iOS SQLite android.database.sqlite  Tables and relations Core Data  Objects  DataModel Content Providers /data/data/<Application-Package> /databases/<database-name> Only acces with root DataModel editor in Xcode for register objects and their relationships
  • 6. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 6 Persistence in Mobile Objects vs Tables Object Relational Mapping
  • 7. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 7 Persistence in Mobile public class Event extends Entity { public int id; public String name; } Event e = Entity.query(Event.class).where("id=1") .execute(); p.name = “Techfest"; p.save();
  • 8. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 8 Cloud Computing PaaS(Platform as a Service) IaaS(Infraestructure as a Service)
  • 9. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 9 Cloud Computing BaaS(Backend as a Service) /MBaaS SaaS(Software as a Service)
  • 10. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 10 BaaS
  • 11. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 11 BaaS MBaaS= Cloud-Mobile Services + Mobile SDKs + Management Console
  • 12. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 12 MBaaS APIs
  • 13. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 13 MBaaS APIs
  • 14. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 14 MBaaS architecture
  • 15. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 15 MBaaS features  API REST for CRUD operations(GET,POST,UPDATE,DELETE,PATCH)  Multi platform SDK  Cloud Storage  Push notifications  User management  Data Browser  Query language  Import/Export data  Analytics / Monetization
  • 16. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 16 MBaaS features Reduce server side coding developers can focus on front-end development often providers offer SDKs that wrap REST API calls and handle in/out parameters: both HTML/JS and native (iOS, Android,Windows Phone) No server setup, ready to use (HOSTED SERVICE) Deployed on the cloud, with built-in scalability
  • 17. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 17 Startups
  • 18. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 18 Others  Appcelerator(Titanium)  http://appery.io  http://www.applicasa.com  http://www.apiomat.com  http://www.kumulos.com  Open Source  http://www.baasbox.com
  • 19. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 19 Startups
  • 20. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 20 MBaaS OBJECT-BASED DATA STORAGE DATA SYNCHRONIZED USER ACCOUNTS & AUTHENTICATION REAL-TIME ANALYTICS PUSH NOTIFICATIONS API REST
  • 21. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 21 Storage support
  • 22. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 22 { "results": [ { "createdAt": "2015-01-05T14:54:00.650Z", "eventImage": { "__type": "File", "name": "tfss-b84799aa-4366-488d-afe7-1afdb5646dee-t3chfest_slider.jpg", "url": "http://files.parsetfss.com/5ffebb1f-a86a-4d00-8dcb-6b9e349f4838/tfss-b84799aa-4366- 488d-afe7-1afdb5646dee-t3chfest_slider.jpg" }, "eventName": "techFest", "eventURL": "https://techfest.uc3m.es/", "objectId": "HxmPtSWnqa", "updatedAt": "2015-02-12T14:56:00.866Z" }] } JSON Object
  • 23. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 23 Push Notifications Var channel= _application.pubSub.Subscribe(“channel name”); channel.Send({message}); Push Notification Service MBaaS
  • 24. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 24 Push Notifications  Multiplatforms messages  Enable server applications to send information to mobile apps even when the app isn’t in use  The device displays the information using a “badge,” alert, or pop up message. A push notification uses the service provided by the device’s operating system:  iOS - Apple Push Notification service (APNS)  Android - Google Cloud Messaging (GCM)
  • 25. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 25 Google Cloud Messaging(GCM)
  • 26. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 26 Google Cloud Messaging(GCM) https://console.developers.google.com
  • 27. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 27 Push Notifications iOS Apple Push Notification service (APNs) Certificate Private Key Android Google Cloud Messaging API KEY Sender ID Google API Console > Authentication && Project Number
  • 28. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 28
  • 29. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 29 Kinvey Data collection Kinvey stores data as collections and entities. Entities are JSON documents. Collections belong to applications. Internally, data is stored in a MongoDB cluster.
  • 30. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 30 Kinvey Data management NO SQL DataBases REST API CLOUD CODE
  • 31. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 31 Kinvey Data Link
  • 32. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 32 Kinvey API REST
  • 33. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 33 Kinvey API REST OPERATIONS
  • 34. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 34 Kinvey API REST OPERATIONS
  • 35. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 35 Kinvey CLOUD CODE  JavaScript / Custom endpoints
  • 36. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 36 Kinvey Users management
  • 37. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 37 Kinvey Import/Export data
  • 38. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 38 Kinvey Push notifications
  • 39. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 39 Kinvey
  • 40. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 40
  • 41. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 41 BackBeam
  • 42. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 42 BackBeam
  • 43. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 43 BackBeam
  • 44. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 44
  • 45. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 45 Backendless Data Browser
  • 46. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 46 Backendless data type & relations
  • 47. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 47 Backendless Export data
  • 48. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 48 Backendless generate code
  • 49. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 49 Backendless Project
  • 50. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 50 Backendless Project
  • 51. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 51 Backendless security
  • 52. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 52 Backendless security
  • 53. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 53 Backendless User managment BackendlessUser user = new BackendlessUser(); user.setEmail( “user@backendless.com" ); user.setPassword( "my_super_password" ); Backendless.UserService.register( user, new BackendlessCallback<BackendlessUser>() { @Override public void handleResponse( BackendlessUser backendlessUser ) { Log.i( "Registration", backendlessUser.getEmail() + " successfully registered" ); } } );
  • 54. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 54
  • 55. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 55 Security Authentication && Authorization Basic Authentication userName and password encoded in Base 64 authorization header: Authorization: Basic bXlVc2VybmFtZTpteVBhc3N3b3Jk Session Authentication Auth token / Social Networks Permissions Shared / Private / Read Only / Full
  • 56. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 56
  • 57. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 57 Parse ARCHITECTURE
  • 58. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 58 Parse SERVICES User Authentication Push Notification Data Storage Rest API JavaScript SDK iOS SDK Android SDK JavaScript SDK
  • 59. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 59 Parse CROSS-PLATFORM SUPPORT
  • 60. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 60 Connect your app with services APPLICATION ID CLIENT KEY + Parse.initialize(“APP_ID”,”C_KEY”);
  • 61. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 61 Parse Application Keys + Installations
  • 62. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 62 Parse Objects Parse stores data internally as flat JSON Documents, called ParseObject, with have the restriction that keys must be alphanumeric strings. Parse automatically creates ‘classes’ for ParseObjects, grouping objects with similar properties. Classes and all objects associated to them belong to applications, which can be defined on the Parse web interface. ParseObject event = new ParseObject(“Event"); event.put(“eventName", “techfest”); event.put(“eventURL", “http://techfest.uc3m.es"); event.put(“eventDate", new Date());
  • 63. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 63 Parse Data browser + filter
  • 64. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 64 Parse Data browser
  • 65. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 65 Parse Cloud Code  Write our owns API functions with javascript
  • 66. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 66 Parse with ANDROID <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> // Enable Local Datastore. Parse.enableLocalDatastore(this); Parse.initialize(this, “APPLICATION_ID", “CLIENT_KEY"); ParseObject event = new ParseObject(“Event"); event.put(“eventName", “techfest”); event.put(“eventURL", “http://techfest.uc3m.es"); event.put(“eventDate", new Date()); event.saveEventually(); //Object saved when user has network connection event.saveInBackground();
  • 67. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 67 Parse Object import com.parse.ParseClassName; import com.parse.ParseObject; @ParseClassName(“Event") public class Event extends ParseObject{ public Event(){} public String getName(){ return getString(“eventName"); } public void setName(String name){ put(“eventName", name); } }} ParseObject.registerSubclass(Event.class);
  • 68. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 68 Parse Object with files byte[] data = myPhotoObject.toByteArray(); ParseFile eventPhoto = new ParseFile("t3chfest.jpg", data); eventPhoto.saveInBackground(); ParseObject event = new ParseObject("Event"); event.put("name", "t3chFest"); event.put(”photo”, eventPhoto); event.saveInBackground();
  • 69. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 69 Parse Object with files
  • 70. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 70 Parse Data Entity type
  • 71. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 71 Query Language ParseQuery<ParseObject> query = ParseQuery.getQuery(“Event"); query.whereEqualTo(“eventName", “techfest"); query.findInBackground(new FindCallback<ParseObject>() { public void done(List<ParseObject> eventList, ParseException e) { if (e == null) { Log.d(“events", "Retrieved " + eventList.size() + " events"); } else { Log.d(“events", "Error: " + e.getMessage()); } } }); query.setCachePolicy(CachePolicy.CACHE_THEN_NETWORK);
  • 72. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 72 CACHE  query.cachePolicy property  CachePolicy.CACHE_ELSE_NETWORK The query first tries to load from the cache, but if that fails, it loads results from the network.If neither cache nor network succeed, there is a PFError.  CachePolicy.CACHE_THEN_NETWORK The query first loads from the cache, then loads from the network. In this case, the callback will actually be called twice - first with the cached results, then with the network results. Since it returns two results at different times, this cache policy cannot be used synchronously with findObjects.
  • 73. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 73 JavaScript var event= Parse.Object.extend ("Event"); var query = new Parse.Query (event); query.find ({ success: function (results) { $scope.data.events = results; }, error: function (error) { alert ("Error:" + error.code + "" + error.message); } });
  • 74. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 74 Parse Push Notifications Enabling Push Notifications
  • 75. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 75 Parse SDK
  • 76. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 76 Parse Push Notifications
  • 77. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 77 Parse Push Notifications //Enable to receive push PushService.setDefaultPushCallback(this, RespondToPushActivity.class); ParseInstallation pi = ParseInstallation.getCurrentInstallation(); //Register a channel to test push channels Context ctx = this.getApplicationContext(); PushService.subscribe(ctx, "ch1", RespondToPushActivity.class); pi.saveEventually();
  • 78. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 78 API REST
  • 79. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 79 API REST AJAX CALL var headers = {"X-Parse-Application-Id":"YOUR-APP-ID-HERE", "X-Parse-REST-API-Key":"YOUR- REST-API-KEY-HERE"}; function getData() { $.ajax({ "type":"GET", "url":"https://api.parse.com/1/classes/Event", "dataType":"json", "contentType":"application/json", "headers":headers, success:function(data, status, xhr) { var result = ""; for(var i = 0; i < data.results.length; i++) { result = result +""+ data.results[i].eventName+" / "+ data.results[i].eventURL+""; }} }); }
  • 80. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 80 PERMISSIONS / ACL
  • 81. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 81 PARSE ANALYTICS
  • 82. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 82 PARSE IMPORT DATA JSON/CSV
  • 83. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 83 PARSE USER MANAGMENT //login ParseUser.logInInBackground(username, password, new LogInCallback() { public void done(ParseUser user, com.parse.ParseException e) { }}); //signUp ParseUser user = new ParseUser(); user.setUsername(username); user.setPassword(password); user.setEmail(email); //optional user.signUpInBackground(new SignUpCallback() { public void done(com.parse.ParseException e) { }}); //Check if user is logged ParseUser currentUser = ParseUser.getCurrentUser();
  • 84. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 84 PARSE USER MANAGMENT
  • 85. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 85 https://github.com/jmortega/parseProjects
  • 86. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 86 Parse T3chfest
  • 87. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 87 Parse T3chfest
  • 88. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 88 Parse Login
  • 89. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 89 PARSE EXAMPLES https://parse.com/tutorials
  • 90. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 90 REFERENCES http://www.androidbook.com/expertandroid/projects
  • 91. Mobile Backend as a Service(MBaaS) Leganés 12-13 Febrero 2015 91