apis of enterprise mbaas platforms

28
APIs of Enterprise mBaaS Platform VP of Engineering @machadogj [email protected] Gustavo Machado

Upload: kidozen

Post on 01-Dec-2014

275 views

Category:

Software


0 download

DESCRIPTION

In this presentations I cover the different types of APIs that are needed to build awesome Mobile Applications in Enterprise companies. I then show samples and code of how mBaaS platforms can provide all these APIs.

TRANSCRIPT

Page 1: APIs of Enterprise mBaaS Platforms

APIs of Enterprise mBaaS Platform

VP of Engineering@machadogj

[email protected]

Gustavo Machado

Page 2: APIs of Enterprise mBaaS Platforms

KidoZenIntegrated platform that provides enterprise-ready infrastructure for mobile applications: • Enables Backend, Management and Lifecycle Capabilities

• Integration with On-Premise and SaaS Systems

• Access to Storage, Logging, Identity Management, SMS, Push Notification, etc.

• Public, Hybrid, Private Cloud

Enterprise mBaaS

Mobile Data Virtualization

Enterprise Mobile App

Center

Mobile Business Analytics

Page 3: APIs of Enterprise mBaaS Platforms

■ APIs in Enterprise Mobile Solutions

■ Samples and Code

■ Summary

Agenda

Page 4: APIs of Enterprise mBaaS Platforms

What’s the main element that

powers the Backend of Mobile Apps?

Page 5: APIs of Enterprise mBaaS Platforms

■ Infrastructure APIs

■ Mobile APIs

■ Enterprise APIs

■ Data APIs

■ Line of Business APIs

Mobile Backend APIs

Page 6: APIs of Enterprise mBaaS Platforms

■ Security

■ Storage

■ Configuration

■ Logging

■ PubSub

■ Etc…

Infrastructure APIs

Page 7: APIs of Enterprise mBaaS Platforms
Page 8: APIs of Enterprise mBaaS Platforms

var app = new KidoZen.KZApplication("https://armonia.kidocloud.com", "vacations");if (active) { //get the username & password from a login screen. //get provider from auth configuration app.Authenticate(username, password, provider).Result; } else { app.Authenticate().Result; }

if (!app.Authenticated) { //... retry authentication}

Sample: Authentication

Page 9: APIs of Enterprise mBaaS Platforms

■ Push Notifications

■ App Crash

■ Analytics

Mobile APIs

Page 10: APIs of Enterprise mBaaS Platforms
Page 11: APIs of Enterprise mBaaS Platforms

public override void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken) { var channel = "sports"; kzApplication.Notification.Subscribe(channel, deviceToken); }

Sample: Push Notifications

Page 12: APIs of Enterprise mBaaS Platforms

public override void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken) { var channel = "sports"; kzApplication.Notification.Subscribe(channel, deviceToken); }

Sample: Push Notifications

Page 13: APIs of Enterprise mBaaS Platforms

■ SAP

■ Sharepoint

■ DBs

■ REST / SOAP

■ etc…

Enterprise APIs

Page 14: APIs of Enterprise mBaaS Platforms
Page 15: APIs of Enterprise mBaaS Platforms
Page 16: APIs of Enterprise mBaaS Platforms

Sample: Invoke Service Operation

var app = new KZApplication("https://armonia.kidocloud.com", "vacations");//... authenticate here...var data = new { "resource":"CalendarListItems","top":"1"};var getResult = app.Service["tellagosharepoint"].Invoke("query", data).Result;

Page 17: APIs of Enterprise mBaaS Platforms

■ Data Sources

■ Content Sources / CMS

■ Visualization

Data APIs

Page 18: APIs of Enterprise mBaaS Platforms
Page 19: APIs of Enterprise mBaaS Platforms
Page 20: APIs of Enterprise mBaaS Platforms

Sample: Query Data Source

var app = new KZApplication("https://armonia.kidocloud.com", "vacations"); //... authenticate here ...

var ds = app.DataSource["getTeamsVacations"]; var data = new { "qty":1} ; var getResult = ds.Query(data).Result;

Page 21: APIs of Enterprise mBaaS Platforms

Sample: Query Data Source

var app = new KZApplication("https://armonia.kidocloud.com", "vacations"); //... authenticate here ...

var ds = app.DataSource["getTeamsVacations"]; var data = new { "qty":1} ; var getResult = ds.Query(data).Result;

Page 22: APIs of Enterprise mBaaS Platforms

Sample: Query Data Source

var app = new KZApplication("https://armonia.kidocloud.com", "vacations"); //... authenticate here ...

var getResult = app.DataSource[“getTeamsVacations”].Query(new {“qty”: 1 });

Page 23: APIs of Enterprise mBaaS Platforms

■ Server-side Code

■ REST / SOAP

Line of Business APIs

Page 24: APIs of Enterprise mBaaS Platforms

Sample: Server-side Code

/**

* Custom connectors are built with javascript.

*/

function MyMathConnector() {

/**

* Operations need to accept two parameters,

* an ‘opts’ object with the params, and a

* ‘cb’ with a callback function.

*/ this.sum = function (opts, cb) { return cb(null, opts.a + opts.b);

};

}

Page 25: APIs of Enterprise mBaaS Platforms

Sample: Server-side Code

/**

* Custom connectors are built with javascript.

*/

function MyMathConnector() {

/**

* Operations need to accept two parameters,

* an ‘opts’ object with the params, and a

* ‘cb’ with a callback function.

*/ this.sum = function (opts, cb) { return cb(null, opts.a + opts.b);

};

}

Page 26: APIs of Enterprise mBaaS Platforms

Sample: Invoke Server-side Code

var app = new KZApplication("https://armonia.kidocloud.com", "vacations");//... authenticate here...var data = new { “a": 2,”b": 2};var getResult = app.Service[“my-custom"].Invoke("sum", data).Result;

Page 27: APIs of Enterprise mBaaS Platforms

■ We need a lot of APIs

■ Enterprise choose their APIs strategically

■ mBaaS should provide these APIs

Summary

Page 28: APIs of Enterprise mBaaS Platforms

Thanks!

Gustavo Machado@machadogj

[email protected]