apis of enterprise mbaas platforms
Post on 01-Dec-2014
275 Views
Preview:
DESCRIPTION
TRANSCRIPT
APIs of Enterprise mBaaS Platform
VP of Engineering@machadogj
gus@kidozen.com
Gustavo Machado
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
■ APIs in Enterprise Mobile Solutions
■ Samples and Code
■ Summary
Agenda
What’s the main element that
powers the Backend of Mobile Apps?
■ Infrastructure APIs
■ Mobile APIs
■ Enterprise APIs
■ Data APIs
■ Line of Business APIs
Mobile Backend APIs
■ Security
■ Storage
■ Configuration
■ Logging
■ PubSub
■ Etc…
Infrastructure APIs
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
■ Push Notifications
■ App Crash
■ Analytics
Mobile APIs
public override void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken) { var channel = "sports"; kzApplication.Notification.Subscribe(channel, deviceToken); }
Sample: Push Notifications
public override void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken) { var channel = "sports"; kzApplication.Notification.Subscribe(channel, deviceToken); }
Sample: Push Notifications
■ SAP
■ Sharepoint
■ DBs
■ REST / SOAP
■ etc…
Enterprise APIs
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;
■ Data Sources
■ Content Sources / CMS
■ Visualization
Data APIs
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;
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;
Sample: Query Data Source
var app = new KZApplication("https://armonia.kidocloud.com", "vacations"); //... authenticate here ...
var getResult = app.DataSource[“getTeamsVacations”].Query(new {“qty”: 1 });
■ Server-side Code
■ REST / SOAP
Line of Business APIs
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);
};
}
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);
};
}
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;
■ We need a lot of APIs
■ Enterprise choose their APIs strategically
■ mBaaS should provide these APIs
Summary
top related